一、系统设计目标与原理
本设计以 STM32F103C8T6 为控制核心,构建室内空气净化监测系统,旨在实现对室内空气质量的实时监测与智能净化控制。核心目标是监测 PM2.5(0-500μg/m³,精度 ±10μg/m³)、甲醛(0-1.0mg/m³,精度 ±0.05mg/m³)、温湿度(温度 0-50℃±0.5℃,湿度 20%-90% RH±5%)等参数,当污染物浓度超过预设阈值时,自动启动净化设备(如风扇、活性炭滤网、负离子发生器),净化达标后自动停机,同时支持手动控制与远程监控,响应时间≤3 秒,满足家庭、办公室等室内环境的健康管理需求。
系统工作原理基于 “监测 - 分析 - 控制” 的闭环逻辑:STM32 通过多种传感器采集室内空气参数,经数据处理后与预设阈值比对;当参数超标时,驱动相应的净化模块工作;同时,系统将实时数据显示在 LCD 屏上,并通过蓝牙上传至手机 APP,实现可视化监控与远程操作。STM32 的高效数据处理能力确保多参数监测的实时性,模块化设计使系统具备良好的扩展性。
二、硬件架构设计
硬件架构以 STM32F103C8T6 为核心,主要包含七大模块:
(一)核心控制模块
STM32F103C8T6 作为主控制器,负责数据采集、逻辑判断与设备控制,关键资源配置:
UART1:连接 PM2.5 传感器(串口通信)与蓝牙模块(HC-05)。
I2C1:连接温湿度传感器(SHT30)与甲醛传感器(SGP30)。
GPIO:控制净化设备(继电器输出)、按键输入与状态指示灯。
ADC1:预留模拟传感器接口(如 CO2 传感器),扩展监测参数。
系统时钟:8MHz 外部晶振,倍频至 72MHz,确保指令执行效率。
(二)空气参数监测模块
PM2.5 监测:采用 GP2Y1014AU0F 粉尘传感器,通过红外散射原理检测 PM2.5 浓度,输出模拟信号经 LM358 放大后接入 STM32 的 ADC 通道,采样率 1 次 / 秒。
甲醛监测:SGP30 气体传感器(I2C 接口),内置温湿度补偿,可同时检测甲醛(HCHO)与总挥发性有机物(TVOC),响应时间≤10 秒。
温湿度监测:SHT30 数字传感器(I2C 接口),测量精度高,抗干扰能力强,采样率 0.5 次 / 秒,为甲醛检测提供环境补偿参数。
(三)净化执行模块
多级净化控制:
初级过滤:通过继电器控制风扇(12V 直流风扇),调节风速(高 / 中 / 低三档,PWM 控制)。
深度净化:活性炭滤网与负离子发生器(5V 供电),分别通过继电器独立控制。
驱动电路:每路净化设备通过 NPN 三极管(2N3904)与继电器(SRD-05VDC)驱动,继电器触点容量 5A/250VAC,确保大功率设备安全运行。
(四)人机交互模块
LCD 显示:12864OLED 屏(I2C 接口),实时显示 PM2.5、甲醛、温湿度数值,超标参数以红色字体闪烁,净化设备运行状态以图标标识。
按键控制:3 个独立按键(模式切换、参数设置、手动启停),支持切换自动 / 手动模式、修改阈值、强制启停净化设备。
状态指示:3 个 LED 指示灯(绿色:正常;黄色:轻度污染;红色:严重污染),直观反映空气质量等级。
(五)通信模块
蓝牙模块:HC-05(UART 接口,波特率 9600bps),支持与手机 APP 配对,实现数据上传(每秒 1 次)与远程控制(如启动 / 停止净化、修改阈值)。
通信协议:自定义帧格式(帧头 0xAA + 数据类型 + 数值 + 校验和 0x55),确保数据传输可靠。
(六)电源模块
供电方案:12V 直流电源输入,经以下转换:
12V 直接供给风扇与继电器线圈。
经 LM1117-5V 转换为 5V,供给甲醛传感器、负离子发生器与蓝牙模块。
经 AMS1117-3.3V 转换为 3.3V,供给 STM32、温湿度传感器与 OLED 屏。
保护电路:输入端串联 1A 保险丝,5V 与 3.3V 输出端并联 100μF 电解电容与 0.1μF 陶瓷电容,滤除电源纹波。
(七)扩展接口
预留 DS18B20 温度传感器接口(单总线),用于精确监测设备内部温度。
预留 PWM 接口,可扩展紫外灯消毒模块(需增加驱动电路)。
三、软件逻辑设计
软件基于 Keil MDK 开发,采用模块化架构,包含六大核心模块:
(一)传感器数据采集模块
void Sensor_Collect(void) {
// 读取PM2.5数据(串口解析)
PM25_Value = GP2Y1014_Read();
// 读取温湿度(I2C)
SHT30_Read(&Temp_Value, &Humi_Value);
// 读取甲醛(I2C,带温湿度补偿)
HCHO_Value = SGP30_Read_HCHO(Temp_Value, Humi_Value);
// 数据滤波(滑动平均,窗口大小5)
PM25_Filter = Filter_SMA(PM25_Value, 5);
HCHO_Filter = Filter_SMA(HCHO_Value, 5);
}
(二)净化控制逻辑模块
void Purify_Control(void) {
if (Mode == AUTO) {
// 自动模式:根据参数控制设备
if (PM25_Filter > PM25_HIGH || HCHO_Filter > HCHO_HIGH) {
Fan_SetSpeed(HIGH); // 高速净化
Relay_Control(ACTIVATED_CARBON, ON);
Relay_Control(NEGATIVE_ION, ON);
LED_State = RED;
} else if (PM25_Filter > PM25_LOW || HCHO_Filter > HCHO_LOW) {
Fan_SetSpeed(MEDIUM); // 中速净化
Relay_Control(ACTIVATED_CARBON, ON);
Relay_Control(NEGATIVE_ION, OFF);
LED_State = YELLOW;
} else {
Fan_SetSpeed(STOP); // 停机
Relay_Control(ACTIVATED_CARBON, OFF);
Relay_Control(NEGATIVE_ION, OFF);
LED_State = GREEN;
}
} else {
// 手动模式:按用户指令控制
// (代码省略,根据按键或APP指令执行)
}
}
(三)显示与交互模块
OLED 显示:分区域显示各项参数,格式如下:
第一行:PM2.5: 35μg/m³ 甲醛: 0.08mg/m³
第二行:温度: 25.5℃ 湿度: 50% RH
第三行:状态:自动净化(高速)
按键处理:采用中断方式识别按键,短按切换功能,长按(>2 秒)进入参数设置模式,通过上下键调节阈值。
(四)蓝牙通信模块
void Bluetooth_SendData(void) {
// 数据打包格式:PM2.5(2字节)+甲醛(2字节)+温度(2字节)+湿度(2字节)
uint8_t data[9] = {0xAA, 0x01,
(PM25_Filter >> 8) & 0xFF, PM25_Filter & 0xFF,
(HCHO_Filter * 100) >> 8, (HCHO_Filter * 100) & 0xFF,
(uint16_t)(Temp_Value * 10) >> 8, (uint16_t)(Temp_Value * 10) & 0xFF,
0x55};
HAL_UART_Transmit(&huart1, data, 9, 100);
}
void Bluetooth_ReceiveData(uint8_t *buf) {
// 解析APP指令(如0x01:启动,0x02:停止,0x03:修改阈值)
switch(buf[1]) {
case 0x01: Mode = MANUAL; Purify_Start(); break;
case 0x02: Mode = MANUAL; Purify_Stop(); break;
// 阈值修改逻辑(代码省略)
}
}
(五)数据存储模块
采用 AT24C02 EEPROM(I2C 接口,2KB 容量)存储:
设备参数:PM2.5 与甲醛的高 / 低阈值(默认 PM2.5_LOW=75,PM25_HIGH=150;HCHO_LOW=0.1,HCHO_HIGH=0.3)。
运行记录:最近 10 条超标记录(时间 + 参数值),掉电不丢失。
(六)低功耗管理模块
空闲状态(5 分钟无操作且空气质量达标)时,STM32 进入休眠模式(关闭外设时钟,保留 RTC 与中断源),电流从 80mA 降至 15mA。
唤醒机制:传感器检测到参数超标、按键按下或蓝牙指令触发时,通过外部中断唤醒系统。
四、系统测试与优化
在 30㎡密闭房间测试:
监测精度:PM2.5 实测值与标准仪器误差≤8μg/m³,甲醛误差≤0.03mg/m³,温湿度误差符合设计指标。
控制响应:从参数超标到净化设备启动的延迟≤2 秒,达标后停机延迟≤5 秒。
续航能力:采用 12V/2000mAh 锂电池供电时,待机时间≥8 小时,连续净化运行≥3 小时。
优化措施:
传感器校准:通过标准气体与仪器校准 SGP30,将甲醛测量误差从 0.05mg/m³ 降至 0.03mg/m³。
风扇调速算法:采用平滑调速(每次调节 10% 占空比,间隔 500ms),避免风速骤变导致的噪音。
抗干扰设计:在传感器信号线与电源线上增加磁珠,减少电磁干扰对 PM2.5 检测的影响。
五、结语
基于 STM32 的室内空气净化监测系统通过多参数监测与智能控制,实现了室内空气质量的自动化管理,既能自动响应污染超标情况,又支持用户手动干预与远程监控,兼顾了便捷性与可靠性。系统硬件成本低、功耗适中,适合家庭与办公场景推广应用。
后续可扩展功能包括 CO2 浓度监测(增加 MH-Z19B 传感器)、滤网寿命提醒(通过累计运行时间计算)、语音控制(集成 ASR 模块)等,进一步提升系统的智能化与用户体验,助力健康家居环境建设。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。