2. 环境传感器数据采集与漂移表现

要识别漂移,先得弄清楚“正常数据长什么样”。环境传感器的漂移之所以难判断,往往不是因为漂移本身多复杂,而是因为采集链路中混入了太多与漂移相似的变化:温度骤升、湿度饱和、颗粒物瞬时扬尘、气体传感器预热不足,都会让原始读数出现台阶或斜坡。因此本节从传感器输出特性出发,先建立“原始数据如何形成”的完整认识,再讨论漂移在其中的典型形态,最后落到采集系统组成与记录规范。

一、典型环境传感器的输出特性

温度传感器中,铂电阻(如 PT100/PT1000)依靠电阻随温度近似线性变化,常用三线或四线制接法消除引线电阻影响,输出需经恒流激励与放大后由 ADC 采样;数字型器件(如 DS18B20、SHT 系列内置测温)则直接给出数字量。温度漂移常表现为零点缓慢偏移或斜率变化,前者是整体平移,后者是高低两端偏差不一致。

湿度传感器多为电容式高分子湿敏元件,输出与相对湿度近似线性,但对温度高度敏感,且存在迟滞与饱和恢复慢的问题。长期在高湿环境工作后,感湿层可能发生溶胀或污染,表现为低湿段读数偏高、高湿段响应变钝。气体传感器(如金属氧化物半导体、电化学式)普遍需要加热或偏置,输出为电阻或电流,具有明显的预热时间、交叉敏感和基线漂移特征——基线漂移是气体传感器最典型的漂移形式。颗粒物传感器(激光散射式)输出单位时间的脉冲计数,换算为 μg/m³,其漂移多来自光学腔污染与风扇流量衰减,表现为同一浓度下计数效率下降。

二、漂移在原始数据中的表现形式

漂移不是噪声,也不是突跳,它在时间序列上有相对稳定的形态。常见有四类:基线平移,即整段数据整体抬高或压低,斜率不变;灵敏度衰减,即输入变化相同但输出幅度变小,表现为斜率下降;零点漂移,在无输入或参考状态下读数偏离零点;响应迟滞增大,即上升与下降沿不对称、恢复时间变长。此外还有周期性漂移(与昼夜温度循环耦合)和阶跃式漂移(清洗、更换滤膜后跳变)。

区分漂移与真实环境变化的关键在于参照:若同一时段内参考传感器读数平稳而目标传感器缓慢单调偏移,则漂移可能性大;若多台同型号传感器同步偏移,则更可能是环境真实变化或采集系统共因(如供电电压下降)。下面的信号链图展示了从敏感元件到记录数据的完整路径,以及漂移可能注入的环节。

环境传感器采集信号链与漂移注入点 敏感元件 温/湿/气/颗粒物 信号调理 激励/放大/滤波 ADC 采样 量化/采样率 标定换算 线性化/补偿 记录存储 时间戳/单位 老化/污染 灵敏度衰减、迟滞 激励漂移 加热功率、基准电压 量化与噪声 分辨率不足、温漂 标定系数过期 零点/斜率失配 记录缺失 时间戳错位、单位混用 基线平移 灵敏度衰减 零点漂移 迟滞增大

三、采集系统的基本组成

一个可支撑漂移分析的采集系统,至少包含五部分:传感与调理电路(含激励源、放大、滤波)、数据采集器(ADC、采样率、分辨率)、主控与通信(MCU/网关、Modbus、LoRa、MQTT 等)、时间基准(RTC 或 NTP 对时)、存储与上传(本地缓存 + 云端)。其中时间基准常被忽视,但漂移分析本质是趋势分析,时间戳错位会让斜率计算完全失真。

采样参数需要与传感器特性匹配。以温度为例,若关注缓慢漂移,采样间隔 1~5 分钟足够,但需保证 ADC 分辨率优于 0.1 ℃;气体传感器响应快但恢复慢,建议 10~30 秒采样并保留原始未补偿值;颗粒物传感器宜采用 1 分钟均值以抑制扬尘脉冲。采样率过低会掩盖阶跃漂移,过高则放大噪声、增加存储负担。

四、记录规范:让漂移可追溯

原始数据必须“可解释”,否则后续校正无从下手。建议每条记录至少包含:设备编号、传感器型号与序列号、通道号、采集时间(带时区)、原始值、工程值、单位、状态标志(预热中/正常/故障)、以及标定版本号。状态标志尤其重要——预热期的数据若被当作正常值参与趋势拟合,会人为制造一段“漂移”。

下面给出一份可直接参考的记录字段示例(数值为示例假设,非实测):

device_id: ENV-A03
sensor: SHT35 (SN: 7C21-0451)
channel: T01
timestamp: 2024-06-12T08:30:00+08:00
raw_value: 17432        # ADC 原始码值
eng_value: 24.6         # 换算后温度,℃
unit: degC
status: NORMAL          # PREHEAT / NORMAL / FAULT
calib_ver: CAL-2024-03  # 标定系数版本
记录规范的核心原则是“原始值与工程值并存”。只存工程值会丢失换算过程,一旦标定系数更新,历史数据无法回溯重算;只存原始值则不利于快速判读。两者并存,才能在发现漂移后重新用新系数复算并对比。
常见误区:把“清洗传感器后读数跳变”直接当作漂移。清洗属于维护事件,应在记录中打上 MAINT 标记并单独成段,否则趋势线会在维护点出现虚假拐点,干扰漂移速率估计。

综合来看,漂移识别的起点不在算法,而在采集质量:传感器输出特性决定了漂移的可能形态,信号链决定了漂移的注入环节,记录规范决定了漂移能否被追溯和复算。把这三件事做扎实,后续的基线建模与校正才有可靠的数据基础。