东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)

运行代码要求:

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

本次实验主要是在两种不同工况数据下,进行带有复合故障的诊断实验,没有复合故障的诊断实验。

实验结果证明,针对具有复合故障的数据集,需要 研发特定的算法,才能更好区分复合故障数据集。

1.东南大学采集数据平台

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第1张图片 

 数据

该数据集包含2个子数据集,包括轴承数据和齿轮数据,这两个子数据集都是在传动系动力学模拟器(DDS)上获取的。(第一个文件夹是轴承数据,第二个文件夹是齿轮数据,本次是针对齿轮数据进行故障诊断)

 

 本实验主要是利用轴承数据(第一个文件夹的数据)进行故障诊断,轴承具体数据

有两种工况,转速-负载配置设置为20-0和30-2。

每种工况下有:ball(滚动体故障)、comb(复合故障,即包含滚动体、外圈、内圈故障),health(健康)、inner(内圈故障)、outer(外圈故障)

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第2张图片

code_20.py是只使用20_0工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集诊断。没有使用复合故障数据集

code_20_0.py是使用20_0工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)、comb(复合故障,即包含滚动体、外圈、内圈故障)诊断

code_30.py是只使用30_2工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集诊断。没有使用复合故障数据集

code_30_2.py是使用30_2工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)、comb(复合故障,即包含滚动体、外圈、内圈故障)诊断

模型

 东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第3张图片

 

首先在20-0工况数据集下实验

2.1.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集。没有使用复合故障数据集

每类故障有1000个样本(一共4000个样本),训练集与测试集比例是9:1(训练集:3600个样本,测试集:400个样本)

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第4张图片 

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第5张图片 

测试集的混淆矩阵(以样本个数呈现) 

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第6张图片 

测试集的混淆矩阵(以准确率数呈现)  

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第7张图片 

 

2.2.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集,comb(复合故障,即包含滚动体、外圈、内圈故障)。

每类故障有1000个样本(一共5000个样本),训练集与测试集比例是9:1(训练集:4500个样本,测试集:500个样本)

从结果可以看出,CNN对带有复合故障的数据集诊断准确率不高,需要区分复合故障与单独故障的特定算法, 才能提高准确率

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第8张图片

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第9张图片 

测试集的混淆矩阵(以样本个数呈现)  

 东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第10张图片

测试集的混淆矩阵(以准确率数呈现)   

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第11张图片 

 

 3.在30-2工况数据集下实验

3.1.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集。没有使用复合故障数据集

每类故障有1000个样本(一共4000个样本),训练集与测试集比例是9:1(训练集:3600个样本,测试集:400个样本)

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第12张图片

 东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第13张图片

测试集的混淆矩阵(以样本个数呈现)  

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第14张图片 

测试集的混淆矩阵(以准确率数呈现)   

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第15张图片 

3.2. 

使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集,comb(复合故障,即包含滚动体、外圈、内圈故障)。

每类故障有1000个样本(一共5000个样本),训练集与测试集比例是9:1(训练集:4500个样本,测试集:500个样本)

 从结果可以看出,CNN对带有复合故障的数据集诊断准确率虽然不低,但是准确率不稳定。

 东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第16张图片

 

 东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第17张图片

测试集的混淆矩阵(以样本个数呈现)   

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第18张图片 

测试集的混淆矩阵(以准确率数呈现)    

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)_第19张图片 

 本次项目所有代码和数据放在了压缩包

import pandas as pd
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
#压缩包:https://mbd.pub/o/bread/ZJyTlp9y

 

 

你可能感兴趣的:(可创新代码,python,开发语言,深度学习,大数据,神经网络,诊断,人工智能)