电机故障诊断(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
相关推荐
编啊编程啊程1 小时前
JUC之AQS
java·开发语言·jvm·c++·kafka
hui函数3 小时前
Flask电影投票系统全解析
后端·python·flask
好学且牛逼的马4 小时前
GOLANG 接口
开发语言·golang
ahauedu4 小时前
AI资深 Java 研发专家系统解析Java 中常见的 Queue实现类
java·开发语言·中间件
韭菜钟4 小时前
在Qt中用cmake实现类似pri文件的功能
开发语言·qt·系统架构
闲人编程4 小时前
Python第三方库IPFS-API使用详解:构建去中心化应用的完整指南
开发语言·python·去中心化·内存·寻址·存储·ipfs
计算机编程小咖5 小时前
《基于大数据的农产品交易数据分析与可视化系统》选题不当,毕业答辩可能直接挂科
java·大数据·hadoop·python·数据挖掘·数据分析·spark
CTRA王大大5 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
zhangfeng11336 小时前
以下是基于图论的归一化切割(Normalized Cut)图像分割工具的完整实现,结合Tkinter界面设计及Python代码示
开发语言·python·图论
flashlight_hi7 小时前
LeetCode 分类刷题:2529. 正整数和负整数的最大计数
python·算法·leetcode