天车电机AI故障诊断:振动频谱分析与1D-CNN智能识别
import torch.nn as nn class MotorCNN1D(nn.Module): def __init__(self, num_classes=4): super().__init__() self.conv1 = nn.Sequential( nn.Conv1d(1, 16, kernel_size=64, stride=8), nn.ReLU(), nn.MaxPool1d(2)) self.conv2 = nn.Sequential( nn.Conv1d(16, 32, kernel_size=32, stride=4), nn.ReLU(), nn.MaxPool1d(2)) self.conv3 = nn.Sequential( nn.Conv1d(32, 64, kernel_size=16, stride=2), nn.ReLU(), nn.AdaptiveAvgPool1d(1)) self.fc = nn.Linear(64, num_classes) def forward(self, x): x = self.conv1(x) x = self.conv2(x) x = self.conv3(x).squeeze() return self.fc(x) p:code –> 训练数据集配置:正常工况+三类故障(轴承磨损、转子断条、定子短路),每类2000个样本(1024点/帧),按7:2:1划分训练/验证/测试集。训练超参数:batch=64,lr=0.001,epochs=100,优化器Adam。在RTX3060上训练约15分钟,测试集准确率96.8%。
# 推理代码 model.eval() with torch.no_grad(): output = model(sensor_data.unsqueeze(0).unsqueeze(0)) pred = torch.argmax(output, dim=1).item() confidence = torch.softmax(output, dim=1)[0][pred].item() classes = {0: "正常", 1: "轴承磨损", 2: "转子断条", 3: "定子短路"} print(f"诊断: {classes[pred]} (置信度: {confidence:.1%})") p:code –> 
四、故障模式与特征
| 故障类型 | 振动特征 | 特征频段 | AI识别准确率 |
|---|---|---|---|
| 轴承磨损 | 高频振动能量增加,出现边频带 | 2~8kHz | 98.2% |
| 转子断条 | 1倍转频边带,极通过频率分量增大 | 0~100Hz | 95.1% |
| 定子短路 | 2倍电源频率分量增大,磁场谐波异常 | 100~300Hz | 96.3% |
| 正常 | 频谱干净,无明显异常峰值 | 全频段 | 99.5% |
五、工程实施要点
1. 采样率不是越高越好。 电机振动信号的有效信息集中在10kHz以下,采样率设25.6kHz足够了(满足奈奎斯特准则的2.56倍)。设高了数据量暴涨但模型准确率不升反降,因为高频噪声混进来了。
2. 安装位置决定数据质量。 传感器装在轴承座正上方和装在电机外壳侧面,信号幅值能差3~5倍。固定安装位置后不要随意移动,否则基线偏移导致误报。
3. 转速波动需要归一化。 天车电机是变频调速的,转速从100rpm到1500rpm变化。不同转速下同样的故障表现出来的振动频率不同。解决方案:每条样本做阶次分析(Order Tracking),把频谱从绝对频率映射到阶次域。
4. 不要只靠振动。 振动+电流联合诊断比单纯振动准确率高约5个百分点。比如转子断条在电流信号中的特征比振动信号更明显。推荐每台电机至少配1个电流传感器。
5. 定期回传数据更新模型。 建议每月将新采集的正常样本加入训练集做增量训练,让模型持续适应设备老化趋势。
常见问题
结语
结合AI大模型运维助手的电机AI故障诊断投入产出比在天车所有智能化改造里是最高的。一台电机的传感器+采集成本不到3000元,但能提前1~3个月预报故障。我们在一个车间12台天车上跑了8个月,提前预报了4台电机的轴承故障,没有一次误报,没有一次漏报。
延伸阅读:天车减速机故障诊断技术——电机和减速机是天车传动系统的一体两面——电机AI故障诊断覆盖了驱动端的轴承\转子\定子故障,而减速机故障诊断则覆盖了齿轮啮合端。两者共用同一个工控机平台和传感器采集架构,推荐同时部署。
天车电机AI故障诊断通过振动频谱分析在故障发生前1~3个月捕捉早期特征覆盖轴承磨损、转子断条、定子短路。
天车电机占了整机故障的30%以上——轴承磨损、转子断条、定子短路,任何一个出了毛病都直接影响生产。大部分工厂的电机维护策略还是”坏了再换”,等电机冒烟了或者跳保护了才停机,一次非计划停产的损失少则几千多则几万。
AI故障诊断不是新鲜事,但以前主要靠专家系统(规则+阈值),误报率高、适应性差。这两年1D-CNN(一维卷积神经网络)用在振动信号分析上效果出奇好——把振动传感器贴在电机轴承座上,采集到的信号直接喂给模型,不用做人工特征提取,模型自己学出故障模式。一台电机配2~3个传感器,工控机上跑推理,一套系统管10~20台电机。
本文讲的是从传感器选型到模型部署的完整方案。硬件投入2~6万(含传感器+采集卡+工控机),一台电机一年省下的非计划停产损失就能回本。

一、系统架构
电机AI诊断系统分四层:
| 层级 | 功能 | 核心组件 | 技术指标 |
|---|---|---|---|
| 感知层 | 振动+电流信号采集 | IEPE加速度传感器+CT | 采样率12.8kHz/通道 |
| 采集层 | 信号调理+AD转换 | NI DAQ/Modbus RTU采集模块 | 24bit分辨率,抗混叠滤波 |
| 分析层 | 特征提取+AI推理 | 工控机+1D-CNN模型 | 单帧<5ms,准确率>96% |
| 应用层 | 状态展示+报警推送 | 监控大屏+微信/短信通知 | 实时更新,支持历史回放 |
二、传感器选型与安装
振动传感器:推荐IEPE型压电加速度计,灵敏度100mV/g,量程±50g,频率响应0.5~10kHz。安装位置:驱动端轴承座(径向+轴向各1个)、非驱动端轴承座(径向1个)。安装方式用M6螺栓固定或磁吸座——磁吸座方便但上限频率低(约2kHz),螺栓固定可以到10kHz。推荐螺栓固定,虽然多花10分钟,但高频段信号质量高一个档次。
电流传感器:钳式电流互感器,精度0.5级,量程按电机额定电流的1.5倍选。安装在三相电源线上,用于检测转子断条引起的电流谐波变化。
传感器核心参数:
| 参数 | 振动传感器 | 电流传感器 |
|---|---|---|
| 型号 | PCB 352C33 / B&K 4397 | LEM LF 305-S |
| 灵敏度 | 100mV/g | — |
| 量程 | ±50g | 0~300A |
| 频率范围 | 0.5~10000Hz | DC~10kHz |
| 安装方式 | 螺栓/M6磁吸 | 钳式夹持 |
| 单价 | 约800~1500元 | 约500元 |
| 防护等级 | IP65 | IP40 |
三、1D-CNN模型设计与训练
1D-CNN的核心优势是直接处理原始振动时域信号(1024点/帧),不需要做FFT或小波变换等人工特征提取。网络结构如下:
import torch.nn as nn class MotorCNN1D(nn.Module): def __init__(self, num_classes=4): super().__init__() self.conv1 = nn.Sequential( nn.Conv1d(1, 16, kernel_size=64, stride=8), nn.ReLU(), nn.MaxPool1d(2)) self.conv2 = nn.Sequential( nn.Conv1d(16, 32, kernel_size=32, stride=4), nn.ReLU(), nn.MaxPool1d(2)) self.conv3 = nn.Sequential( nn.Conv1d(32, 64, kernel_size=16, stride=2), nn.ReLU(), nn.AdaptiveAvgPool1d(1)) self.fc = nn.Linear(64, num_classes) def forward(self, x): x = self.conv1(x) x = self.conv2(x) x = self.conv3(x).squeeze() return self.fc(x) p:code –> 训练数据集配置:正常工况+三类故障(轴承磨损、转子断条、定子短路),每类2000个样本(1024点/帧),按7:2:1划分训练/验证/测试集。训练超参数:batch=64,lr=0.001,epochs=100,优化器Adam。在RTX3060上训练约15分钟,测试集准确率96.8%。
# 推理代码 model.eval() with torch.no_grad(): output = model(sensor_data.unsqueeze(0).unsqueeze(0)) pred = torch.argmax(output, dim=1).item() confidence = torch.softmax(output, dim=1)[0][pred].item() classes = {0: "正常", 1: "轴承磨损", 2: "转子断条", 3: "定子短路"} print(f"诊断: {classes[pred]} (置信度: {confidence:.1%})") p:code –> 
四、故障模式与特征
| 故障类型 | 振动特征 | 特征频段 | AI识别准确率 |
|---|---|---|---|
| 轴承磨损 | 高频振动能量增加,出现边频带 | 2~8kHz | 98.2% |
| 转子断条 | 1倍转频边带,极通过频率分量增大 | 0~100Hz | 95.1% |
| 定子短路 | 2倍电源频率分量增大,磁场谐波异常 | 100~300Hz | 96.3% |
| 正常 | 频谱干净,无明显异常峰值 | 全频段 | 99.5% |
五、工程实施要点
1. 采样率不是越高越好。 电机振动信号的有效信息集中在10kHz以下,采样率设25.6kHz足够了(满足奈奎斯特准则的2.56倍)。设高了数据量暴涨但模型准确率不升反降,因为高频噪声混进来了。
2. 安装位置决定数据质量。 传感器装在轴承座正上方和装在电机外壳侧面,信号幅值能差3~5倍。固定安装位置后不要随意移动,否则基线偏移导致误报。
3. 转速波动需要归一化。 天车电机是变频调速的,转速从100rpm到1500rpm变化。不同转速下同样的故障表现出来的振动频率不同。解决方案:每条样本做阶次分析(Order Tracking),把频谱从绝对频率映射到阶次域。
4. 不要只靠振动。 振动+电流联合诊断比单纯振动准确率高约5个百分点。比如转子断条在电流信号中的特征比振动信号更明显。推荐每台电机至少配1个电流传感器。
5. 定期回传数据更新模型。 建议每月将新采集的正常样本加入训练集做增量训练,让模型持续适应设备老化趋势。
常见问题
结语
结合AI大模型运维助手的电机AI故障诊断投入产出比在天车所有智能化改造里是最高的。一台电机的传感器+采集成本不到3000元,但能提前1~3个月预报故障。我们在一个车间12台天车上跑了8个月,提前预报了4台电机的轴承故障,没有一次误报,没有一次漏报。
延伸阅读:天车减速机故障诊断技术——电机和减速机是天车传动系统的一体两面——电机AI故障诊断覆盖了驱动端的轴承\转子\定子故障,而减速机故障诊断则覆盖了齿轮啮合端。两者共用同一个工控机平台和传感器采集架构,推荐同时部署。