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

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)rpmNormal Baseline Data
01797Normal_0(97.mat)
11772Normal_1(98.mat)
21750Normal_2(99.mat)
31730Normal_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 DiameterMotor Load (HP)rpmInner RaceBallOuter Race Position Relative to Load Zone (Load Zone Centered at 6:00)
Centered @6:00Centered @3:00Centered @12:00
0.007"01797105.mat118.mat130.mat144.mat156.mat
11772106.mat119.mat131.mat145.mat158.mat
21750107.mat120.mat132.mat146.mat159.mat
31730108.mat121.mat133.mat147.mat160.mat
0.014"01797169.mat185.mat197.mat**
11772170.mat186.mat198.mat**
21750171.mat187.mat199.mat**
31730172.mat188.mat200.mat**
0.021"01797209.mat222.mat234.mat246.mat258.mat
11772210.mat223.mat235.mat247.mat259.mat
21750211.mat224.mat236.mat248.mat260.mat
31730212.mat225.mat237.mat249.mat261.mat
0.028"017973001.mat3005.mat***
117723002.mat3006.mat***
217503003.mat3007.mat***
317303004.mat3008.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预处理”免费获取代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢慢的不急

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值