随着工业化和人们生活水平的不断提高, 环境污染监测的重要性愈发凸显, 监测的内容包括PM2.5、PM10、SO2、NO2、NH3、CH2O、CO、O3、温度、湿度和噪音等[1]. 然而目前市场上的环境监测设备功能单一、精度不高、准确性差、采样误差大、实时性低, 因此本文研制了一种基于STM32的环境监测数据采集系统. 该环境数采系统已经具备了温湿度、PM2.5、PM10、SO2、NO2、NH3、CH2O、CO、O3及噪声等测量功能. 实验结果和误差分析表明该数据采集系统可实现实时数据采集和显示功能以及系统数据的可信度. 此系统可以广泛应用于厂矿企业、建筑工地和人居环境等的污染数据实时测量, 也可为相关企业和政府部门提供及时准确的环境监测信息. 与此同时, 掌握当前环境污染状况可对治霾防霾、噪声治理和空气质量信息发布提供决策支持和技术支撑.
(1) 系统总体设计
该环境监测数据采集系统是以STM32为核心控制处理器模块, 以数字温湿度检测模块、PM2.5监测模块、噪声监测模块、红外复合气体监测模块、SO2气体监测模块、O3浓度监测模块、ZEO3电化学气体监测模块、氮氧化合物气体监测模块以及GPRS模块和液晶显示模块, 通过RS485工业现场总线进行连接. 环境监测数据采集系统总体框图如图1所示.
(2) 系统硬件原理分析
硬件系统包括以STM32F103VET6微处理器为核心的外围电路, 数字温湿度传感器、PM2.5监测传感器、红外复合气体传感器、噪声传感器、SO2气体监测传感器、ZEO3电化学气体监测传感器、CJMCU-MICS-6814气体传感器、MQ131臭氧浓度传感器数据采集、数据显示、数据存储及GPRS模块的数据传输电路等。
1) 单片机处理模块
本设计选用的核心处理器模块STM32F103VET6是STM32互联型系列微控制器, 具有功耗低、体积小、功能稳定可靠、高性价比等优点. 此芯片支持CAN总线、RS485、RS232、USB OTG等各种高性能工业标准接口. 其标准外设包括10个定时器、三个12位1 Ms/s采样速率的AD( 模数转换器) 、两路12位DA( 数模转换器) 等, 可用于多种场合. 在核心处理器的基础上, 充分利用其集成的外设单元, 设计了相应的外围接口电路, 实现了需求功能[2], 降低了系统成本. STM32F103VET6实物图如图2所示.
2) PM2.5监测模块
PM2.5监测模块采用A4-CG浓度传感器, 它是一款基于激光陷阱散射原理的数字式通用颗粒物浓度传感器, 具有体积小、重量轻、成本低高性价比等特点, 可实现PM2.5和PM10的监测功能. PM2.5监测模块原理图如图3所示.
3) 温湿度检测模块
GY-SHT31-D温湿度检测模块具有体积小、质量轻、数据采集简单方便等特点. 温湿度检测模块使用Sensirion CMOSens®温湿度传感器, 具有高信噪比、快速处理能力、高可靠性及稳定性的特点, 可采集周围环境的温度以及相对湿度. 此传感器的工作温度在–40℃~+125℃之间, 工作电压在2.4V~5.5V, 采用2.5mm×2.5mm封装, 体积小, 满足环境监测数据采集系统的工作环境要求. 原理图如图4所示.
4) 红外气体监测模块
红外气体监测模块采用HRT品牌的气体传感器, 工作温度在–20℃~+60℃之间, 工作湿度≤95%RH(非冷凝), 工作电压为5VDC. 此传感器采用红外复合测量原理. 当待测气体以扩散形式通过微孔过滤片进入壳体内, 吸收特定波长的红外光, 且吸收强度与待测气体浓度满足朗伯-比尔吸收定律[3]. 通过分析吸收前后红外光强的变化来获得待测气体浓度.
5) SO2气体监测模块
SO2气体监测模块采用2SH12探头,带模拟和TTL电平信号输出,具有体积小、稳定性强、灵敏度高、响应快速及适应性好的特点,工作温度在-10℃~+50℃之间,工作湿度≤95%RH(非冷凝),工作电压为5 VDC,气体敏感元件测试浓度范围为1~500 ppm。通过简单的转换电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。SO2气体监测模块实物图如图5所示。
6) ZEO3电化学气体监测模块
ZEO3电化学气体监测模块采用三电极电化学气体传感器和高性能微处理器, 具有低功耗、高灵敏度及分辨率、良好的稳定性和抗干扰能力强等特点, 工作温度在0℃~+50℃之间, 工作湿度在20%~95%RH之间, 工作电压为3.7~9 VDC, 工作电流<5 mA. 内置温度传感器进行温度补偿, 可精确的测量环境中的气体浓度.
7)氮氧化合物气体检测模块
MICS-6814氮氧化合物气体监测模块为紧凑型MOS传感器, 包括三个带有独立加热器和敏感层的传感器芯片. 它具有结构紧凑、成本低、适应性强等特点, 一个传感器芯片检测氧化气体, 另一个传感器探测到红色气体和NH3. 可检测气体及范围如表1所示.
8) O3浓度监测模块
O3浓度监测模块采用MQ131高低浓度臭氧传感器, 具有良好的灵敏度、长寿命、低成本、驱动电路简单等特点, 可实现O3浓度监测功能; 当传感器所处环境中存在臭氧时, 传感器的电导率随空气中臭氧气体浓度的增加而减小. 使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号.
9) GPRS模块
GPRS模块采用内置TCP/IP协议栈的SIM900A芯片, 可实现数据的无线传输功能[4]. 其正常工作温度在–30℃~+80℃之间, 工作电压为3.2~4.8 V之间, 可以在EGSM900和GSM1800MHZ两个频段工作, 工作于EGSM900时功耗为2 W, 工作于GSM1800时功耗为1 W[1], 通过串口AT指令实现对GPRS的控制, 实现了数据的上传, 并将采集到的数据实时传回服务器, 进行远程监测.
10) 显示模块
本文采用的TFT-LCD即薄膜晶体管液晶显示屏, 具有驱动电压低、功率消耗小、反应速度快、显示画面质量好等优点[5]. 该显示模块使用400×800点阵液晶屏[6], 主要用于对以上模块的监测值进行输出, 直观显示监测数值.
11) 数据存储模块
使用SD卡对系统检测到的历史数据进行存储. 系统软件设计上采用FATFS对SD卡中文件进行管理, 将数据存储为CSV(逗号分隔符)文件格式, 从而可将数据以Excel表格的形式在计算机上显示, 便于数据查看和管理.
(3) 系统软件设计
本文采用嵌入式软件KEIL u Vision4集成开发环境[7]进行程序开发和调试, 采用C语言进行程序设计. 嵌入式软件主要任务包括系统初始化、PM2.5、PM10数据采集、O3、SO2、CO、CH2O、CH4、NH3及氮氧化合物等气体的数据采集、数据液晶显示以及实时时钟信号发生.
温湿度检测模块使用IIC通信协议, 初始化配置STM32F103的两个GPIO_Pin, 编写程序实现IIC协议的软件模拟, 利用IIC程序编写温湿度传感器的底层驱动程序. 将获得的温湿度数值存储于环境数值结构体中.
PM2.5、PM10采集模块, O2采集模块, O3采集模块, CO2、CH4、CO、CH2O、VOC采集模块均使用串口通信与STM32F103进行通信, 其波特率分别为: 9600、9600、115 200、9600. 分别初始化配置STM32F103的USART1、USART2、USART3、UART4工作在相应的模式及波特率下, 并根据各模块的数据通信协议编写对应的串口中断处理程序, 数据校验成功后将原始数据存储于相应的数组中, 之后根据通信协议对原始数据进行解析, 从而得到各待测参数的具体数值, 并将这些数值存储于环境数据结构体中. 串口程序流程图如图6所示.
SO2采集模块, NH3、NO2采集模块, 噪音检测模块的输出量均为模拟量, 使用STM32F103的ADC1对其各自的模拟量输出进行AD转换, 设置ADC1工作在DMA模式下, 对4个模拟量输入通道进行轮询转换; 并将AD转换数据存储于数组中, 数据处理程序根据各传感器的参数对各数字量进行数学计算, 从而得到各待测量的具体数值. 并将数值存储于环境数据结构体中.
实时时钟模块采用IIC通信协议. 首先初始化配置IIC软件模拟程序, 然后编写时钟模块的驱动程序, 获得当前的准确日期以及时间.
液晶显示模块程序主要包括液晶屏的初始化程序、文字和数字显示程序.
嵌入式软件程序运行主程序流程图如图7所示.
(4)系统测试结果
本文设计的环境监测数据采集系统通过STM32微处理器来驱动TFT-LCD液晶显示触摸屏来显示数据, 液晶屏数据刷新率为1次/min. 图8所示为2017年12月27日19时31分在西安市未央区西安工业大学实验室内的检测数据. 括号内为同一时间国家环保部在西安市未央区草滩的实时监测数据, 将之作为标准值. 从液晶屏上可以看到温度为19.82℃, 湿度为36.11%, O2含量为20.7%, PM2.5为226 ug/m3(218 ug/m3), PM10为235 ug/m3(281 ug/m3), CO2浓度为1407 ppm, O3浓度为80 ppb, 噪声为54 dB, NH3浓度为1.00 ppm, NO2浓度为0.05 ppm, 其余采集参数为零.
以PM2.5和PM10的测量值和标准值作误差分析, 利用相对误差计算公式得出: 1) PM2.5测量值的相对误差为3.7%; 2) PM10测量值的相对误差为16.4%. 经过计算发现PM2.5的测量值和标准值很近似, 而PM10的误差相对较大. 这是因为PM10受监测点地理位置、风速和天气等因素影响较大, 故与标准值有一定的差距, 但仍在可接受范围内. 实验结果及误差分析表明本文设计的环境监测数据采集系统可正常采集并显示各要素数据, 同时也增加了系统数据的可信度.
(5)结论与展望
1)通过实际应用证明, 该环境监测数据采集系统运行稳定, 实现了对PM2.5、PM10以及O3、SO2、CO、CH2O等气体的实时监测. 与其他同类系统相比, 该系统具有以下优点:
① 该系统可检测气体种类多、可靠性好、稳定性高、体积小, 便于携带.
② 充分考虑经济性和实用性, 选用目前市场上性价比较高的元器件. 不仅满足了系统工作性能要求, 还极大地降低了成本.
③ 采用的芯片为低功耗类型, 减少了系统耗电, 延长了待机时间.
2) 由于受研究时间和测试条件的限制, 本文提出的系统还有不少待改进之处, 因而对以后工作进行了展望:
① 该环境监测数据采集系统虽然实现了数据的实时显示和数据存储, 但作为更长远的发展, 可以添加数据的传输和查询功能并与上位机进行通信, 使数据管理和数据分析更加有效.
② 该环境监测数据采集系统需进行外场试验, 并与国家监测站进行数据对比, 进一步优化软测量方法以提高其精度和准确度.
③ 此环境监测数据采集系统是研究课题——空气质量综合监测系统的一个数据采集子系统, 是为以后空气质量综合监测系统提供多个检测数据的来源, 并且在该系统上进行数据处理和数据分析, 从而使采集的数据更有价值.
[1] |
李潮, 员天佑. 基于ARM和GPRS的环境监测系统设计. 微计算机信息, 2011, 27(11): 54-56. |
[2] |
关丽敏, 李思慧, 李伟刚. STM32F107VC的嵌入式远程监控终端设计. 单片机与嵌入式系统应用, 2014, 14(6): 72-75. |
[3] |
丁宗玲, 吴明在, 杨群, 等. 基于气体吸收理论的激光光谱气体在线监测技术研究. 大学物理, 2014, 33(5): 32-35. |
[4] |
李会坤. 基于S3C2440与GPRS的嵌入式环境数据采集系统设计[硕士学位论文]. 长春: 吉林大学, 2016.
|
[5] |
张敏, 张韬, 范宁, 等. TFT-LCD显示器显示质量评测. 光电子技术, 2000, 20(4): 260-268. |
[6] |
严学阳, 杨笔锋, 张杰, 等. 基于STM32的手持环境监测系统设计. 微型机与应用, 2017, 36(5): 88-90. |
[7] |
程小艳. 嵌入式STM32F107VCT6微处理器接口模块开发及应用研究[硕士学位论文]. 合肥: 合肥工业大学, 2012.
|