摘要:开发了一款具有短信发送功能的CO监测与报警系统。系统利用STC89C52单片机与MQ-2传感器相结合的方式对多路CO信号进行监测,浓度可实时显示,当浓度超过阈值时本地声光报警,利用GSM模块TC35i向指定的手机发送报警短信。报警阈值、手机号码可通过按键进行设定。系统操作简便、精度高、灵敏度强,并且很好的控制了成本有利于推广,达到了设计要求
据世界卫生组织公布,世界上每年有超过250万人死于CO中毒,我国每年也发生10万多宗煤气中毒事故。尤其在我国广大的农村地区,由于采用燃煤取暖的方式,一氧化碳中毒事件常有发生。目前我国针对农村市场的CO监测系统或仪器还较少,CO监测装置大多应用于煤矿等生产部门,人民的生命安全受到极大威胁。因此我们急需设计出一款针对农村市场的CO监测装置。此装置应该具有稳定性高,价格合理,安装方便等特点以利于在农村地区推广。
1 系统总体方案
本系统采用单片机为微控核心。首先,通过CO传感器收集环境中的CO数据信息。CO传感器将采集到的模拟信号通过AD转换器转化为数字信号后传送给单片机,单片机经逻辑处理判断是否越限,越限本地声光报警并由LCD液晶显示报警线路、实时浓度,通过GSM模块向指定电话发送报警短信,系统的报警阈值,电话号码可通过按键进行设定。系统结构框图如图1所示。
2 系统硬件设计
本系统主控芯片选用宏晶公司生产的STC89C52单片机,其具有使用普遍、价格合理等优点,是目前同类技术中性价比较高的产品。STC 89C52的P0口用于与LCD1602数据传输,P1口用于接收AD转换器的数据以及对液晶1602的控制,串口RXD、TXD与TC35i通信,其余管脚用在按键和声光报警等。下面对各部分器件及其电路设计作简要阐述:
2.1 CO传感器模块
CO传感器是系统中的重要部件,传感器的性能直接决定了监测结果的好坏。市场上的CO传感器分为两种,半导体式与电化学式。电化学传感器的灵敏度比半导体传感器要高,并且功耗低更稳定。因此本系统选用了电化学CO传感器MQ-2,其使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在CO气体时,传感器的电导率随空气中CO浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与CO浓度相对应的输出信号。MQ-2应用电路如图2,其中S1为MQ-2。
MQ-2采集的模拟信号要经过AD转换器处理后发送给单片机,将MQ-2的输出端OUT与AD转换器的输入通道ADO连接。
2.2 AD转换器模块
系统选用美国TI公司生产的10位AD转换器TLC1543。它具有多通道、低价格的特点。TLC1543为20脚DIP封装的CMOS 10位开关电容逐次A/D逼近模数转换器。TLC1543的CS(15脚)为片选端,CS端的一个下降沿将复位内部计数器并控制和使能芯片。ADDRESS(17脚)为串行数据输入端,用来选择下一个即将被转换的模拟输入或测试电压。DATA OUT(16脚)为A/D串行输出端,它与单片机通信,可对数据长度和格式灵活编程。I/O CLOCK(18脚)时钟输入/输出提供同步时钟,系统时钟由片内产生。我们将TLC1543的15~18引脚分别与单片机的P1.0~P1.3连接。TLC1543将MO-2采集的模拟信号处理后传送给单片机。
2.3 GSM模块
系统选用西门子工业级GSM模块TC35i来发送短信,它工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8 V。TC35i利用串口与单片机通信,所以我们将TC35i的RXD、TXD分别与单片机的TXD、RXD相连。我们用单片机的P3.4引脚控制TC35i的点火信号IGT。与单片机连接如图3所示。
2.4 液晶LCD1602模块
1602为工业字符型液晶,能够同时显示16*2即32个字符。将单片机的P0口通过上拉电阻与LCD1602的D0~D7连接并行传输数据,将LCD的R/S(数据/命令选择H/L)、R/W(读/写选择)、E(使能端)分别与单片机的P2.0、P2.1、P2.2连接实现对LCD的控制。
3 系统软件设计
系统的软件部分采用C语言编程,具有很好的模块化和移植性。我们对其中重要的模数转换,以及短信发送模块进行介绍。
气敏传感器MQ-2采集到的模拟信号以电压的形式表现出来我们要经过AD转化后才能输入单片机处理,AD转换部分的软件流程如图4所示。
选用的短信模块TC35i支持多种通信波特率,这里使用9600bps的波特率,单片机通过串口与其通信。单片机串口初始化如下:
在使用TC35i之前单片机要给IGT一个大于200μs的上升沿,以启动模块,之后单片机通过串口发送AT指令来控制TC35i工作,以本系统中发送报警短信为例,具体实现如下:
1)启动后单片机通过串口发送指令“AT”,若TC35i与单片机通信正常,TC35i向单片机返回“OK”
2)单片机发送“AT+CMGF=0\n”,设置TC35i为PDU中文短信模式。设置成功返回“OK”。
3)单片机发送“AT+CMGS=31”,设置短信长度。设置成功返回“OK”。
4)写入短信内容“11000D916881082
25397F4000800104E006C27531678
B362A58866901A9053”。内容为经过Unicode编码后的形式.其中包括运营商短信中心号码、接收端手机号码、中文短信内容。此处即为向188XXXX5794手机号发送“一氧化碳报警”。手机号码可通过外部按键进行修改。
5)单片机发送结束符“0x1a”,TC35i收到结束符后发送短信。
6)发送完成TC35i返回“+CMGS=150”“OK”。150为系统发送短信计数,OK表示发送成功。
系统主程序流程图如图5所示。
程序首先执行初始化程序,完成LCD,GSM模块的初始化,对GSM模块设定默认报警电话号码等工作。然后开始CO浓度采集,A/D转换,单片机接收到采集数据后进行运算,超过阈值进行声光报警以及启动GSM模块发送报警短信。
4 系统仿真
利用KEIL与Proteus联合仿真的方式,对系统进行仿真,仿真中我们以滑动变阻器变化产生不同的电压值来模拟MQ-2采集到的不同浓度CO值,利用模拟串口终端读取单片机串口输出给TC35i的信号。设定虚拟串口终端能响应输入字符,这样,模仿TC35i的返回信息。仿真结果达到预期,仿真图如图6所示。
液晶显示器的第一行显示的736、184、327(单位ppm)实时显示的为3个CO传感器监测CO浓度值,第二行为我们设定的报警阈值(600 ppm上限),可以看到只有第一个浓度736 ppm超过了上限600 ppm所以在显示器的右下角显示1,即表示1号报警。图中30为温度,即30℃。单片机串口发送了正确的AT指令。仿真后我们制作了实物,经多次测试,系统开机后能在30 s左右完成采集并实时显示,稳定性高,操作简便。
5 结论
本系统具有较高的数据采集速率,能够很好的完成CO监测并实现越限的本地与远程报警功能。将区域内所有的监测系统目标手机号设定为相同的号码,便可以实现区域性监测。系统实物经多次测试,表明该系统具有稳定可靠、易于安装,操作简单,成本低廉易于在农村大面积推广等特点,达到了设计要求。