2025年11月,我去东莞一家做精密注塑机的厂里支援诊断项目。他们车间四十多台电机全部变频器驱动,想上电流特征分析(MCSA)做在线监测。我一到现场就先采了一组电流信号,回来做频谱分析------然后对着屏幕沉默了半分钟。
教科书上说,转子断条会在工频f1两侧出现(1±2s)f1的边频带。但我们的频谱上根本看不清什么边频带,2kHz到10kHz的区间全是密密麻麻的小山峰,像长了一片草原。工频50Hz附近的特征倒是隐约看得见,但信噪比惨不忍睹。
问题就出在变频器上。
变频器是怎么把频谱"污染"的
现在主流变频器都是PWM(脉宽调制)控制,开关频率(也叫载波频率)一般设在2kHz到16kHz之间------西门子G120的P1800参数默认4kHz,很多现场为了压电机噪音会调到8kHz甚至更高。
PWM驱动意味着电机端子上根本不是光滑的正弦波,而是一串高频斩波。这会带来两类污染:一是载波频率及其倍数附近形成明显的谐波簇,一座一座山峰立在那;二是开关动作的边带调制在整个频段铺了一层噪声底,把原本就微弱的故障特征边频带直接淹没。
更麻烦的是混叠。我们当时用的采集卡50kS/s采样率,理论奈奎斯特频率25kHz,看着够用,但前端没有像样的抗混叠滤波器------载波倍频(比如8kHz载波的3次、4次分量)折返回分析频带,和轴承特征频率撞在一起。你可能会问:那换高速采集卡呗?别急,采样率上去了,混叠是压住了,可数据量也翻了几倍,边缘盒子的存储直接告急。硬件指标是要一起权衡的,不是单项拉满就完事。
硬件层面:先在源头抢回信噪比
我们最后稳定下来的方案,硬件上做了三个改动。
第一,电流信号从变频器输出侧取。输入侧(网侧)电流虽然"干净",但经过整流逆变之后,电机转子的故障特征传到网侧已经非常弱了,除非是重载断条,基本看不出来。
第二,采样率提到200kS/s,前端加一个16kHz低通抗混叠滤波器。多说一句:抗混叠滤波器要用无源的八阶以上巴特沃斯,我们试过用采集卡自带的数字滤波,相位特性不好,包络分析出来全是振铃假峰。
第三,也是最有效的一招:从变频器里读载波频率实际值,别自己猜。G120用DP通讯读参数P1800就行。拿到确切的载波频率,后面的滤波和谱线剔除才有靶子。这一步看着不起眼,实际上是我们走了大弯路之后的教训------最初我们按默认4kHz设的陷波器,结果现场那批变频器全被调到了8kHz,白忙活两天。
算法层面:把载波簇"挖掉"再做包络
软件上,我们的处理链路是:带阻滤波挖掉载波簇 → 希尔伯特解调取包络 → 包络谱找轴承特征频率。核心代码用scipy就能写:
python
from scipy import signal
import numpy as np
def clean_envelope(i_data, fs, fc_carrier, harmonics=(1, 2, 3)):
"""载波干扰抑制 + 包络解调
i_data: 相电流序列; fs: 采样率; fc_carrier: 载波频率(Hz)
"""
y = np.asarray(i_data, dtype=np.float64)
for h in harmonics:
f0 = fc_carrier * h
if f0 >= fs / 2 - 250: # 超过奈奎斯特的倍频管不了,跳过
break
# scipy 1.11+ 的 iirnotch 支持fs参数,直接用物理频率,不用手动归一化
b, a = signal.iirnotch(f0, Q=35, fs=fs)
y = signal.filtfilt(b, a, y) # 零相位滤波,不引入相位失真
env = np.abs(signal.hilbert(y)) # 希尔伯特变换取包络
# 包络信号再做一次低通,截止频率设为最高分析频率(这里1kHz)
b, a = signal.butter(4, 1000 / (fs / 2), "low")
return signal.filtfilt(b, a, env)
踩坑提醒:iirnotch的Q参数别照抄文档默认值。Q太大(比如100),陷波太窄,PWM边带的山根挖不干净;Q太小,故障特征会被误伤。我们在注塑机项目上反复试出来Q=30到40比较稳,具体要看着频谱调。另外陷波是二阶滤波器,filtfilt用b,a形式没问题,但那个低通滤波器跑长序列时建议改用SOS结构(sosfiltfilt),高阶b,a形式会有数值稳定性问题,别省这个事。
处理完之后,同样那组信号,6208轴承的外圈特征频率(按1200rpm和轴承几何参数算出来约107Hz)在包络谱里明明白白冒出来了,幅值比背景高12个dB。效果就是这么直接。
实在不行,换振动,别硬扛电流
说句实话:如果你的电机是变频驱动,关心的故障又集中在轴承和机械侧,我建议直接上振动加速度计,别在电流上死磕。
原因在于能量传递路径。轴承故障的特征要传到定子电流,得走"机械振动→气隙磁场变化→定子电流"三层衰减,再叠加PWM污染,信噪比经常低到怀疑人生。而振动信号测轴承故障,是被二十多年文献和现场反复验证的成熟路线,一款工业级IEPE加速度计三四百块,加上采集模块,单点成本比折腾电流方案还低。
电流分析对转子类故障(断条、气隙偏心)依然是最优解,这个优势不该被否定。我们那家注塑机厂最后的配置是折中方案:主轴电机电流+振动双通道,变频泵和风机电机只上振动。按故障类型配传感器,而不是按技术偏好,这是我现在的选型原则。
最后说两句
变频器不是敌人,它是现代电机控制绕不开的东西。真正的问题是:很多教科书和宣传材料里的诊断方法,默认你面对的是一台工频供电的"干净"电机。现场不是这样的。
拿到一个失效的频谱,先别怀疑算法,回头看一眼供电方式、载波频率、采样链路。诊断这件事,一半在算法,另一半在你看不看得到的地方。