基于STM32的室内有害气体监测仪设计与实现
白国成,张巧芬,马丝雨,郭昊昊
摘要:为了缓解目前存在的室内空气污染的问题,本文设计了一种基于STM32的室内有害气体监测仪。该监测仪采用多种体积小、功耗低的传感器来检测烟雾以及一氧化碳等有害气体,通过蓝牙与上位机或者手机实现无线通信,当仪器监测到有害气体参数超标时将报警并自动开启风扇调节,实现对火灾、煤气泄漏等突发危险情况的防范预警,起到对室内环境空气质量监控的作用。该监测仪具有性价比高、扩展性好等特点,具有很强实用性,可以应用于居家办公等多种场所。
关键词:STM32;有害气体;传感器;监测仪
中图分类号: 文献标识码:
Abstract: In order to alleviate the existing problem of indoor air pollution, an indoor harmful gas monitor based on STM32 was designed in this paper. The monitor uses a variety of small, low-power sensors to detect smoke and carbon monoxide and other harmful gases through Bluetooth and the host computer or mobile phone to achieve wireless communication, when the monitor detects harmful gas parameters exceed the standard will alarm and automatically turn on the fan. The monitor has realized the prevention and early warning of sudden dangerous situations such as fire and gas leakage, and has played an important role in monitoring indoor air quality. The monitor has the characteristics of high cost performance, good scalability, etc. It is very practical and can be applied to various places such as home office.
Keywords: STM32; harmful gas; sensors; monitor
1 引言
随着人们“足不出户”的时间越来越多,大家对自己平常所处环境空气质量,尤其是对住宅、办公等室内环境的安全性和舒适性要求越来越严苛。加之目前建筑装修材料质量参差不齐,室内空气质量更加令人堪忧。有很多致癌物质和致病病毒可能存在于我们所处的室内环境中,任何有害物质的超标都有可能会引发疾病,因此室内空气污染与否关系到我们所有人的生命健康。
为了帮助用户更加及时直观的了解室内环境质量状况,防范危险状况的发生,课题设计了一款室内有害气体监测仪。该监测仪能够实时监测室内环境包括烟雾、有害气体超标预警信息,帮助用户第一时间掌握环境空气质量并防范危险情况发生。
2 监测仪总体架构
本设计采用具有高性能低功耗的STM32F103单片机,能大大提升工作效率。监测仪以C为开发语言,实现的主要功能是检测环境中有害气体(烟雾、氨气等)和监控煤气泄漏和火灾发生。
如图1所示,为监测仪总体设计框架。本设计主要由以下几个部分构成:主控微处理器单元、LCD显示单元、无线通信单元、传感器数据采集单元和蜂鸣器报警单元。其中传感器采集单元主要包括有害气体监控部分和火灾预警部分。本设计选用MQ-2传感器作为烟雾测量元件;选用MQ-135作为有害气体测量元件;选用火焰传感器作为监测火灾发生的测量元件[1]。监测仪中各个组成部分协同合作,把传感器采集来的数据处理后显示在LCD屏上,实现对环境质量的参数监控任务。当有关参数超出设定阈值时,能够在显示屏和PC机或手机端上显示报警内容,并且监测仪会自动开启排风扇对环境中有害气体进行有效排放。PC端监控软件作为上位机,实时显示整个监测仪的数据采集情况以及烟雾、有害气体超标预警内容。
图1 监测仪总体设计框架
3 监测仪硬件设计
3.1 微处理器单元
本设计采用STM32F103C8T6作为主控芯片。STM32F103系列单片机可以连接多种外设,其集成度精密且具备超高的性能,然而这样高性能的单片机并不需要花费太多成本。STM32通过多个片上I/O总线来提高带宽,以保证单片机更好得工作。另外,每个I/O口可以单独编程为输入或者输出,通过端口重映射功能,可以使外设引脚特定的分配到最适合的应用,这就使得其可以运用于通信、医疗、工业控制等各个领域[2]。意法半导体公司独有的低功耗闪存技术是其取得业内领先的关键,这就保证了STM32系列产品在完成特定要求的任务的同时将能耗降到最低,也就是说其最大的特点是高性能低功耗。STM32可以与包括KEIL MDK-ARM在内的多种开发环境平稳协作,完全符合本设计的需求[3]。STM32F103C8T6最小系统模块原理图如图2所示。
图2 STM32F103C8T6最小系统
3.2 无线通信单元
本设计采用HC-05蓝牙通讯模块来实现监测仪与计算机端上位机以及手机端的无线通信,模块体积小巧,使用方便灵活。该模块具有命令响应和自动连接两种工作模式。两种工作模式的区别应该不难发现,从表面文字意思便可理解,当模块运行自动连接模式时,将自动连接并传输数据;如果模块运行命令响应模式,将接收用户发送来的AT指令,根据命令执行相应动作。模块工作状态的切换只需要改变模块外部引脚输入电平的高低即可。
3.3 有害气体数据采集单元
本设计主要采用MQ-135型气体传感器采集室内有害气体的数据。MQ-135型气体传感器可以检测环境中氨气、硫化物、苯系蒸汽等有害气体,也可以检测烟雾和其它有害气体。准确的来说,MQ-135是一种多气体探测器。MQ-135型烟雾传感器采用半导体气敏材料二氧化锡,当传感器所在环境中有害气体超标时,二氧化锡会通过吸附空气中的氧,使其电阻值增加,从而改变表面导电率[4]。也就是说有害气体的浓度与导电率成正比,与输出的模拟信号成正比。电压大小经过STM32单片机ADC模数转换之后,反映为0~4096范围内数值的变化,得到相应的数值。同时将输出的电导率变化MQ135_AO通过LM393电压比较器之后,如果反向输入大于正向输入,则使LED灯亮并触发蜂鸣器报警。需要注意的是:传感器需要提前预热一段时间,这样会确保检测数据的精准无误。之所以本设计选用MQ-135型有害气体传感器,不仅仅是因为其价钱可观,更主要的原因是其工作状态稳定,很难受到室内环境中其它气体的影响。如图3所示为有害气体监测单元电路。
图3 有害气体监测单元电路
3.4 火灾预警单元
本设计中采用红外接收头、火焰传感器作为环境中火灾检测探头,传感器是通过探测外界红外光的强弱变化来实现对环境中热源的检测。远红外火焰探头具有寻找火源和监测火焰的功能,所以该传感器被广泛用于安全防范设施。本设计中传感器检测到信号量后通过模数转换得出相应的数值,显示在LCD液晶屏上。当检测到室内环境中可能有火灾发生时,则使LED灯亮并触发蜂鸣器报警。图4为火灾预警单元电路图。
图4 火灾预警单元电路图
3.5 其他硬件单元
(1)电源单元
本设计选用AMS1117稳压器将接入的5V电压转化为保证监测仪正常工作的3.3V电压,用于给有害气体传感器、蜂鸣器、液晶显示屏等单元供电。
(2)屏幕显示单元
本设计中屏幕显示单元选用的是NOKIA 5110 LCD显示屏,性价比高并且简单易操作,可直接固定在开发板上,便于安装和拆卸。NOKIA 5110的通信协议是一个只有MOSI没有MISO的SPI协议,因此通过软件程序模拟就可实现要求。在本设计中,NOKIA 5110 LCD主要用来显示监测仪采集到的环境中烟雾、有害气体含量等数据[5]。
(3)报警单元
本设计中报警单元用到的是蜂鸣器,当室内环境中有害气体含量超标或监测到可能有火灾发生时发出蜂鸣声,并在LCD上显示预警内容。
4 监测仪软件设计
4.1 监控程序流程
监测仪开始运行后,初始化传感器I/O、LCD显示屏、无线通信单元和独立看门狗功能,清除看门狗寄存器,进入到检测终端上无线通信单元和DHT11温湿度单元检测,如果检测到有单元无法正常工作时,提示单元出现错误。当各个单元正常时,将会进行传感器信息采集,包括MQ系列传感器、火焰传感器、DHT11传感器、光照传感器等传感器的模拟信号采集,采集数据之后对数据进行分析计算,显示在LCD液晶屏上,监测仪判断MQ系列传感器和火焰传感器DO引脚输出数据是否超标,若检测到参数超标,则实时在液晶屏上显示超标预警提示并启动家庭排气扇工作,同时蜂鸣器发出报警信号,每一秒钟采集信息之后通过无线通信单元发送到主机上接收[6]。当监测仪在一段时间内没有检测到有超标信息之后,从机进入停机模式;当有检测到超标信息之后启动监测仪并开启报警,当数据恢复正常时监测仪再次进入停机模式实现低功耗。按键输入中断,可通过按键输入唤醒监测仪以便查看相关环境质量信息。程序流程图如图5所示。
图5 监控程序主流程图
由程序流程图可知,当监测仪在正常运行时,检测到MQ系列的传感器、火焰传感器、外部按键输入时,立即进入中断服务函数,执行中断子程序,在液晶屏和上位机上显示相应的数据信息。
4.2 监测软件设计
在本设计中,监测仪通过HC-05蓝牙与计算机端上位机软件和手机端通信,从而实现远程对监测仪所处环境的监测。上位机的主要任务是接收监测仪采集到的空气质量数据并实时显示,若监测到有害气体含量超标则显示相应报警内容。计算机端上位机的实时监测情况如图6所示,手机端监测情况如图7所示。
图6 计算机端监测软件
图7手机端监测情况
5 调试与测试
本次测试主要针对监测仪监控室内有害气体的功能。因为香烟会产生一氧化碳和烟雾等对人类有危害的气体,因此在本测试中采用香烟来模拟有害气体存在的环境。当监测仪检测到室内环境中有害气体超标时,提示灯点亮,蜂鸣器发出声音提示用户,同时风扇会自动打开来缓解环境质量,测试结果如图8所示。在计算机端的上位机软件和手机端上均能实时接收到环境中空气质量的检测数据。实验成功地实现了监测仪对室内环境质量的采集、显示、处理和通信,测试结果表明监测仪能够实现对室内有害气体的监控,达到预期设计的要求。
图8 模拟有害气体环境中的测试结果
6 总结
本文以绿色环保为出发点,对室内有害气体监测仪做了相关的研究与设计,其各个组成部分在经过多次的调试后可以准确实现各自的功能,达到预期的效果。本设计的创新之处在于与现有的气体监测系统相比,该监测仪体积小、成本低,操作便捷,能同时在监测端、电脑端和手机端共享监测信息,设计人性化,方便人们的生活出行,符合当今时代智能化生活的趋势。
参考文献:
[1] 熊峰,卢会国,蒋娟萍. 基于STM32的便携式温、湿、压监测系统设计[J],气象水文海洋仪器,2014,9(3):55-58.
[2] 戴逸令,徐翠琴. 基于嵌入式的USB接口数据通信实现[J],中国水运(下半月),2014,14(01):79-81.
[3] 张卫星,张桂香,谭成午. 基于STM32的环境多点检测系统设计[J],计算机测量与控制,2014,22(10):3141-3143.
[4] 刘璋. STM32单片机在室内环境监测系统中的运用研究[J],数字技术与应用,2016(02):20.
[5] 张祥,蔡景,林海彬等. 基于STM32的温湿度监测系统设计[J],中国仪器仪表,2013(07):62-65.
[6] 谢辉程,郭莉. 基于stm32的无线环境监控系统设计[J],软件,2014,35(12):5-7.