1. 项目概述与背景
去年夏天参与某湖泊治理项目时,我深刻体会到传统水质监测的痛点——工作人员需要划着小船到湖心取样,再送回实验室分析,整个过程耗时3-5天。当拿到超标数据时,污染早已扩散。这促使我设计了一套基于STM32的便携式污水检测船方案,实现水质参数的实时采集与云端同步。
这套系统核心由三部分组成:搭载多传感器的移动检测船(STM32F103C8T6主控)、华为云IoT平台数据中转、跨平台Qt上位机。实测表明,在200米半径水域内可稳定实现pH值(±0.1精度)、溶解氧(±0.3mg/L)、浊度(±5NTU)等参数的分钟级更新,相比传统方法效率提升90%以上。
关键创新点:采用模块化传感器架构,通过磁吸式接口实现传感器快速更换;独创的双通道校验机制,有效解决水质传感器易受干扰的行业难题。
2. 硬件系统设计
2.1 核心硬件选型
主控选用STM32F103C8T6,主要考量如下:
- 3个USART接口(WiFi/传感器/调试)
- 12位ADC满足水质传感器精度需求
- 72MHz主频保证多任务处理能力
- 市场价格仅15-20元,性价比突出
传感器配置方案:
- pH传感器:工业级SEN0161,0-14量程,模拟输出
- 需配合专用pH电极液定期校准
- 溶解氧传感器:SEN0237,I2C接口
- 自带温度补偿,但需避免气泡干扰
- 浊度传感器:TS-300B,0-1000NTU
- 需增加防藻涂层防止生物附着
2.2 防水与动力系统
船体采用3D打印ABS外壳,关键部位用硅胶密封:
- 电机选用JGA25-370防水直流电机
- 螺旋桨经过流体力学优化,实测推力达1.2kgf
- 双18650电池供电,续航约4小时
血泪教训:初期使用普通电机,一周后轴承锈蚀导致失控。后改用IP68级电机并增加牺牲阳极保护。
3. 嵌入式软件设计
3.1 传感器驱动开发
以pH传感器为例,需特别注意:
c复制// 模拟量采集需做滑动滤波
#define SAMPLE_TIMES 10
float read_pH_value() {
uint32_t sum = 0;
for(int i=0; i<SAMPLE_TIMES;
