Rotating-machine-fault-data-set实战:基于MFPT数据的故障诊断完整流程
Rotating-machine-fault-data-set实战:基于MFPT数据的故障诊断完整流程
【免费下载链接】Rotating-machine-fault-data-setOpen rotating mechanical fault datasets (开源旋转机械故障数据集整理)项目地址: https://gitcode.com/gh_mirrors/ro/Rotating-machine-fault-data-set
Rotating-machine-fault-data-set是一个开源旋转机械故障数据集整理项目,集成了来自全球多个研究机构的高质量故障诊断数据。本文将以MFPT(机械故障预防技术学会)轴承数据集为核心,带您体验从数据获取到故障识别的完整诊断流程,帮助新手快速掌握工业设备故障诊断的基础方法。
一、MFPT数据集简介:工业级故障诊断的优质选择
MFPT轴承数据集由美国机械故障预防技术学会提供,NRG Systems总工程师Eric Bechhoefer博士主导构建,是工业设备故障诊断领域的重要基准数据。该数据集包含丰富的轴承故障类型和工况组合,特别适合算法验证和故障诊断模型训练。
图1:MFPT轴承数据集封面图,展示了旋转机械故障诊断相关的工业场景
1.1 数据集核心构成
MFPT数据集包含多种故障类型和工况组合,主要包括:
- 3组基线条件数据:270 lbs负载、25 Hz输入轴转速、97,656 sps采样率,持续6秒
- 3组外圈故障数据:270 lbs负载、25 Hz转速、97,656 sps采样率,持续6秒
- 7组变负载外圈故障:25-300 lbs负载范围内、25 Hz转速、48,828 sps采样率,持续3秒
- 7组变负载内圈故障:0-300 lbs负载范围内、25 Hz转速、48,828 sps采样率,持续3秒
- 5个数据解析MATLAB文件:用于Eric Bechhoefer论文的配套分析代码
- 3个真实世界故障案例:包括风力涡轮机中间轴轴承、油泵轴轴承和行星齿轮箱故障数据
1.2 试验台参数与数据特点
MFPT试验台使用NICE轴承,关键参数如下:
- 滚子直径(rd):0.235
- 节圆直径(pd):1.245
- 滚子数量(ne):8
- 接触角(ca):0°
数据以Matlab®双精度二进制格式(*.mat)存储,每个数据结构包含负载、轴转速、采样率和加速度("g")数据向量,便于直接用于信号处理和特征提取。
图2:MFPT轴承试验台结构示意图,标注了关键组件如AC电机、速度传感器、减速器和加速度计等
二、环境准备:快速获取与配置MFPT数据
2.1 数据集获取
要开始MFPT数据的故障诊断实战,首先需要获取数据集。您可以通过以下步骤获取完整数据:
- 克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/ro/Rotating-machine-fault-data-set- 查看MFPT数据集说明: 项目中提供了详细的MFPT数据集说明文档,路径为:doc/MFPT.md
2.2 数据格式与解析
MFPT数据存储为MATLAB的*.mat格式,包含以下关键信息:
- 负载(load):轴承所受负载大小
- 轴转速(shaft rate):输入轴的旋转速度
- 采样率(sample rate):数据采集频率
- 加速度数据(vector of "g" data):振动加速度信号
在Python环境中,可使用scipy.io库读取.mat文件:
import scipy.io # 加载MFPT数据文件 mat_data = scipy.io.loadmat('path/to/mfpt_data.mat') # 提取加速度信号 acceleration_data = mat_data['g_data'] # 获取采样率 sample_rate = mat_data['sample_rate'][0][0]三、故障诊断完整流程:从信号到诊断结果
3.1 数据加载与可视化
首先加载数据并进行初步可视化,观察信号特征:
import matplotlib.pyplot as plt import numpy as np # 假设已加载加速度数据和采样率 time = np.arange(len(acceleration_data)) / sample_rate # 绘制时域波形 plt.figure(figsize=(12, 6)) plt.plot(time, acceleration_data) plt.xlabel('Time (s)') plt.ylabel('Acceleration (g)') plt.title('MFPT Bearing Vibration Signal') plt.grid(True) plt.show()这段代码将生成振动信号的时域波形图,通过观察波形可以初步判断是否存在异常振动。
3.2 特征提取:从振动信号中提取故障特征
特征提取是故障诊断的关键步骤,常用的特征包括:
- 时域特征:均值、方差、峰值、峭度等
- 频域特征:通过傅里叶变换获得的频谱特征
- 时频域特征:通过小波变换或短时傅里叶变换获得的时频特征
以下是提取时域特征的示例代码:
def extract_time_domain_features(signal): features = { 'mean': np.mean(signal), 'std': np.std(signal), 'peak': np.max(np.abs(signal)), 'kurtosis': np kurtosis(signal), 'rms': np.sqrt(np.mean(signal**2)) } return features # 提取特征 features = extract_time_domain_features(acceleration_data) print("时域特征:", features)3.3 故障识别:基于特征的故障分类
MFPT数据集提供了多种故障类型的标注数据,可以用于训练故障分类模型。常用的分类算法包括支持向量机(SVM)、随机森林和神经网络等。
图3:轴承故障预测流程示意图,展示了从振动信号分析到轴承状态预测的过程
以下是使用支持向量机进行故障分类的简单示例:
from sklearn import svm from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 假设X是特征矩阵,y是故障类型标签 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 训练SVM模型 clf = svm.SVC(kernel='rbf', gamma='scale') clf.fit(X_train, y_train) # 预测与评估 y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f"故障分类准确率:{accuracy:.2f}")四、MFPT数据集的应用与扩展
4.1 研究论文中的应用
MFPT数据集已被多篇学术论文采用,用于验证故障诊断算法的有效性。例如:
- Lee D等人在2016年的论文"Convolutional neural net and bearing fault analysis"中使用MFPT数据验证了卷积神经网络在轴承故障分析中的应用
- Verstraete D等人在2017年的论文"Deep learning enabled fault diagnosis using time-frequency image analysis of rolling element bearings"中利用MFPT数据展示了基于时频图像分析的深度学习故障诊断方法
完整的论文列表可参考项目中的doc/MFPT.md文件。
4.2 工业应用案例
MFPT数据集包含三个真实世界故障案例,为工业应用提供了宝贵的参考:
- 风力涡轮机中间轴轴承故障
- 风力涡轮机油泵轴轴承故障
- 行星齿轮箱轴承故障
这些案例展示了MFPT数据在实际工业场景中的应用价值,有助于将实验室算法与工业实践相结合。
图4:工业大数据创新竞赛海报,展示了旋转机械故障诊断在工业大数据领域的重要性
五、总结与进阶学习
通过本文的实战流程,您已经了解了如何使用MFPT数据集进行轴承故障诊断的基本方法。从数据获取、特征提取到故障分类,每一步都是故障诊断的关键环节。
5.1 关键知识点回顾
- MFPT数据集包含丰富的轴承故障类型和工况组合
- 振动信号的时域、频域和时频域特征是故障诊断的重要依据
- 机器学习算法可有效实现故障类型的自动识别
5.2 进阶学习资源
要深入学习旋转机械故障诊断,建议参考以下资源:
- 项目中的官方文档:doc/目录包含各个数据集的详细说明
- 机械设备故障诊断数据集及技术资料大全:提供了更多工业数据资源和技术文档
通过不断实践和探索,您将能够掌握更高级的故障诊断技术,为工业设备的健康管理提供有力支持。MFPT数据集作为一个优质的开源资源,为故障诊断研究和应用提供了坚实的基础。
【免费下载链接】Rotating-machine-fault-data-setOpen rotating mechanical fault datasets (开源旋转机械故障数据集整理)项目地址: https://gitcode.com/gh_mirrors/ro/Rotating-machine-fault-data-set
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
