智能化烟雾报警控制系统的设计与实现
2021-11-24阮承治曾东梅吴函汀
阮承治,李 琦,曾东梅,杨 君,李 青,吴函汀
(武夷学院 机电工程学院,福建 武夷山 354300)
我国是人口大国,人民的生命和财产安全是国家和谐安稳的根基。随着城市的不断发展,人们工作生活相对集中,识别住房火灾隐患,配置防火灭火系统,切实做到有备无患是现代生活的重要需求[1-2]。智能化烟雾报警控制系统从无到有,从简单到复杂,对减少人民财产损失与维护国家稳定和谐具有重大意义和实用价值[3-4]。因此,设计一款以STM32单片机为核心控制器的智能化烟雾报警控制系统显得尤为重要。
目前市场上主流的智能安防装置以检测环境烟雾、温度的功能为主,功能相对单一,且无实时与用户建立远程数据传输的功能[5],缺乏与之配套的适用于智能安防的实时监测功能[6]。为解决上述问题,本控制系统综合运用工业无线GSM移动串口通讯模块及单片机控制技术,克服传统的固定座机和宽带网络有线距离的数据传输模式的局限性,可实现超远距离灵活的智能化自动报警与控制。
1 总体方案
本设计是基于STM32单片机为控制器的智能化烟雾报警系统,并通过GSM通讯模块实现自动报警。该控制器的电源供电模块通过AC降压,并通过整流、滤波及稳压为控制系统供电;控制系统通过传感器检测烟雾、温度及红外信息,若出现险情,即将报警信息通过GSM模块发送到用户手机;单片机控制模块由掉电存储、GSM通讯、显示电路、烟雾检测、测温模块、继电器控制和独立按键模块等子模块构成。系统总体设计方案如图1所示。
图1 系统总体设计
2 系统硬件电路的设计
本系统的设计是以STM32单片机为主控系统,该主控系统是由单片机最小系统、独立按键、GSM通讯、显示模块、烟雾检测、测温模块和继电器控制电路等子模块构成。
2.1 单片机最小系统
该最小系统主要是由复位电路、串口下载电路等构成,并由DC电路接口提供直流电源支持单片机的正常运行[7]。本设计中单片机最小系统如图2所示。
图2 单片机最小系统
根据设计的单片机最小系统,RST引脚接收到两个机器周期以上的高电平信号,STM32单片机实现复位功能。本设计采用的是单片机内部晶振,按钮复位电路。
2.2 主要子模块电路
2.2.1 掉电存储电路
本系统掉电存储电路中AT24C04芯片A0,A1,A2默认接低电平,通过AT24C04数据手册可查找IIC通信地址0x40[8]。当有多个存储芯片AT24C04的IIC器件同时通信时,只需更改A0、A1和A2对应的高低电平即可寻址该模块,掉电存储电路如图3所示。
图3 掉电存储电路
2.2.2 通讯模块电路
GSM通讯模块如图4所示,该模块与单片机采用串口通信方式。由于GSM模块需要较大的电流,一般不可以直接使用单片机系统供电,否则会造成通信连接失败的情况。因本系统有独立设计5V电源模块,故可直接为GSM供电。
图4 GSM通信模块
2.2.3 烟雾检测模块
单片机系统通过烟雾检测模块能自动实时监测当前环境的烟雾浓度,程序采用模拟输出的算法在LCD显示屏上显示实时烟雾数据,烟雾模块模拟输出引脚与STM32单片机SMOKE引脚相连接。烟雾检测模块如图5所示。
图5 烟雾检测模块
2.2.4 温度检测模块
DS18B20是单总线数字温度计芯片,温度测量范围从-55℃至+125℃[9]。DS18B20使用方便,单片机和DS18B20也仅需连接一条数据线,DS18B20所需的电源为5V。与传统的温度测量方式不同,DS18B20的温度转换结果可直接从数据线读出,在-10℃至+85℃测量精度可达0.5℃。因此,本设计选用DS18B20进行温度信号采集。温度检测模块如图6所示。
图6 温度检测电路
2.2.5 显示模块电路
本设计要求显示模块需显示2行内容信息,每行有16个字符。本设计由于需要设置手机号码、温度和烟雾三个参数,因此设置界面设计3行内容。此电路通过并行连接,所需元器件少,传输速度快。在程序设计中对LCD1602显示模块每次进行读写操作前,均需读、写检测,以确保STA7为低电平。设计中显示模块电路如图7所示。
图7 LCD1602显示电路
2.2.6 独立按键控制电路
独立按键模块由5个按键组成,S1用于设置是否手动控制,可控制继电器工作状态;S2作为选择进入显示界面或者设置界面的确定按键;S3选择设置界面下的手机号码、温度和烟雾参数;S4是在设置界面中的手机号码、温度和烟雾的加数值;S5为设置相应参数的减数值。独立按键模块电路如图8所示。
图8 独立按键控制电路
3 系统软件的设计
本系统软件设计采用的C语言编程设计,系统的软件设计分为主程序和子程序设计。首先在“Main”函数中主程序会进行一系列模块工作的初始化,通过模块化设计方式完成系统的功能实现,模块部分主要包括单片机最小系统、GSM串口模块控制、烟雾温度模块控制、显示控制、按键控制电路和继电器通断控制等。通过软件主程序调用各模块的子程序并初始化,即可在主程序中实现总体控制功能。
3.1 主程序设计
主程序是控制系统程序的主要组成部分,整个的控制系统的软件功能都是通过主程序来实现的,主程序可通过程序初始化、调用相关子程序函数和中断服务程序来综合完成。主程序设计思路是首先进行初始化,初始化过后,各个模块开始正常工作;再判断是否环境中有超过设定的温度、烟雾浓度阈值;最后根据判断发送报警短信,通知用户当前环境中的温度、烟雾信息。主程序流程如图9所示。
图9 主程序流程图
3.2 主要的子程序设计
3.2.1 串口通信程序设计
主程序进行初始化后便开始运行GSM模块。首先定义各项参数以及初始化各相关模块,调用数据处理程序,然后将数据实时存储在寄存器中。若GSM处于工作状态,此时有误拨电话打入,单片机通过串口发送ATH指令控制GSM模块自动挂断电话。若单片机监测到温度,烟雾浓度超过设置的阈值,单片机通过串口向GSM模块传输信息并发送短信到手机实现远程报警。串口通信程序流程如图10所示。
图10 GSM串口通信程序流程图
3.2.2 温度检测程序设计
控制系统主程序经过初始化后,判断是否检测到温度传感器发出的温度转换命令和读温度指令,若接受到相应指令,即调用相关的子程序并进行数据处理,以完成温度测量及数据显示功能。温度检测流程如图11所示。
图11 温度检测程序流程图
3.2.3 显示程序设计
本系统可实现煤气泄漏及火灾实时报警的功能,另外也可实时显示温度及烟雾浓度数据信息在LCD显示屏上。首先初始化成功会显示“GSM INIT”即GSM模块工作正常,然后在设置界面显示相应设置信息,最后在显示界面显示已经设置的参数阈值。显示程序设计如图12所示。
图12 显示程序流程图
4 实验测试及分析
整个系统设计完成后,为测试系统是否符合设计要求,需要测试与分析系统的可靠性和稳定性,本系统的调试主要包括串口通讯模块和硬件调试与分析。
4.1 串口通讯模块调试
在调试GSM串口通讯模块中,首先,通过电脑GSM调试专用工具发送AT指令给模块实现通信,以此测试出厂信息。其中,可测试设备类型,设备序号等,均回显“OK”信息,则说明GSM模块正常工作,测试结果如图13(a)所示。其次,测试GSM模块能否正常发送短信功能。根据人为制造的模拟温度烟雾浓度变化,且变化超过已经设定的温度烟雾浓度阈值,此时测试环境中温度烟雾模块与设计的系统测试结果一致。在此测试过程中,若GSM模块会发送短信到设置的用户手机,则说明GSM正常发送短信,测量结果如图13(b)所示。从测试结果看,装置测试的数据符合设计要求。
(a)
(b)图13 GSM模块调试图
4.2 硬件调试与结果分析
根据系统串口通讯模块测试,结合系统的硬件电路进行总体功能调试,即验证系统软硬件综合运行是否正常,主要包括GSM通信、温度检测、烟雾检测、热释电传感、按键模块和显示等。将电路板制作完成以后,需要逐一对其模块功能进行调试,以及对出现的故障进行排除,设计与制作的系统实物图如图14所示。
调试过程中,首先对温度模块进行测试,通过外部环境模拟温度变化的情况,利用独立按键将装置调至测试温度的模式。测试结果如图14所示,其中温度为26℃。经过对照测量,此数据符合系统设计要求。再测试烟雾模块,在室内无烟雾气体,模拟烟雾浓度变化的情况。LCD显示屏显示烟雾浓度的界面,从测试结果看,其中烟雾浓度为0,记录的温度数据符合设计要求。
图14 实物图
5 结论
本系统以STM32单片机为主控制器进行设计,实现了对工厂火情、家庭煤气泄漏等进行自动监测并自动报警的功能。本研究中设计了系统的总体设计方案,并对硬件电路的掉电存储模块、显示模块、温度和烟雾检测模块、通讯模块以及独立按键电路模块进行详细设计与分析。通过主程序的初始化及调用相关函数实现控制系统的软件功能,并设计了系统的显示程序、温度检测程序、串口通信模块程序等子程序流程图。最后通过实验测试与结果分析可得,该控制系统可实现实时数据采集与显示,且可实现智能化远程报警功能。该系统的工作能基本满足设计需求,可起到减少财产损失和保障生命安全的目的。