1. 项目背景与核心思路
电机作为工业生产的核心动力设备,其运行状态直接影响生产线的稳定性。传统电机故障诊断主要依赖人工经验或简单阈值判断,存在响应滞后、误判率高等问题。本项目通过深度学习技术,构建了一个基于振动信号分析的智能诊断系统。
为什么选择振动信号?电机不同故障类型会产生特征各异的振动模式。例如:
- 轴承故障:高频周期性冲击
- 绕组短路:50Hz基频伴随谐波
- 转子偏心:转频及其倍频分量
我们实验室搭建的采集系统包含:
- 3轴振动传感器(采样率12.8kHz)
- 3相电压互感器
- 温度传感器(辅助验证)
实际工程中发现:Z轴(垂直方向)振动对多数机械故障最敏感,这与旋转设备的受力特性相关
2. 数据准备与特征工程
2.1 数据集构建难点
工业场景中故障样本获取成本极高,我们采用的方法:
- 实验室模拟故障(如人工制造轴承划痕)
- 变频器参数篡改诱发绕组异常
- 长期老化测试获取自然故障数据
数据集分布特点:
| 故障类型 | 样本数 | 数据长度 | 主要特征频段 |
|---|---|---|---|
| 正常 | 354 | 362941 | 无突出峰值 |
| 轴承内圈故障 | 118 | 140801 | 3-5kHz |
| 转子断条 | 137 | 140801 | 100-400Hz |
2.2 信号预处理流程
python复制def preprocess(raw_signal):
# 1. 带通滤波 (50-6000Hz)
b, a = butter(4, [50,6000], btype='bandpass', fs=12800)
filtered = filtfilt(b, a, raw_signal)
# 2. 归一化
normalized = (filtered - np.mean(filtered)) / np.std(filtered)
# 3. 分段加窗
segments = []
for i in range(0, len(normalized)-1024, 1024):
window = normalized[i:i+1024] * np.hamming(1024)
segments.append(window)
return np.array(segments)
关键参数选择依据:
- 1024点窗长:兼顾频率分辨率(12.5Hz)和时域细节
- 汉明窗:减少频谱泄漏效应
- 50Hz高通:消除电网工频干扰
3. 模型架构设计
3.1 CNN-LSTM混合结构
python复制def build_model(input_shape):
inputs = Input(shape=input_shape)
# CNN分支
x = Conv1D(64, 32, activation='relu', padding='same')(inputs)
x = MaxPooling1D(4)(x)
x = Conv1D(128, 16, activation='relu', padding='same')(x)
# LSTM分支
y = LSTM(64, return_sequences=True)(inputs)
y = LSTM(32)(y)
# 特征融合
combined = concatenate([GlobalAvgPool1D()(x), y])
# 分类头
outputs = Dense(6, activation='softmax')(combined)
return Model(inputs, outputs)
设计考量:
-
卷积核尺寸选择:
- 第一层32点:覆盖2.5ms时窗(适合冲击特征)
- 第二层16点:提取更精细特征
-
双路结构优势:
- CNN捕捉局部振动模式
- LSTM建模时序依赖关系
3.2 训练技巧
- 类别加权损失函数:解决样本不均衡
python复制class_weights = {
0: 1.0, # 正常
1: 2.5, # 轴承故障
2: 3.0, # 断条
...
}
- 动态学习率调度:
- 初始lr=0.001
- 验证损失停滞时衰减系数0.5
4. 部署优化实践
4.1 工程化改进
-
实时性优化:
- 将1024点窗改为512点重叠窗(步长256)
- 使用TensorRT加速推理
-
抗干扰设计:
- 增加置信度阈值(<0.7视为不确定)
- 引入滑动窗口投票机制
4.2 常见问题排查
-
误报率高:
- 检查传感器安装是否松动
- 验证电网电压是否稳定
-
特定故障漏检:
- 收集更多该类型样本
- 调整对应类别的损失权重
实测中发现:轴承外圈故障在低速时容易与正常状态混淆,建议增加转速特征作为辅助输入
5. 效果评估与对比
测试集性能指标:
| 模型类型 | 准确率 | 推理时延(ms) | 参数量 |
|---|---|---|---|
| 纯CNN | 89.2% | 15 | 230K |
| 纯LSTM | 85.7% | 22 | 180K |
| 本文混合模型 | 93.6% | 18 | 210K |
混淆矩阵分析:
- 主要混淆发生在:
- 轴承内/外圈故障(12%)
- 断条与匝间短路(9%)
改进方向:
- 引入注意力机制增强特征区分度
- 融合多传感器数据(电流+温度)