1. 项目背景与核心需求
在建筑工地、矿区等露天作业场所,扬尘污染一直是环境治理的难点。传统的人工巡查方式存在监测盲区大、响应滞后等问题。我们设计的这套系统正是为了解决这一痛点——通过物联网技术实现扬尘浓度的实时监测与自动喷洒控制。
这个系统的核心价值在于三点:一是7×24小时不间断监测,数据精度达到±5μg/m³;二是建立"监测-分析-控制"的闭环系统,当PM2.5超过设定阈值时自动触发喷淋装置;三是支持远程监控,管理人员通过手机APP即可查看实时数据和设备状态。
2. 系统架构设计
2.1 硬件组成
系统采用模块化设计,主要包含:
- 感知层:激光粉尘传感器(型号SDS011)、温湿度传感器(DHT22)
- 控制层:STM32F103C8T6最小系统板(72MHz主频,64KB Flash)
- 通信层:ESP8266 WiFi模块(支持802.11 b/g/n协议)
- 执行层:电磁阀控制的水雾喷淋装置
2.2 软件架构
系统软件分为三个部分:
- 嵌入式端:基于Keil MDK开发的固件程序
- 云端:阿里云物联网平台作为数据中转站
- 应用端:微信小程序作为用户交互界面
3. 关键技术实现
3.1 传感器数据采集
激光粉尘传感器通过UART接口与STM32通信,采用Modbus协议传输数据。我们在程序中实现了滑动平均滤波算法,有效消除了瞬时波动干扰:
#define FILTER_SIZE 5 float dustFilter(float newValue) { static float buffer[FILTER_SIZE] = {0}; static uint8_t index = 0; buffer[index] = newValue; index = (index + 1) % FILTER_SIZE; float sum = 0; for(int i=0; i<FILTER_SIZE; i++) { sum += buffer[i]; } return sum / FILTER_SIZE; }3.2 物联网通信实现
ESP8266通过AT指令与STM32交互,关键配置步骤如下:
- 设置WiFi模式:AT+CWMODE=3(STA+AP模式)
- 连接路由器:AT+CWJAP="SSID","password"
- 建立MQTT连接:AT+MQTTUSERCFG=0,1,"clientID","username","password",0,0,""
- 订阅主题:AT+MQTTSUB=0,"topic/sub",1
注意:实际使用中建议添加重连机制,当网络异常时自动尝试重新连接。
3.3 控制逻辑设计
喷洒控制采用模糊PID算法,根据扬尘浓度动态调整喷淋强度。核心控制逻辑如下:
| PM2.5浓度(μg/m³) | 控制策略 | 喷淋时长 |
|---|---|---|
| 0-75 | 关闭 | 0s |
| 75-150 | 间歇模式 | 30s开/60s关 |
| 150-300 | 持续模式 | 持续开启 |
| >300 | 强化模式 | 持续开启+报警 |
4. 系统部署与优化
4.1 设备安装要点
- 传感器安装高度建议1.5-2米,避开直接喷淋范围
- 喷淋头采用扇形喷嘴,覆盖半径约5米
- 设备箱体需达到IP65防护等级
4.2 实际测试数据
在某建筑工地进行的7天连续测试显示:
| 日期 | 超标次数 | 自动喷淋次数 | 平均响应时间 |
|---|---|---|---|
| Day1 | 8 | 8 | 23s |
| Day2 | 12 | 12 | 18s |
| ... | ... | ... | ... |
| Day7 | 6 | 6 | 15s |
5. 常见问题解决方案
5.1 传感器数据异常
现象:粉尘浓度值持续为0或异常偏高 排查步骤:
- 检查UART接线是否松动
- 测量传感器供电电压(正常5V±0.2V)
- 清洁激光通道镜片
5.2 网络连接不稳定
优化方案:
- 在ESP8266代码中添加看门狗机制
- 采用双重心跳包设计(MQTT层+应用层)
- 设置信号强度阈值,低于-75dBm时触发报警
6. 项目扩展方向
- 增加视频监控模块,实现扬尘源定位
- 集成气象站数据,建立粉尘扩散模型
- 开发多设备协同控制算法,优化喷淋覆盖
在实际部署中我们发现,设备安装角度对监测精度影响很大。建议将传感器朝向主导风向,同时定期进行校准维护。这套系统目前已在三个工地稳定运行半年,平均降低扬尘浓度42%,相比人工洒水车节省用水量约60%。