工业异常检测基础:什么是异常检测、常见工业异常类型、传统方法与ML方法对比
各位同学好,我是你们的老朋友。今天咱们聊聊工业异常检测的基础。说实话,这玩意儿看着简单,但坑不少。我刚开始做工业项目时,也踩过不少雷。
先问大家一个问题:什么是异常?
说白了,异常就是「跟平时不一样」。在工厂里,机器正常运转时,振动、温度、电流这些信号都有个稳定的范围。一旦某个参数跑出这个范围,那就是异常。
但这里有个关键点——异常不等于故障。异常是信号层面的偏离,故障是功能层面的失效。我见过不少新手,一看到振动值高了就喊「坏了坏了」,结果只是传感器松了。嗯,这里要注意区分。
常见工业异常类型
工业现场常见的异常,我归纳为三大类:振动异常、温度异常、电流异常。咱们一个一个说。
1. 振动异常
振动是旋转机械的「体温计」。电机、泵、风机、压缩机,这些设备一旦出问题,振动信号往往最先报警。
我在项目里遇到过一台离心泵,振动值突然飙升到正常值的3倍。现场老师傅说「没事,再跑跑看」。结果三天后轴承烧了。后来分析数据发现,振动频谱里早就出现了轴承故障特征频率——只是没人看。
常见的振动异常类型:
- 不平衡:转子质量分布不均,振动以1倍转频为主
- 不对中:联轴器两端轴线偏移,振动以2倍转频为主
- 松动:地脚螺栓松动或轴承间隙过大,振动波形杂乱
- 轴承故障:内外圈、滚动体点蚀或磨损,出现高频冲击
2. 温度异常
温度异常,说白了就是「发热不正常」。电机绕组温度、轴承温度、冷却液温度,这些都是重点监控对象。
温度异常分两种:
- 缓慢上升型:比如散热器积灰、冷却风扇转速下降,温度每天涨个0.5℃,持续一周
- 突变型:比如轴承卡死、绕组短路,温度几秒钟内飙升几十度
我记得有个项目,电机绕组温度连续三天缓慢上升,现场没人当回事。我建议加装一个温度趋势报警——当温度斜率超过0.3℃/小时就预警。结果第二天就触发了,检查发现冷却风道被棉絮堵了一半。要是再晚两天,电机就该冒烟了。
3. 电流异常
电流异常,是电气设备的「心电图」。电机、变压器、电源模块,电流信号能反映很多问题。
常见的电流异常:
- 过流:负载过大或短路,电流超过额定值
- 缺相:三相电机缺一相,电流不平衡,电机嗡嗡响但不转
- 谐波畸变:变频器产生的谐波污染,电流波形不再是正弦波
- 启动电流异常:启动时间过长或启动电流峰值异常
你想想看,电流信号采样频率通常不高(1kHz以内),但信息量很大。我习惯用电流的RMS值做长期趋势监控,用电流波形做短期故障诊断。两者结合,效果不错。
传统方法与ML方法对比
好了,异常类型讲完了。接下来聊聊怎么检测这些异常。
工业异常检测的方法,大致分两类:传统方法和机器学习方法。我两种都用过,各有优劣。
| 对比维度 | 传统方法 | 机器学习方法 |
|---|---|---|
| 原理 | 基于阈值、规则、统计模型 | 基于数据驱动,学习正常模式 |
| 典型技术 | 3σ法则、箱线图、FFT频谱分析、包络分析 | 孤立森林、自编码器、LSTM、1D-CNN |
| 数据需求 | 少量正常数据即可 | 需要大量正常数据,最好有少量异常数据 |
| 可解释性 | 高,规则透明 | 低,模型是黑盒 |
| 部署难度 | 低,单片机都能跑 | 高,需要一定算力 |
| 泛化能力 | 差,换台设备就得重新调参 | 好,同一类设备可迁移 |
| 适用场景 | 简单、稳定的工况 | 复杂、多变的工况 |
传统方法:简单但够用
传统方法的核心思想是「设定一个边界,超出就是异常」。比如:
- 固定阈值法:振动值超过10mm/s就报警
- 统计法:计算历史数据的均值和标准差,超过3σ就算异常
- 频谱分析法:在FFT频谱中找特定频率成分的幅值变化
我刚开始做工业项目时,用的就是传统方法。说实话,对于工况稳定的设备,传统方法完全够用。比如一台恒速泵,转速固定,负载固定,振动值长期稳定在5mm/s左右。设个8mm/s的阈值,能管用好几年。
但传统方法有个致命弱点——对工况变化不敏感。你想想看,如果设备转速从1000rpm变成2000rpm,振动值自然就高了。但这不是异常,是工况变化。传统方法分不清这个。
机器学习方法:灵活但复杂
机器学习方法的核心思想是「学习正常模式,偏离就是异常」。比如:
- 孤立森林:随机切分数据空间,异常点更容易被孤立
- 自编码器:训练一个神经网络,让它学会重构正常数据。异常数据的重构误差会很大
- LSTM预测:用历史数据预测下一个时刻的值,预测误差大就是异常
我记得有个项目,设备工况变化特别频繁——转速从500rpm到3000rpm随机切换。传统方法根本没法用,阈值设低了误报,设高了漏报。后来我用了一个简单的自编码器,输入是振动+转速+温度三个信号,输出是重构误差。效果出奇的好,误报率从30%降到了2%。
但机器学习方法也有坑:
- 数据标注成本高:异常数据本来就少,还得人工标注
- 模型部署麻烦:在MCU上跑神经网络,需要做量化、剪枝、优化
- 模型漂移:设备老化后,正常模式变了,模型需要重新训练
小结
今天的内容就这些。总结一下:
- 异常检测的本质是「找不同」
- 工业异常三大类:振动、温度、电流
- 传统方法简单可靠,适合稳定工况
- ML方法灵活强大,适合复杂场景
- 实际项目中,两者结合效果最好
下一章,咱们会深入讲TinyML在工业异常检测中的具体应用。到时候我会带大家手写一个在STM32上运行的异常检测模型。敬请期待。
对了,有任何问题,欢迎交流。我的联系方式在页脚。