
工业现场给网口温湿度变送器供电,常见两种接法:
以太网温湿度传感器内部电源链通常是:24VDC 进 → LDO/DC-DC → 3.3V/1.8V 数字域 + 模拟前端激励。纹波和瞬态通过三条路径影响读数:
本文给出实测方法、数据、归因和工程处置,偏现场可复现。
工况 | 构造方式 | 备注 |
|---|---|---|
基准 | 线性电源,纹波 < 5mVpp | 参考读数 |
正常开关电源 | 明纬上电,轻载 | 现场常见 |
重载共轨 | 24V 轨并接继电器线圈周期吸合(模拟现场) | 引入 100kHz~1MHz 纹波 |
长线压降 | 馈线 30m,末端电压 21.5V | 验证欠压域 |
瞬态 | 邻近接触器分断,捕获尖峰 | 示波器触发捕获 |
示波器测点:传感器电源端子内侧,10x 探头上浮地,带宽 200MHz,FFT 看频谱。
from pymodbus.client import ModbusTcpClient
import time, requests
def read_env(host):
c = ModbusTcpClient(host=host, port=502, timeout=0.5)
out = {}
if c.connect():
r = c.read_holding_registers(0, 2, unit=1)
if not r.is_error():
out['temp'] = r.registers[0]/10.0
out['humi'] = r.registers[1]/10.0
c.close()
return out
while True:
t = time.time_ns()
d = read_env('192.168.1.10')
line = f"env,host=sensorA temp={d.get('temp',float('nan'))},humi={d.get('humi',float('nan'))} {t}"
requests.post('http://localhost:8186/write', data=line.encode())
time.sleep(1)边缘网关侧同时跑 tcpdump,后期关联电源事件时间戳(NTP 同源)。
24V 轨纹波/噪声(pp) | 末端电压 | 温度读数 σ(1min) | 湿度读数 σ(1min) | 链路表现 |
|---|---|---|---|---|
5mV(线性基准) | 24.0V | 0.02℃ | 0.15%RH | 稳定 |
80mV(正常开关电源) | 23.8V | 0.05℃ | 0.3%RH | 稳定 |
320mV @ 250kHz(重载共轨) | 23.1V | 0.18℃ | 1.2%RH | 偶发重传 |
600mV+振铃(接触器分断后) | 22.4V | 0.4℃ 尖峰跳变 | 3~5%RH 跳变 | PHY 复位1次 |
欠压域 21.5V | 21.5V | 读数冻结/旧值 | 同上 | TCP 连接时断时续 |
注意:跳变不是校准偏移,是短时抖动 + 算法滤波后的输出阶跃。稳态偏移反而小——多数变送器内部 LDO 后级稳压,线性调整器把电源纹波隔离了一部分。
改造后复测:
工业现场 24VDC 纹波对以太网温湿度传感器的影响,多数情况下不直接毁设备,而是通过两条链路放大运维成本:测量值短时抖动引发误告警,电源瞬态致链路复位致采集中断。工程上优先做供电隔离 + 滤波 + 边缘侧质量过滤,而非换更高精度探头。跨城集中监控时,把供电状态纳入遥测,比单纯加严阈值更有效。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。