1. 项目概述
最近在工作室捣鼓了一个挺有意思的小项目——用单片机做个智能换气系统。起因是发现工作室经常有人抽烟,加上南方潮湿天气,空气质量时好时坏。市面上的新风系统要么太贵,要么功能过剩,索性自己动手做一个。
这个系统核心功能很简单:实时监测室内空气质量(主要是CO2、温湿度、TVOC),当数值超标时自动启动排气扇换气。整套系统成本不到200块,但效果出奇地好,特别是解决了以下几个痛点:
- 被动换气变主动:传统排气扇要么常开要么手动控制,这个系统能根据实际空气质量智能调节
- 多参数联动:不仅看CO2浓度,还会结合温湿度综合判断是否需要换气
- 低功耗设计:采用ESP8266+STM32双MCU方案,待机功耗控制在1W以内
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计与选型
2.1 核心控制器选型
经过对比测试,最终选择了ESP8266+STM32F103C8T6的双MCU方案:
c复制// 硬件连接示意图
[ESP8266] <-I2C-> [传感器阵列]
↑UART↓
[STM32] <-PWM-> [继电器模块]
<-GPIO-> [OLED显示屏]
选型考虑:
- ESP8266负责WiFi连接和传感器数据采集(内置ADC精度够用)
- STM32负责逻辑控制和PWM调速(定时器资源丰富)
- 双MCU分工既保证了实时性,又降低了单个MCU的负载
踩坑记录:最初尝试用ESP32单芯片方案,发现PWM输出在WiFi高负载时会出现抖动,影响风扇控制稳定性。
2.2 传感器阵列配置
传感器选型对比表:
| 传感器类型 | 型号 | 测量范围 | 精度 | 价格 |
|---|---|---|---|---|
| CO2 | MH-Z19B | 0-5000ppm | ±50ppm | ¥85 |
| 温湿度 | SHT30 | -40~125℃ | ±0.3℃ | ¥35 |
| TVOC | CCS811 | 400-2000ppb | ±15% | ¥60 |
实际使用中发现几个关键点:
- MH-Z19B需要预热3分钟才能稳定读数
- CCS811对酒精敏感,要远离可能的酒精源
- SHT30的湿度读
