《煤气报警器讲述(共25页).doc》由会员分享,可在线阅读,更多相关《煤气报警器讲述(共25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上沈航北方科技学院课程设计说明书课程名称 综合课程设计 学 生 姓 名 刘冬冬 专 业 电子信息工程 班 级 B 学 号 B 指 导 教 师 高磊 成 绩 专心-专注-专业沈航北方科技学院 课程设计任务书教 学 部 工学一部 专业 电子信息工程 课程设计题目 煤气报警器(数显) 班级 B 学号 B 姓名 刘冬冬 课程设计时间: 2015 年 11月 9日至 2015 年 12 月4日课程设计的内容及要求: (一)进度安排根据题目及基本要求(技术指标)查阅相关资料和书籍,确定初步的解决方案。(至少两个方案,3天)选择其中的一个方案,上机进行电路仿真和调试(使用Multis
2、im或Proteus或MAX_plus)。仿真过程中用到的仪器、调试方法、排故过程及技术指标的测量要做记录,最终写到报告中(13天)。报告要求:报告应独立完成,内容不得雷同。报告正文按目录标题书写,其他内容见格式说明(4天)。 (二)基本要求数字显示煤气的浓度(3位),可以设置报警值,报警的形式不限。(三)主要参考书低频电子线路 张肃文 高等教育出版社电子线路集 人民邮电出版社数字电路 高等教育出版社VHDL与可编程逻辑器件应用 孙延鹏等 清华大学出版社(四)评语 (五)成绩指导教师 年 月 日负责教师 年 月 日摘 要本设计主要研究并设计一个基于单片机的煤气报警系统,并实现对AD数据的采集和
3、声光的报警控制。通过NAP-505电化学一氧化碳气体传感器对煤气进行检测,将所得的浓度值与设定浓度值相比较得到偏差。通过对偏差信号的处理获得控制信号,发生报警信号,并把报警通道显示并储存在DS12887的RAM中,八个单元的煤气浓度对应模拟量利用A/D转换为数字量,并加入了键盘输入控制,从而实现对家用和工业煤气漏气的监控。整个系统的硬件电路设计合理,性能安全可靠。关键词:单片机; 煤气浓度; 报警器。目 录90121、方案选择方案一,通过传感器感受到可燃性气体,降低自身的阻值,来增大电流,并且驱动蜂鸣器报警。电路简单、可靠但是灵活性和实用性差。方案二,可以通过传感器感知信号多级放大电路,并用电
4、位器调节得到固定的电压值,当得到可燃性气体信号时,电阻值立刻变小,放大器的放大倍数增加,电压也就随着增加,驱动三极管导通报警电路。该方案有一定的灵活性和可执性,但是电路比较复杂,智能性差。方案三,通过51系列单片机作为主控单元,并且能够通过传感器把模拟信号通过A/D信号转换为数字信号,并且读取和显示出来。键盘可以通过不同的应用场合和针对不同气体做出不同的浓度设定,并且储存报警的上限和报警时间,方便查询和日后的工作调查。综合考虑,由于使用单片机设计灵活性更强、用途更宽广,所以本设计采用方案三。2、工作原理与参数计算2.1工作原理 煤气报警器是为了预防气体中毒的一种家用的自动报警器,也是一种高灵敏
5、度的气体探测器,应用高灵敏度的气敏元件作气电转换元件,并配以电路和声光报警部分组成。当泄漏的气体达到危险极限值时报警器就会发生鸣响和声光报警。本设计主要研究并设计一个基于单片机的煤气报警系统,并实现对AD数据的采集和声光的报警控制。控制系统主要是由MCS-52系列单片机、电源电路、AD数据采集电路、传感器电路、看门狗电路、复位电路、实时时钟电路、LED显示与键盘输入人机接口电路、声光报警电路等部分组成。单片机通过AD转换8路传感器来所得到的信号,进行比较处理,并且能够存储各个通道的报警上限和报警时的数据储存,并且在安全值内,轮回显示当前通道的测量值和设定值,在安全值外,产生声光报警,并且轮回显
6、示报警通道的当前值、设定值。2.2系统的参数与计算由于整个系统是由多个模块构成,而各个模块之间的指标参数又相互独立,因此需分别对各模块做参数记录。具体情况如下:(1) 电源电路:由三极管VT1、VT2等组成的串联型晶体管稳压电路。(2) 气敏探测电路:气敏元件MQ-N5、电位器RP1、电阻R5和指示灯G、R、Y。(3) 电子开关电路:JEC-2施密特集成电路A1和三极管VT3。(4) 报警电路:555时基电路A2、发光二极管VH、扬声器B及阻容元件。(5) 开放式空气负离子发生器:双向晶闸管V、二极管VD1VD2、升压变压器T2、电阻R11R13和电容C5C7。本设计中差动放大电路结构图如下:
7、A1A2R8R8R7VoViVi1Vi2I图2-1 差动放大器结构图推导过程: I=Vo=(R8+R7+R8)I = (1+)Vi,则Avf=1+图2-2 LM358引脚 LM358(图3-19)内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。2.3传感器的选用对于煤气报警器的实现,感应器的选择也相当的重要,是系统重要的组成部分之一,其性能对于系统的精确度和实现范围有这相当大的影响,也是体现煤气监控发展现状的标志。何道清、张禾:传感器与传
8、感器技术 M,科学出版社 2008年。可燃气体的危险性主要视其爆炸极限,爆炸下限数值越小、爆炸下限与上限之间的范围越大,越危险。有许多可燃气体同时具有毒性。表3-1 典型可燃气体的主要特性气体名称化学式爆炸界限/Vol%容许浓度/ppm比重(空气=1) 碳化氢及其派生物甲烷CH45.0-15.00.6丙烷C3H82.1-9.510001.6丁烷C4H81.8-8.42.0汽油气1.3-7.65003.4乙炔C2H22.5-81.00.9甲醇CH3OH5.5-37.02001.1醇乙醇C2H5OH3.3-19.010001.6醚乙醚C2H5O1.7-48.02.6无机气体一氧化碳CO12.5-7
9、4.0501.0氢H24.0-75.00.07其中CO的气体毒性是对人体有非常大的伤害的,见下表3-3表3-2 CO对人体的有害程度空气中一氧化碳的浓度吸入时间和中毒症状200ppm2-3小时前头部轻度头痛400ppm1-2前头痛恶心2.5-3后头痛800ppm45 分钟头晕眼花2小时精神失1600ppm20分钟头晕、头痛眼花2小时死亡3200ppm5-10分钟头晕、头痛、眼花30分钟死亡6400ppm1-2分钟头晕、头痛、眼花10-15分钟死亡12800ppm1-3分钟死亡在设计中考虑到的是家庭的情况,是特别对于一氧化碳会中毒,所以选用了MQ-9比较适中而且价格比较便宜。而工业级别的传感器选
10、择了NAP-505型电化学一氧化碳气体传感器,精确度高而且稳定,适合工业上使用。3、 电路调试与排故3.1电源电路的调试在对电源电路部分调试时,先按照其原理框图画出其电路图,再进行调试。在调试的过程中,主要思想是根据电源的主要性能指标有针对性的进行调试。电源的主要性能指标有输入参数、输出参数、电磁兼容性能指标和其他标准等4类,而输入参数又包括输入电压、输入频率、输入相数、输入功率因数和谐波,输出参数又包括输出电压、输出电流、稳压、稳流精度,通过调试发现在最初设计时存在一些小问题,比如器件的参数选择不够到位,导致调试时的部分数据不够精确,但经过一定的调试后,各项指标都能达到要求。3.2 气敏探测
11、电路的调试气敏探测电路的调试与其它模块有所不同,因为该部分具有很强的实用性,需要有实物才能进行真正意义上的调试,在这里,根据实际情况,现在只能从电路能否正常工作的角度出发,进行简单意义上的调试。气敏探测电路由气敏元件MQ-N5、电位器RP1、电位器RP2、电阻R5和指示灯H组成,在该电路中H起稳定气敏元件灯丝的电流作用,以使报警器工作稳定、可靠。因为灯丝电阻随温度(即通过的电流)而正比变化。温度高,电阻大,致使流过灯丝的电流减小;反之,电流增大,从而确保灯丝电流的稳定。分流电阻R5用以减少流过指示灯H的电流,避免灯丝达到正常的白炽化程度(白炽化时就失去稳流作用)。气敏元件预热数分钟后,在清洁的
12、空气中,测量极A-A与B-B之间的电阻为一个稳定值,适当调节电位器RP2,可使B-B端的电压接近为零(即RP2为调零电位器),当气敏元件遇到煤气后,A-A与B-B之间的电阻相继下降,B-B端的电位则上升。利用B-B端的电位去控制电子开关电路。经过一定的调试保证了该部分电路的正常工作。3.3 电子开关电路的调试在对电子开关电路部分进行调试时,先按照其原理框图画出其电路图,再进行调试。在调试的过程中,主要思想是根据电子开关电路的主要性能指标有针对性的进行调试。电子开关电路的主要性能指标有输入参数、输出参数、协调性能指标和其他标准等4类,通过调试发现在最初设计时存在一些小问题,比如器件的参数选择不够
13、到位,导致调试时的部分数据不够精确,但经过一定的调试后,各项指标都能达到要求。3.4报警电路的调试在对报警电路部分调试时,先按照其原理框图画出其电路图,再进行调试。在调试的过程中,主要思想是根据报警电路的主要性能指标有针对性的进行调试。报警电路部的主要性能指标有输入参数、输出参数、声音效果指标和其他标准等4类,而其中的声音效果指标是最重要的指标,具体指报警器发出报警时的声音大小和音质效果,而实际应用中要求报警器报警时必须保证声音足够响亮,以保证用户及时采取相应的应急措施,另外就是报警时发出的声音的持续时间,这也很重要,如果持续时间短了,用户还没听到就玩了,这样也没达到报警的效果。通过调试发现在
14、最初设计电路时存在一些小问题,比如器件的参数选择不够到位,个别元件的选择也不够好等等,这样导致调试时的部分数据不够精确,但经过一定的调试后,各项指标都能达到要求。3.5 开放式空气负离子发生器的调试空气负离子发生器是利用高压电晕增加空气中负离子成份,从而改善了空气质量,可以促进身体健康,被誉为空气“维生素”。医学临床实践证明,它对呼吸系统、循环系统以及神经方面等的疾病均有辅助疗效,因而在生活及医学界得以广泛应用。本次设计用的是一种高效开放式负离子发生器,它采用可控硅逆变高压,悬浮式放电针,结构简单,效果良好,安全可靠。市电电压在160V250V均能正常工作,且耗电极省,仅1W左右,因此可长期连
15、续工作。根据空气负离子发生器的特点,不能实现真正意义上的调试,只能进行简单意义上的调试。通过调试保证了空气负离子发生器的正常工作。3.6 键盘调试因为无法找到一氧化碳起气体的测试标准设备,所以在测试时候,模拟采用了接+5V接可变电阻来控制输出的模拟传感器的电压信号。先是把电压的值调到最小,测试按键和显示功能。表33按键显示值按设置一次显示设置报警浓度值按加闪烁加1浓度加1按闪烁减1浓度减1OK键确定浓度值按设置键两次显示实时浓度值 接着测试监控功能,慢慢调节其中的一个可变电阻,增大其模拟输入电压,产生声光报警,并且显示当前的报警通道和浓度。再把电压调小到报警下限范围,当按下确定键,消除报警很显
16、示。3.7LCD液晶显示屏调试液晶显示屏可以对当前煤气浓度值进行显示,如下图3-1所示:图3-1 液晶显示首先设置LCD相关变量:unsigned char con13 = C,o,n,c,e,n,t,r,a,t,i,o,n;unsigned int thresh = 150;sbit RS=P20; sbit RW=P21;sbit EN=P22;对LCD进行指令编辑: void wr_com(unsigned char com) delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN=1; delay1ms(1); EN=0;对LCD写
17、数据:void wr_dat(unsigned char dat) delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0; 令LCD初始化: void lcd_init()delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);首先对LCD清屏:void lcd_clear() u
18、nsigned char i;for(i=0;i16;i+)wr_com(0x80+i);wr_dat( );wr_com(0xc0+i);wr_dat( );LCD显示当前浓度界面编辑:void display() char i=0;for(i = 0;i 13;i+) wr_com(0x82+i); wr_dat(coni);wr_com(0xc7);wr_dat(temp/100+0x30);wr_com(0xc8);wr_dat(temp%100/10+0x30);wr_com(0xc9);wr_dat(temp%10+0x30);LCD显示报警阈值设置界面:void display_
19、set() char i=0;wr_com(0x87);wr_dat(S);wr_com(0x88);wr_dat(e);wr_com(0x89);wr_dat(t);wr_com(0xc7);wr_dat(thresh/100+0x30);wr_com(0xc8);wr_dat(thresh%100/10+0x30);wr_com(0xc9);wr_dat(thresh%10+0x30);经过一系列调试,显示屏一切工作正常,可以使用。 3.8煤气泄漏报警电路的整体调试在已经对各个单元模块调试好后的基础上来对整体电路的调试就显得比较简单了。在整体调试时主要工作就是对整个电路的协调工作进行调试,
20、主要看是否能达到最初预想的设计效果。在调试过程中,首先还是先按照整体电路的原理框图画出其电路图,再进行调试。经过几次的调试,发现各个模块之间的链接还是存在一些小问题,但在调试过程中都即时的加以解决掉了,从而保证了整个电路的正常工作,同时也达到了最初设计的预期效果。4、 结 论经过一个月的努力,我终于顺利的完成了课设的任务。在这期间,我搜集了大量的关于煤气报警方面的资料经过分析得出此设计方案,特别是对气体传感器,A/D转换,LED显示器做了深入研究。并温习了数字电路,模拟电路和单片机的相关知识,通过这些使我了解了本系统的工作原理及应用。软件方面,通过对时序编程的学习和网上相关资料的查找,我顺利利
21、用Keil C51编译软件写好程序,并通过自制的ISP烧写模块导入单片机中,经过际测试,证明了程序编译的正确性。通过对传感器的进一步了解,我熟悉了各类传感器的使用和特性。 系统调试是本设计成功与否的关键,软件与硬件的结合是本设计的最终目标。经过这一次调试,我对硬件电路理解的更加透彻,对软件的纠错能力也有了进一步的提高,并且熟悉了Keil C51的操作,使自己对单片机煤气报警系统认识更加深刻。同时也要感谢各位老师和同学,多亏了他们的帮助,我才能顺利的完成了此次课程设计,在此,特向他们表示深深的谢意。参考文献1 晃阳:单片机MCS-51原理及应用开发教程 M,清华大学出版社2007.15.6:37
22、6-385。2 李全钊、迟荣强:单片机原理及接口技术 M,高等教育出版史 2003年。3赵亮、候国锐:单片机C语言编程与实例 M,北京人民邮电出版社 2003年。4李凤霞:C语言程序设计教程 M,北京理工大学出版社 2001年。附录一:电路总图 电路总图附录二:元器件清单序号名称型号数量1液晶显示屏LCD LM016L12单片机AT89C5113A/D转换器ADC083214排阻RESPACK-815运算放大器LM35816三极管MPS363827继电器PCJ-105D3MH18LED灯LED-GLED-YLED-R2119发动机MOTOR10滑动变阻器POT-HG11按键DUTTON12电阻
23、R1、R2R3RES 10KRES 5002113蜂鸣器SOUNDER114开关SW-SPST1附录三:源程序sbit clk=P10;sbit di=P11;sbit doo=P12;sbit cs=P13;sbit ledg =P37;sbit ledr =P36;sbit ledy =P35;sbit buzzer=P34;sbit relay=P33;sbit motor =P32;sbit Set = P14; /*阈值设置*/sbit Inc = P15;/*增量按键*/sbit Dec = P16;/*减量按键*/bit bSet = 0; /*阈值设置按下标志位 1-按下 0-
24、未按下*/bit bInc = 0; /*增量设置按下标志位 1-按下 0-未按下*/bit bDec = 0; /*减量设置按下标志位 1-按下 0-未按下*/unsigned char con13 = C,o,n,c,e,n,t,r,a,t,i,o,n;unsigned int thresh = 150; /* LCD相关变量*/sbit RS=P20;sbit RW=P21;sbit EN=P22;unsigned char temp=0,temp_buzzer;unsigned char global = 0;void delayms(unsigned int x)unsigned c
25、har a=160;while(x-)while(a-);a=160;/*/* ? */*/void delay_us(unsigned int n) /? ? ? if (n = 0) return ; while (-n); void delay1ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j100;j+); void wr_com(unsigned char com)/写指令/ delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN
26、=1; delay1ms(1); EN=0;void wr_dat(unsigned char dat)/写数据/ delay1ms(1);RS=1;RW=0;EN=0;P0=dat;delay1ms(1);EN=1;delay1ms(1);EN=0; /*LCD初始化*/ void lcd_init()delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);/*LCD清屏*/
27、void lcd_clear() unsigned char i;for(i=0;i16;i+)wr_com(0x80+i);wr_dat( );wr_com(0xc0+i);wr_dat( );/*显示当前浓度界面*/void display() char i=0;for(i = 0;i thresh)ledr=0;TR0=1;motor=0;relay=1;elseledr=1;TR0=0;motor=1;relay=0;key_scan();switch(global)case 0:display();if(bSet)bSet = 0;global = 1;lcd_clear();break;case 1:display_set();if(bInc)bInc = 0;thresh+;if(bDec)bDec = 0;if(thresh 0)thresh-;if(bSet)bSet = 0;global = 0;lcd_clear();break;/*定时器0中断服务函数*/void et0() interrupt 1TH0=(65536-1000)/256;TL0=(65536-1000)%256;buzzer=temp_buzzer;temp_buzzer=!temp_buzzer;
限制150内