CWRU数据集介绍及python数据预处理代码

CWRU数据集介绍及python数据预处理代码CWRU 数据集解读及 python 数据预处理代码免费获取 cwru 数据集介绍

大家好,欢迎来到IT知识分享网。

CWRU数据集解读及python数据预处理代码免费获取

1.CWRU数据集介绍

1.试验台介绍

CWRU(凯斯西储大学)轴承数据集为使用2马力Reliance Electric电动机进行实验,并且在靠近和远离电动机轴承的位置处测量加速度数据。

请添加图片描述

如上图所示,试验台由2马力的电动机(左),扭矩传感器/编码器(中心),测功机(右)和控制电子设备(未示出)组成。 测试轴承支撑电机轴。

2.轴承故障介绍

使用EDM对电机轴承造成故障,在轴承内圈、滚动体、外圈上分别造成直径为0.007英寸,0.014英寸,0.021英寸,0.028英寸和0.040英寸的故障。并记录0至3马力(电机速度为1797至1720 RPM)的电机负载时的轴承两端的振动数据。SKF轴承有0.007,0.014和0.021英寸直径的故障,NTN轴承有0.028英寸和0.040英寸的故障。

3.故障信息采集介绍

使用加速度计收集振动数据,加速度计用磁性底座连接到壳体上。 加速度计放置在电机壳体的驱动端和风扇端的12点钟位置。 在一些实验期间,加速度计也连接到马达支撑基板。 使用16通道DAT记录仪收集振动信号,并在Matlab环境中进行后处理。 所有数据文件都是Matlab(* .mat)格式。 以每秒12,000个样本收集数字数据,并且还以每秒48,000个样本收集数据以用于驱动端轴承故障。 使用扭矩传感器/编码器收集速度和马力数据并手动记录。

4.数据文件介绍

CWRU数据集解压后共有4个文件夹,12k和48k分别代表采样频率是12kHz和48kHz。Drive End代表在驱动端采集的数据,Fan End代表在风扇端采集的数据。”Normal Baseline Data”文件夹中存储的是轴承没有故障时的运行数据(即正常状态下的轴承的运行数据)。
请添加图片描述

“Normal Baseline Data”文件夹中只有四个数据文件,分别为不同负载、不同转速下采集得到的数据。如下表:

Motor Load (HP) rpm Normal Baseline Data
0 1797 Normal_0(97.mat)
1 1772 Normal_1(98.mat)
2 1750 Normal_2(99.mat)
3 1730 Normal_3(100.mat)

97.mat文件代表负载为0、转速为1797rpm时采集得到的数据,98.mat、99.mat、100.mat依次类推。(奇怪的是,没有给出采样频率)

下表为文件”12k Drive End Bearing Fault Data”中的数据集介绍。可以从表中得出以下信息

  1. “Fault Diameter” :故障直径
  2. “Motor Load”:负载
  3. “rpm”:转速
  4. “Inner Race”:故障处于内圈
  5. “Ball”:故障处于滚动体
  6. “Outer Race”:故障处于外圈

需要注意的是轴承试验台中,轴承的外圈是固定在轴承座上,因此轴承转动是内圈和滚动体在转动,而外圈是固定不动的,负载是作用于轴承的,因此其作用中心点位于6点钟方向即垂直向下。

  1. “Position Relative to Load Zone (Load Zone Centered at 6:00)”:轴承外圈故障点相对于力作用点的位置
  2. “Centered @6:00 “:即和力作用点处于同一方向(6点钟方向)。

因此105.mat数据就是在负载为0、转速为1797rpm,内圈故障直径为0.007英寸时采集得到的数据。

以最简单的故障诊断数据集选取为例,选取105.mat、118.mat、130.mat以及97.mat可以组成最简单的故障位置判别数据集。

分别为内圈故障、滚动体故障、外圈故障以及正常。

  1. “*”:代表没有该种类的数据,因此选择数据集做实验时也要注意该类型的数据是否齐全。
Fault Diameter Motor Load (HP) rpm Inner Race Ball Outer Race Position Relative to Load Zone (Load Zone Centered at 6:00)
Centered @6:00 Centered @3:00 Centered @12:00
0.007″ 0 1797 105.mat 118.mat 130.mat 144.mat 156.mat
1 1772 106.mat 119.mat 131.mat 145.mat 158.mat
2 1750 107.mat 120.mat 132.mat 146.mat 159.mat
3 1730 108.mat 121.mat 133.mat 147.mat 160.mat
0.014″ 0 1797 169.mat 185.mat 197.mat * *
1 1772 170.mat 186.mat 198.mat * *
2 1750 171.mat 187.mat 199.mat * *
3 1730 172.mat 188.mat 200.mat * *
0.021″ 0 1797 209.mat 222.mat 234.mat 246.mat 258.mat
1 1772 210.mat 223.mat 235.mat 247.mat 259.mat
2 1750 211.mat 224.mat 236.mat 248.mat 260.mat
3 1730 212.mat 225.mat 237.mat 249.mat 261.mat
0.028″ 0 1797 3001.mat 3005.mat * * *
1 1772 3002.mat 3006.mat * * *
2 1750 3003.mat 3007.mat * * *
3 1730 3004.mat 3008.mat * * *

5.”mat”文件介绍

在matlab中任意打开一个.mat文件,可以看到里面共含有”X097RPM”、“X097_DE_time”、”X097_FE_time”三个变量。

请添加图片描述

“X097RPM”:里面是该数据集的转速数据

“X097_DE_time”:里面是驱动端的振动加速度数据

“X097_FE_time”:里面是风扇端的震动加速度数据

在使用时要统一使用驱动端或风扇端的数据。

2.python数据读取及预处理代码

1.导入包

from scipy.io import loadmat#加载mat文件 import numpy as np # 关注VX公众号:“慢慢的不急”,免费获取代码 from sklearn.preprocessing import MinMaxScaler#数据归一化 

mat文件使用python打开后是字典的格式,如下图:

请添加图片描述

我们需要的仅为第四和第五个key对应的value,分别对应驱动端数据和风扇端数据。

2.数据预处理流程

1.截取数据,将数据进行分段,每一段代表一个样本。

2.对分段后的数据进行最大最小归一化,可选择[0,1]或[-1,1]归一化。

3.生成标签,此标签可代指故障类型。

4.给每一个样本赋予标签。

5.输出带标签的样本数据。

所有过程被打包成一个函数,仅需输入以下参数即可输出带标签的数据。

 """ :param path: 文件路径E:\98.mat :param max: 归一化的最大值 :param min: 归一化的最小值 :param loc: 对应CWRU数据的两个传感器位置。3或4.分别为驱动端和风扇端数据 :# 关注VX公众号:“慢慢的不急”,免费获取代码 :param len: 选取数据长度 :param index: reshape的行 :param col: reshape的列 :param tar: 标签 :return: 一份打完标签的数据 """ 

3.代码获取

关注”慢慢的不急”回复“cwru预处理”免费获取代码。
ex: reshape的行
:param col: reshape的列
:param tar: 标签
:return: 一份打完标签的数据
“””

 3.代码获取 关注vx"慢慢的不急"回复“cwru预处理”免费获取代码。 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/141447.html

(0)
上一篇 2025-05-17 13:26
下一篇 2025-05-17 13:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信