基于STM32单片机的室内空气质量监控系统设计

2022-09-21 01:34王波
电子测试 2022年17期
关键词:室内空气温湿度蓝牙

王波

(阿坝师范学院电子信息与自动化学院,四川汶川,623000)

0 引言

空气污染已经成为一个不可低估的问题,由于其对日益频繁的灾难性事件的影响,我们却无能为力。近年来,各国政府不仅试图限制全球排放,还试图限制我们居住的建筑物中可能的污染源。虽然人们每天的大部分时间都在室内,但是我们缺很少关注家里的空气质量。研究表明,我们一天中大部分时间吸入的室内空气的污染程度是室外空气的3到4倍。这是指对我们的生活有害的二氧化碳(CO2)和总挥发性有机化合物(TVOC)[1]。

随着空气质量监测系统在市场上迅速普及,尤其是那些集成到通风系统中的系统。其中许多仅限于测量单个房间和通风系统附近的室内空气质量(IAQ)。为了更好的评估室内环境的健康状况,设计了一款基于STM32单片机的空气质量监控系统,该系统通过蓝牙技术与安卓手机上的APP通信,实时显示室内环境中污染源的数值;同时,信息会在OLED屏同步显示。

1 硬件设计

本设计选用STM32F103C8T6作为系统处理器,其工作的最高频率为72MHz,芯片具有高达128k字节的片内FLASH,20k字节的SRAM。可工作在睡眠、待机、停机模式,因此功耗较低。由于内置了2个12位模数转换器,具有双采样和保持功能。同时STM32良好的通信和控制功能,两个硬件IIC接口,3个串行通信口。芯片资源比较丰富,能很好的满足系统的设计要求[2]。电源部分可采用手机充电器输出5V的电压,经过π型滤波电路,AMS1117-3.3V稳压为单片机、温湿度传感器模块、二氧化碳传感器模块以及OLED提供3.3V电压。系统总体框图如图1所示。系统使用STM32F103C8T6单片机作为控制器,外围电路主要由CCS811二氧化碳模块电路、HTU21D温湿度模块电路、HC-06蓝牙模块电路、OLED液晶显示电路、蜂鸣器电路、按键控制电路等构成。

图1 室内空气质量监控系统总体设计框图

1.1 单片机最小系统电路

图2所示为STM32F103C8T6单片机最小系统电路。最小系统电路包括SWD下载电路,晶振电路、按键复位电路、电源电路,RTC电路等。其中,STM32单片机通过IIC接口与HTU21D温湿度传感器模块以及CCS811二氧化碳模块通信,实时获取当前的温湿度数据、TVOC数据、ECO2数据,HC-06蓝牙模块与STM32单片机的串口1连接,单片机将采集到的温湿度数据、TVOC数据和ECO2数据通过蓝牙模块发送到安卓手机上。

图2 STM32最小系统电路图

1.2 CCS811二氧化碳模块电路

室内空气质量会受到各种污染物的影响,目前还没有标准的测量方法。最有希望的方法之一是监测挥发性有机化合物(TVOC)和二氧化碳(CO2)的水平。挥发性有机化合物是一种化合物,其毒性取决于它们在我们呼吸的空气中的浓度[3]。

CCS811是一种超低功耗的数字式气体传感器,通过IIC接口与MCU通信。CCS811将金属氧化物气体传感器和微控制器子系统集成在一起,从而使得智能手机、可穿戴设备和联网家用设备能够实现室内空气质量(Indoor Air Quality,IAQ)监测,并简化了设计,延长了电池续航时间,缩减了系统成本。图3是CCS811二氧化碳模块电路图。

图3 CCS811二氧化碳模块电路图

CCS811芯片可以工作在查询模式和中断模式,这里设置为查询模式,且每秒钟测量一次。主机周期性地从传感器读取数据,读取ALG_RESULT_data寄存器中的4个字节,首先读出的两个字节是ECO2的高字节和低字节,接下来读数的数据是TVOC的高字节和低字节。CCS811支持对相对湿度和环境温度进行补偿,因此,为了获得更高的精度,在每次读取传感器读数之前,可以使用HTU21D的温度和湿度值更新ENV_DATA寄存器以补偿传感器的读数。在设计中,由于将NWAKE管脚始终接地,芯片始终不会进入睡眠模式,ADDR引脚接地,芯片的读写地址分别为0xB4与0xB5。注意在准确读数前CCS811传感器有20分钟的状态周期。此外,为了使性能更加稳定,需要将CCS811至少运行24小时[4]。

该模块测量总有机挥发物(TVOC)范围是0-1187ppb,但是测量二氧化碳的浓度并不是空气中二氧化碳的直接浓度,而是CO2的估算值,即ECO2,输出范围是400-8192ppm。表格1是室内空气CO2浓度和通风需求的关系,为了使室内空气健康,CO2的浓度不得超过1000ppm。

表1 室内空气中CO2浓度和通风需求的关系

1.3 HTU21D温湿度模块电路

HTU21D是一个高度精确的温度和相对湿度传感器,它与CCS811一样,都是通过IIC接口与STM32单片机相连,器件的读写地址为0x80和0x81,芯片默认分辨率为12位相对湿度和14位温度读数,测量数据以两字节数据包的形式传输,高位在前,低位在后。测量值需要按照下列公(1)、(2)公式进行转换可转换为以摄氏度为单位的温度值和以%RH为单位的相对湿度值。图4是HTU21D温湿度模块电路。式中STemp和SRH为HTU21D的温度和相对湿度的采样值[5]。

图4 温湿度模块电路

1.4 HC-06蓝牙模块电路

HC-06蓝牙串口通信模块,是基于Bluetooth Specification V2.0带EDR蓝牙协议的数传模块。无线工作频段为2.4GHzISM,调制方式是GFSK。模块最大发射功率为4dBm,接收灵敏度-85dBm,板载PCB天线,可以实现10米距离通信。模块采用CSR的BC417芯片,支持AT指令,用户可根据需要更改角色(主、从模)以及串口波特率、设备名称等参数,使用灵活。模块上电后,默认是从模式,波特率9600N81,蓝牙名为HC-06,配对密码1234,不需要更改[6]。图5是HC-06蓝牙模块接口电路图。

图5 HC-06蓝牙模块接口电路

2 软件设计

开发环境采用KEIL公司的MDK5对系统进行开发,当系统上电后,初始化相应IO口、串口1、配置定时器、中断,随后初始化OLED液晶显示器、温湿度传感器和二氧化碳传感器,显示开机LOGO。单片机主循环中一旦检测到1s定时时间到,就获取ECO2浓度、TVOC浓度、温湿度数值,送OLED显示并发送到手机APP上,当室内的ECO2浓度超过1000ppm或者TVOC浓度超过50ppb时,启动蜂鸣器报警功能,以告知人们室内空气污染物超标,不适宜久待。图6是室内空气质量监控系统流程图。

图6 室内空气质量监控系统流程图

3 系统测试

在系统测试之前,需要先在在安卓手机上下载安装蓝牙助手APP,然后给系统上电。当系统正常运行30分钟后,打开手机端的蓝牙助手,选择名为HC-06的蓝牙进行配对连接,配对成功之后,就能正常接收室内的ECO2和TVOC数据,以及温湿度数据,这些数据与OLED屏上显示的数据同步。图7是系统测试图。

图7 系统测试图

4 结语

本文利用STM32单片机作为控制器,结合蓝牙技术设计并制作了空气质量监控系统,提出了一种对室内空气质量监控的办法,该系统外围电路简单易制作,并且成本低廉,可以在家庭、图书馆、教室等场合使用,能有效的保护人们的健康,实用性较强,具有很高的推广价值。

猜你喜欢
室内空气温湿度蓝牙
蓝牙音箱的直线之美
改善室内空气质量及空调节能浅析
基于AT89C51的数字型蚕用温湿度计的设计
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
基于ARM的室内空气品质监测与控制系统
基于单片机的室内空气净化系统
基于温湿度控制的天气预测装置
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用