刘 艳,张 伟
(1.浙江大学城市学院,杭州 310015;2.浙江工商大学杭州商学院,桐庐 311500)
基于Arduino云的一氧化碳检测报警系统的设计与实现
刘 艳1,张 伟2
(1.浙江大学城市学院,杭州 310015;2.浙江工商大学杭州商学院,桐庐 311500)
针对设施农业温室大棚中应用燃气升温可能出现的燃气泄露问题或者一氧化碳过量,设计了一款基于Arduino云模块的一氧化碳检测和报警系统。详细介绍了系统的总体设计、硬件设计以及软件设计;利用Arduino自带云模块实现了报警信号的无线传输;通过实验对系统进行了测试,能够实现一氧化碳的实时、连续、可靠检测,测试结果证明了系统具有实用性和有效性。
Arduino云;一氧化碳检测;传感器TGS5042
现代设施农业中,冬季里为了使大棚内的温度适合农作物,目前应用较多的方法是采用烧煤烧气。当煤、气燃烧时,会产生二氧化碳和其它一些杂质气体,当通风不良,氧气不足就会产生一氧化碳,尤其是在封闭环境下,一氧化碳和二氧化碳浓度逐渐增加,会造成人、动物或鱼虾等一氧化碳中毒,甚至引起爆炸,生命财产造成巨大的损失[1~3]。
设施农业场地一般都设置在野外地区,而且范围较大,如果采用人工巡逻检测一氧化碳的含量会有费时费力而且还不准确的问题。针对以上问题,本文提出一种基于Arduino云的一氧化碳检测报警系统,该系统能自动检测温室大棚中一氧化碳的含量,当一氧化碳含量到达一定值时会自动报警,是温室大棚中的必要设备。Arduino云将Arduino开源体系结构与Linux系统整合在一块开发板,是Arduino家族中首个无线产品成员[4]。本设计采用内置Wi-Fi功能的Arduino云控制器,给出了基于Arduino云模块的一氧化碳检测报警系统的设计与实现,除了能够完成常规的一氧化碳的检测和报警外,还能通过Arduino云中的Wi-Fi模块将报警和一氧化碳浓度信息利用Wi-Fi通信方式[5]发送给用户[5]。
1.1 系统硬件设计方案
本系统的硬件部分主要由一氧化碳检测模块、蜂鸣器报警模块、电压检测模块、LED驱动模块及Wi-Fi信息处理模块组成。系统整体结构框图如图1所示。
图1 系统结构框图
1.2 系统功能
系统上电后,绿色状态灯与红色报警灯同时亮,并伴有蜂鸣器响声。200ms后两灯和蜂鸣器关闭,系统进入工作模式。为了降低功耗,系统工作在低功耗模式,约800ms唤醒一次。
在一氧化碳浓度监视状态下,状态灯每隔20s闪烁一次表示系统正常工作;每隔5s,Arduino控制器通过A/D转化器采集运算放大器输出的电压信号,计算当前环境的一氧化碳浓度,并累计当前浓度下持续的时间:1)当一氧化碳浓度大于等于50ppm,小于100ppm时,累加低浓度持续时间;2)当一氧化碳浓度大于等于100ppm,小于300ppm时,累加低、中浓度持续时间;3)当一氧化碳浓度大于等于300ppm,累加低、中、高浓度持续时间。当低浓度时间达到60分钟,或中浓度时间达10分钟,或高浓度时间达到3分钟,系统进入报警状态。报警状态下,红色报警灯以2.5Hz的频率闪烁,蜂鸣器发出>85dB的报警声,且通过Wi-Fi发送报警信息给大棚片区负责人,且每隔1s采集当前环境下的一氧化碳浓度。当一氧化碳浓度低于50ppm,并且持续1分钟后,报警状态停止。红色报警灯停止闪烁,蜂鸣器停止报警,给负责人发送警报解除信息。系统又进入一氧化碳浓度监视状态。
当电池电压低于3.6V时,报警指示灯每隔20s闪烁一次,并伴随蜂鸣器鸣叫一次,并通过Wi-Fi接口给用户发送一个更换电池的提示,提醒用户更换电池。
任何状态下,按下测试/复位按键后,系统初始化,检测状态指示灯、报警指示灯以及蜂鸣器的工作状态,并初始化一氧化碳浓度检测的持续时间。
2.1 一氧化碳检测
一氧化碳浓度检测采用TGS5042一氧化碳传感器[6],该传感器具有温度漂移低、精度高、寿命长及对其他气体干扰敏感性低等特性。TGS5042主要通过与一氧化碳发生化学反应产生电信号来工作,电路原理如图2所示。
图2 一氧化碳浓度检测电路图
2.2 电压检测电路
此系统采用电池供电,电压随着电池性能的降低而逐渐减小。由于微处理器的A/D转换器基准电压为微处理器供电电压,为使A/D转换的结果更加准确,并在电压降低到一定程度时提醒用户更换电池,需要专门电路检测电池的当前电压。
系统使用NNCD3.0DA稳压管生成3.0V恒定电压,通过微处理器的A/D转换功能,计算出当前电池电压,从而为一氧化碳传感器输出信号提供准确的A/D基准电压值,并在电池电量过低时产生报警,电压检测电路如图3所示。
图3 电压检测电路图
2.3 LED驱动电路
系统状态指示灯及报警灯采用高亮LED,驱动电流为20mA左右。由于所采用的I/O无法提供这么大的驱动电路,但单个引脚的灌电流却可以达到40mA,所以选用低电平点亮LED驱动电路,电路原理如图4所示。
图4 LED驱动电路图
整个系统的软件设计包括:复位/测试任务、低功耗任务、中断唤醒任务、状态灯闪烁指示及低电压报警指示任务、气体浓度超限报警检测和浓度超限报警、Wi-Fi信息传输和接受任务。主程序流程如图5所示。
4.1 气体浓度检测和超限报警任务
图5 主程序流程图
系统上电后,每隔5s执行气体浓度检测及超新报警任务。在此任务下,测试当前环境中一氧化碳浓度,并对不同浓度持续时间进行累加。系统按照EN50291欧洲或美国标准设计三种报警浓度:1)当浓度大于等于50ppm,小于100ppm,且持续时间为60分钟时;2)当浓度大于等于100ppm,小于300ppm且持续时间为10分钟时;3)当浓度大于等于300ppm,且持续时间为3分钟时,执行气体浓度超限报警任务。在执行报警任务时,红色报警指示灯以2.5Hz的频率闪烁,并伴随蜂鸣器发出大于85dB的报警声。此任务不执行低功耗任务,直到报警任务结束,系统执行低功耗任务,等待再一次唤醒。流程图如图6~图8所示。
4.2 指示任务
包括状态灯闪烁以及 低电压报警指示任务。执行指示灯闪烁任务时,系统每隔20s,绿色状态指示灯亮1s,然后熄灭。当电池电压低于3.6V时,系统执行低电压报警指示任务。在此任务下,每隔20s,红色报警指示灯闪烁一次,并伴有蜂鸣器发出“嘟”的报警声,提醒用户更换电池。图9为指示任务处理程序流程图。
4.3 Wi-Fi通信任务
系统上电后给用户发送一条信息通知用户,报警器开始工作,在一氧化碳浓度超限时给用户发送浓度值以及持续时间或电池电压低时发送换电池信息给用户。Wi-Fi通信流程如图10所示。
图6 一氧化碳浓度报警检测任务处理程序流程图
图7 当前一氧化碳浓度测量处理程序流程图
图8 气体浓度超限报警任务处理流程图
图9 指示任务处理程序流程图
当系统上电后,或按下“复位/测试”按键后,系统执行复位/测试任务。在此任务中,状态指示灯、报警指示灯点亮,并伴随蜂鸣器响声。200ms后,系统结束复位/测试任务,状态指示灯、报警指示灯以及蜂鸣器关闭。
【】【】
图10 Wi-Fi通信流程图
低功耗任务是指系统执行低功耗指令,进入低功耗模式。此模式中,所谓外围功能停止运行。而中断服务任务是系统在低功耗模式下运行0.8s后,产生看门狗中断,系统进入中断唤醒模式。在此模式中,根据测试时间和标志位的值,分别选择执行状态指示任务、气体浓度测试和超限报警任务、低电压报警任务或Wi-Fi信息传输任务。
为验证系统的可行性和实用性,选取了杭州市某水产养殖公司搭建的温室大棚作为实验基地。该实验基地拥有多座温室,以其中一座为虾苗培育建立的温室为实验地点,该设施大棚面积50m2,实验时间为2011年10月26日。通过控制燃气释放的浓度和时间来检测系统的有效性。实验显示能够有效的完成检测和报警任务。
设计了一款基于Ardaino云的一氧化碳浓度检测和报警系统。采用一氧化碳传感器TGS5042来检测一氧化碳的浓度,控制模块利用具有Wi-Fi模块的Ardaino微控制器。除了能够实现常规的蜂鸣报警和电池电压检测功能外,还能利用Ardaino自带的云模块实现实现报警信息、一氧化碳浓度以及低电压信息向用户的无线传输。
[1] 孙洁,李广林.物联网和云计算技术在温室大棚控制系统中的应用[J].华东理工大学学报,2016,38(3):103-107.
[2] 盛平,郭洋洋,李萍萍.基于ZigBee和3G技术的设施农业智能测控系统[J].农业机械学报,2012,43(12):229-233.
[3] 王东,莫先.基于STM32智能家居的燃气检测系统设计与实现[J].重庆理工大学学报(自然科学版),2016,30(4):108-115.
[4] yingcloud.新型Arduino云为物联网应用创建开源设计环境[EB/OL].http://blog.csdn.net/yingcloud/article/detai ls/17003869,2013-11-28/2016-11-30.
[5] 无线城市:电信级Wi-Fi网络建设与运营[M].人民邮电出版社, 2011.
[6] 高峰.Technical information for TSG5042-Technical information for carbon monoxide sensors[Z].
Design and implementation of carbon monoxide detection alarm system based on Arduino Yun
LIU Yan1, ZHANG Wei2
TP277
:B
1009-0134(2017)03-0020-05
2016-11-30
国家自然科学基金面上项目(61673348);浙江省杭州市农业科研项目(20160432B26);大学生科研项目(X2016522044)
刘艳(1981 -),女,山东临沂人,讲师,工学博士,研究方向为嵌入式系统设计、视觉测量与控制等。