基于STM32的空气质量检测系统研究与设计

known 发布于 2025-08-24 阅读(412)

朱馨月,周智超,李昊泽

(苏州城市学院,江苏 苏州 215104)

0 引 言

随着工业化的发展,城市的空气质量堪忧,由于很难做到对重点污染区域的有效控制,故设计了一款基于STM32的空气质量检测仪,可以实时监测室内温度、湿度、PM的变化,当室内PM超标时,系统会通过蜂鸣器会进行报警。用户还可以通过蓝牙将实时数据传送至手机端以便实时观测。该系统轻巧便携、成本低、精度高、具有一定的市场应用前景。

1 系统的主要设计及功能

本设计主要有六大模块:STM32最小系统模块作为主控模块,用于数据的分析处理等;SHT20温湿度传感器用来监测系统外部空气中的温湿度;BMP180大气压强模块主要检测空气中的大气压强;GP2Y1010AU0F光学粉尘浓度检测模块用来监测环境中PM浓度;LCD1602模块用来显示采集到的数据;HC05蓝牙模块则是用来与手机等电子设备进行数据传输

本文设计的是基于STM32F103的空气质量监测仪,具有检测空气中温湿度、大气压强、PM浓度的功能,当空气中PM超过设定的最大值时,系统会显示红灯并报警。还可以通过当前空气湿度大致推算出下雨的概率,测得的数据可以通过蓝牙模块将数据发送至用户手机端或电脑端随时查看。

2 设计方案

图1为本设计总体设计框图,分为传感器模块、主控、液晶显示、蓝牙和用户五部分。首先是三种传感器将数据传输给主控,本设计以STM32F103作为微处理器进行信号处理,主控板配合硬件电路来实行数据提取,并将提取的数据传送至液晶显示屏,继而通过蓝牙传送至手机或电脑端。

图1 系统总体框图

3 系统硬件设计3.1 概述

系统硬件设计主要包括:SHT20温湿度传感器电路、GP2Y1010AU0F光学粉尘浓度检测电路、LCD1602液晶显示屏电路、BMP180大气压强电路、HC05蓝牙电路,三极管驱动电路。

3.2 系统硬件设计总体电路图

系统硬件总体电路如图2所示。

图2 系统硬件总体电路图

3.3 STM32F103概述

STM32F103是一个32位ARM微控制器,属于中低端芯片。最大闪存为1MB。STM32F103包括电机控制外设和USB全速接口式,它具有低功耗、低电压的优点,可以提供出色的性能和实时功能。

由于Cortex-M3体系结构的加强,STM32F103有了更高的性能,如它里面的thumb-2指令集,编码密度更好,中断响应更快,是领先的工业功耗。出色的实时性能,出色的效率和新的外围设备,最大限度地提高了串行引脚,外围设备和软件兼容性之间的集成。

3.4 SHT20温湿度检测电路

本设计采用的是SHT20芯片,STH20是新一代数字温湿度传感器,它嵌入了合适回流焊的双列扁平无引脚DFN封装,底面是3×3 mm,高度为1.1 mm。SHT20使用了全新的CMOSens芯片和标准的能隙温度传感元件,辅以改进后的电容式湿度传感元件,具有高精度、低功耗、低成本的优点。它的湿范围约在±3 % RH,湿度约在0~100%RH、温度约在40℃~125℃。SHT20的供电电压最低为2.1 V,最高为3.6 V,功耗较低。

3.5 BMP180大气压强电路

BMP180采用功能强大的8引脚陶瓷无引线芯片载体(LCC)超薄封装,性能卓越,内置校准校正,绝对精度低至0.03 HPa(0.25 m),电极消耗仅为3 μA。它的气压测量范围约为300 HPa~1 100 HPa,较适用于日常使用的绝大多数情况。BMP180的工作电压为1.8 V~3.6 V,典型工作电压为2.5 V。

压力和温度数据应通过BMP180的EEPROM校准数据进行校正,BMP180由一个压电电阻传感器、一个模数转换器和一个带有EEPROM和串行IIC接口的控制单元组成。176位个人校准数据存储在EEPROM中。它用于补偿传感器偏移、温度依赖性和其他参数。

3.6 PM2.5检测电路

PM有两种通信方式:一种是直接A/D、D/A模数转换,一种是接单片机的串口通过读取指令集进行获取当前的值。本次设计采用的是通过单片机串口直接获取当前PM值。

PM通过串口将数据发送到单片机的接收端来采集数据,灰尘传感器使用脉冲法检测当前空气中的灰尘浓度值。烟雾颗粒、散落的灰尘和其他比较细的颗粒主要是通过在传感器内部使用红外弧光管和光电晶体管来实现的。粉尘较大时,PWM输出高;浓度低时,PWM输出低。

4 程序设计4.1 软件主程序架构

本设计的主程序总流程图如图3所示。

图3 主程序总流程图

4.2 温湿度数据采集子程序

图4是该设计温湿度数据采集软件设计流程图,设备通电工作后,温湿度传感器开始工作,采集过程首先是STM32F103单片机发起开始信号,由I/O引脚发送给SHT20温湿传感器,之后由SHT20温湿传感器向单片机发送响应,并将采集到的数据按照40位数据格式输出。

图4 温湿度采集程序流程图

由于SHT20是采用PTAT能隙材料制成的温敏元件,因而具有良好的线性输出,可按下式算得实际温度值:Temperature=+×

4.3 大气压强数据采集子程序

图5是该设计大气压强数据采集模块软件设计流程图,读取BMP180数据时回直接传送没有经过补偿的初始值,EEPROM中储存了176位单独的校准数据,这些数据用于对读取的初始值进行补偿。在每一次计算压强数据之前,单片机要先读出EEPROM中的校准数据,然后再采集压强数据。注意要获得气压数据就必须先向控制寄存器写0x34(0x74、0xB4、0xF4),然后等待至少4.5ms,再从地址0xF6和0xF7读取对应的气压数据。

图5 大气压强采集流程图

4.4 蓝牙模块子程序

图6是该设计蓝牙模块软件设计流程图,蓝牙HC05是常用的主从一体的蓝牙模块,当该模块蓝牙与其他蓝牙设备配对连接成功后,便可以忽略蓝牙内部的通信协议,将蓝牙当作串口使用。数据传输时,两台设备共同使用一个通道即同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收到通道中的数据。

图6 蓝牙传输流程图

5 系统调试5.1 焊接和软件调试

首先将各个模块按照电路图连接起来,用万用表进行通断检测,确保没有出现短路现象。接着,将编译好的软件烧录进去,按下电源开关通电,对LCD1602液晶屏进行初始化操作,LCD1602显示屏页面分为两行,上面一行显示测得的温度值、湿度值,下面一行显示大气压强值和降雨概率。然后将该装置放置在室内,检测几秒后,LCD1602液晶显示屏上显示对应的温度值、湿度值和PM浓度值。按下按键,可以设置PM报警的上限值,接着调整PM报警浓度的上限值,当PM浓度高于设定的上限值时,观察蜂鸣器是否进行报警,以上功能调试完毕后,该装置的基本功能就已经调试完成。

5.2 测试实物

图7为设备上电后,显示温湿度、大气压强、PM浓度,以及调整PM浓度上下限的界面。

图7 测试实物图

6 结 论

本设计针对所检测的空气质量指标选用了市场上主流的、性价比较高的传感器:PM传感器。添加了大气压强模块、温湿度模块、蓝牙模块,系统整体集成度高,可以依附或集成于其他室内设备上,测得的数据还可以实时传输到手机便于实时监测空气质量,小巧便捷,适合一般家庭日常使用。

标签:  蓝牙 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor