电机故障诊断(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
相关推荐
西柚与蓝莓34 分钟前
【开源开放体系总结】
python
一颗花生米。1 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼1 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
通信仿真实验室2 小时前
(10)MATLAB莱斯(Rician)衰落信道仿真1
开发语言·matlab
勿语&3 小时前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui
belldeep4 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
吾爱星辰6 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
ChinaDragonDreamer6 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
FreakStudio6 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy