1. 课程导入

工业设备在运行过程中,振动信号是设备健康状态最直接的“生理指标”。轴承磨损、齿轮断齿、转子不平衡、不对中、松动等机械故障,都会在振动频谱上留下独特的“指纹”。传统振动监测依赖大型在线系统或手持式测振仪,成本高、部署周期长、难以覆盖海量旋转设备。而TinyML(微型机器学习)技术的成熟,使得在MCU(微控制器)级别实现振动信号的边缘端智能诊断成为可能——将深度学习模型压缩至几十KB甚至几KB,部署在电池供电的无线传感器节点上,在数据产生的源头完成故障识别,仅上传报警结果或特征值。本课程将带你从零构建一套完整的TinyML振动故障诊断系统,涵盖信号采集、数据集构建、模型设计、量化压缩、部署验证与工程优化全链路。

TinyML振动故障诊断课程知识框架与学习路径 ① 信号采集与物理基础 加速度传感器选型(ADXL345/MPU6050) 采样率/量程/分辨率设计 FFT与频谱特征提取 时域/频域/包络分析 ② 数据集构建与特征工程 故障模拟与数据标注策略 滑动窗口与数据增强 特征选择(RMS/峰值/峭度) 训练集/验证集/测试集划分 ③ 模型设计与训练 1D-CNN / 轻量Transformer TensorFlow / Keras训练 过拟合抑制与正则化 模型评估(混淆矩阵/F1) ④ 模型压缩与量化 权重剪枝 / 知识蒸馏 INT8量化(PTQ/QAT) 模型大小/精度权衡 ⑤ 边缘端部署与推理 TensorFlow Lite for MCU CMSIS-NN / X-CUBE-AI STM32/ESP32平台移植 ⑥ 系统集成与验证 实时性/功耗/内存优化 无线通信(BLE/LoRa) 现场测试与误报率控制 课程核心能力目标 ✔ 独立完成振动数据采集与故障标注 ✔ 训练并压缩适配MCU的轻量级诊断模型 ✔ 在真实硬件上实现端到端部署与性能调优

1.1 TinyML与振动故障诊断的碰撞

传统振动故障诊断系统通常采用“传感器+数据采集卡+上位机分析”的架构,设备体积大、功耗高、成本昂贵,且依赖人工经验进行频谱解读。以某化工厂的机泵群监测为例,一套在线监测系统单测点造价超过2万元,而一个中型工厂往往需要部署上百个测点,初期投入动辄数百万元。更关键的是,大量旋转设备(如小型电机、风机、泵)并不在关键设备清单中,它们缺乏监测手段,却同样存在突发故障风险。

TinyML的出现彻底改变了这一局面。TinyML是机器学习与嵌入式物联网的交叉领域,旨在让极低功耗的MCU(微控制器)直接运行机器学习推理。以STM32L4系列为例,其Cortex-M4内核主频80MHz,内置512KB Flash和320KB SRAM,功耗在运行状态下仅为几十毫瓦,待机功耗低至微安级。这样的硬件资源足以运行一个经过量化的1D-CNN故障诊断模型——模型大小可控制在30KB以内,单次推理时间约20-50ms,完全满足工业实时监测需求。

将TinyML应用于振动故障诊断,核心价值体现在三个维度:成本——单节点硬件成本可控制在100元以内,相比传统方案降低一个数量级;实时性——数据在传感器端即刻完成推理,无需等待网络传输和云端处理,响应延迟从秒级降至毫秒级;隐私与可靠性——振动数据不出设备,既保护了工艺敏感信息,又避免了网络中断导致的监测盲区。

核心认知:TinyML不是简单地把模型“塞进”MCU,而是需要从信号采集、特征表达、模型结构、量化策略到硬件适配进行系统性协同设计。一个在PC上准确率99%的模型,如果直接部署到MCU上,可能因为内存不足、推理时间过长或量化精度损失而完全不可用。因此,本课程强调“端到端”思维,每个环节的决策都会影响最终系统的性能。

1.2 课程目标与学习成果

完成本课程学习后,你将具备以下核心能力:

能力维度 具体技能 对应工具/平台
信号采集 传感器选型、采样参数配置、数据标定 ADXL345、MPU6050、STM32CubeMX
数据处理 滑动窗口、FFT、特征提取、数据增强 Python、NumPy、SciPy
模型训练 1D-CNN设计、训练调优、过拟合抑制 TensorFlow 2.x、Keras
模型压缩 剪枝、量化(PTQ/QAT)、模型转换 TFLite Converter、TFLite Micro
嵌入式部署 MCU移植、推理引擎集成、外设驱动 STM32CubeIDE、Keil、CMSIS-NN
系统验证 功耗测量、实时性测试、误报率评估 逻辑分析仪、功率分析仪、串口调试

课程采用“理论讲解+代码实战+硬件实操”三线并行的方式。每章包含原理剖析、代码示例、实验任务和常见问题复盘。建议学员准备一块STM32F407或ESP32开发板,以及一块I2C接口的加速度传感器模块(如ADXL345),总硬件成本控制在150元以内。

1.3 学习路径与章节框架

课程共30章,按工程实施顺序分为六个阶段,每个阶段解决一组关键问题:

  1. 基础准备(第1-5章):掌握振动信号基础、传感器原理、TinyML技术栈概览,搭建开发环境。
  2. 数据工程(第6-10章):完成振动数据采集系统搭建、故障模拟实验、数据集构建与特征分析。
  3. 模型训练(第11-16章):从传统机器学习基线到1D-CNN、LSTM等深度学习模型,掌握训练调优方法论。
  4. 模型优化(第17-22章):深入模型剪枝、量化、知识蒸馏,理解MCU资源约束下的模型适配。
  5. 部署实战(第23-27章):基于STM32平台完成TFLite Micro部署、外设驱动、实时推理与性能优化。
  6. 系统集成(第28-30章):实现无线通信、低功耗管理、多节点组网与现场验证。

这种“先宽后深”的路径设计,确保学员在前期建立完整的系统视野,后期能够聚焦关键技术细节。每个阶段结束都设有综合实战项目,例如第10章要求完成一个“基于时域特征的轴承故障分类器”,第22章要求将模型压缩至50KB以内且精度损失不超过2%。

1.4 典型应用场景与案例导入

为了帮助学员建立直观认知,我们引入一个贯穿全课程的实际案例——某水泥厂辊压机轴承故障诊断系统。该厂有12台辊压机,每台配备4个轴承座,工作环境粉尘大、温度高、电磁干扰强。此前采用人工巡检方式,每2小时用测振笔测量一次振动速度有效值(mm/s),但无法捕捉高频冲击信号,曾发生两次轴承保持架断裂导致的非计划停机,单次停产损失超过30万元。

项目约束条件非常明确:

  • 不能铺设电缆(现场有重型车辆频繁通行),必须采用电池供电的无线方案;
  • 电池寿命要求≥1年(按10分钟采集一次、每次采集2秒计算);
  • 故障报警准确率要求≥95%,误报率≤1次/月/节点;
  • 环境温度最高65℃,传感器需耐受粉尘和轻微振动冲击。

基于这些约束,我们选择了STM32L431(Cortex-M4, 80MHz, 256KB Flash)作为主控,搭配ADXL345加速度传感器(量程±16g,分辨率13位),采用BLE 5.0进行低功耗数据上报。模型方面,初期使用1D-CNN对原始振动波形进行端到端识别,输入为1024个采样点(采样率512Hz,时长2秒),输出为正常/外圈故障/内圈故障/滚动体故障四分类。经过INT8量化后,模型大小仅为28KB,单次推理耗时35ms,RAM占用约12KB。

这个案例将在后续章节中反复出现:第7章我们用它讲解数据采集系统的搭建,第14章用它进行模型训练实验,第24章完成STM32部署,第29章进行现场长期运行验证。通过一个案例的完整闭环,学员能够看到每个技术决策如何影响最终系统的实际表现。

学习建议:建议学员在开始课程前,先花30分钟浏览全部章节标题,建立整体框架感。每章学习时,先阅读“学习目标”和“本章地图”,再进入正文。动手实践时,尽量使用与案例相同的硬件型号,以便对照实验结果。遇到问题时,优先查看“常见误区”部分,很多问题前人已经踩过坑。

1.5 常见误区与学习心态

根据过往教学经验,初学者在TinyML振动诊断领域容易陷入以下误区:

  • 误区一:追求模型复杂度。认为模型越复杂准确率越高。实际上,MCU资源有限,一个参数量超过100K的模型在部署时往往面临内存溢出或推理超时。工业场景中,简单模型配合好的特征工程往往能达到同等效果。
  • 误区二:忽视数据质量。振动信号对采样同步性、传感器安装刚度、线缆屏蔽非常敏感。很多学员在实验室采集的数据效果很好,一到现场就准确率骤降,原因往往是现场存在工频干扰、安装共振或线缆松动等问题。
  • 误区三:量化后精度大幅下降就放弃。INT8量化确实会带来一定精度损失,但通过量化感知训练(QAT)、适当调整模型结构或增加数据增强,通常可以将精度损失控制在1%以内。不要轻易放弃量化这条路。
  • 误区四:只关注算法不关注工程。TinyML是软硬结合的技术,电池电压波动、温度漂移、时钟精度都会影响推理结果。一个合格的TinyML工程师需要同时具备算法思维和硬件调试能力。

学习本课程的正确心态是:“先完成,再完美”。第一遍学习时,不必追求每个细节都理解透彻,先按照教程把完整流程跑通——从采集数据到训练模型再到部署到开发板。当你看到开发板上的LED灯根据振动状态亮起不同颜色时,你就已经掌握了TinyML的核心链路。之后,再回头深入理解每个环节的原理和优化空间。

重要提醒:本课程涉及硬件操作,请注意安全。在连接电路时务必断电操作,避免静电损坏芯片。使用锂电池供电时,注意正负极不要接反。进行振动台实验时,确保设备固定牢固,防止高速旋转部件飞出伤人。建议在导师或有经验同事的指导下进行首次硬件实验。

总结而言,TinyML振动故障诊断是一个典型的跨学科领域,它融合了机械工程(故障机理)、电子工程(传感器与嵌入式系统)、计算机科学(机器学习与优化)三大学科知识。本课程的目标不是培养单一领域的专家,而是培养能够打通这三个领域的系统工程师。当你完成全部30章学习后,你将具备独立设计、部署和优化一套完整TinyML振动监测系统的能力,能够根据实际工业场景的约束条件做出合理的技术选型和工程决策。