2、振动基础:振动的基本概念、常见振动类型(正弦、随机、冲击)、振动参数(频率、幅值、加速度)及测量方法
振动是旋转机械、往复设备、流体系统中最普遍的物理现象。在TinyML设备状态监测场景中,振动信号是判断轴承磨损、转子不平衡、齿轮点蚀、松动等故障的核心数据源。理解振动的基本概念、类型、参数与测量方法,是后续构建特征工程与训练模型的前提。本节将系统梳理振动的基础知识,并给出面向Arduino与MEMS加速度计的实际测量路径。
上图展示了从振动源到特征提取的完整链路。在TinyML设备状态监测中,我们通常使用MEMS加速度计(如ADXL345、MPU6050)采集振动信号,经过信号调理后,在Arduino或边缘设备上直接提取时域与频域特征,再送入轻量级神经网络进行分类。理解每个环节的物理意义与工程约束,是构建可靠监测系统的关键。
2.1 振动的基本概念与物理本质
振动是指物体围绕其平衡位置进行的往复运动。从力学角度看,振动系统通常包含质量(m)、刚度(k)和阻尼(c)三个基本要素。当系统受到初始扰动或持续激励时,质量块在弹性恢复力和阻尼力的共同作用下产生周期性或非周期性的位移变化。在旋转机械中,振动主要来源于转子不平衡、轴不对中、轴承缺陷、齿轮啮合冲击、流体涡动等。
振动信号是设备状态信息的载体。不同的故障模式会在振动信号中留下特定的“指纹”——例如,轴承外圈点蚀会在特征频率处产生冲击脉冲,转子不平衡会在1倍转频处产生明显的正弦分量。TinyML模型的任务就是从这些复杂的振动信号中自动学习并识别故障模式。
2.2 常见振动类型:正弦、随机与冲击
根据振动波形的数学特征和物理来源,可将振动分为三类:正弦振动、随机振动和冲击振动。这三类振动在设备监测中具有不同的诊断意义。
| 振动类型 | 数学特征 | 典型来源 | 诊断价值 |
|---|---|---|---|
| 正弦振动 | 单一频率,x(t)=A·sin(2πft+φ) | 转子不平衡、轴弯曲、齿轮啮合 | 识别转频及谐波成分,判断转子状态 |
| 随机振动 | 宽频带,功率谱密度连续分布 | 轴承磨损、流体湍流、松动 | 分析能量分布,检测早期退化 |
| 冲击振动 | 短时脉冲,时域波形尖峰 | 轴承点蚀、齿轮断齿、碰撞 | 提取冲击特征,定位局部缺陷 |
正弦振动是最基础的振动形式。在理想情况下,转子不平衡产生的振动近似为正弦波,其频率等于转子的旋转频率(f = RPM/60)。例如,一台转速为3000 RPM的电机,其基频为50 Hz。正弦振动的幅值稳定,相位固定,便于用FFT进行频谱分析。
随机振动的波形没有固定的周期,其瞬时值不可预测,但统计特性(如均值、方差、功率谱密度)是稳定的。轴承磨损初期,表面粗糙度增加,滚动体与滚道之间的接触产生宽频随机激励。随机振动通常用功率谱密度(PSD)来描述,它反映了振动能量在不同频率上的分布。
冲击振动的特点是持续时间极短(毫秒级)、幅值很大、频率成分丰富。当轴承滚动体经过外圈点蚀位置时,会产生周期性的冲击脉冲。冲击信号在时域上表现为一系列尖峰,在频域上表现为宽频带的高能量分布。冲击振动的检测对采样率要求较高,通常需要≥10 kHz的采样率才能捕捉到完整的冲击波形。
2.3 振动参数:频率、幅值与加速度
描述振动信号的三个核心参数是频率、幅值和加速度。这三个参数从不同维度刻画了振动的特性,也是TinyML特征输入的基础。
频率(f)表示振动的快慢,单位是赫兹(Hz)。在设备监测中,频率是故障定位的关键线索。每种故障模式都有其特征频率:
- 转频(1×):f = RPM/60,转子不平衡、轴弯曲的主要特征。
- 轴承故障频率:BPFO(外圈)、BPFI(内圈)、BSF(滚动体)、FTF(保持架),由轴承几何尺寸和转速计算得出。
- 齿轮啮合频率:GMF = 齿数 × 转频,齿轮磨损时GMF及其边频带会发生变化。
幅值(A)表示振动的强度,常用位移(μm)、速度(mm/s)或加速度(g)表示。幅值的大小直接反映了振动的剧烈程度。ISO 10816标准给出了不同等级设备的振动速度限值,例如,I类小型设备在良好状态下的振动速度应小于1.8 mm/s(RMS)。
加速度(a)是振动信号中最常用的测量量,单位是g(1g = 9.81 m/s²)。加速度对高频振动敏感,适合检测轴承冲击和齿轮缺陷。MEMS加速度计直接输出加速度值,因此TinyML系统通常以加速度作为原始输入。加速度、速度与位移之间存在微分/积分关系:
位移 x(t) → 速度 v(t) = dx/dt → 加速度 a(t) = dv/dt = d²x/dt²
在频域中,加速度的幅值等于位移幅值乘以角频率的平方(A_acc = A_disp × ω²)。这意味着高频振动即使位移很小,加速度也可能很大。因此,在检测高频冲击时,加速度是最灵敏的参数。
2.4 振动测量方法:从传感器到数据
振动测量的核心任务是将机械振动转换为可处理的电信号。在Arduino与TinyML场景中,测量链路包括传感器选型、安装、采样配置和数据采集四个环节。
传感器选型:MEMS加速度计是TinyML设备监测的首选。ADXL345量程为±16g,分辨率13位,适合测量轴承振动;MPU6050内置三轴加速度计和陀螺仪,量程可选±2g至±16g,适合需要姿态信息的场景。对于高频冲击测量,建议选择量程≥±16g、带宽≥1 kHz的传感器。
安装方式:传感器的安装直接影响测量精度。推荐使用螺栓固定或强力胶粘接,确保传感器与设备表面刚性连接。磁吸安装方便但会衰减高频信号(>2 kHz),仅适用于低频测量。安装表面应平整、清洁,避免软垫或双面胶。
采样配置:根据奈奎斯特采样定理,采样率必须大于信号最高频率的2倍。对于轴承故障监测,最高频率通常为10 kHz,因此采样率应≥25 kHz。Arduino Uno的ADC采样率有限(约10 kHz),建议使用ESP32或Arduino Due(采样率可达100 kHz)。每次采集的数据长度建议为1024~4096点,以保证FFT的频率分辨率。
数据采集流程:
- 初始化I2C或SPI接口,配置加速度计量程和带宽。
- 设置采样率,连续读取加速度数据并存入缓冲区。
- 对原始数据进行去直流处理(减去均值)。
- 可选:应用低通滤波器去除高频噪声。
- 将数据打包为特征向量,供TinyML模型推理。
// Arduino + ADXL345 振动数据采集示例
#include <Wire.h>
#include <ADXL345.h>
ADXL345 accel;
const int SAMPLE_COUNT = 1024;
float x_data[SAMPLE_COUNT];
void setup() {
Wire.begin();
accel.init();
accel.setRange(ADXL345_RANGE_16G);
accel.setBandwidth(ADXL345_BW_3200); // 3.2 kHz带宽
}
void loop() {
for (int i = 0; i < SAMPLE_COUNT; i++) {
accel.readAccel(&x_data[i], NULL, NULL);
delayMicroseconds(100); // 约10 kHz采样率
}
// 此处可进行特征提取或模型推理
}
2.5 常见误区与总结复盘
在振动测量与TinyML应用中,初学者常犯以下错误,需要特别注意规避。
- 误区一:采样率设置过低。如果采样率低于信号最高频率的2倍,会发生频率混叠,高频故障特征被折叠到低频段,导致误判。例如,用1 kHz采样率测量10 kHz的轴承冲击,冲击特征会完全丢失。
- 误区二:忽略安装共振。传感器安装不当会引入共振频率,该频率与设备故障无关,但会被模型误认为故障特征。建议在安装后进行锤击测试,确认共振频率不在关注频段内。
- 误区三:直接使用原始波形作为模型输入。原始振动数据维度高、噪声大,直接输入模型会导致训练困难且泛化能力差。应提取有物理意义的特征(如RMS、峭度、频谱峰值)后再建模。
- 误区四:忽视量程设置。量程过小会导致信号削顶,量程过大会降低分辨率。应根据设备振动水平选择合适的量程,一般预留20%~30%的余量。
总结复盘:振动基础是TinyML设备状态监测的基石。理解正弦、随机、冲击三类振动的物理特征,掌握频率、幅值、加速度三个参数的诊断意义,并正确实施传感器选型、安装和采样配置,是构建可靠监测系统的前提。在实际项目中,建议先通过频谱分析确定设备的主要振动频率成分,再针对性地设计特征提取方案和模型结构。振动测量不是简单的数据采集,而是需要结合机械原理、信号处理和机器学习知识的系统工程。