> 技术文档 > 基于单片机的煤气泄漏报警系统设计

基于单片机的煤气泄漏报警系统设计

摘 要
煤气已成为人们生活中必不可少的能源了,煤气泄漏时有发生,煤气泄漏使人中毒,可能会发生爆炸,给人们的人身安全和财产安全带来了很多隐患,所以防止煤气泄漏检测装置已成为人们迫切的需要,为此开发煤气泄漏报警检测装置是非常必要的。
计算机以及单片机的普及和信息技术的迅猛发展,人们已经对家庭住宅环境提出了更高的要求,智能化、信息化被引入家庭,便利,舒适而且更加安全。
家庭智能化的定义,在国际上至今尚无一致的理念,在现代化的城乡住宅小区中和采用微型计算机、自控装置、通信等技术,建立一个物业管理中心与安全防护监控系统,最终的目的是使每一个祝贺得到满足其要求的最佳方案。这些足以表明人们最注重的还是安全。而且国家建设部规定,目前住宅小区应实现六项智能化要求,其中就包括实行安全防范系统自动化监控管理;防盗报警系统应安红外或微波与煤气泄漏报警器等各种类型报警装置,基于此项规定,煤气泄漏检测报警装置实现智能化势在必行。
本系统主要针对传统煤气,液化气的泄漏进行检测,报警。本系统有如下特点:用单片机实现控制,电路简单、价格便宜、可靠性好。采用增强型51单片机,MQ-2气体传感器,煤气泄漏是会发出灯光和声音的报警,因此本系统可作为智能家居的一个安全系统!

关键词:煤气泄漏;单片机;气体传感器

3 传感器电路

3.5.1 MQ-2传感器介绍
半导体气敏传感器包括用氧化物半导体陶瓷材料作为敏感体制作的气体传感器以及用单晶半导体器件制作的气体传感器,它具有灵敏度高,响应快、体积小、结构简单,使用方便、价格便宜等优点,因而得到广泛应用。半导体气体传感器的性能主要看其灵敏度、选择性(抗干扰性)和稳定性(使用寿命)。基于单片机的煤气泄漏报警系统设计

MQ-2/MQ-2S气敏传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃性气体时,传感器的电导率随空气中可燃性气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。基于单片机的煤气泄漏报警系统设计

图3 5 MQ-2传感器结构图基于单片机的煤气泄漏报警系统设计

图3 6 MQ-2传感器引脚图
1 气体敏感层二氧化锡2 电极金(Au)3 测量电极引线铂(Pt)4 加热器镍铬合金(Ni-Cr)5 陶瓷管三氧化二铝6 防爆网100目双层不锈钢(SUB316)7 卡环镀镍铜材(Ni-Cu)8 基座胶木9 针状管脚镀镍铜材(Ni-Cu)
MQ-2 气敏元件的结构和外形如上图所示, 由微型AL2O3 陶瓷管、SnO2 敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有6只针状管脚,其中4个用于信号取出,两个用于提供加热电流。A-A 和B-B 管脚在电路中是短接的。
3.5.2 传感器电路的连接基于单片机的煤气泄漏报警系统设计

图3 7 传感器电路图
电路采集的是电压模拟信号,电路中的电感是用来给传感器预热,电路上方的比较器是电路采集的模拟信号转换为开关信号,传递给引脚2,放大器将采集的模拟信号放大通过3引脚输出。电路有4个引脚,引脚1是电源引脚,引脚4是接地引脚,2引脚是开关信号引脚,3引脚是模拟量输出引脚。本装置设计只使用了1,3,4引脚,没有用到2引脚,因为使用引脚2只能根据设定值报警却不能显示当前的浓度,而3引脚通过图下方的放大器将信号放大,采集的连续的模拟信号,而且装置使用的是增强型51单片机,自身带有A/D转换,能确切的显示出当前气体浓度值。
4 煤气泄漏检测报警装置的软件部分设计
装置的硬件部分如过说是躯壳,则系统的软件部分则是整个装置的内脏,硬件做的再好,再漂亮,没有软件程序的驱动,它就真正的成为了一个躯壳,功能无法实现。只有软件的驱动加上硬件的准确才能实现装置的功能。二者缺一不可,所以软件的设计对整个装置同样是至关重要的。
4.1 主程序设计流程与编程
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。使用C 语言肯定要使用到C 编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。
4.1.1 主程序设计流程图
主程序流程图如图所示。首先要给传感器预热三分钟,因为MQ-2型半导体电阻式气体传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。本论文的主程序设计先对传感器预热三分钟,预热同时,对传感器加热丝故障检测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。
STC12C5A60S2单片机对传感器检测的气体浓度信号进行A/D转换,将浓度值与报警限设定值相比较,判断是否报警。
程序流程图如下图
基于单片机的煤气泄漏报警系统设计

5 煤气泄漏检测报警装置的调试

5.1 Keil简介
KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KEILC51标准C编译器为80C51微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编 器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。
5.2 程序调试的步骤
(1)源文件的建立:使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.1.2小节所示)。保存该文件,加上扩展名(.c),这里将文件保存为煤气.c。
(2)建立工程文件:点击“Project-New Project”菜单,出现一个对话框,要求给工程起一个名字,我们输入天煤气,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号AT89C51)点击ATMEL前面的“+”号,展开该层,点击其中的89C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中,出现了“Targ et1”,前面有“+”号,点击“+”展开,可以看到下一层的“Source Group1”,这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file to Group”Souce Group1”,对话框,要求寻找源文件,注意该对话框下面的“文件类型“默认为C Souce file (*.c),也就是以C为扩展名的文件。双击煤气.c文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提示你所选的文件以在列表中,此时点击确定,返回前一对话框,然后,点击”Close”即可返回主界面,返回后,点击“Souce Goup 1”前的加号,会发现煤气.c 文件以在其中。双击文件名,即打开源程序。
(3)工程的详细设置:首先点击左边Project窗口的Target 1,然后使用菜单“Proget-Option for target ‘target 1’”即出现对工程设置的对话框,对这个对话框可谓非常复杂,共有8个页面,要全部高清可不容易,好在绝大部分设置项取默认值就行了。设置完成以后安确认返回主界面,工程建立、设置完毕。
(4)编译、连接:在设置好工程后,既可以进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,如果当前文件已修改软件会先对该文件进行比阿尼,然后在连接以产生目标代码。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序有语法错误,会有错误报告出现,双击该行,可以定到出错的位置,对源程序反复修改后,最终会得到如图5-1所示的结果,提示获得了名为煤气.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其他相关文件可被用于KEIL的仿真与调试。基于单片机的煤气泄漏报警系统设计

5.2.1 程序调试过程中的问题及解决
在进入环境以后,有时会遇到了些问题,总结如下:
(1)在进入Keil的调试环境以后,发现程序有错
解决方法:将光标定位于需要修改的程序上,用菜单,Debug》Inline Assambly…即可出现对话框,Enter New 后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。
(2)汇编出现数字、字母混淆
解决方法:字母“O” 和数字 “0”的混淆
(3)程序调试时,一些程序必须满足一定的条件才能被执行到
解决方法:这些条件往往是异步发生或难以预先设定的,这类问题使用的单步实行方法是很难调试的,这时就要使用程序调试中的另一种非常重要是方法—断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单Debug/Insert/RemoveBreakPoint设置或移除断点(也可以用鼠标在该行双击实现同样的功能);Debug/Enable/Disable BreakPoint是开启或暂停光标所在懂行的断点功能;Dubug/Disale All BreakPoint暂停所有断点;Debug/Kill All BreakPoint清除所有的断点设置。这些功能也可以用工具条上的快捷键进行设置。
(4)输入程序时,有中文标点,用keil编译时出现错误
解决方法:程序里有带中文标点,用英文重输入一遍。
总结与展望
气体检测报警器可保障生产与生活的安全,避免火灾和爆炸事故以及煤气中毒的发生,它是防火、防爆和安全生产所必备的仪器,具有广阔的市场空间与发展前景。
本论文在对气体传感器和报警技术进行深入研究的基础上,全面比较国内外同类产品的技术特点,合理地确定系统的设计方案。并对仪器的整体设计和各个组成部分进行了详细的分析和设计。
本论文设计的气体报警器由气体信号采集电路与单片机控制电路两大部分构成。
根据设计要求、使用环境、成本等因素,选用MQ-2型半导体电阻式气体传感器。该传感器是对以烷类气体为主的多种气体有良好敏

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。