基于STM32单片机环境空气质量检测系统功能说明:
- TFTLCD显示+按键+LVGL(UI用户图形交互界面)
- 环境温湿度检测
- 环境空气质量检测(甲醛、二氧化碳等)
- 报警功能(蜂鸣器报警、图形界面弹窗报警)
- 时间显示
- 机智云平台连接
- 可充电(type-C)
- 低功耗
硬件原理图设计:
最小系统设计:
由于要使用到LVGL,可能需要加载字库、图片什么的,需要外挂SPI FLASH与SD卡,并且功能不是很多,用到的引脚也较少,所以这里我选用的是STM32F103RET6,该芯片参数如下:
其实选用这个芯片也是比较浪费的,可以选RCT6都可以,不用很大的FLASH和RAM,只是我这里为了想把UI做好看一点,才选大一点的,可以根据实际情况选择,反正淘宝上两者的价格差距也不是很大,电路如下:
存储模块设计:
存储模块部分主要包括SD卡、SPI FLASH(W25Q128)以及EEPROM(AT24C02),前面两者用于存储图片、字库等数据,从SD卡读相关数据写入SPI FLASH,写入SPI FLASH只用于出厂设置或者更新数据时使用,此后SPI FLASH只读;而SD卡可以存储一些日志什么的;EEPROM就用于存储一下设置数据。电路设计如下:
SPI FLASH 电路:
SD 卡电路:
EEPROM电路:
温湿度模块:
该部分选用SHT20芯片,该芯片具有精度高、成本低、功耗低等特点:
如果还需降低成本,可以直接用AHT20或者DHT11都可以。
SHT20电路设计如下:
空气质量检测模块:
该部分选用SGP30芯片,该芯片精度高,但是成本也比较高,本项目成本最高部分也就是该模块了,电路设计如下:
由于该芯片是1.8V工作电压,所以还需提供一个1.8V稳压电路,并且单片机IO引脚输出3.3V,该芯片IO引脚输出1.8V,也不兼容,通信时需要加上电平转换电路。
WIFI模块:
WiFi模块使用ESP8266模块,可以直接接入机智云,在机智云app上看到相关数据;也可接入其他云平台,可开发性较大。电路设计如下:
该部分预留了固件下载电路。
主要参数:
充电电源模块:
该部分要实现充电、降压、电压测量、USB检测等功能,当USB未插入时,使用电池供电,当USB插入时使用USB供电。电路设计如下:
这个电路目前唯一缺点在3.3V稳压部分(RT9193-3.3),该芯片输出最大电流为300mA,并且随着输入电压的变化输出电压也会小于3.3V;最开始想的是本项目也用不上什么大电流,就选了该芯片:
后面查看wifi部分工作电流还是挺大的,但是发现较晚,PCB已经做好了,只有等后面更新版本时候再加一个3.3V稳压电路单独给WIFI模块供电了。
2024.7.17电源更改方案:
- 为了在让电池电压过低时也能稳定输出3.3V,所以采用升降压芯片(TPS63001),电器参数如下:
最大输出1.2A电流,完全能够满足本设计供电需求;电路如下:
其他模块:
LCD显示屏电路、蜂鸣器电路、按键电路都是一些简单电路我就不做详细介绍了。
整体电路设计:
最终硬件实物如下:
正面图:
背面图:
试做了一个3D外壳,在嘉立创上打印的,手感还不错。