1. 项目概述
这个智能远程空气监测小车是我去年为一个工业园区环境监测项目开发的解决方案。当时客户需要一种能够灵活移动、实时采集厂区内多点空气质量数据的设备。传统固定式监测站成本高、覆盖范围有限,而人工手持设备巡检又效率低下。于是我们设计了这个集成了多种传感器、具备自主导航能力的移动监测平台。
整套系统最核心的价值在于实现了三大功能:一是通过高精度传感器阵列实现PM2.5、VOCs等六项空气指标的实时采集;二是利用4G/WiFi双模通信保证数据实时回传;三是开发了基于激光雷达的自主避障导航系统,可以在复杂工业环境中安全运行。实测表明,单台设备可以替代3-5个固定监测点,数据采集效率提升60%以上。
2. 硬件系统设计
2.1 传感器选型与集成
空气质量监测的核心在于传感器精度和稳定性。经过多次对比测试,我们最终选定了以下传感器组合:
- PM2.5/PM10:攀藤PMS7003激光颗粒物传感器,分辨率1μg/m³
- VOCs:盛思锐SGP30金属氧化物半导体传感器,检测范围0-60000ppb
- CO2:SenseAir S8非分散红外传感器,精度±50ppm+3%
- 温湿度:SHT31数字式传感器,温度精度±0.2℃,湿度±2%RH
- 气压:BMP280,绝对精度±0.12hPa
特别注意:工业环境中电磁干扰较强,所有传感器信号线都需要加装磁环,模拟信号传输距离不超过50cm。我们采用分体式设计,将传感器集中在一个防尘罩内,通过I2C总线与主控通信。
2.2 移动平台搭建
小车底盘选用Jetson Xavier NX开发套件,主要考虑因素包括:
- 计算性能:6核CPU+384核GPU,可同时处理传感器数据和运行SLAM算法
- 接口丰富:自带多个USB3.0、GPIO和I2C接口
- 功耗控制:15W TDP适合电池供电
驱动系统采用四轮独立悬挂的麦克纳姆轮方案,配备4个37GB550直流减速电机(减速比1:30),配合TB6612FNG电机驱动模块。实测载重可达8kg,最大爬坡角度15°。
3. 软件系统架构
3.1 数据采集与传输
传感器数据采集采用多线程架构:
python复制class SensorThread(threading.Thread):
def __init__(self, sensor_type):
self.sensor = init_sensor(sensor_type)
self.buffer = []
def run(self):
while True:
data = self.sensor.read()
self.buffer.append(data)
time.sleep(1) # 采样间隔1秒
# 创建各传感器线程
pm_thread = SensorThread('PMS7003')
voc_thread = SensorThread('SGP30')
数据传输采用MQTT协议,设计了两级缓存机制:本地SQLite数据库存储原始数据,网络通畅时批量上传到云端InfluxDB。关键配置参数:
json复制{
"mqtt_broker": "iot.example.com",
"keepalive": 60,
"qos": 1,
"retain": true,
"topic": "airmonitor/{device_id}/sensor"
}
3.2 自主导航系统
导航系统基于ROS Melodic开发,主要组件包括:
- 建图:采用gmapping算法,2D激光雷达(RPLIDAR A3)扫描范围25m
- 定位:AMCL自适应蒙特卡洛定位,定位精度±2cm
- 路径规划:全局规划使用A*算法,局部避障采用DWA算法
关键参数调优经验:
- 激光雷达安装高度建议离地30-40cm
- 代价地图膨胀半径设置为小车实际宽度+10cm安全距离
- 控制频率不低于10Hz,否则会出现"蛇形走位"
4. 实际部署与优化
4.1 现场校准流程
工业环境中的传感器校准至关重要,我们的标准流程是:
- 预热:所有传感器通电预热30分钟
- 零点校准:在洁净空气环境中执行(使用活性炭过滤)
- 跨度校准:使用标准气体(CO2 2000ppm,VOCs 500ppb)
- 交叉验证:与专业级检测仪(如TSI 8533)同步采样对比
实测发现:PM传感器需要每周清洁光学窗口,VOCs传感器每月需要24小时高温脱附维护。
4.2 典型问题排查
问题1:激光雷达在强光环境下丢失特征点
- 解决方案:加装遮光罩,调整扫描频率从10Hz降到5Hz
问题2:WiFi在金属密集区域频繁断开
- 解决方案:改用4G通信,增加信号强度检测自动切换机制
问题3:电机在潮湿环境出现异常噪音
- 解决方案:更换为IP54防护等级电机,每周给齿轮箱加注润滑脂
5. 系统扩展与改进
当前系统已经稳定运行超过6个月,后续改进方向包括:
- 增加太阳能充电模块,延长户外工作时间
- 开发多车协同巡检算法,优化路径规划
- 集成TVOC和甲醛专项检测模块
- 使用深度学习算法实现异常排放源定位
实际部署中发现,工业场景中最影响使用寿命的因素其实是震动和粉尘。我们后来给所有电路板都做了灌胶处理,接口处使用防水航空插头,这些改进使设备MTBF从3个月提升到了9个月以上。