基于单片机可燃气体报警系统设计.pdf

上传人:沧海****B 文档编号:91491183 上传时间:2023-05-27 格式:PDF 页数:33 大小:2.71MB
返回 下载 相关 举报
基于单片机可燃气体报警系统设计.pdf_第1页
第1页 / 共33页
基于单片机可燃气体报警系统设计.pdf_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《基于单片机可燃气体报警系统设计.pdf》由会员分享,可在线阅读,更多相关《基于单片机可燃气体报警系统设计.pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录一、设计的背景和意义一、设计的背景和意义.1二、设计方案的论证和确定二、设计方案的论证和确定.1(一)设计要求分析.1(二)设计方案确定.1三、设计过程三、设计过程.2(一)设计原理.2(二)主要器件清单.4(三)硬件结构设计.12(四)软件控制设计.17四、调试过程四、调试过程.25五、设计创意说明和总结五、设计创意说明和总结.32六、参考文献六、参考文献.33七、致谢七、致谢.34 1 一、设计的背景和意义一、设计的背景和意义 背景:近年来,由于科技与技术的发展,可燃气体在日常生活中发挥着重要作用,但可燃气体的泄露也会带来非常严重的后果,建筑内火灾不断增多,由于我国现阶段属于发展中国家

2、,消防应急管理技术的落后,让我国火灾形势日益严重,本系统以单片机为主控单元,能够在最短时间内检测出环境中的可燃气体浓度,只有当可燃气体浓度过高时才会发出声光报警,将可燃气体的威胁控制在萌芽状态,保障人身财产安全性,最大限度降低损失。意义:由于单片机具有扩展简单,准确方便,可靠性好,检测浓度高,控制系统更强大、操作方式更简单、对超出设定浓度进行声光报警的优点。大大提高了对生命财产安全的巨大的促进作用。二、设计方案的论证和确定二、设计方案的论证和确定(一)设计要求分析 由于是直接检测周围环境是否有可燃气体的威胁,就需要用到气体传感器将所检测到的气体浓度信号通过 A/D 转换芯片转换为单片机所使用的

3、一个电压信号来促使蜂鸣器实现报警功能。(二)设计方案确定 设计自动报警通常采用两种方案,第一种方案是利用 STC89C52RC 为主控制器,当检测数值大于设定数值,通过蜂鸣器进行报警提醒,完成自动报警功能。第二种方案是通过 plc-200 控制烟雾模块与温度传感器模块进行通讯达到自动报警功能。第一种设计方案的好处是经济实惠,成本相对较低。这种设计方案的不足之处是制作的主控板受到于布局结构、电子器件质量的各种因素影响导致抗干扰能力稍差。第二种设计方案的好处是抗干扰能力强,故障率低,便于维护。但缺点是成本相对于单片机要高,且体积比单片机要大。由于方案一采用 ATC89C52RC 进行检测报警比方案

4、二使用 plc 控制两模块进行通讯在经济以及体型上都比使用 plc 控制更有优势。因此本次设计中我采用第一种方案。2 三、设计过程三、设计过程(一)设计原理 1、硬件电路设计框图。(图 1.1)可燃气体报警器是由传感器,数模转换器以及蜂鸣器所构成的一个用于保障家庭人身财产安全的仪器,当传感器检测到所处的周边环境中有可燃气体的时候,传感器将检测到周边环境的数据传送给 A/D 转换,通过单片机将所检测气体的信号数据转化为电压信号,LCD 显示屏再将接收到的信号显示出当前气体的浓度百分比,当超过预设值时则发出声光报警提示附近人员及时采取安全措施或进行安全撤离。图 1.1 硬件电路设计框图 传感器 编

5、码器 数模转换 单片机 显示 报警 2、程序设计框框图。(图 2.1)图 2.13 程序设计计框图 4 3、设计原理(一)硬件电路可分成六部分:由电源电路、复位电路、晶振电路、传感电路、信号转换电路、报警电路。1)由电源电路、复位电路和晶振电路构成单片机最小应用系统(内核),可供单片机正常工作,是单片机的基本单元。2)传感电路:主要测量工作环境附近空气中有无可燃气体,传感器可以为安全系统提供可燃、易燃气体的信息。3)信号转换电路:在本次设计中又称 A/D 转换器,它是把传感器输入的模拟电压转换成与模拟电压成正比的脉冲信号输出给单片机,当模拟电压加到输出端时,就可以通过单片机输出的信号转换为显示

6、屏上可观测到的数据。4)报警电路:一般的工作状态可以通过指示灯或数码管来显示,为操作人员提供借鉴,但针对一些特定状态,为了使操作人员不忽视,及时采取措施,必须还需要通过“声音”来引人注意起到警觉的报警信号功能。(二)主要器件清单 1、传感器(图 3.1)由于本次的设计是直接通过传感器检测所处位置的周边空气中的可燃气体浓度,所以在选择传感器的时候一定要考虑到传感器的稳定性,可靠性和灵敏性,所以本次设计我选用 MQ-5 气体传感器,MQ-5 气体传感器对液化气,天然气,城市煤气等可燃气体有着较好的灵敏度,同时又具有快速的相应恢复特性,当传感器检测到所处周边环境中存在可燃气体,并随浓度的增大而增大。

7、使用简易电路就能将检测到的气体浓度数据值通过 A/D 转换为与检测气体浓度相对应的输出信号。5 图 3.1 传感器实物图 技术指标 产品类型 半导体气敏元件 标准封装 胶木 检测气体 可燃气体(烟雾)检测浓度 300-10000ppm(甲烷、丙烷等可燃气体)标准电路条件 回路电压 Vc 24VDC 加热电压 Vh 5.0V0.2V AC or DC 负载电压 RL 可调 标准测试条件加热电阻 Rh 313(室温)加热功耗 Ph 950mW 6 下气敏元件特性 敏感体表面电阻 Rs 2K-20k(in2000ppm c3h8)灵敏度 S 0.6 3005000ppm m CH4 浓度斜率 a 0

8、.6(R3000ppm/R1000ppmC3H8)标准测试条件 温度、湿度 202;655RH 标准测试回路 Vc:5.0V0.1V;VH:5.0V0.1V 预热时间 不少于 48 小时 2、单片机 微控制器是整个控制系统中的大脑,是控制电机转速的核心。STC89C52RC单片机微处理器(图 3.2)是一款运行速度高,功耗低,抗干扰强的单片机,指令代码相兼容增强的 8051 单片机(如图 3.004 所示)。主要功能如下:1)工作电压:5.5V 到 3.3V(5V 单片机)2)工作频率范围:040MHZ,实际工作频率可达 48MHZ 3)用户应用程序空间为 8K 字节 4)偏上集成 512 字

9、节 RAM 5)通用 I/O 口(32 个),复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 是漏极开路输出 6)具有 EEPROM 功能 7)具有看门狗功能 8)共 3 个 16 位计时器/计数器。即 T0、T1、T2 9)外部中断 4 路,下降沿中断或者低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒 10)通用异步串行口(UART),还可以用定时器应用程序来实现多个 UART 11)工作温度适用范围:-40 到+85 摄氏度(工业级)/0 到 75 摄氏度(商业级)12)PDIP 封装 7 图 3.2 STC89C52RC 微控制器实物图 3、L

10、CD 液晶显示(图 3.3)LCD 1602A 字符型液晶显示屏幕是专门显示于字母、数字元、符号等结果的点阵型液晶显示屏幕。分 4 位和 8 位对比数据结果显示的方式。提供 57 点阵加游标的显示模式。提供多样化的指令设置:清除结果显示;游标回原点;开/关、游标开/关、字符闪烁、游标移位、移位元等结果显示。提供内部上电自动复位电路,当模块设置为默认的显示工作状态。8 图 3.3 LCD 显示屏实物图 产品参数 逻辑工作电压(Vdd)4.85.2V LCD 驱动电压(Vdd-Vo)3.05.0V 工作温度(Ta)-2070(宽温)储存温度(Tsto)-30+80(宽温)工作电流(除背光)1.7m

11、A(max)工作电流(背光)24.0mA(max)引脚说明 引脚号 符号 I/O 说明 1 GND-电源负极(0V)2 VDD-电源正极(5V)3 V0-LCD 驱动电压输入端 4 RS I 指令/数据选择信号 5 RW I 读写选择信号 6 E I 使能信号 7 DB0 I/O 数据 0 8 DB1 I/O 数据 1 9 DB2 I/O 数据 2 9 10 DB3 I/O 数据 3 11 DB4 I/O 数据 4 12 DB5 I/O 数据 5 13 DB6 I/O 数据 6 14 DB7 I/O 数据 7 15 BL1-LED+(5V)16 BL2-LED-(0V)4、A/D 转换芯片(图

12、 3.4)本次设计方案我选用 ADC0832 芯片,ADC0832 芯片是美国国家政府半导体器件公司生产制造的一种八位分辨率、双通道 A/D 切换芯片。此种芯片具有八位分辨率;双通道 A/D 切换;输入输出电平与 TTL/CMOS 相兼容;5V 电源电力供应时输入电压在 05V 之间;工作频率为 250KHZ;转换时间为 32S;一般功耗为15mW;8P、14P-PCB(双列直插)、PCB 多种封装;商用芯片温宽为 0 摄氏度到 70 摄氏度,工业芯片温宽为 40 摄氏度到 85 摄氏度。10 图 3.4 ADC0832 实物图 引脚图说明(图 3.5):CS:片选使能,低电平芯片使能。CH0

13、:模拟输入通道 0,或者用作为 IN+/-使用。CH1:模拟输入通道 1,或者用作为 IN+/-使用。GND:芯片参照 0 电位(地)。Vcc/REF:电源输入及参照电压输入(复用)。CLK:芯片时钟输入。D0:数据信号输出,转换数据输出。D1:数据信号输入,选择通道控制。5、元件AD 转蜂鸣发光液晶电容电容电阻电阻电阻电阻按键PNP电源单片传感晶振 选用元器件件名称 转换芯片 鸣器 光二极管 晶显示 容 容 阻 阻 阻 阻 键 源开关 片机 感器 振 件清单 元件型号 ADC0832 蜂鸣器 发光二极管LCD1602 10uf 20uf 2K 10K 1K 4.7 SW-PB 9012 SW

14、-灰色 STC89C52 MQ-5 12M 图 3.5元件标1 B1 管 D1 LCD1C1 C2,C3R1,R3R4 R6,R2R7 S1,S2Q1,Q5SW1 U1 U3 Y1 11 5 ADC0832标号 数量1 1 1 1 1 2 2 1 2 1,S4 3 2 1 1 1 1 引脚图 量 (三过 A体浓气阀 2、达到电压 三)硬件结1、AD 气体可燃气AD 采集芯片浓度含量超阀门等动作 报警电路当周边环到或超过爆压信号传送 构设计 体采集电路泄露报警器片电路,将超过预设值时。(图 3.7)环境中存在可爆炸或报警器送给报蜂鸣器 路(图 3.6)器通过 MQ-5将探测到的数时,单片机通图

15、3.6 可燃气气体器预设置的器,燃气报图 312)5 气体传感数据使用模通过控制执AD 气体采体泄露时,可的值时,就会报警器就会发3.7 报警电感器检测周边模拟量传递给执行电路发出采集电路 可燃气体报警会将检测到的发出报警信电路 边环境中的给单片机,出报警信号警器检测到的气体信号信号。的可燃气体,当检测到的号或执行关闭到气体浓度含号转换成对应,通的气闭燃含量应的 3、换,拟量单片度。报警显示当所检测就不会有报量的电压信片机,这个信 示电路(图 3的周边环境报警显示,号输送给 A信号经过单3.8)境中没有可当所检测周A/D 转换,另单片机内部处图 3.13 可燃气体时,周边环境中另一侧就会处理后

16、通过.8 报警显示就没有模中含有可燃性会有一个适合过液体显示器示电路 模拟量信号输性气体时,合单片机的器显示出可输入给 A/D就会有一个的电信号输出可燃性气体的D 转个模出至的浓 4、完整电路图图(图 4.1)图 4.14 .1 完整电电路图 15 5、PCB 图 6、由于 完整仿真电于元件库没电路图 没有传感器,所以仿真16 真图上用一个个可调整的的电阻来模拟拟传感器。17 (四)软件控制设计 1、主程序流程图(图 4.2)主程序流程图 图 4.2 主程序流程图 开始 单片机初始化程序初始化液晶显示屏初始化调整预设值信号采集 A/D 转换 单片机判断是否超出预设值进入报警子程序否 是 18

17、2、程序编写#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义 变量范围 0255#define uint unsigned int /无符号整型 宏定义 变量范围065535#include sbit beep=P14;/蜂鸣器IO 口定义 uchar a_a;bit flag_300ms;sbit CS=P24;/CS 定义为P2 口的第 4 位脚,连接 ADC0832CS脚 sbit SCL=P23;/SCL 定义为 P2 口的第 3 位脚,连接ADC0832SCL 脚 sbit DO=P22;/DO 定义为P2 口的第 4

18、 位脚,连接 ADC0832DO脚 /按键的 IO 变量的定义 uchar key_can;/按键值的变量 uchar menu_1;/菜单设计的变量 uint TRX_h;uint TRX;/天燃气 /*名称:delay_1ms()*功能:延时 1ms 函数*输入:q*输出:无/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);uchar code table_num=0123456789abcdefg;/这三个引脚参考资料 sbit rs=P10;/1602 数据/命令选择引脚 H:数据 L:命令 sbit rw=P

19、11;/1602读写引脚 H:数据寄存器 L:指令寄存器 sbit e=P12;/1602使能引脚 下降沿触发 /*名称:delay_uint()*功能:小延时。*输入:无*输出:无/void delay_uint(uint q)while(q-);/*名称:write_com(uchar com)*功能:1602 命令函数*输入:输入的命令值*输出:无/19 void write_com(uchar com)e=0;rs=0;rw=0;P0=com;delay_uint(25);e=1;delay_uint(100);e=0;/*名称:write_data(uchar dat)*功能:160

20、2 写数据函数*输入:需要写入 1602 的数据*输出:无/void write_data(uchar dat)e=0;rs=1;rw=0;P0=dat;delay_uint(25);e=1;delay_uint(100);e=0;/lcd1602 上显示两位十进制数/void write_sfm2(uchar hang,uchar add,uint date)if(hang=1)write_com(0 x80+add);else write_com(0 x80+0 x40+add);write_data(0 x30+date/10%10);write_data(0 x30+date%10);

21、/lcd1602 上显示两位十进制数/void write_sfm_TRX(uchar hang,uchar add,uint date)if(hang=1)write_com(0 x80+add);else write_com(0 x80+0 x40+add);write_data(0 x30+date/100%10);write_data(0 x30+date/10%10);write_data(0 x30+date%10);/lcd1602 上显示这字符函数/void write_string(uchar hang,uchar add,uchar*p)if(hang=1)write_co

22、m(0 x80+add);else write_com(0 x80+0 x40+add);while(1)if(*p=0)break;20 write_data(*p);p+;/lcd1602 初始化设置/void init_1602()/lcd1602 初始化 write_com(0 x38);write_com(0 x0c);write_com(0 x06);delay_uint(1000);write_string(1,0,CO:000 PPM );write_string(2,0,Set CO:000 PPM );/读数模转换数据/1 0 0 通道 /1 1 1 通道 unsigned

23、 char ad0832read(bit SGL,bit ODD)unsigned char i=0,value=0,value1=0;SCL=1;DO=1;CS=0;/开始 SCL=0;/第一个上升沿 SCL=1;DO=ODD;SCL=0;/第二个上升沿 SCL=1;DO=SGL;SCL=0;/第三个上升沿 DO=1;for(i=0;i8;i+)SCL=1;SCL=0;/开始从第四个下降沿接收数据 value=1;if(DO)value+;for(i=0;i=1;if(DO)value1+=0 x80;SCL=1;SCL=0;SCL=1;if(value=value1)/与校验数据比较,正确

24、就返回数据,否则返回 0 return value;return 0;/定时器 0 初始化程序/void time_init()EA =1;/开总中断 TMOD=0X01;/定时器0、定时器 1 工作方式 1 ET0 =1;/开定时器 0 中断 TR0 =1;/允许定时器 0 定时 /独立按键程序/uchar key_can;/按键值 21 void key()/独立按键程序 static uchar key_new;key_can=20;/按键值还原 P1|=0 xc0;if(P1&0 xc0)!=0 xc0)/按键按下 delay_1ms(1);/按键消抖动 if(P1&0 xc0)!=0

25、 xc0)&(key_new=1)/确认是按键按下 key_new=0;switch(P1&0 xc0)case 0 x10:key_can=2;break;/得到 k3 键值 case 0 x20:key_can=1;break;/得到 k4 键值 else key_new=1;/按键显示函数/void key_with()if(key_can=1)TRX_h+;/设置天燃气加 1 if(TRX_h=999)TRX_h=999;if(key_can=2)/设置天燃气减 1 TRX_h-;if(TRX_h=TRX_h)beep=beep;/蜂鸣器报警 else beep=1;/主程序/void

26、 main()beep=0;/开机叫一声 delay_1ms(150);P0=P1=P2=P3=0 xff;time_init();/定时器初始化 init_1602();/lcd1602 初始化 write_sfm_TRX(2,7,TRX_h);/显示天燃气 22 while(1)if(flag_300ms=1)flag_300ms=0;if(menu_1=0)/开始界面显示的内容 TRX=ad0832read(1,0);TRX=TRX*450/255.0;TRX=TRX-100;/首先减去零点漂移,write_sfm_TRX(1,7,TRX);/显示天燃气 clock_h_l();/报警函

27、数 key();if(key_can 10)key_with();/设置报警温度 delay_1ms(1);/定时器 0 中断服务程序/void time0_int()interrupt 1 static uchar value;TH0=0 x3c;TL0=0 xb0;/50ms value+;if(value%6=0)flag_300ms=1;/300ms value=0;四四、击,以选成功了。、调试过调试过程程1.在把原就会弹出 2.点击 Pr选择需要下功生成 HEX3.在菜单其中红色程程 理图画好并一个“编辑rogram Fi载到芯片上文件才行。单栏“调试”色代表高电平并确认没有辑元件属

28、性元件ile 栏右边上的 HEX 文选中这个 选择”下选择“执平,蓝色代25 有错误以后,性”元件编辑件属性编辑 边的文件夹小文件了。要先个 HEX 文件后择 HEX 文执行仿真”代表低电平,就可以在辑窗口。辑图 小图标,弹先将编好的后,单击 OK件图,就可以观灰色代表AT89C51 芯出文件浏览的 Keil 软件K 按钮关闭观察模拟系表不确定电平芯片上右击再览对话框,就件上调试并运闭对话框。系统的运行效平。再左就可运行 效果 4、通过调调整可调电阻改变显示26 执行仿真图示器浓度 图 5、通过 5、通过按按6、通过6、通过复复按按下模拟下模拟按按复复位按键位按键进进按按键加减来键加减来调调进

29、进行复位 行复位 27 调调整预设整预设值值 值值 7、当可7、当可调调 调调电阻值电阻值没没没没有超过预有超过预设设28 设设值时 值时 8、当可8、当可调调调调电阻值电阻值超超超超过预设值过预设值是是 29 是是进行报进行报警警警警 30 实物调试未报警 31 实物调试报警 32 五、设计创意说明和总结 五、设计创意说明和总结 经过这次几个月的努力,基于单片机的可燃气体报警设计已经完成,以单片机为主的报警设计这个方向和主题都很常见,但在设计过程中,我查阅了各种资料,充分的明白了,单片机作为一种微型计算计,它不仅体积小,功能多,抗干扰性强等特点。正因如此,它才能作为本设计的控制单元,他不仅功

30、能齐全,而且价格便宜,性价比高,很容易在市场上买到。可燃气体对于我们来说是每天都要接触到的生活必须品,可燃气体是我们日常需要用到的一种气体,往往应为它的“特殊性”与“便利性”,也总是让我们忽视了它对我们的危险性,如果可燃气体的浓度只是单独过高或过低时是不会发生危险的,它只有与空气中的氧气或者其它气体相混合所形成一定比例的混合气体才会发生爆炸或者燃烧。本次设计就是把此种现象扼杀于萌芽之中,当所检测到的可燃气体的浓度高于预设定值时就会进行声光报警。本次设计在设计元器件上选择性价比高,又实用的元件。再结合了三年来的知识,用到了单片机原理、C 语言程序编写、电路图的连接与调试等,可以说是对三年来理论知

31、识和实际运用的一次完美结合。整个系统包括:LCD1602 显示部分、ADC0832,气体传感器采集部分、按键控制部分、蜂鸣器报警部分等。以上部分基本实现的本次设计的任务要求。在本次毕业设计中,我融合和使用了三年来的知识,补足了自己的不足,认清了要把理论知识和实际相结合,才能更上一个台阶。33 六、参考文献六、参考文献 1 王正勇.Protel DXP 实用教程.2 版.北京:高等教育出版社,2016.12 2 张俊谟.单片机中级教程M.北京:北京航空航天大学出版社,2006.3 张毅刚.单片机原理及应用 M.北京:高等教育出版社,2012.4 康瑞芳.傅子霞.董成波 单片机原理及应用.5 ST

32、C89C52RC 单片机用户手册S.宏晶科技.2007.6 李红.伦墨华.王强 C 语言程序设计实例教程.34 七、致谢七、致谢 不知不觉中大学三年就要结束了,在此毕业设计完成之际,感谢我身边的人对我大学三年学习的默默支持和帮助,感谢我的母校。在本次毕业设计中,首先,也是最主要感谢的是我的指导老师,在整个过程中他给我提供了有效的建议和很大的帮助。从毕业设计任务书到成果报告书,从不知如何下手到顺利完成都得到了老师精心指导。老师的认真严谨、一丝不苟、学识渊博、见识广阔为我树立了一个良好的精神楷模形象。在完成初稿后,老师认真审核了我的毕业设计文挡,指出了我在设计中思路的不足和文档中图片以及格式的缺陷。使得我加以完善,十分感谢何继贤老师的细心指导,才得以成功完成本次毕业设计。在此谨向老师致以诚挚的谢意和崇高的敬意。感谢曾经在本专业多次在各个方面指导过我的老师以及互相学习的同学们,在此,我再一次真诚地向帮助过我的老师和同学们表示深刻的感谢,祝愿老师和同学们身体健康,工作顺利。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁