# 基于ESP32和机器学习的旋转机械预测性维护系统

> 一套低成本AI预测性维护方案，通过ESP32微控制器和MPU6050传感器采集振动数据，利用机器学习实时诊断风扇等旋转机械的多种故障类型。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-20T17:45:51.000Z
- 最近活动: 2026-06-20T17:53:09.480Z
- 热度: 159.9
- 关键词: Predictive Maintenance, ESP32, Machine Learning, Vibration Analysis, IoT, Extra Trees, Feature Engineering, Rotating Machinery
- 页面链接: https://www.zingnex.cn/forum/thread/esp32-6ae31f8a
- Canonical: https://www.zingnex.cn/forum/thread/esp32-6ae31f8a
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: Ankit Banerjee
- **来源平台**: GitHub
- **原始标题**: fan-predictive-maintenance
- **原始链接**: https://github.com/ankitbanerjee17/fan-predictive-maintenance
- **发布时间**: 2026年6月20日
- **作者背景**: 东北 hill 大学（NEHU）电子与通信工程学士

---

## 项目概述

工业设备的意外故障往往导致昂贵的停机损失。传统定期维护虽能降低风险，但存在过度维护或维护不足的问题。本项目展示了一套低成本的**AI驱动预测性维护系统**，专门针对旋转机械（如电机、风扇、泵等）的振动特征进行实时监测和故障诊断。

系统的核心创新在于将**嵌入式传感**、**信号处理**和**机器学习**有机结合，使用仅几十美元成本的硬件（ESP32 + MPU6050）实现了专业级设备的状态监测能力。

---

## 系统架构与硬件组成

### 实验平台搭建

项目构建了一个完整的测试平台：

- **被测设备**: 120mm双滚珠轴承直流风扇
- **主控单元**: ESP32微控制器（负责数据采集和通信）
- **振动传感器**: MPU6050三轴加速度计（采集X/Y/Z三轴振动信号）
- **数据处理**: PC端进行特征提取和模型推理

这种架构充分利用了ESP32的WiFi/蓝牙能力和MPU6050的I2C接口，实现了无线数据传输和紧凑的系统设计。

### 完整数据流

```
MPU6050传感器 → ESP32采集 → 无线传输 → PC端特征工程 → 机器学习分类 → 实时故障预测
```

---

## 数据集与故障类型

### 十种运行工况

系统在以下工况下采集了振动数据：

| 类别 | 描述 |
|------|------|
| 0 | 正常运行 |
| 1-3 | 质量不平衡（轻度/中度/重度） |
| 5 | 叶片损坏 |
| 7-9 | 机械松动（轻度/中度/重度） |
| 11 | 轴承污染 |
| 13 | 气流阻塞 |

### 数据采集规格

- **总样本数**: 7,443个振动窗口
- **窗口长度**: 1,024个采样点
- **采样率**: 约595 Hz

这种高采样率确保了能够捕捉到旋转机械的高频振动特征，为后续的特征提取提供了充足的数据基础。

---

## 特征工程

项目从原始振动信号中提取了**27个特征**，涵盖时域、频域和统计特征：

### 时域特征
- **RMS**（均方根值）：反映振动能量
- **Peak**（峰值）：最大振动幅度
- **Crest Factor**（波峰因数）：峰值与RMS的比值，用于检测冲击性故障
- **Peak-to-Peak**（峰峰值）：振动范围
- **Kurtosis**（峰度）：衡量信号的冲击特性
- **Skewness**（偏度）：信号分布的不对称性
- **Shape Factor**（波形因数）：波形特征

### 频域特征
- **1×/2×/3×谐波幅度**：基频及其倍频的幅值
- **谐波比值**：各谐波之间的相对关系
- **谱熵**（Spectral Entropy）：频谱的复杂度度量

### 其他特征
- **RMS比率**：各轴之间的能量关系
- **自相关特征**：信号的周期性特征

这种多维特征设计使得模型能够从不同角度识别故障特征，例如不平衡通常表现为1×谐波增强，而轴承故障往往产生高频冲击。

---

## 机器学习模型

### 模型对比

项目评估了三种分类算法：

- **Random Forest**（随机森林）
- **Extra Trees**（极端随机树）
- **Deep Neural Network**（深度神经网络）

### 最终选择：Extra Trees

Extra Trees因其**高准确率**和**低计算复杂度**被选为部署模型：

| 指标 | 数值 |
|------|------|
| 交叉验证F1分数 | 99.96% |
| 测试集准确率 | 99.93% |
| 跨机器准确率 | 93.6% |

值得注意的是，即使在不同的风扇设备上测试（跨机器验证），模型仍保持了93.6%的准确率，证明了其良好的泛化能力。

### 特征重要性分析

通过特征重要性分析，可以识别对故障诊断贡献最大的特征，这对于理解模型决策和简化系统（可能减少传感器数量）都有重要价值。

---

## 实时推理系统

### 核心功能

训练好的模型被集成到Python实时推理框架中：

- **实时振动采集**：持续从ESP32接收传感器数据
- **滑动窗口分析**：对连续数据流进行窗口化处理
- **多数投票预测**：通过多窗口投票提高预测稳定性
- **连续故障监测**：7×24小时不间断监控设备状态

### 部署优势

- **低成本**：整套硬件成本低于50美元
- **易部署**：ESP32的WiFi能力实现无线数据传输
- **可扩展**：架构可轻松扩展到多台设备
- **边缘友好**：模型轻量化，可在资源受限设备上运行

---

## 项目结构

```
firmware/          # ESP32固件代码
feature_engineering/  # 特征提取脚本
model_training/    # 模型训练代码
realtime_inference/  # 实时推理系统
models/           # 训练好的模型文件
results/          # 实验结果和可视化
images/           # 架构图和结果图表
docs/             # 文档
```

---

## 应用场景

1. **工业风机监测**：HVAC系统中的风扇状态监控
2. **电机预测维护**：工厂中大型电机的早期故障预警
3. **泵类设备**：水泵、油泵的轴承和叶轮监测
4. **教学研究**：作为嵌入式ML和信号处理的实践案例

---

## 未来发展方向

项目文档中提到了几个潜在的改进方向：

- **真实轴承故障数据集**：使用BPFO/BPFI等专业轴承故障数据
- **变速运行支持**：当前系统主要针对恒定转速设计
- **TinyML部署**：将模型直接部署到ESP32，实现完全边缘计算
- **多传感器融合**：结合温度、电流等其他传感器数据
- **云端监控面板**：开发基于Web的远程监控界面

---

## 总结

这个项目展示了如何将现代机器学习技术与低成本嵌入式硬件结合，解决传统工业监测中的实际问题。通过精心设计的特征工程和高效的Extra Trees模型，系统在保持高准确率的同时实现了实时性能。

对于希望入门预测性维护或嵌入式AI的开发者来说，这是一个极佳的参考项目——它提供了完整的端到端流程，从硬件搭建、数据采集、特征工程到模型训练和实时部署，每个环节都有清晰的实现和文档。
