1. 课程导入:学习目标、课程结构、所需软硬件环境,以及振动识别在设备状态监测中的实际意义

工业设备在运行过程中不可避免地会产生振动,而振动信号中蕴含着丰富的设备健康状态信息。从轴承磨损、齿轮断裂到转子不平衡,每一种故障都会在振动频谱上留下独特的“指纹”。传统振动监测依赖昂贵的专用仪器和专家人工分析,难以大规模部署。随着边缘计算与嵌入式机器学习(TinyML)的兴起,我们可以在成本极低的微控制器(如Arduino Nano 33 BLE Sense)上直接运行轻量级神经网络模型,实现振动信号的实时采集、特征提取与故障分类。本章作为整个课程的导入,将明确学习目标、梳理课程结构、列出软硬件环境清单,并深入剖析振动识别在设备状态监测中的工程价值与落地路径。

振动识别TinyML课程技术链路与学习路径 信号采集 加速度计MPU6050 采样率≥1kHz 三轴X/Y/Z 预处理与特征 去直流/带通滤波 FFT频谱/时域统计 RMS、峰值、峭度 模型训练 Edge Impulse平台 CNN/决策树/异常检测 量化int8 部署推理 Arduino Nano 33 BLE Sense 实时分类/串口输出 课程学习路径(30章) 基础篇(1-8) 硬件/信号/工具 算法篇(9-18) 特征/模型/优化 实战篇(19-26) 案例/部署/调试 扩展篇(27-30) 多传感器/边缘 典型应用场景 电机轴承故障预警 旋转机械不平衡检测 齿轮箱磨损监测 泵/风机状态评估 异常振动报警 预测性维护 质量检测 安全监控

1.1 学习目标:从原理到部署的完整能力构建

本课程并非简单的“Arduino+传感器”拼装教程,而是围绕“振动数据→特征工程→模型训练→嵌入式部署”这一完整链路展开的系统性教学。完成本课程后,学习者应具备以下核心能力:

  • 硬件层能力:掌握加速度计(MPU6050/ADXL345)的I2C/SPI接口配置、量程选择、采样率设置,理解振动信号的物理意义(加速度、速度、位移之间的微分积分关系)。
  • 信号处理能力:能够对原始振动波形进行去直流、带通滤波、加窗处理,并熟练使用FFT将时域信号转换为频谱,识别特征频率(如轴承故障特征频率BPFO/BPFI)。
  • 模型训练能力:使用Edge Impulse或TensorFlow Lite Micro完成数据采集、标注、训练、量化与导出,理解CNN在频谱图分类中的优势,以及决策树/随机森林在少量特征下的快速收敛特性。
  • 系统集成能力:将训练好的int8量化模型部署到Arduino Nano 33 BLE Sense(Cortex-M4F @64MHz)上,实现实时推理,并通过串口/蓝牙输出分类结果。
  • 工程思维:理解过拟合、数据不平衡、采样率不足、振动噪声干扰等实际问题,掌握模型鲁棒性提升的基本策略。

课程结构概览:本课程共30章,分为四个阶段。基础篇(第1-8章)聚焦硬件搭建、信号采集与预处理;算法篇(第9-18章)深入特征提取、模型选择与优化;实战篇(第19-26章)通过电机轴承、齿轮箱等真实案例完成端到端部署;扩展篇(第27-30章)探讨多传感器融合、边缘计算与云边协同。每章均包含理论讲解、代码实现、实验任务与常见问题复盘。

1.2 所需软硬件环境:低成本、高可复现的实验平台

为了确保课程的可操作性与可复现性,我们选择了一套经过验证的低成本硬件组合与开源软件工具链。所有实验均可在普通实验室或家庭环境中完成,总硬件成本控制在500元人民币以内。

类别 组件 型号/规格 用途说明
核心硬件 主控板 Arduino Nano 33 BLE Sense 内置9轴IMU(LSM9DS1)、麦克风、环境传感器,Cortex-M4F @64MHz,1MB Flash,支持TFLM
外部加速度计 MPU6050(I2C)或ADXL345(SPI) 用于外接传感器,便于安装在设备壳体上,量程±2g~±16g可选
振动源 小型直流电机+偏心轮/3D打印转子 模拟正常/不平衡/轴承磨损等不同振动状态
软件工具 IDE Arduino IDE 2.x / PlatformIO 固件编写与烧录
ML平台 Edge Impulse Studio(免费版) 数据采集、特征工程、模型训练、int8量化导出
辅助工具 串口调试助手/蓝牙调试APP Serial Monitor / nRF Connect 查看实时分类结果与数据波形

选型说明:Arduino Nano 33 BLE Sense自带IMU,但为了模拟真实工业安装场景(传感器需靠近振动源),建议使用外置MPU6050并通过杜邦线连接。若条件有限,也可直接使用板载IMU,但需注意安装位置对振动传递的影响。

1.3 振动识别在设备状态监测中的实际意义

在工业4.0与预测性维护的大背景下,振动分析是旋转机械状态监测最有效、最成熟的技术手段。据统计,约70%的旋转设备故障会首先表现为异常振动。传统做法是使用手持测振仪定期巡检,或安装在线监测系统(每通道成本数千至上万元)。而基于TinyML的振动识别方案,将智能分析能力下沉到传感器节点,具有以下不可替代的优势:

  • 实时性与低延迟:数据在本地完成推理,无需上传云端,避免网络延迟,适用于紧急停机保护场景。
  • 数据隐私与带宽节省:只上传“故障类型+置信度”等少量结果,而非原始波形,大幅降低通信带宽需求。
  • 低成本大规模部署:单个节点硬件成本低于100元,可密集布设在关键设备上,实现从“定期巡检”到“连续监测”的转变。
  • 边缘智能:模型在设备端持续运行,能够捕捉早期微弱故障信号,为维修决策提供数据支撑。

1.3.1 典型故障类型与振动特征

设备振动故障通常分为以下几类,每类在频谱上具有明显的标志性特征:

故障类型 特征频率 振动表现
转子不平衡 1×转频(工频) 径向振动大,频谱中基频峰值突出
轴不对中 2×转频为主,伴有1× 轴向振动明显,二倍频分量增大
滚动轴承外圈故障 BPFO(外圈通过频率) 高频冲击,频谱出现边带
滚动轴承内圈故障 BPFI(内圈通过频率) 冲击能量大,调制现象明显
齿轮断齿/磨损 啮合频率及其谐波 啮合频率幅值增大,边带丰富

1.3.2 案例拆解:电机轴承故障的TinyML识别

我们以一个典型的电机轴承外圈故障检测为例,说明TinyML方案的完整闭环。某工厂一台额定转速为1450rpm(转频约24.2Hz)的异步电机,轴承型号为6205,外圈故障特征频率BPFO≈3.57×转频≈86.4Hz。传统方案需要外接振动分析仪,由工程师现场采集频谱并人工判断,耗时约30分钟/台。采用本课程方案后:

  1. 数据采集:在电机壳体上安装MPU6050,采样率设为2kHz,每次采集2秒(4000个采样点),共采集正常、外圈故障、内圈故障、不平衡四种状态各50组样本。
  2. 特征提取:对每组样本计算FFT频谱,提取0-1kHz范围内的峰值频率、RMS值、峭度、频谱质心等8个特征。
  3. 模型训练:在Edge Impulse上使用80%数据训练一个两层CNN模型(输入为频谱图),20%数据验证,准确率达97.5%。经int8量化后模型大小仅12.8KB。
  4. 部署推理:将量化模型部署到Arduino Nano 33 BLE Sense,实测单次推理耗时约35ms,满足实时监测需求。当模型输出“外圈故障”且置信度>0.9时,板载LED闪烁并串口输出报警。
  5. 结果对比:与传统人工分析相比,识别时间从30分钟缩短至2秒,且无需专业工程师在场。连续运行30天,成功预警2次早期轴承磨损,避免了设备停机损失。

风险与代价提示:该方案对传感器安装位置敏感,若安装不当(如松动、远离轴承座),振动传递路径衰减会导致特征频率幅值降低,影响识别准确率。此外,模型仅针对特定转速和负载训练,当工况变化较大时需重新采集数据或进行迁移学习。

1.4 常见误区与学习建议

在初学者学习振动TinyML的过程中,有几个典型误区需要特别提醒:

  • 误区一:采样率越高越好。实际上,根据奈奎斯特定理,采样率只需覆盖感兴趣的最高频率的2倍即可。对于轴承故障,通常2kHz~10kHz足够,过高的采样率会带来数据量爆炸和MCU算力不足的问题。
  • 误区二:直接使用原始波形训练模型。原始时域波形受噪声和负载波动影响大,直接输入模型容易过拟合。应先进行FFT或小波变换,提取稳定的频域特征。
  • 误区三:忽略数据标注的一致性。不同人标注的“正常”和“异常”标准可能不同,导致模型学习到错误边界。建议制定明确的标注规范,并由同一人完成全部标注。
  • 误区四:只关注准确率而忽略推理延迟。在嵌入式设备上,模型大小和推理时间同样重要。int8量化虽然损失少量精度(通常<1%),但能显著提升推理速度并降低内存占用。

学习建议:建议每位学习者准备一个笔记本,记录每次实验的采样率、特征参数、模型结构、训练准确率、推理时间等关键数据。通过对比不同参数组合下的效果,逐步建立对振动信号与模型性能之间关系的直觉。同时,建议从第2章开始,每章都动手完成至少一个实验,不要只停留在阅读层面。