2. 电机振动基础
电机作为工业现场最广泛的动力源,其运行状态直接决定产线可用性与设备寿命。振动信号是电机健康状态最敏感的“指纹”——轴承磨损、转子不平衡、齿轮点蚀等故障都会在振动频谱上留下可辨识的痕迹。本章从故障类型、产生机理、信号特征三个维度建立电机振动分析的知识底座,为后续在STM32平台上实现端侧异常检测算法奠定物理与数学基础。
2.1 电机常见故障类型与振动产生机理
电机振动本质上是内部激振力与结构动态特性相互作用的结果。从工程实践看,90%以上的电机异常振动可归因于四类根源:转子不平衡、轴承退化、齿轮传动故障、轴系不对中。理解每种故障的物理机理,是选择特征提取方法的先决条件。
2.1.1 转子不平衡
转子质量分布不均匀时,旋转过程中产生离心力 F = m·r·ω²,该力以转频(1×)为周期激励定子与基座。不平衡分为静不平衡、偶不平衡和动不平衡三类。静不平衡表现为单点质量偏心,在低速时即可检测;动不平衡则需在高速旋转时才会显现。工程中,转子不平衡的振动幅值与转速平方成正比,因此变转速工况下需做幅值归一化处理。
2.1.2 轴承磨损与疲劳点蚀
滚动轴承是电机中最易失效的机械部件。当滚道或滚动体出现疲劳剥落时,每次滚过缺陷位置都会产生冲击脉冲,激起轴承系统的高频固有振动。这些冲击具有周期性,其频率由轴承几何参数和转速决定:
- 外圈故障频率(BPFO):BPFO = (n/2) × fr × (1 - d/D × cosα)
- 内圈故障频率(BPFI):BPFI = (n/2) × fr × (1 + d/D × cosα)
- 滚动体故障频率(BSF):BSF = (D/d) × fr × [1 - (d/D × cosα)²]
其中 n 为滚动体数量,d 为滚动体直径,D 为节圆直径,α 为接触角,fr 为转频。这些公式是轴承故障诊断的核心判据,在STM32端侧实现时,可预先计算并存储特征频率表,运行时只需比对频谱峰值位置。
2.1.3 齿轮传动故障
齿轮啮合过程中,轮齿刚度周期性变化产生啮合频率 GMF = Z × fr(Z 为齿数)。正常齿轮的GMF幅值较小且稳定;当出现点蚀、断齿或磨损时,GMF幅值增大,并在其两侧出现以转频为间隔的边带。边带数量与幅值是齿轮故障严重程度的重要指标。对于电机直连齿轮箱的场景,需同时关注电机转频与齿轮啮合频率的耦合关系。
2.1.4 轴系不对中与机械松动
不对中产生以 2× 转频为主的径向振动,同时伴随轴向振动增大。机械松动则表现为振动幅值的不稳定波动,频谱上出现大量谐波成分,且高次谐波幅值衰减缓慢。这两类故障在时域上往往表现为波形畸变、削顶或拍频现象。
2.2 振动信号特征:时域与频域分析方法
振动信号的特征提取是异常检测的核心环节。时域分析直观但信息量有限,频域分析能精确识别故障频率,两者需结合使用。下表对比了常用特征指标的物理意义与适用场景:
| 特征类别 | 指标名称 | 计算公式 | 故障敏感性 | STM32实现成本 |
|---|---|---|---|---|
| 时域统计 | 均方根值(RMS) | √(Σx²/n) | 整体能量变化,对不平衡敏感 | 低(累加+开方) |
| 峭度(Kurtosis) | E[(x-μ)⁴]/σ⁴ | 冲击脉冲敏感,轴承早期故障 | 中(需四次方运算) | |
| 峰值因子 | Xpeak / RMS | 区分磨损与冲击 | 低 | |
| 频域特征 | 1× 幅值 | FFT后取转频处幅值 | 不平衡、不对中 | 中(需FFT) |
| BPFO/BPFI边带能量 | 特征频率±3×转频区间能量 | 轴承故障严重度 | 高(需谱线搜索) |
2.2.1 时域特征提取要点
时域特征计算简单,适合作为STM32上的第一层粗筛。RMS值反映振动能量总体水平,当RMS超过ISO 10816标准阈值时可直接报警。峭度对早期轴承故障非常敏感——正常轴承振动近似高斯分布,峭度≈3;出现冲击脉冲时峭度可升至5~10。但峭度容易受随机噪声干扰,建议在带通滤波后计算。
// STM32时域特征计算示例(伪代码)
float calculate_kurtosis(int16_t *data, uint16_t len) {
float mean = 0, std = 0, kurt = 0;
for (int i = 0; i < len; i++) mean += data[i];
mean /= len;
for (int i = 0; i < len; i++) std += pow(data[i] - mean, 2);
std = sqrt(std / len);
for (int i = 0; i < len; i++) kurt += pow((data[i] - mean) / std, 4);
return kurt / len;
}
2.2.2 频域特征提取要点
频域分析需要先对时域信号做FFT。对于STM32F4系列,1024点FFT约耗时0.5ms(主频168MHz),完全满足实时性要求。频域特征提取的关键步骤:
- 频谱预处理:去除直流分量,应用汉宁窗抑制频谱泄漏。
- 峰值搜索:在预设特征频率±1%范围内搜索局部最大值。
- 边带能量计算:对轴承故障,需计算特征频率两侧±3×转频区间的能量和。
- 归一化:将特征幅值除以RMS值,消除转速和负载变化影响。
2.3 振动信号采集的工程约束
在STM32端侧实现振动检测,必须考虑采样率、分辨率、存储与功耗的平衡。振动信号分析对采样率和动态范围有明确要求:
- 采样率:根据奈奎斯特定理,采样率至少为最高分析频率的2倍。轴承故障的高频共振峰可达5~10kHz,建议采样率≥20kHz。
- 分辨率:频率分辨率 Δf = fs / N,N为FFT点数。要区分相邻的转频边带,Δf需小于最小边带间隔。例如转频25Hz时,Δf应≤5Hz,即N≥4000点。
- ADC位数:12位ADC可提供72dB动态范围,基本满足振动检测需求。若需检测早期微弱故障,可考虑16位外部ADC。
- 抗混叠滤波:必须在ADC前配置硬件低通滤波器,截止频率设为采样率的0.4倍。
2.4 特征选择与降维策略
并非所有特征都适合在STM32上计算。端侧部署需遵循“少而精”原则。推荐的特征组合方案:
| 优先级 | 特征 | 计算量 | 诊断价值 | 适用故障 |
|---|---|---|---|---|
| P0(必选) | RMS、峰值 | 极低 | 整体健康度 | 所有类型 |
| P1(推荐) | 峭度、1×幅值 | 低 | 冲击检测、不平衡 | 轴承、转子 |
| P2(可选) | BPFO/BPFI幅值 | 中 | 轴承故障定位 | 轴承 |
| P3(扩展) | GMF边带能量 | 高 | 齿轮故障 | 齿轮箱 |
在STM32上实现时,建议采用两级诊断架构:第一级用RMS+峭度做快速筛查,计算量小,可连续运行;第二级仅在筛查异常时触发FFT和特征频率分析,节省功耗。这种策略可将平均功耗降低60%以上,同时保证诊断准确性。
2.5 本章小结与工程复盘
电机振动分析的核心逻辑可归纳为:故障源→激振力→结构响应→振动信号→特征提取→模式识别。本章建立的故障类型-机理-特征映射关系,是后续STM32算法设计的物理依据。在实际项目开发中,需注意以下要点:
- 先验知识固化:将轴承参数、齿轮齿数、转频等先验信息存储在STM32的Flash中,避免运行时重复计算。
- 阈值自适应:固定阈值无法适应负载变化,建议采用“基准值+相对偏差”的动态阈值策略。
- 数据标注:在开发阶段采集正常与故障样本时,需同步记录转速、负载、温度等工况参数,便于后续特征归一化。
- 验证闭环:在实验室用故障模拟台验证算法,再逐步迁移到现场。现场环境噪声大,需增加时域同步平均或小波去噪预处理。