电机故障诊断(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
相关推荐
娅娅梨38 分钟前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
汤米粥43 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾1 小时前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺1 小时前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
秀儿还能再秀1 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
马剑威(威哥爱编程)1 小时前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
好睡凯2 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
java—大象2 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
yyqzjw2 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt