Software Engineering and Applications
Vol. 12  No. 01 ( 2023 ), Article ID: 61401 , 11 pages
10.12677/SEA.2023.121003

基于STM32的甲醛快速检测系统设计

彭志*,银建新,彭鹏,巴福帅,张亚飞,赵永礼

上海工程技术大学机械与汽车工程学院,上海

收稿日期:2023年1月9日;录用日期:2023年2月8日;发布日期:2023年2月15日

摘要

甲醛作为一种有毒有害气体,具有强烈的致癌和促癌作用,在工作生活中时刻威胁着人们生命健康安全。使用传统化学或光学仪器检测空气中甲醛流程繁琐、检测周期长且便捷性低,在多种检测方法中,MEMS气体传感器具有尺寸小、操作简便、快速灵敏等优点。本文以STM32微控制器为核心设计了甲醛检测系统,通过MEMS金属氧化半导体气体传感器实时探测甲醛浓度信息,并采用中值–均值算法对传感器信号进行滤波处理,若检测到甲醛浓度超过安全阈值,则驱动声光报警模块发出预警。通过LCD液晶屏对采集信息进行实时显示,并利用串口通信将采集信息发送至上位机进行分析保存,同时加入温湿度模块采集当前环境信息,提高系统的完整性。系统调试表明,所设计系统可以长时间、稳定地现场检测甲醛浓度,从而为甲醛现场检测提供更加简单准确的设计方案。

关键词

STM32,甲醛检测,气体传感器,嵌入式系统

Design of Rapid Formaldehyde Detection System Based on STM32

Zhi Peng*, Jianxin Yin, Peng Peng, Fushuai Ba, Yafei Zhang, Yongli Zhao

School of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai

Received: Jan. 9th, 2023; accepted: Feb. 8th, 2023; published: Feb. 15th, 2023

ABSTRACT

Formaldehyde is a toxic and harmful gas having strong carcinogenic and cancer-promoting effects on people, and it constantly threatens people’s health in work and life. Among the various detection methods, MEMS gas sensors have the advantages of small size, easy operation and fast sensitivity. In this paper, a formaldehyde detection system is designed with an STM32 microcontroller as the core. The MEMS metal oxide semiconductor gas sensor detects formaldehyde concentration information in real time, and the median-mean algorithm is used to filter the sensor signal. The information collected is displayed in real time on an LCD screen and sent to the host computer for analysis and storage using serial communication, while the temperature and humidity module is added to collect the current environmental information to improve the integrity of the system. System commissioning shows that the designed system can be long and stable on-site detection of formaldehyde concentration, thus providing a simpler and more accurate design solution for formaldehyde on-site detection.

Keywords:STM32, Formaldehyde Detection, Gas Sensor, Embedded System

Copyright © 2023 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

据研究表明,当环境中的甲醛浓度达到0.1 mg/m3时,会使人出现轻微气喘,引起身体不适 [1] ,当甲醛浓度达到0.6 mg/m时,会致使人出现头晕恶心、呼吸急促等症状,严重者甚至致人死亡 [2] 。当前有诸多甲醛检测方法。有研究者采用化学实验室检测法,即将采样到的甲醛气体在化学实验室中使用化学仪器进行分析检测,该方法具有检测精度高、测试效果稳定的优点,但是检测需要用专业人员完成,操作复杂,只适用于某些需要特定检测的场合。杨巍 [3] 采用高效液相色谱法测定空气中甲醛含量,通过对检测波长、流动相衍生试剂等方面进行实验研究,选择甲醛衍生的最佳实验条件,建立了准确度高、抗干扰能力强的高效液相色谱测定方法,但是该方法依赖于液相色谱仪检测设备,该设备价格昂贵且不具有便捷性。杜鹃 [4] 等人在分光广度法检测原理上,考虑现场检测仪的便捷性及操作简单等特点,提出用定波长发光二极管及其光电检测电路,替代传统实验室复杂光学系统的设计方式,使恒流气体采样模块与分析模块合为一体,实现了对空气中甲醛现场检测,但其检测精度受到有效光程的制约,检测准确性较低。黄志强 [5] 等人利用试剂比色法测定工作场所空气中的甲醛,并对其使用的试剂、显色温度、显色时间和比色波长进行合理改良,该方法精度好,准确性高,适用于工作场所空气中甲醛的测定,但是操作比较繁琐,检测结果容易受到温度和时间等因素影响。除此之外,也有研究者采用气体传感器检测甲醛气体。张文田 [6] 研发了一种新型自动气味检测识别电子鼻系统,其中硬件部分由隔离电源系统、自动进气控制系统(进气口、排气口、过滤器、电磁阀、气泵和传感器反应室)以及基于故障检测和报警的气流控制反馈监测系统组成,用户可通过远程界面对采集数据进行记录、存储和分析。黄顺 [7] 以STC12C5A32S2单片机为核心,设计了一款低成本的手持甲醛检测仪,并实现WIFI无线通信功能。田逢春 [8] 等人设计了一种高性能甲醛检测系统,该系统由气体传感器阵列、信号调节电路、数据采集单元、处理单元、大容量存储单元、报警单元和显示单元组成,利用该系统可实现对甲醛的定量检测。

本文基于STM32F103系列主控芯片,使用金属氧化物传感器设计甲醛检测电路 [9] ,其原理是在一定的温度湿度条件下,当外界甲醛气体与硬件电路敏感材料发生反应时,其电导率会出规律性变化,将导致敏感电阻发生改变,可据此检测环境中甲醛的浓度。

2. 硬件设计

2.1. 硬件总体设计

硬件系统总体设计如图1所示,微控制器选用STM32F103RCT6芯片,其与晶振电路、启动电路和复位电路共同构成最小系统 [10] 。除此之外,本系统还包括传感器模块、声光报警模块、温湿度检测模块、LCD显示模块、通信模块、电源模块以及JTAG模块。金属氧化物气体传感器负责采集甲醛气味信息,若检测值超过规定阈值,蜂鸣器将鸣响同时LED红灯闪烁。在LCD模块进行检测数值实时显示,同时利用串口通信将检测信息发送至上位机 [11] ,用于后续数据分析。整个系统使用PC机供电,同时设计温湿度模块检测当前环境温湿度信息。

Figure 1. Overall hardware system design

图1. 硬件系统总体设计

2.2. 电源模块

电源模块时系统稳定运行的基础,通过USB接口输入的电源为5 V,为防止芯片损坏,需要设计电源转换电路。AMS1117-3.3 V是一款常用的电源转换芯片,其内部集成过热保护和限流保护功能,可输出不同梯度电压。考虑到核心板供电电压为3.3 V,因此选择转换芯片的型号为AMS1117-3.3 V。C26、C27分别是高频滤波电容和低频滤波电容,其作用是减少输出电压纹波并抑制芯片的自激振荡。C28、C29为输入滤波电容,通过并联电容电路的组合方式来提高滤波电容的工作效果。电源转换电路如图2所示。

Figure 2. Power conversion circuit

图2. 电源转换电路

2.3. 甲醛传感器电路

所采用的MEMS气体传感器具有尺寸小、低功耗、快速灵敏等特点。为增强对甲醛气体的吸附能力 [12] ,在其使用前需要先进行预热,加热电压使用3.3 V。传感器敏感电阻Rs与负载匹配电阻Rm串联,当甲醛气体接触到敏感电阻时,其电压会发生改变,通过芯片内部的ADC数模转换可得到此时甲醛气体的响应信号,甲醛传感器电路如图3所示。

Figure 3. Formaldehyde sensor circuit

图3. 甲醛传感器电路

2.4. 通信模块

本系统采用高性能芯片CH340G实现USB转串口通信,用于将传感器采集的气味信息以及温湿度信息传输至上位机。通信模块电路图如图4所示。CH340G工作时需要有稳定的时钟信号支持,X0引脚外接12MHZ的晶振Y3,并通过CH340G芯片内部的晶体振荡器的反向输出端产生时钟信号,再由X1引脚输入,XI、XO引脚及晶振两端接两个大小为22PF的对地微调电容C24和C25,以提高晶振电路的稳定性。GND引脚为公共接地端,直接连接到USB总线的地线。TXD和RXD引脚分别为串行数据输出和输入引脚。V3引脚可直接连接VCC输入外部3.3 V电源电压,或外接0.01 uf退耦电容再外接5 V外部电压,其中去耦合电容C23是为了消除输入信号的高频噪声。D+和D直接连接到USB的数据线。C19、C22为电源滤波电容,使得芯片供电更加平稳。DTR、RTS都为MODEM联络输出信号引脚,DTR低电平,有效表示数据终端就绪,通过外接开关电路控制RESET引脚信号;RTS低电平有效表示请求发送,通过外接开关电路控制BOOT0引脚信号。

Figure 4. Communication module circuit

图4. 通信模块电路

2.5. 温湿度模块设计

环境的温湿度会直接影响到气体传感器的响应 [13] ,设计温湿度传感器监测当前采样环境的温度情况。DHT11是一款温湿度一体的数据传感器,其基本信息如表1所示,DHT11具有极高的可靠性和卓越的长期运行稳定性,其内部集成有电阻式测湿元件和热敏电阻测温元件,可以与开发板之间进行单总线通信输并出数字信号。温湿度模块电路如图5所示,其中1号进行供电,2号引脚进行温湿度数据输出,3号与4号引脚共同接地线。

Table 1. Basic information about the DHT11

表1. DHT11基本信息

Figure 5. Temperature and humidity module circuit

图5. 温湿度模块电路

2.6. 声光报警模块

声光报警模块电路图如图6所示。STM32F103芯片限制单个IO口最大输出电流为25 mA,而蜂鸣器驱动电流为30 mA,因此采用NPN型三极管进行扩流驱动。同时为了限制其工作电流过大,串联一个限流电阻R31。电阻R33是为防止蜂鸣器误发声,大小设为10 KΩ。当检测到甲醛浓度超过一定阈值时,蜂鸣器将鸣响发出警告。LED0、LED1用来指示当前采集的有害气体浓度情况。当甲醛气体浓度未达到安全阈值时,LED1绿灯常亮,当浓度值达到或超过安全阈值时,LED0红灯闪烁。

3. 软件设计

3.1. 软件总体设计

软件系统需要实现的功能是采集甲醛气体和环境温湿度数据,并利用串口通信将数据传输至上位机,同时LCD对检测数据进行实时显示。在系统初始化后时,需要对气体传感器进行预热,待基线稳定后开始采集数据。对气体浓度设定一个阈值,当检测甲醛气体浓度超过此阈值时,蜂鸣器将鸣响,同时LED红灯闪烁,警示浓度超标。软件系统流程如图7所示。

(a) (b)

Figure 6. Circuit diagram of sound and light alarm module

图6. 声光报警模块电路

Figure 7. Software system flow

图7. 软件系统流程

3.2. ADC数据采集模块程序设计

STM32F103RCT6芯片具有16个外部ADC采样通道,因此在ADC1下即可满足所有通道采样要求。设置ADC1分频因子为6,此时ADC最大时钟频率为72/6 = 12 Mhz,计算得到单次采样最短转化时间为1.17 us。ADC数据采集流程如图8所示。初始化ADC所对应GPIO引脚,将GPIO模式配置为模拟输入,并开启对应GPIO时钟。在ADC初始化结构体中配置ADC工作参数,其内容包括:配置工作模式为独立多通道连续采集,可通过序列寄存器ADC_SQR设置采样通道顺序。采用DMA数据传输进行数据读取,配置DMA传输方向为从外设到存储器,外设地址为源地址,设置为ADC_DR数据寄存器,存储器地址为目标地址,设置为存放采集数据的数组地址。DMA传输模式配置为循环传输模式,依对通道采集到的传感器数据传输指定存储内存空间,直至传输完成。

Figure 8. Data acquisition procedure flow

图8. 数据采集程序流程

传感器信号滤波

中值滤波是一种常用的非线性滤波 [14] ,它基于排序理论能高效且快速滤除高斯噪声。将传感器连续采集N次的数据使用冒泡法按从大到小的顺序进行排序,当N为奇数时,选取中间数值作为中位值;当N为偶数时,选取中间两个数据的平均值作为中位值。计算公式如下所示:

m = M e d { m ( N i ) m ( N ) m ( N + i ) }

式中,m为中值滤波后结果,N为传感器采集数据的个数。为了使得到的数据更加平滑,同时滤除可能存在的部分数据毛刺,将经S次中值滤波后结果的求平均值,作为最终传感器数值,计算公式如下 [15] :

m ¯ = m 1 + m 2 + + m s 1 + m s S

3.3. UART通信程序设计

UART是一种可实现单片机与上位机通信的全双工异步串行通信协议 [16] ,收发双方可通过TXD与RXD引脚实现数据交换。本系统利用UART协议实现将所采集传感器数据发送至上位机,以进行数据分析。若采集需要停止时,上位机可向单片机发送停止采集指令,中断标志位触发后,将在中断服务函数中关闭AD采样通道并停止串口传输数据。UART通信程序流程如图9所示。配置串口参数如表2所示。

Figure 9. UART communication program flow

图9. UART通信程序流程

Table 2. Serial port parameter configuration table

表2. 串口参数配置表

3.4. 声光报警模块

本系统使用电磁式有源蜂鸣器,当蜂鸣器对应引脚为低电平时,电路导通,并通过其自带的震荡电路发出鸣响。声光报警程序流程图如图10所示,首先对蜂鸣器和LED所对应的GPIO引脚进行配置,并使能时钟信号,然后分别配置其端口输出模式为推挽输出。蜂鸣器的鸣响受检测气体浓度的控制,在气体采集过程中,当气体浓度未超过设定的阈值,LED保持绿灯常亮状态,只有当气体浓度超过阈值,才触发蜂鸣器,此时LED红灯闪烁。

Figure 10. Procedure flow of sound and light alarm

图10. 声光报警程序流程

3.5. LCD驱动程序

LCD液晶屏控制框图如图11所示。液晶控制器采用8080接口与STM32单片机通信,STM32可通过该接口访问控制寄存器(CR)、地址计数器(AC)等资源,进而将气体传感器和温湿度传感器数据发送至液晶控制器,液晶控制器再将这些数据存放在其内部显存(GRAM)中,并通过内部RGB接口与液晶面板进行连接,根据开发板时钟信号将显存(GRAM)内容周期性刷新至液晶面板上,以实现采集信息液晶显示。

Figure 11. LCD control block diagram

图11. LCD液晶屏控制框图

4. 系统测试

4.1. 显示测试

将该装置放置在充有甲醛气体的密闭箱体中,可以准确检测到当前环境的甲醛浓度值以及温湿度信息,并将该信息显示在LCD液晶屏幕上,实现检测信息实时展示。LCD显示采集信息界面如图12所示。

4.2. 上位机测试

上位机软件接收界面如图13所示。在上位机中进行参数配置,选择端口为COM3,数据位为8位,波特率为9600,无校验位。当打开串口后,将所采集甲醛及温湿度信息打印在接收串口中,可通过“Save Text”保存数据至本地路径。当需要停止采集时,可在发送端口发送指令,在系统中将进行响应,停止采集并关闭串口传输。

Figure12. LCD display acquisition information interface

图12. LCD显示采集信息界面

Figure 13. The upper computer software receives the data

图13. 上位机软件接收数据

5. 结束语

甲醛作为一种危害公众健康的有毒有害气体,实现对其现场快速检测具有重要意义。而使用气相色谱仪、分光光度法、试剂比色法等操作复杂,且往往需要专业检测人员进行操作,检测周期偏长,导致难以满足检测的及时性、快捷性。本文以STM32微控制为核心,结合各个功能模块提出了硬件电路与软件设计方案,最终实现了甲醛现场快速检测系统的设计。系统调试表明,该系统工作稳定,可将采集的数据实时显示在液晶显示屏与上位机端,方便检测人员及时对数据进行分析处理。该方法具有低成本、便捷性等优势,且满足甲醛快速检测与系统控制的基本需求。

文章引用

彭 志,银建新,彭 鹏,巴福帅,张亚飞,赵永礼. 基于STM32的甲醛快速检测系统设计
Design of Rapid Formaldehyde Detection System Based on STM32[J]. 软件工程与应用, 2023, 12(01): 19-29. https://doi.org/10.12677/SEA.2023.121003

参考文献

  1. 1. 张烨. 基于气相色谱仪的室内甲醛污染含量检测方法研究[J]. 环境科学与管理, 2021, 46(5): 109-113.

  2. 2. 华德伟, 崔小梅, 赵远昭, 等. 室内环境中的甲醛检测与治理技术研究[J]. 再生资源与循环经济, 2022, 15(10): 28-33.

  3. 3. 杨巍. 高效液相色谱法测定室内空气甲醛含量的研究[D]: [硕士学位论文]. 大庆: 东北石油大学, 2015.

  4. 4. 杜娟. 便携式现场甲醛检测仪的设计[D]: [硕士学位论文]. 郑州: 郑州大学, 2010.

  5. 5. 黄志强, 亓跃蓉, 俞文妍, 等. 酚试剂比色法测定工作场所空气中甲醛的实验研究[J]. 中国卫生检验杂志, 2013, 23(2): 316-318.

  6. 6. Zhang, W., Liu, T., Ueland, M., et al. (2020) Design of an Efficient Electronic Nose System for Odour Analysis and Assessment. Measurement: Journal of the International Measurement Confederation, 165, Article ID: 108089. https://doi.org/10.1016/j.measurement.2020.108089

  7. 7. 黄顺. WIFI无线气体监测探头与手持甲醛检测仪的开发[D]: [硕士学位论文]. 武汉: 华中科技大学, 2014.

  8. 8. Tian, F.C., Kadri, C., Zhang, L., et al. (2012) A Novel Cost-Effective Portable Electronic Nose for Indoor-/In-Car Air Quality Monitoring. 2012 International Conference on Computer Distributed Control and Intelligent Environmental Monitoring, Zhangjiajie, 5-6 March 2012, 4-8. https://doi.org/10.1109/CDCIEM.2012.9

  9. 9. 袁亚茹, 马祥云, 王素华. MOS基甲醛气体传感器改性研究[J]. 山东化工, 2022, 51(20): 204-206.

  10. 10. 马宏莉, 王涛, 李泊龙, 等. 多组分气体定量识别的电子鼻系统设计[J]. 传感器与微系统, 2022, 41(5): 84-86.

  11. 11. 李彬, 崔鹏, 薛梁. 基于FPGA的甲醛检测系统研制[J]. 现代电子技术, 2022, 45(16): 45-49.

  12. 12. 王萧行, 张卫强, 金庆辉, 等. 基于MOS传感器阵列对有害混合气体的检测研究[J]. 传感器与微系统, 2021, 40(6): 24-26.

  13. 13. 沈家伟. 气体湿度及流速对电子鼻的响应特性影响研究[D]: [硕士学位论文]. 武汉: 武汉理工大学, 2016.

  14. 14. 淡州阳. 数字图像平滑处理取证研究[D]: [硕士学位论文]. 郑州: 战略支援部队信息工程大学, 2021.

  15. 15. 祁树刚, 张启超. 均值滤波和中值滤波对InSAR影像预处理的影响研究[J]. 测绘与空间地理信息, 2020, 43(S1): 131-133.

  16. 16. 马金平. 基于UART串口的多机通讯[J]. 山东大学学报(工学版), 2020, 50(3): 24-30.

  17. NOTES

    *通讯作者。

期刊菜单