第三章 传感器与信号采集:常见传感器类型与数据预处理

大家好,我是老张。今天咱们聊聊传感器和信号采集。说实话,自动化产线出故障,十有八九是传感器先“报警”。但报警归报警,你能不能读懂它的“语言”,才是关键。

我个人习惯把传感器比作产线的“五官”。温度传感器是皮肤,压力传感器是触觉,振动传感器是听觉,电流传感器是脉搏。五官失灵,大脑再聪明也没用。所以,这一章咱们就扎扎实实地把这几类传感器搞明白。

3.1 常见传感器类型与实战选型

先别急着看参数。你想想看,选传感器最怕什么?怕选错型。我在项目中遇到过好几次,现场振动大,结果选了非接触式的电涡流传感器,信号直接被干扰成“心电图”。所以,先搞清楚每种传感器的脾气。

3.1.1 温度传感器

产线上最常用的就三种:热电偶、热电阻(PT100)、红外测温。

  • 热电偶:便宜、耐高温(最高能到2000℃),但精度一般。适合炉膛、排烟管道。我建议选K型或S型,通用性好。
  • 热电阻(PT100):精度高、稳定性好,但测温范围窄(-200~600℃)。适合液体、气体介质。嗯,这里要注意:PT100接线必须是三线制或四线制,否则导线电阻会引入误差。
  • 红外测温:非接触,适合运动物体或高温危险区域。但发射率设置不对,读数能差几十度。我曾经在退火炉上吃过这个亏,后来加了黑体校准才搞定。
避坑指南: 我曾经在一条涂布产线上,用PT100测烘箱温度,结果数据一直跳。查了半天,发现是变频器干扰。后来把信号线换成屏蔽双绞线,单独走线槽,问题解决。记住:温度信号是慢变信号,最怕高频干扰。

3.1.2 压力传感器

压力传感器分两大类:压阻式和电容式。压阻式便宜,但温漂大;电容式精度高,但贵。选型时主要看量程和介质兼容性。

  • 量程选择:工作压力最好在量程的30%~70%之间。选太大,分辨率不够;选太小,容易过载损坏。
  • 介质兼容性:测腐蚀性液体,必须用隔膜式或陶瓷传感器。我见过有人用不锈钢膜片测盐酸,结果膜片被腐蚀,压力直接漏光。
警告: 压力传感器安装时,取压口一定要朝下或水平,避免气泡积聚。否则,你测到的不是压力,是“气顶水”的假信号。

3.1.3 振动传感器

振动传感器是旋转设备的“听诊器”。常见的有加速度传感器和速度传感器。

  • 加速度传感器:频响宽(0.5Hz~10kHz),适合测高频振动。比如轴承故障、齿轮啮合。
  • 速度传感器:低频响应好,适合测不平衡、不对中。比如风机、泵的基频振动。

我个人习惯:测轴承用加速度,测机座用速度。但注意,安装方式很重要。磁吸式方便但高频衰减大,螺纹安装最可靠。我曾经用磁吸式测一个高速电机,结果高频成分全丢了,换了螺纹安装才抓到故障特征。

3.1.4 电流传感器

电流传感器是电机和电源的“心电图”。主要分霍尔式和罗氏线圈。

  • 霍尔式:测直流和交流,精度高,但带宽有限(一般<100kHz)。适合变频器输出、直流母线。
  • 罗氏线圈:带宽极宽(可达MHz级),但只能测交流。适合高频电流、雷击波形。

嗯,这里要注意:电流传感器安装时,一定要让导线居中穿过。偏了,误差能到5%以上。我在项目中遇到过,工人图省事把线绑在一边,结果电流读数一直偏低,差点误判电机过载。

3.2 信号采集与预处理

传感器选好了,信号怎么采?说白了,就是把模拟量变成数字量。这里涉及采样率、分辨率、抗混叠滤波三个核心问题。

3.2.1 采样率与分辨率

采样率决定了你能看到多快的信号。根据奈奎斯特定理,采样率至少是信号最高频率的2倍。但实战中,我建议至少5~10倍。为什么?因为实际信号不是纯正弦波,有谐波和噪声。比如测50Hz工频电流,采样率至少500Hz,才能看到5次谐波。

分辨率决定了你能看到多小的信号。12位ADC能分辨4096级,16位能分辨65536级。对于温度、压力这种慢变信号,12位够用;但对于振动、电流这种动态信号,我建议至少16位。

实战经验: 我在一条高速包装产线上,用12位ADC采集振动信号,结果故障特征被量化噪声淹没了。换成16位后,轴承早期磨损的边频带清晰可见。所以,别省那几百块钱的ADC钱。

3.2.2 抗混叠滤波

采样前必须加低通滤波器,滤掉高于采样率一半的频率成分。否则,高频信号会“折叠”到低频段,产生假信号。这叫混叠。

我见过一个案例:现场用100Hz采样率测50Hz信号,结果有个80Hz的干扰信号被混叠成20Hz,被误判为设备故障。后来加了截止频率45Hz的模拟滤波器,问题解决。

3.3 数据清洗方法

信号采回来了,但数据是“脏”的。有噪声、有野点、有缺失。不洗一洗,后面的分析全是扯淡。我总结了三步走:去噪、去野、补缺。

3.3.1 去噪:移动平均与中值滤波

移动平均适合平滑慢变信号,比如温度、压力。但注意,窗口大小要合适。窗口太大,信号延迟;窗口太小,噪声滤不干净。我一般取5~15个点。

# 移动平均示例(Python)
import numpy as np
def moving_average(data, window=5):
    return np.convolve(data, np.ones(window)/window, mode='same')

中值滤波适合去除脉冲噪声,比如振动信号的尖峰。它不会模糊边缘,比移动平均更适合动态信号。

3.3.2 去野:3σ准则与箱线图

野点就是明显偏离正常范围的数据点。最常用的方法是3σ准则:数据点超出均值±3倍标准差,就认为是野点。

# 3σ去野示例
def remove_outliers(data, threshold=3):
    mean = np.mean(data)
    std = np.std(data)
    return [x for x in data if abs(x - mean) < threshold * std]

但注意,3σ准则假设数据是正态分布。如果数据有趋势或周期性,要先做差分或去趋势。我曾经在一条连续产线上,直接用3σ去野,结果把正常的启停过程数据全删了。后来加了滑动窗口,才保住有效数据。

3.3.3 补缺:线性插值与前向填充

数据缺失是常事。通信丢包、传感器掉线,都会造成空缺。补缺方法很简单:

  • 线性插值:适合慢变信号,比如温度、液位。用前后两个有效点连线,填补中间空缺。
  • 前向填充:适合开关量或阶跃信号,比如阀门状态。用上一个有效值填充。

但注意,不要对振动信号做插值。振动是高频动态信号,插值会引入虚假频率成分。我建议直接丢弃缺失段,或者用模型预测填补。

小技巧: 数据清洗前,先画个时序图。肉眼一看,就知道有没有野点、有没有趋势。别一上来就上算法,先看看数据长什么样。

3.4 知识体系框架图

下面这张图,是我自己总结的传感器与信号采集的知识体系。你把它存下来,以后选型、调试、排故时,拿出来对照着看。

传感器与信号采集知识体系 传感器类型 信号采集 数据预处理 数据清洗 温度 压力 振动 电流 采样率 分辨率 抗混叠滤波 去噪 去野点 补缺失 移动平均 中值滤波 3σ准则 线性插值 核心原则:选对型 → 采好样 → 洗干净 → 再分析 选型 采集 预处理 清洗

3.5 本章小结

传感器和信号采集,是自动化产线故障诊断的“地基”。地基不牢,地动山摇。记住:选型看工况,采样看频率,清洗看数据特征。别偷懒,别想当然。

我个人习惯,每次调试新产线,第一件事就是检查传感器的安装和接线。第二件事,就是跑一段数据,看看有没有野点和噪声。这两步走完,后面的事就顺了。

一句话总结: 传感器是产线的“五官”,信号采集是“神经”,数据清洗是“大脑”。五官灵、神经通、大脑清,故障诊断才能快准狠。

公众号:蓝海资料掘金营,微信deep3321