基于单片机的可燃气体火灾报警器的设计与实现
摘 要
近年来火灾自动报警系统进入了大众的视野,设计和完善火警自报系统能提高火灾预警和火灾初发时的处理水平,使得火灾一旦发生就能及时的制止或者直接扼杀在萌芽时期,最大程度地减少人们的社会损失。为此,论文从人们的现实生活需求着手,设计了一款适合用在多种公共设施场合的基于单片机的智能火灾报警系统。设计的报警器系统用单片机技术以及电阻烟雾传感器、火焰传感器、温度传感器三种传感器作为核心并结合其它相应的电子技术组成一个高效完整的自动预报火情系统。报警器通过时刻不间断地收集空气中的温度、烟雾、可燃气体的浓度,整合实时的数据后进行综合火情的处理判断。收集的数据信号一旦超出设定的报警指数,火警器的声光报警就会被启动,发出警报,提醒人们有火灾隐患。这款警报的总体设计简单、高效、便捷、智能化、成本低、总体实用性强。
关 键 词 :烟雾;温度;报警器;传感器;单片机
1 系统总体方案设计
通过上一章的火灾报警器的研究确定了设计火灾报警器的必要性,本章是火灾报警器的总体方案设计,确定了设计火灾报警器的硬件方案。
1.1 设计要求
熟悉51单片机的开发环境,用C语言编写程序;
能够自主设计基于单片机的最小系统,并且设计与之相关的硬件电路;
了解51单片机的内部构造,对相关的硬件和软件可以进行调试;
理解并运用火灾报警系统的原理和实现方法。
1.2 系统的技术要求
在设计系统结构时,一个关键步骤就是要对单片机的技术性能做出选择,指的是根据系统的性能要求来选择合适的单片机类型。这就需要结合实际的情形来进行合理的选择,经过几十年的发展后,业内对单片机的选型已经基本形成了标准,适用于大部分场合。常用的几个标准有以下几种:
(1)体积小:单片机是系统控制的中心模块,需要尽量选择体积小的单片机,减少占用的空间,这样在系统维护阶段也能表现出更好的性能。
(2)功耗低:功耗问题始终是系统设计必须考虑的一个问题,一般情况下单片机系统都是采用干电池供电。
(3)可靠性高:此标准指的是单片机系统在完成硬件部分的检测后能够在不同环境中表现出相同的性能,受环境影响较小,性能稳定。
1.3 方案选择和论证
1.3.1 单片机的选择
对于主控模块芯片的选择上,主要参考了以下三个方案:
方案一:单片机选择PIC系列
此系列的单片机一般是由美国的Microchip公司进行生产,此公司发展历史悠久,在业界已经形成了较好的品牌形象,始终以性能优越著称,因此这款单片机质量普遍较高,实现的功能齐全,但与此相对的价格也稍贵一些。
方案二:单片机选择MSP430系列
此系列的单片机一般是由德国的TI公司进行生产,自问世以来,该公司生产的单片机就以功耗低的优势在市场中占据极高的地位,能够实现基本的功能,但为了满足低功耗的需求在价格上也稍贵一些。
方案三:单片机选择STC89C52单片机
这款单片机是目前市面上乃至高校实验室内使用得最多的一款的单片机,因为这款单片机价格低廉,且功能齐全,基本能够满足现代系统设计的需求,因此成为了当下最热门的单片机。此外,由于此款单片机的CPU为八位,使得它在处理数据时表现出优良的性能,内部设有接口能够和外围器件相连,拓展性很强。
基于以上分析,拟定方案三,用STC89C52单片机作为控制器。
1.3.2 显示方案的选择
因为要将火灾报警系统的数值显示出来,因此本系统需要设计一个显示模块来完成此功能。在这里选用的是LCD1602液晶显示屏。之所以选择液晶显示屏,是因为较之于数码管,液晶显示屏操作更加简单,显示的画面更为清晰,不需要连续的刷新界面,实现的功能也更加可靠和安全。并且现如今,此款液晶显示屏已经设计得非常成熟,功能稳定,要想让其正常显示,需要通过调节电压来完成,只需要简单的设置便能够完成此项要求。
2 整体方案设计
2.1 系统概述
核心器件是STC89C52单片机,和晶振,电阻电容等器件一起构成了单片机的最小系统。其他的模块都是在单片机的最小系统上展开的,包过MQ-2型烟雾采集传感器,其它别的模块都是围绕着单片机的最小系统展开的。烟雾采集传感器选用MQ-2,模数转换芯片采用的是ADC0832,温度采集使用DS18B20数字传感器,显示设备选用的是1602液晶,可以在屏幕上实时显示温度值、烟雾浓度值还能显示报警值;报警模块是由LED灯和蜂鸣器组成的,三个LED分别代表烟雾报警指示、温度报警指示和火焰报警指示,并且还有三个按键作为输入设备;供电则采用的是USB 5V来进行供电。
2.2 系统框图
2-1 系统框图
2.3 火焰检测模块电路
2.3.1 火焰检测模块内部原理图
在设计火焰检测模块的时候,需要将模拟数据转换成数字数据交给单片机处理,具体的设计电路如图3-5所示。
图2-6 火焰检测模块内部原理图
2.3.2 火焰检测模块原理图
火焰检测模块的原理图如图2-7所示。
2-7 火焰检测模块原理图
2.4 按键输入模块
在本火灾智能报警系统中,还是只有一个简单的按键模块来实现整个系统的初始化操作。当系统的其他模块正常工作时,按键模块的输入电压为高电平,此时初始化功能无法实现,只有当电压变为低电平时才能够实现初始化操作。因此本文需要设计一个按键模块来手动完成此功能,一旦按键按下,便能产生一个低电平信号,从而完成系统的初始操作,将报警记录的归零,重新进行检测。
查阅资料了解到,目前市面上设计的按键电路有两种形式,分别是独立按键的设计形式和矩阵按键的设计形式。对于前者,由于是独立按键,当和单片机的IO口进行相连时,只能进行单线操作,也就是单片机的一个IO口只能实现一个按键的功能,而如果想要连接更多的按键,只能将其连接到电源或者接地模块,但是这种方法的优势是设计起来非常简单,实现的功能也比较稳定。后者采用的是矩阵的形式来完成按键,相较于前者这种设计模式会变得更加复杂,但是它也存在着较好的优点,比如单片机只需要通过少数的IO口便能够实现对多个按键的操作,结合本系统需要实现的功能,在这里选用第一种设计形式。采用三个按键,分别是“设置键”“减键”、“加键”。
在了解按键模块的实现原理之后,还需要进行的一个重要操作就是对按键模块去抖。这是因为按键按下时,由于所按的频率不同,按键可能随时处在高电平和低电平之间的来回切换之中,这样会给系统判断造成麻烦,因此解决这个问题十分重要。需要注意的是,由于产生抖动的整个过程持续的时间非常短,一般都是在毫秒级以内,对于人类而言可能无法进行操控,但是对于单片机而言,这是一个极为漫长的时间,因此只需要通过合理的电路设计便能够完成去抖的操作。现成的去抖方式主要有两种分别是硬件去抖和软件去抖, 前者就需要设计合理的去抖电路,后者的设计方式就需要尽量规避抖动时间,当电压稳定之后才对电压的高低进行判断。本文结合两种方式来对案件模块进行去抖操作,具体设计电路见图2-8所示。
3 程序流程图设计
3.1 总体程序流程图设计
设计的流程图如图4-1所示,在刚开始的时候先对液晶的显示内容和功能初始化,然后对报警值进行初始化,就可以进入一个循环过程了,先读取传感器检测到的烟雾浓度,接着在液晶上面显示出来,然后读取温度值,并也显示到液晶上面。然后系统就会自动判断读取的温度值和烟雾浓度是否大于之前设定的报警值,也会判断是否检测到火焰,如果是的话,对应的报警灯就会亮起来,同时蜂鸣器也会被启动起来,就可以进行声光报警了。接着就是判断设置的按键是不是被按下,如果被按下就会调整报警值的大小。返回到开始的时候进行新一轮的检测、显示、判断。
图3-2主函数流程图
4 系统调试
经过不懈的努力,通过硬件电路设计以及软件设计最终完成设计。实物调试结果如下。如图4-2所示,接通电源按下电源开关,该火灾报警系统可以正常工作。显示屏第一行显示的是气体浓度和气体浓度报警值,第二行显示的是温度值和温度报警值报警值。
图4-2 接通电源
对火灾报警检测如图4-3所示:当有火焰的时候,温度对应的LDE灯便会变亮
图4-3 火焰报警
对温度报警值的检测如图4-5所示:对温度传感器进行升温,当温度升到如图4-5所示超过预先设定的温度报警值44的时候,温度报警对应的第二个LED便会亮起。
5 总结
经过系统的调试,设计的火灾报警系统可以正常工作,包含了烟雾传感器、火焰传感器、温度传感器三种传感器模块。该智能火灾报警器通过时刻不间断地收集空气中的温度、烟雾、可燃气体的浓度,整合实时的数据后进行综合火情的处理判断。收集的数据信号一旦超出设定的报警指数,火警器的声光报警就会被启动,发出警报,提醒人们有火灾隐患。这款警报的总体设计简单、高效、便捷、智能化、成本低、总体实用性强。