肖家文,茅胜荣,陈小平
(苏州大学 电子信息学院,江苏 苏州 215000)
摘要:大部分火灾的发生是由于在火灾初期没有及时采取应急防火措施,如果能够有效检测异常火苗或者气体并及时报警采取措施,就能大大降低火灾对人类的威胁。设计了烟雾报警系统,能使外出的人及时收到家中的报警信息。该系统由24 V直流电源供电,使用低功耗单片机MSP430F5529搭载灵敏度高、可靠性好、价格低廉的烟雾传感器MQ2实现烟雾监测,并通过GSM模块SIM900A对报警信息进行无线远距离传输。经测试,系统能够在7~10 s内将警报通知到用户,这对减少火灾引起的损失起到了十分关键的作用。
关键词: 烟雾报警;传感器;MSP430;GSM通信
中图分类号:TP212.9文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.02.029
引用格式:肖家文,茅胜荣,陈小平.低功耗远程烟雾报警系统设计[J].微型机与应用,2017,36(2):96-99.
0引言
随着社会节奏加快,住宅往往处于长期无人的状态,全国每年因居住场所无人而引发的火灾逐年增多,造成了巨大的财产损失[1]。烟雾传感器是一种典型的火灾监测传感器,它能够将空气中异常气体的浓度或者火焰光强度转化成电信号。传统的烟雾报警器只能够在检测到火灾的情况下发出警报声响,传播距离短,有很大的局限性。本文利用低功耗单片机MSP430将烟雾传感器MQ2的模拟电信号转换成数字信号,一旦检测到异常化学气体超标便通过GSM网络将警报信息以短信或电话的形式告知远方的用户,系统反应迅速并且成本低廉。
1系统硬件架构
图1展示了远程烟雾报警系统的硬件架构,整个系统由6个模块构成,分别是电源模块、传感器模块、逻辑控制模块、显示模块、GSM通信模块和手机接收端。
1.1烟雾传感器MQ-2
火灾传感器按原理可以分为热传感器、光电子传感器、离子传感器、空气采样监测器、半导体气体传感器和火焰传感器。其中,热传感器正确率高但反应速度慢,光电传感器、离子传感器和空气采样检测器主要在特殊环境中发挥作用,火焰传感器通过检测光的波长来监测火灾和爆炸,可靠性高,反应速度极快,但是价格昂贵。本文采用的传感器MQ2属于半导体气体烟雾传感器,火灾现场产生的烟雾及气体与传感器中的半导体材料二氧化锡发生化学反应,造成表面势垒降低,材料的导电性能显著提高,通过外围电子电路检测这种变化能够准确发出火灾警报[2]。MQ2传感器体积小、易安装、安全性好,非常适合检测液化石油气、甲烷、丙烷、酒精、一氧化碳等可燃气体引起的火灾。图2所示的是MQ2的工作原理图,传感器输出的模拟电压与滑动变阻器的预设电压值一同输入比较器,当传感器输出电压超过预设值,比较器输出低电平,点亮LED灯。
1.2电源模块
考虑到GSM模块在搜索网络与接收发送短消息的功率比较大,因此本系统使用24 V直流供电,通过DC/DC芯片LM2596将24 V转换成5 V为GSM提供充足的电能[3]。通过LDO(低压差线性稳压器)芯片AMS1117将5 V电源转换成3.3 V为MCU提供稳定且纹波低的工作电压。图3展示了DC/DC电源的工作原理图,其中的续流二极管D6选择肖特基快速整流管1N5825,最大电流可达5 A。反馈端的电阻R6与R5需要选择1%的精密电阻,电感L2的DCR(直流电阻)越小越好,一般选择在0.03 Ω左右即可,电容C10、C8的ESR(等效串联电阻)对输出电压的纹波起着关键作用,ESR越低,电源的纹波越小,一般ESR在几毫欧附近即可。
1.3MCU与显示模块
整个系统并不需要实现非常复杂的逻辑算法,因此选择超低功耗的单片机MSP430F5529,该MCU内部有一颗16位的RISC CPU,此外还集成了4个16位定时器和1个高性能的12位模数转换器[4],可以用来采集MQ2输出的模拟信号量。为了方便人机交互,本系统使用了一款102×64像素的LCD显示屏来显示一些必要的系统信息,它与MCU通过SPI总线进行通信,图4展示了它们的连接图。其中的TPS75105为液晶屏的恒流源驱动,支持使用PWM来调节液晶的背光亮度。图4MCU与液晶屏的连接图∶
1.4GSM模块
SIM900A是目前市面上比较通用的一款GSM通信模块,它有两个工作频段,分别是EGSM 标准的900 MHz和DCS 标准的1 800 MHz。它的功耗很低,在睡眠模式下仅消耗1 mA的电流[5]。图5所示是SIM900A的工作原理图,通过长按开关机键可以强制GSM模块开机或者关机,在开机瞬间,SIM900A需要非常大的驱动电流,一旦搜索到信号便会稳定下来,需要的电流也会大幅下降,这种特性对电源要求比较严苛,可以为SIM900A的电源引脚并联一个大电容,使其平滑开机过程中的电流脉冲。SIM900A通过串口与MCU进行通信,波特率通常选择为9 600 b/s。MCU使用标准的AT指令来配置GSM模块,并完成发送短信警报的功能。、
2系统软件架构
如图6所示,系统上电后,SIM900A模块开机,MCU完成初始化,通过串口发送AT指令给SIM900A模块使SIM900A初始化,配置SIM900A进入中文短信发送模式。当烟雾传感器检测到异常,其输出的模拟信号电压超过了设定的阈值,比较器输出端会产生一个下降沿,触发MCU的外部中断,MCU将立即发送AT指令及报警短信的编码数据给SIM900A模块。
2.1MCU初始化
MCU一上电默认开启看门狗,为了测试方便,主程序中首先将看门狗关闭,接着配置系统时钟至24 MHz,设置好外部中断并打开全局中断,初始化液晶显示屏,打开背光灯,调整好对比度。最后,将MSP430的串行通信接口图5SIM900A工作原理图、
USCI配置成UART模式,波特率为9 600 b/s,禁止奇偶校验,8位数据格式,1位停止位,发送和接收低位优先。通过串口发送ATI指令,SIM900A如果工作正常会返回设备信息和“OK”。
2.2SIM900A搜索设备运营商网络
发送指令“AT+COPS”,如果成功则会收到“+COPS:0,0”、“CHINA MOBILE”和“OK”的回复信息,其中CHINA MOBILE表示中国移动运营商,不同运营商的SIM卡会返回不同的字符串。程序通过检测接收字符串中是否包含OK字样来判断是否成功搜索到运营商网络。
2.3SIM900A获取信息中心号码
信息中心号码是一种短信息服务器,各个地区都有自己的信息中心号码,例如苏州短信中心号码为8613802001500。短信的收发必须交由信息中心进行转发才能成功发送,所以获取本地信息中心号码十分关键。通过发送“AT+CSCA?”可以获取信息中心的号码。
2.4SIM900A短信模式配置
短信编码主要有三种:BLOCK模式、TEXT模式和PDU(Protocol Data Unit)模式,其中BLOCK模式几乎已经被淘汰;TEXT模式收发短信代码简单,实现容易,但是最大的缺点是不能收发中文短信;而PDU模式被所有手机支持,可以使用任何字符集。PDU模式收发短信可以使用3种编码:7 bit、8 bit和UCS2编码,其中7 bit编码用于发送普通ASCII字符,8 bit编码通常用于发送数据消息,比如图片和铃声等,UCS2编码用于发送Unicode字符。本报警系统主要面向国内用户,所以采用支持中文的PDU模式。因此通过发送指令AT+CMGF=0来选择使用PDU模式,发送指令AT+CSCS="UCS2"使SIM900A模块支持UCS2编码。
2.5发送端中文短信的PDU编码
PDU作为一种数据单元,它必须包含源/目的地址、有效时间、数据格式、协议类型和正文内容,正文长度可以达到140字节。本节以发送中文短信“火灾报警”为例,根据表1所示, 按照发送端PDU的格式来进行编码得到的结果为:0891683108502105F011000D91688168121489 F200080008706B707E62A58B66。
SCA即服务中心号,共由3个字段组成,分别是SCA区的字节数、服务中心的类型和服务中心的地址。本例中SCA区为0891683108502105F0,其中08表示除去08外后面的字节数,十六进制表示的91683108502105F0正好8个字节。紧跟其后的91表示后面的服务中心号为国际格式。683108502105F0就是编码后的服务中心号,每个字节先编码低4位,再编码高4位,如果号码个数为奇数,则最后一个字节的4~7位全部设置为1,由此便可将苏州地区的服务中心号码8613802001500编码成683108502105F0。
PDUType即协议数据单元类型,发送方的典型值为11,表示消息类型是发送。MR即短消息参考,表示手机向消息服务中心提交的短消息序号,从0到255,一般手机端会自动改动,所以默认为00。DA即目的手机地址,由三个字段组成,分别是长度、地址类型和编码后的具体地址,本例中的DA为0D91688168121489F2,其中0D即目标地址的数字的个数,不包括国际格式91和号码奇数的补位F在内共13个十进制数,688168121489F2即为目标电话号码8618862141982的编码,编码方式同服务中心号码。PID即协议标识,00表示普通GSM类型,点到点通信。DCS即数据编码方法,08表示采用UCS2编码。VP即有效时间,表示服务中心收到短消息后,在没有发送到目标机前可以保证消息有效的时间,00代表5分钟。UDL即用户数据长度,UCS2编码的情况下表示用户数据区的字节数,中文“火灾报警”在Unicode编码后共占8个字节,因此这里是08。UD即用户数据,这里填入“火灾报警”的Unicode编码,为706B707E62A58B66。
2.6SIM900A发送中文短信
在完成上述步骤之后,发送AT指令AT+CMGS=<length>,来通知服务中心待发送数据长度,其中<length>代表要发送数据的字节数,应当从PDU编码后的PDUType段开始计算,在这里即计算11000D91688168121489 F200080008706B707E62A58B66的长度,即23。发送成功后,延迟1 s,检查是否收到‘>’字符,如果收到,便可以将上一节编码后的数据发送给服务中心。发送短信的UML序列图如图7所示。
3运行测试
当MCU板与SIM900A通信板的通信串口使用杜邦线连接好后,给整个系统接上24 V直流电压,系统迅速上电启动。SIM900A上电会自动搜寻网络,这个过程需要消耗一段时间。当系统成功运行起来后,GSM模块的LED灯以1 PPS的速度闪烁,液晶显示屏上打印出了相应的启动信息。另外,若要烟雾传感器的数据稳定,需要20 s左右的预热时间。为了模拟火灾情形,使用打火机释放微量的混合烷烃气体并逐渐靠近MQ2传感器,传感器迅速发出了警报,在测试中,7~10 s后手机收到了火灾警报的短信。
4结论
本文介绍的烟雾报警系统通过MQ2半导体烟雾传感器能够及时感知火情的发生,GSM通信网宽广的覆盖范围能够使远离住宅区上班的用户收到家中的警报信息并在第一时间采取急救措施,这将大大降低了火灾带来的巨大的财产损失。成熟稳定的GSM网络基础设施使得整套远程烟雾报警系统具有非常高的性价比。此外MSP430单片机具有出色的低功耗特性,符合智能家居绿色节能的主题。
参考文献
[1] 范志华.区域火灾报警控制器的设计与实现[D].成都:西南交通大学, 2014.
[2] 郑州炜盛电子科技有限公司. MQ2半导体烟雾传感器使用说明书[Z]. 2012.
[3] Texas Instruments Incorporated. LM2596 simple switcher power converter 150kHz 3 A StepDown voltage regulator [EB/OL]. (2016-05-xx)[2016-07-30]http://www.ti.com/lit/ds/symlink/lm2596.pdf.
[4] Texas Instruments Incorporated. MSP430F552x, MSP430F551x Mixedsignal microcontrollers[EB/OL].(201511xx)[2016-07-30]http://www.ti.com/lit/ds/symlink/msp430f5529.pdf.
[5] 芯讯通无线科技(上海)有限公司. SIM900A SPEC_CN [EB/OL]. (201504xx)[2016-07-30]http://simcomm2m.com/module/detail.aspxid=7.