2. TinyML与振动异常检测基础
在工业设备预测性维护、旋转机械状态监测和结构健康监测等场景中,振动信号是反映设备运行状态最直接、最丰富的物理量之一。然而,传统振动分析依赖高采样率数据采集与云端服务器处理,存在带宽成本高、响应延迟大、数据隐私风险等问题。TinyML(微型机器学习)技术的出现,为在微控制器(MCU)级硬件上直接运行轻量化异常检测模型提供了可能,使得振动监测从“事后分析”走向“实时边缘智能”。本章将系统梳理TinyML的核心概念、边缘计算带来的工程优势、振动信号的关键特征维度,以及异常检测的典型应用场景,为后续板级验证与校准奠定理论基础。
上图展示了TinyML振动异常检测的完整链路:从传感器信号采集、边缘MCU上的特征提取与模型推理,到最终的本地决策与云端交互。整个链路中,振动信号的特征质量与模型在MCU上的适配程度,直接决定了板级验证与校准的成败。
2.1 TinyML核心概念与边缘计算优势
2.1.1 TinyML定义与技术边界
TinyML是机器学习与嵌入式物联网系统的交叉领域,其核心目标是在功耗受限、计算资源有限的微控制器上部署和运行机器学习模型。与云端AI不同,TinyML模型通常经过量化、剪枝、蒸馏等技术压缩至几百KB以内,推理过程完全在本地完成,不依赖网络连接。典型的TinyML硬件平台包括ARM Cortex-M系列、RISC-V MCU以及低功耗DSP,其RAM容量通常在16KB至512KB之间,Flash存储在256KB至2MB之间。
2.1.2 边缘计算在振动监测中的四大优势
将振动异常检测下沉到边缘设备,相比传统云端方案具有不可替代的工程价值,具体对比如下:
| 维度 | 云端计算方案 | TinyML边缘方案 | 工程收益 |
|---|---|---|---|
| 实时性 | 依赖网络,延迟100ms~数秒 | 本地推理,延迟<10ms | 满足高速旋转机械的瞬态报警需求 |
| 带宽成本 | 需持续上传原始波形(如25.6kHz×16bit) | 仅上传异常事件或特征摘要 | 降低90%以上数据传输量 |
| 数据隐私与安全 | 原始振动数据暴露于公网 | 数据不出设备,仅上报结论 | 符合工业数据合规要求 |
| 可靠性 | 断网即失效 | 本地自治,断网仍可监测 | 提升系统鲁棒性 |
以一条典型的工业产线为例,若部署20个振动监测点,每个测点以25.6kHz采样率、16bit分辨率连续采集,单日原始数据量约为44GB。若采用云端方案,即便经过压缩,每日仍需传输数GB数据;而采用TinyML边缘方案,仅需在检测到异常时上传一段1~2秒的波形片段,每日数据量可控制在几十MB以内,同时报警响应时间从秒级缩短至毫秒级。
2.2 振动信号特征体系与异常表征
2.2.1 振动信号的物理基础与采集约束
振动信号本质上是机械设备动力学行为在传感器敏感轴上的投影。对于旋转机械,振动源包括转子不平衡、轴不对中、齿轮啮合冲击、轴承滚动体缺陷等。在板级验证阶段,必须明确采样定理的工程约束:采样率至少为最高分析频率的2.56倍(工程常用系数),抗混叠滤波器截止频率应设置为采样率的0.4~0.45倍。例如,若要分析轴承故障特征频率(通常在2kHz~10kHz),采样率应不低于25.6kHz。
2.2.2 时域与频域关键特征指标
在TinyML模型设计中,特征选择直接影响模型复杂度与检测精度。下表归纳了振动异常检测中最常用的特征类别及其物理含义:
| 特征类别 | 具体指标 | 计算公式/获取方式 | 异常敏感方向 |
|---|---|---|---|
| 时域统计 | 均方根值(RMS) | \(\sqrt{\frac{1}{N}\sum_{i=1}^{N}x_i^2}\) | 整体能量变化,对磨损、负载变化敏感 |
| 时域统计 | 峭度(Kurtosis) | \(\frac{1}{N}\sum_{i=1}^{N}(\frac{x_i-\mu}{\sigma})^4\) | 冲击脉冲,对早期点蚀、裂纹敏感 |
| 频域特征 | 频谱峰值幅值 | FFT后提取1X、2X转频分量 | 不平衡、不对中、松动 |
| 频域特征 | 包络谱特征频率 | Hilbert变换+FFT | 轴承内圈/外圈/滚动体故障 |
| 时频特征 | 小波包能量熵 | 小波分解后各频带能量占比 | 非平稳、瞬态冲击 |
在MCU上实现上述特征时,需要特别注意计算效率。例如,峭度计算涉及四次方运算,在无FPU的Cortex-M0上可能消耗较多周期,此时可考虑使用绝对值四阶矩近似,或降低计算帧长。FFT点数通常选择256、512或1024点,对应频率分辨率分别为100Hz、50Hz、25Hz(在25.6kHz采样率下),需根据目标故障特征频率间隔合理选择。
2.2.3 异常检测的建模思路
振动异常检测通常分为两类建模路径:基于重构误差的自动编码器(AE)和基于分类的监督模型。在TinyML场景中,由于正常样本易获取、故障样本稀缺,更推荐采用半监督或单类分类方法。例如,在MCU上部署一个轻量级自编码器,输入为提取的振动特征向量(如12维),中间隐藏层仅4~6个神经元,输出为重构向量。通过正常数据训练后,计算重构误差(MSE),当误差超过阈值时判定为异常。该模型参数量通常不足500个,量化后仅需2KB Flash,非常适合板级部署。
2.3 典型应用场景与板级验证需求
2.3.1 旋转机械健康监测
以某化工厂的冷却水泵为例,电机转速为2970rpm(转频50Hz),水泵轴承型号为6312。轴承外圈故障特征频率(BPFO)约为3.05×转频=152.5Hz。在TinyML方案中,传感器以25.6kHz采样率采集振动数据,MCU每秒钟计算一次特征向量(包括RMS、峭度、1X/2X幅值、包络谱BPFO幅值),输入轻量级异常检测模型。当模型输出异常评分超过阈值时,本地LED告警并通过UART上报事件。
2.3.2 刀具磨损预测
在CNC机床主轴监测中,刀具磨损会导致切削力增大,进而引起振动信号的高频分量能量上升。TinyML模型可提取主轴振动在3kHz~8kHz频段的能量占比,结合主轴负载电流,实现刀具剩余寿命的粗略估计。由于机床控制柜空间有限,通常采用贴片式加速度计与邮票型MCU模块,整体功耗控制在0.5W以内。
2.3.3 结构健康监测
对于桥梁、建筑等大型结构,振动频率较低(0.5Hz~20Hz),采样率可降低至100Hz~200Hz。此时TinyML的优势在于可以部署大量无线节点,每个节点独立进行频谱峰值跟踪,当固有频率偏移超过5%时触发报警。这种应用对MCU的ADC精度要求较高(至少16bit),但对算力要求较低。
2.4 常见误区与设计复盘
2.4.1 误区一:忽视采样率与抗混叠滤波的匹配
在板级验证中,若ADC前未放置合适的抗混叠滤波器,高频噪声会折叠到低频段,导致特征提取失真。例如,采样率25.6kHz时,若传感器谐振频率为30kHz,则30kHz信号会折叠至21.2kHz(30-25.6=4.4kHz,实际折叠至25.6-4.4=21.2kHz),污染高频特征。正确做法是在ADC驱动电路前加入二阶有源低通滤波器,截止频率设为10kHz(0.4×采样率)。
2.4.2 误区二:模型精度与资源消耗的失衡
部分开发者倾向于使用较大的深度学习模型以追求精度,但忽略了MCU的Flash和RAM限制。例如,一个包含3层卷积的模型(参数量约50K)在量化后仍需约50KB Flash,而典型MCU可用Flash仅256KB,还需存放Bootloader、RTOS和协议栈。建议在模型设计阶段就设定资源预算:Flash占用不超过总容量的60%,RAM峰值不超过总RAM的70%。
2.4.3 误区三:忽略温度漂移对振动传感器的影响
工业现场温度变化范围大(-40℃~85℃),MEMS加速度计的零偏和灵敏度会随温度漂移。在板级校准时,若未进行温度补偿,可能导致误报或漏报。建议在PCB上靠近传感器位置放置NTC热敏电阻,在MCU中建立温度-零偏查找表,每10℃一个补偿点,线性插值修正。
2.4.4 设计复盘:从原型到量产的关键检查项
在完成TinyML振动异常检测板级验证后,建议按照以下清单进行复盘:
- 信号链路完整性:确认从传感器到ADC的每一级增益、偏置、滤波参数是否与设计一致,使用信号发生器注入已知正弦波验证链路增益误差<±2%。
- 特征提取一致性:在PC端与MCU端分别运行相同的特征提取代码,对比输出结果,确保RMS误差<0.5%,FFT幅值误差<1%。
- 模型推理确定性:输入相同的固定特征向量,连续运行100次,确保输出结果完全一致(无随机性)。
- 功耗验证:在连续运行模式下,测量MCU核心电流与传感器电流,确认总功耗满足电池供电或能量采集的预算要求。
- 异常注入测试:使用电磁激振器模拟轴承外圈故障特征频率,验证系统能在2秒内触发报警,且无误报。