第三章 水质监测系统需求分析:监测指标、采样频率与数据上报周期
好,咱们进入正题。做水质监测系统,第一步不是写代码,也不是选芯片。而是搞清楚一个问题:你到底要监测什么?
我见过不少团队,上来就搞RTOS调度,结果做到一半发现传感器采样太慢,或者数据量太大,内存爆了。说白了,需求分析没做透。今天我就带你把这块掰开揉碎了讲清楚。
3.1 四大核心监测指标
水质监测,不是随便测几个数就完事。根据《地表水环境质量标准》和实际工程经验,我通常把指标分成两类:常规五参数和特定污染物。咱们这个课程,先聚焦最基础的四个指标。
| 指标 | 单位 | 典型范围 | 传感器类型 | 我踩过的坑 |
|---|---|---|---|---|
| pH | 无量纲 | 0~14(淡水6~9) | 玻璃电极/ISFET | 电极老化导致漂移,需定期校准 |
| 浊度 | NTU | 0~1000 | 散射光式 | 气泡干扰读数,采样前要静置 |
| 溶解氧 | mg/L | 0~20 | 荧光法/电化学法 | 荧光膜寿命有限,别买便宜货 |
| 温度 | ℃ | -5~50 | PT100/NTC | 响应速度慢,需要滤波 |
关键点:这四个指标不是孤立的。温度会影响溶解氧的饱和度,pH会影响重金属的毒性形态。你想想看,如果只测一个温度,那意义不大。我习惯把温度作为补偿参数,在RTOS任务里做实时修正。
3.2 采样频率要求——快了不行,慢了误事
采样频率怎么定?很多人觉得越快越好。其实不是。我举个例子:
pH传感器,响应时间通常在10~30秒。你如果1秒采一次,采到的全是噪声。溶解氧传感器更慢,荧光法需要几秒到十几秒才能稳定。所以采样频率必须跟传感器特性匹配。
我个人习惯用这张表来定频率:
| 指标 | 传感器稳定时间 | 推荐采样间隔 | 说明 |
|---|---|---|---|
| pH | 10~30秒 | 5~10秒 | 太频繁会读到电极噪声 |
| 浊度 | 2~5秒 | 1~3秒 | 水流波动大时可适当加快 |
| 溶解氧 | 5~15秒 | 5~10秒 | 荧光法建议取3次平均 |
| 温度 | 1~3秒 | 1~5秒 | 变化慢,可以降低优先级 |
避坑指南:我曾经在一个项目中,把浊度采样设成了100ms一次。结果数据全是毛刺,后来发现是气泡和水流波动造成的。改成3秒一次,加了个滑动平均滤波,数据就漂亮多了。所以,采样频率不是越快越好,而是要匹配物理过程。
3.3 数据上报周期——给RTOS调度定节奏
数据上报周期,决定了你的RTOS任务怎么设计。我把它分成三个层级:
- 本地显示周期:1~5秒刷新一次。给现场操作人员看实时趋势。
- 本地存储周期:10秒~1分钟存一条。SD卡或Flash空间有限,不能太密。
- 远程上报周期:1分钟~1小时上报一次。取决于通信模块功耗和流量费用。
举个例子,我做过一个河道监测项目:
- pH和溶解氧:每10秒采一次,每1分钟上报一次(取6次平均值)
- 浊度:每3秒采一次,每30秒上报一次(取10次中位数)
- 温度:每5秒采一次,每5分钟上报一次(变化慢,省电)
你看,不同指标的采样和上报周期是解耦的。这就是RTOS的优势——每个传感器可以有自己的任务周期,互不干扰。
注意:上报周期不能短于采样周期。否则你上报的是无效数据。我见过有人把上报周期设成1秒,但溶解氧传感器稳定需要10秒,结果上报的全是过渡态数据。嗯,这个坑我替你们踩过了。
3.4 需求分析总结——给RTOS任务设计打基础
好了,咱们把需求理清楚了。接下来要做的是:
- 每个指标对应一个传感器任务,按采样间隔触发
- 数据经过滤波和校准后,存入共享缓冲区
- 一个上报任务按周期读取缓冲区数据,打包发送
- 温度任务作为补偿任务,修正其他传感器的读数
说白了,需求分析就是给RTOS画一张「任务地图」。哪个任务跑多快,哪个任务优先级高,哪个任务需要同步,全看这里。
下一章,我会带你把这些需求转化成具体的RTOS任务设计。到时候咱们再细聊任务优先级怎么定、信号量怎么用。今天就先到这儿。
一句话总结:采样频率看传感器,上报周期看应用场景。两者匹配好了,RTOS调度就成功了一半。