一种基于STM32的空气检测下位机设计方法

2017-07-18 03:39夏建琪朱留存刘文娟
无线互联科技 2017年12期

夏建琪+朱留存+刘文娟

摘 要:为了检测当前空气环境的质量及各气体浓度,以便采取有效的预防和改善措施,文章设计了一种气体检测器监控系统,该系统以STM32F103C8T6为主控芯片,组合MEMS气体传感器、温湿度传感器,有效地采集当前环境温湿度、甲醛、二氧化碳和TVOC等参数指标。通过LCD进行实时显示,同时通过无线WiFi网络连接至服务端,实现数据的远程监测。实验表明,系统稳定可靠,能够准确地测量当前各项气体参数值。

关键词:空气检测;温湿度传感器;气体参数

近年来,随着中国经济的发展,生活水平质量的提高,人们对自己生活和工作的环境以及对于自身健康生活的意识也在逐年提升。环境污染引发的空气污染问题备受关注。PM 2.5经常萦绕耳边。除了PM 2.5,人们也开始关注甲醛、TVOC等污染空气质量的有害物质。因此对空气质量监测的需求量也变得很大。目前市场上检测空气质量的设备很多,但功能单一不完善、专用性弱、数据误差大,只是简单的实时显示。当今处正在互联网、大数据的时代,智能化迅速聚焦于人们的视野。本系统致力于工厂智能化,将通信技术与传感器技术相融合,实时监测空气质量,并通过无线WiFi,上传数据到服务端,供其他客户端应用软件读取。根据《环境空气质量标准》(GB 3095—2012)标准,当超过限值时及时报警,应用软件APP把空气质量情况及时通知主人,从而实现智能化。

1 系统总体结构

本系统的主要功能是通过传感器模块采集工业现场的甲醛、二氧化碳、TVOC等参数指标和环境温湿度数据,选用了ARM公司的STM32F103微处理器为硬件平台核心。该芯片具有高性能、低成本、低功耗以及片内资源丰富等优点。系统由电源供电模块、STM32微处理器模块、MEMS气体传感器采集模块、温湿度传感器采集模块、LCD显示模块、WiFi通信模块和报警模块组成。系统框如图1所示。

1.1 系统基本工作原理

STM32微处理器通过A/D口(模数转换),采集MEMS气体传感器输出的电压值,经过数据处理拟合转化为甲醛(HCHO)的质量浓度,乙醇(H2C6O)的血液浓度,二氧化碳(CO2)的体积浓度,总挥发性有机化合物(TVOC)体积溶度,并进行温湿度补偿处理。通过LCD进行实时显示,同时定时1 s,将数据通过TCP协议用WiFi送到服务器,根据《环境空气质量标准》(GB 3095—2012)标准,超过国家标准时用指示灯和蜂鸣器同时进行报警。

1.2 电源供电模块

系统中电源电压的两种转换电路:(1)STM32F103及系统其他3.3 V供电;(2)5 V供电。电源供电模块用12 V电源适配器直接供电,经过TPS5454芯片降压成5 V,给蜂鸣器报警模块供电,再经过ASM1117-3.3稳压芯片降电压至3.3 V,给STM32F103及系统其他3.3 V供电。

1.3 STM32微处理器模块

本系统采用的是LQFP64脚的STM32F103RCT6作为微处理器。基于ARM Cortex-M3内核,主频为72 MHz,可满足大多数产品对微控制器的运行速度的要求。芯片拥有卓越的高集成度,片内集成了复位电路、低压检测、调压器和精准的RC振荡器。拥有128 Kflash,20 KSRAM。同时拥有SPI,I2C,Can,UART等通信接口。专门为要求高性能、低成本、低功耗的嵌入式应用设计,具有集成度高、结构简单、处理数据速度快等优点,市场占有率高,具有非常广泛的应用场景。

1.4 MEMS气体传感器采集模块

MEMS气体传感器采集模块如图2所示。气体检测传感器选用的是低功耗、微型金属氧化物半导体 MEMS 气体传感器芯片,它拥有 4 个有效连接端口。气体传感器工作时,在一对 HEAT 电极上施加一定大小的工作电压后,保持一段时间后(约3分钟),气体传感器达到了稳定工作状态,这时可通过测量传感器电极端的电阻值,对比存储的标定数据,来计算出环境内各气体的浓度值。

STM32通過AD口采集传感器的RS端的电压数据,将其转换为传感器的等效电阻数据,同时自动选择一段时间内所有测试数据中最大的电阻值作为标定的基准电阻。通过基准电阻与实时电阻的比值,然后通过公式换算出 TVOC,乙醇、甲醛的等效气体浓度数据。

1.5 温湿度传感器采集模块

温湿度传感器采集模块如图3所示。

本系统使用的是SHT21温湿度传感器,通过I2C接口读取温湿度信息。I2C总线是由数据线SDA和时钟SCL构成的串行总线,I2C总线最主要的优点是其简单性和有效性。相对湿度RH可以根据 SDA输出的相对湿度信号SRH通过公式 算出,同理温度 (ST是SDA输出的温度输出信号结果以%RH表示)。

1.6 LCD显示模块

本系统选用的JLX12864G-086-PC 型液晶显示模块,既可以当成普通的图像型液晶模块使用(即显示普通图像型的单色图片功能),又含有 JLX-GB2312 字库 IC,可以从字库 IC 中读出内置的字库的点阵数据写入到LCD驱动 IC 中,以达到显示汉字的目的。STM32F103 内部嵌有 LCD 驱动模块,可将 LCD12864 直接与单片机的驱动端口相连,电路设计极为简单。

1.7 WiFi通信模块

WiFi通信模块如图4所示。本系统采用的是安可信的ESP-07模块。该模块核心处理器 ESP8266 封装在较小尺寸内,集成了业界领先的Tensilica L106超低功耗32位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和160 MHz。支持标准的 IEEE802.11 b/g/n 协议,支持完整的 TCP/IP 协议。使用该模块可为现有的设备添加联网功能,构建独立的网络控制器,使用简单方便。

本系統在配网之前处于AP模式提供热点。通过软件给系统提供需要接入网络路由器的SSID和keyword。然后切换成STA模式,连接路由器和服务器,进入透传模式,此时系统采集的数据就可以通过WiFi送入服务器。

1.8 报警模块

报警电路如图5所示。

报警方式可以用视觉的LED,同时也可用蜂鸣器发出声音。轻微超标状态下(如甲醛>0.1 mg/m3),红灯快闪(每0.5 s);严重超标状态时(如甲醛>0.3 mg/m3)红灯常亮,同时蜂鸣器发出声音。三合一LED共阳的方式接到单片机I/O引脚,单片机输出低LED亮,输出高LED灭,蜂鸣器通过三极管驱动接到单片机,当单片机输出高电平时,蜂鸣器发出声音。

2 系统下位机软件设计

系统程序在keil for ARM MDK环境下,采用C语言编写,调用STM32F103原有固件库,主要包括系统初始化程序,网络数据通信程序与传感器采集程序等组成。硬件上电或者硬件强行复位,软件开始对主控芯片等进行初始化,接着通过协议进行配网,配网成功之后进行数据采集。主要功能是实现对传感器数据的采集,然后对数据进行分析,计算出气体的浓度值及温湿度值。通过液晶屏实时显示。同时将数据通过网络模块送到服务器,检测出空气质量差时进行报警。系统软件流程如图6所示。

2.1 传感器采集程序

STM32F103内部自带12位的ADC采集模块,它是一种逐次逼近型模拟数字转换器,多通道采集范围0~3.3 V。此设计用一路ADC连续采集模拟电压信号,端口的模拟电压信号转化成为0~4 096的数字量后,经过拟合公式换算出各气体浓度,所用公式如下所示。

2.2 网络数据通信程序

通信之前先需要配网,配网成功后,将传感器采集的数据组成一个20字节的数据包,通过网络定时2 s发送一个数据包。WiFi则是通过串口,将数据透传到服务器,实现数据的存储与共享。

3 实验数据测试

终端可以在温度:-20~70 ℃;湿度:0~100 %RH环境下正常工作。利用标准CO2,TVOC,甲醛和乙醇4种标准气体,来检测终端设备的精度和稳定性,检测结果可靠性符合系统的要求性能。对比仪器进行测试,表1—2是4种气体检测数据与对应的标准值进行比较的结果。

4 结语

本设备采用ST公司的STM32F103作为主控芯片,实物展示如图7所示。工作频率最大可达72 MHz,具有丰富的功能模块和极低的功耗,大大缩短了开发周期,使得设备具有成本低、功能强、低功耗、体积小等优点,最后进行了测试和数据分析,验证了系统的可行性、准确性、稳定性和可靠性,有利于更大范围的市场推广,更具有现实生产生活应用价值。

作者简介:夏建琪(1992— ),男,江苏泰州,硕士研究生。

*通信作者:朱留存(1961—),男,江苏扬州,扬州大学特聘教授,硕士生导师,国家“千人计划”专家;研究方向:汽车电子信息技术。

[参考文献]

[1]刘建.基于STM32的智能家居环境控制器的设计与实现[D].广州:广东工业大学,2016.

[2]KUANG XH,HUO HB. A design of Wifi wireless transmission module based on MCU[J]. Applied Mechanics & Materials,2013(442):367-371.

[3]曾宇,宋永端,王弼堃.基于Proteus和Keil软件的温室环境监测系统开发[J].农业工程学报,2012(14):177-183.

Abstract: In order to detect the quality of the current air environment and the concentration of each gas, to take effective prevention and improvement measures, this paper designed a gas detector monitoring system. The system uses STM32F103C8T6 as the main control chip, combined with MEMS gas sensor, temperature and humidity sensor, effectively collect the current environmental temperature and humidity, formaldehyde, carbon dioxide, TVOC and other parameter index. Real-time display through the LCD, while through the wireless WiFi network connected to the server, to achieve remote monitoring of data. Experiments showed that the system is stable and reliable, can accurately measure the current gas parameter values.

Key words: air detection; temperature and humidity sensor; gas parameter