机械振动故障分类基础:振动信号特征、常见故障类型与分类任务定义

机械振动故障分类是设备状态监测与智能运维的核心环节。在旋转机械中,振动信号携带了设备运行状态的丰富信息,不同故障类型会在频域、时域及时频域表现出特定的模式。本章将系统梳理振动信号的关键特征、常见机械故障(不平衡、不对中、轴承故障等)的振动表征,并明确分类任务的定义与边界,为后续基于ONNX Runtime的端侧部署奠定数据与任务基础。

机械振动故障分类知识框架 振动信号采集 加速度传感器 采样率≥2.56×fmax 信号调理与抗混叠 特征提取 时域:RMS、峰值、峭度 频域:FFT谱、包络谱 时频域:STFT、小波 故障类型 不平衡 / 不对中 轴承故障 / 齿轮故障 松动 / 碰磨 分类任务定义 输入:特征向量/序列 输出:故障类别标签 ONNX Runtime部署 模型转换与量化 端侧推理优化 关键振动特征频率对照: 不平衡→1×转频 | 不对中→2×转频 | 轴承外圈→BPFO | 轴承内圈→BPFI | 滚动体→BSF | 保持架→FTF 诊断逻辑:先找转频基频→再查谐波与边带→结合包络谱锁定故障源

核心原理:振动信号如何反映机械故障

旋转机械在运行过程中,由于转子质量分布不均、轴线不对中、轴承元件损伤等原因,会产生周期性的激励力,进而引发壳体或轴承座的振动响应。振动信号本质上是多种频率成分的叠加,包括与转速相关的转频及其谐波、轴承特征频率、齿轮啮合频率以及随机噪声。故障诊断的基本逻辑是:不同的机械故障会改变振动信号的幅值分布、频率结构或调制特性,通过提取这些变化特征,即可实现故障类型的判别。

从信号处理角度看,振动信号通常被划分为三个分析域:

  • 时域分析:直接统计振动波形的幅值特征,如均方根值(RMS)反映振动能量水平,峰值反映瞬时冲击强度,峭度(Kurtosis)对冲击性故障敏感。时域指标计算简单,适合端侧实时计算,但信息粒度较粗。
  • 频域分析:通过快速傅里叶变换(FFT)将时域信号转换为频谱,识别特定频率处的幅值峰值。例如,不平衡故障在1倍转频(1×)处有明显峰值,不对中故障则在2倍转频(2×)处出现较大峰值。频域分析是故障定位的主要手段。
  • 时频域分析:当设备转速变化或故障产生非平稳信号时,短时傅里叶变换(STFT)或小波变换能够同时提供时间与频率信息,适用于变转速工况下的故障诊断。

在端侧部署场景中,考虑到计算资源与功耗限制,通常优先选择时域统计特征与FFT频谱特征作为模型输入,必要时辅以包络谱(通过Hilbert变换解调)提取轴承故障特征。

常见故障类型与振动特征

机械振动故障分类任务中,最常见的故障类型包括转子不平衡、轴不对中、滚动轴承故障、齿轮故障以及机械松动。每种故障在振动信号中都有相对明确的特征频率与幅值模式,下表总结了典型故障的振动特征对照:

故障类型 特征频率 振动幅值特征 方向性 典型频谱形态
转子不平衡 1×转频 径向振动增大,幅值与转速平方成正比 径向为主 1×处单一高峰,谐波较少
轴不对中 2×转频为主,常伴1× 轴向振动显著增大,联轴器附近明显 轴向+径向 2×幅值接近或超过1×,伴有高次谐波
轴承外圈故障 BPFO(外圈通过频率) 冲击脉冲,幅值随载荷增大 径向为主 包络谱中BPFO处峰值,伴有边带
轴承内圈故障 BPFI(内圈通过频率) 冲击脉冲,受转频调制 径向为主 包络谱中BPFI处峰值,边带间隔为1×
滚动体故障 BSF(滚动体自转频率) 冲击较弱,位置不固定 径向+轴向 BSF处峰值,幅值较低
机械松动 1×及高次谐波(0.5×, 1.5×等) 振动不稳定,幅值波动大 方向不定 频谱杂乱,出现分数谐波

轴承故障特征频率的计算依赖于轴承几何参数与转速,其公式如下:

BPFO = (n/2) × fr × (1 - d/D × cosα)
BPFI = (n/2) × fr × (1 + d/D × cosα)
BSF  = (D/(2d)) × fr × (1 - (d/D × cosα)²)
FTF  = (1/2) × fr × (1 - d/D × cosα)
其中:n为滚动体数量,fr为转频(Hz),d为滚动体直径(mm),D为节圆直径(mm),α为接触角(°)
经验提示:在实际工程中,轴承特征频率往往不是整数倍的转频,且可能因滑动而略有偏差。因此,在分类模型设计中,不应仅依赖单一频率点的幅值,而应提取特征频率附近一定带宽内的能量或峰值,以增强模型的鲁棒性。

分类任务定义与建模思路

机械振动故障分类任务可以形式化定义为:给定一段振动信号(或其特征表示),预测设备当前所处的健康状态类别。根据标签的粒度,可分为二分类(正常/异常)、多分类(正常/不平衡/不对中/轴承故障等)以及细粒度分类(区分轴承故障的具体元件位置)。

从模型输入的角度,有两种主流方案:

  1. 特征工程+传统机器学习:从振动信号中提取统计特征(RMS、峰值、峭度、波形因子等)和频域特征(各频带能量、特征频率幅值),构成特征向量,输入到随机森林、XGBoost或支持向量机分类器。该方案计算开销小,模型体积小,适合部署在MCU等资源受限设备。
  2. 端到端深度学习:将原始振动波形(一维时间序列)或时频图(二维图像)直接输入卷积神经网络(CNN)或循环神经网络(RNN),由模型自动学习特征。该方案精度上限更高,但模型参数量大,需要经过ONNX Runtime的量化与优化才能在端侧高效运行。

在ONNX Runtime端侧部署场景中,需要综合考虑模型精度、推理延迟、内存占用和功耗。通常建议:先通过特征工程建立基线模型,再根据精度需求决定是否引入深度学习模型。同时,分类任务的输出层应使用Softmax激活函数,输出各故障类别的概率分布,便于后续设置置信度阈值进行决策。

案例拆解:离心泵振动故障分类任务设计

某化工厂一台离心泵频繁出现振动超标问题,设备工程师采集了泵轴承座处的加速度振动信号,采样率为12.8kHz,每次采集时长为2秒,共采集了正常运行、不平衡、不对中、轴承外圈故障四种状态下的样本各200组。目标是构建一个分类模型,能够在现场边缘设备上实时判断当前设备状态。

初始现象与目标:泵的振动速度有效值(RMS)在2.8~4.5 mm/s之间波动,超过ISO 10816-3标准中2.8 mm/s的报警限。工程师需要区分故障类型,以便制定针对性的维修计划。

关键输入数据与特征提取:对每段2秒的振动信号(25600个采样点)进行如下处理:

  • 计算时域特征:RMS、峰值、峭度、波形因子、脉冲因子;
  • 进行FFT变换,提取1×、2×、3×转频处的幅值(转频fr=25Hz);
  • 计算轴承外圈特征频率BPFO(理论值约91.3Hz)附近±5Hz带宽内的频谱能量;
  • 对信号进行Hilbert包络解调,提取包络谱中BPFO处的幅值。

最终每个样本形成一个10维特征向量。将800个样本按7:3划分为训练集和测试集,使用随机森林分类器进行训练。

分析判断过程:初步观察发现,不平衡样本的1×幅值平均为2.1mm/s,明显高于正常状态的0.4mm/s;不对中样本的2×幅值达到1.8mm/s,且轴向振动显著;轴承故障样本的包络谱BPFO处幅值突出,而原始频谱中该频率处幅值并不明显。这验证了包络解调对轴承故障诊断的必要性。

实际操作与结果:使用Python的scikit-learn库训练随机森林模型(200棵树,最大深度10),在测试集上取得了96.5%的准确率。混淆矩阵显示,不平衡与不对中之间存在少量混淆(约3%),原因是两者在1×和2×幅值比例上存在重叠区域。通过增加轴向振动特征后,混淆率降至1.2%。

部署与代价:将训练好的模型导出为ONNX格式,模型大小仅85KB,在ARM Cortex-A53处理器上单次推理耗时约0.8ms,完全满足实时监测需求。但工程师也发现,当泵转速波动超过±5%时,固定频率带宽的特征提取方式会导致精度下降,需要引入转速归一化处理。

复盘经验:该案例表明,对于旋转机械故障分类,特征工程的质量往往比模型复杂度更重要。合理的特征设计(尤其是包络谱特征)能够显著提升分类精度,同时保持模型轻量化,非常适合端侧部署。此外,必须考虑实际工况变化(如转速波动、负载变化)对特征稳定性的影响,必要时加入工况参数作为辅助输入。

常见误区与总结复盘

在机械振动故障分类任务的设计与实施中,初学者常犯以下错误:

  • 误区一:忽视采样率与抗混叠滤波。采样率过低会导致高频故障特征混叠到低频段,造成误判。应确保采样率至少为最高分析频率的2.56倍,并在ADC前使用抗混叠滤波器。
  • 误区二:直接使用原始波形训练深度学习模型而不做预处理。原始振动信号包含大量噪声和工况干扰,直接训练容易过拟合。建议先进行带通滤波(如10Hz~5kHz)和幅值归一化。
  • 误区三:混淆特征频率与故障频率。例如,轴承故障的特征频率是滚动体通过损伤点时的冲击频率,而非转频的整数倍。需要根据轴承参数精确计算,不能简单套用1×或2×。
  • 误区四:忽略模型在端侧的推理效率。一个在PC上精度很高的深度学习模型,可能因为参数量大、计算密集而无法在嵌入式设备上实时运行。应优先考虑模型量化(INT8)和剪枝技术。