电机故障诊断(python程序,模型为MSCNN结合LSTM结合注意力机制模型,有注释)

代码运行环境要求:TensorFlow版本>=2.4.0,python版本>=3.6.0

1.电机常见的故障类型有以下几种:

  1. 轴承故障:轴承是电机运转时最容易受损的部件之一。常见故障包括磨损、疲劳、过热和润滑不良,这些问题可能导致噪音增加和电机性能下降。

  2. 绝缘老化:电机绝缘材料随着使用时间的增加会老化,失去绝缘性能,导致绝缘击穿和电机短路。

  3. 绕组故障:电机的绕组可能出现短路、开路或者匝间故障,这些故障会导致电机失去正常运转能力。

  4. 电刷磨损:对于一些直流电机,电刷是关键部件,其磨损会导致电刷与集电环之间的接触不良,影响电机性能。

  5. 过载和过热:电机长时间运行在超过额定负载或者额定温度的情况下,会导致电机过热,进而加速其它故障的发生。

  6. 风扇故障:风扇是电机散热的重要组成部分,若风扇故障导致散热不良,电机温度升高,从而加剧其它故障。

  7. 不良环境:如果电机运行环境恶劣,如潮湿、灰尘多、腐蚀性气体等,会加速电机故障的发生。

  8. 频率变化:对于变频驱动的电机,频率的变化可能导致电机在某些转速下共振,损坏电机。

以上仅列举了一些常见的电机故障类型,实际情况还可能会更加复杂。

2.数据集介绍(经过上面的电机常见故障分析,这里针对轴承部位故障,绕组故障等情况采集数据)

正常电机的采集数据:(3个通道采集振动信号,3个通道采集电压信号)

正常电机下一共采集362941行数据

其它故障状态下分别采集了140801行数据左右 ,因为现实中故障数据相比正常数据难以获得,所以实验室里采集的正常电机的信号比故障下的信号要多。

2.模型

首先经过尝试,发现第3个振动通道采集的数据对故障更加敏感,这里只选用了第3个振动通道采集的数据作为特征信号。经过重叠采样(1024的长度)切割。

模型采用的就是一维MSCNN结合LSTM结合Attention模型

实验效果(训练集与测试集比例为4:1)

对代码感兴趣,可以关注最后一行

复制代码
import pandas as pd
import numpy as np
from keras.utils import np_utils
from sklearn import preprocessing
import tensorflow as tf
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['simhei'] # 添加中文字体为黑体
plt.rcParams['axes.unicode_minus'] =False
X0=pd.read_excel('断条.xlsx')
X1=pd.read_excel('偏心.xlsx')
X2=pd.read_excel('匝间短路.xlsx')
X3=pd.read_excel('轴承内圈.xlsx')
X4=pd.read_excel('轴承外圈.xlsx')
X5=pd.read_excel('正常.xlsx')
#压缩包https://mbd.pub/o/bread/mbd-ZJybl5lx
相关推荐
Lxinccode4 分钟前
python(59) : 多线程调用大模型ocr提取图片文本
开发语言·python·图片提取文字·批量提取文件·多线程ocr
梁辰兴11 分钟前
PyCharm使用了Conda的虚拟环境创建的的Python项目,下载库(包)到该项目的虚拟环境中
python·pycharm·conda·错误·异常·异常报错
自由日记12 分钟前
python简单线性回归
开发语言·python·线性回归
程序员-周李斌13 分钟前
Java NIO [非阻塞 + 多路复用解]
java·开发语言·开源软件·nio
猪八戒1.013 分钟前
onenet接口
开发语言·前端·javascript·嵌入式硬件
h***839322 分钟前
JavaScript开源
开发语言·javascript·ecmascript
Z***258035 分钟前
JavaScript虚拟现实案例
开发语言·javascript·vr
Halo_tjn1 小时前
Set集合专项实验
java·开发语言·前端·python
席万里1 小时前
关于Go的init函数执行顺序#黑魔法
开发语言·网络·golang
Evand J1 小时前
【TCN与LSTM例程】TCN(时间卷积网络)与LSTM(长短期记忆)训练单输入单输出,用于拟合一段信号,便于降噪。MATLAB
网络·人工智能·matlab·lstm