首页/文章/ 详情

MCC5-THU齿轮箱多模式故障数据集(含变转速、变负载、轴承齿轮复合故障)

22天前浏览1698

论文基本信息

论文题目Multi-mode fault diagnosis datasets of gearbox under variable working conditions

论文期刊Data in Brief
论文日期2024
论文链接https://www.sciencedirect.com/science/article/pii/S2352340924004220
数据链接https://data.mendeley.com/datasets/p92gj2732w/2
作者Shijin Chen(a) , Zeyi Liu(b) , Xiao He(b) , Dongliang Zou(a) , Donghua Zhou(b,c)  
机构
a MCC5 Group Shanghai Co. LTD, 201900, ShangHai, China. 
b Department of Automation, Tsinghua University, 100084, Beijing, China. 
c College of Electrical Engineering and Automation, Shandong University of Science and Technology,  Qingdao 266590, China
通讯作者邮箱hexiao@tsinghua.edu.cn
作者简介
何潇,清华大学自动化系教授、清华大学安全控制技术研究中心主任、清华大学轨道交通智能控制与决策创新团队负责人及首席科学家,曾任清华大学自动化系副主任。研究方向为网络化系统、故障诊断与容错控制。在国内外期刊会议上发表论文200余篇。主持国家自然科学基金重点项目1项、面上项目2项,2015年获得国家自然科学基金优秀青年基金资助。现任中国自动化学会高级会员、IEEE Senior Member、美国Sigma Xi荣誉研究会Full Member,并任Control Engineering Practice、IEEE Transactions on Neural Networks and Learning Systems等多个国际期刊的编委。目前为中国指挥与控制学会云控制与决策专业委员会副主任、智能控制与系统专业委员会副主任、中国自动化学会技术过程的故障诊断与安全性专业委员会秘书长、过程控制专委会常委。曾获2012年SAFEPROCESS国际会议的Frank最佳理论论文提名奖、2023年北京市自然科学二等奖、2021年方崇智最佳论文一等奖、2022年张钟俊院士优秀论文奖,并获2018年吉林省科技进步一等奖、2015年与2020年中国自动化学会自然科学奖一等奖、2022年中国自动化学会技术发明一等奖。培养学生获得2018年和2022年中国自动化学会优秀博士学位论文。
周东华,教授/博导,上海交通大学博士、浙江大学博士后。矿山安全检测技术与自动化装备国家地方联合工程研究中心主任、山东科技大学教授、清华大学双聘教授。曾任清华大学自动化系主任、山东科技大学副校长、教育部高等学校自动化类专业教指委主任、国务院控制科学与工程学科评议组成员。为国家杰出青年基金获得者、长江学者特聘教授、国家”万人计划”领军人才、国家基金委创新研究群体带头人,享受国务院政府特殊津贴。兼任IFAC技术过程故障诊断与安全性技术委员会委员、中国自动化学会副理事长等。主要研究动态系统故障诊断与容错控制、运行安全性评估理论等。以第一完成人获国家奖3项(含国家自然科学二等奖2 项、国家级教学成果二等奖1项)。曾获全国优秀博士后奖、霍英东教育基金会青年教师奖、第六届中国青年科技奖、国家新世纪百千万人才、全国优秀科技工作者、全国黄大年式教师团队带头人等荣誉称号。为山东省泰山学者优势特色学科人才团队领军人才、泰山学者攀登计划专家,入选全球高被引科学家、全球前 2% 顶尖科学家名录,当选IEEE/AAIA/IET/CAAFellow。

注:上述链接若打不开,文末有百度网盘链接。

 摘要

齿轮箱是机电系统的关键部件。多个故障的发生会严重影响系统的精度和使用寿命。齿轮箱的振动信号是其运行状态和故障信息的有效指示器。然而,真实的工业环境中的齿轮箱通常在变化的工况条件下操作,例如变化的速度和负载。利用振动信号完成变工况下齿轮箱的故障诊断是一个有意义和挑战性的研究领域。这篇数据文章介绍了从齿轮箱中收集的振动数据集,该齿轮箱在时变转速负载条件下运行,表现出不同的故障严重程度故障类型。这些故障在通过人工加工故障植入齿轮或轴承中,故障类型包括健康缺齿磨损点蚀根部裂纹断齿。还包括几种实际的复合故障。这些数据集的开发有助于测试新开发的故障诊断方法的有效性和可靠性。

关键词齿轮箱,变工况,故障诊断

参数表

目录

1 数据价值
2 背景
3 数据集描述
4 实验设计、材料和方法
5 数据读取与展示

5.1 数据读取

5.2 绘制时域图

5.3 绘制频域图

5.4 绘制stft时频域图

1 数据价值

  • 1) 数据是从齿轮箱中收集的,齿轮箱在时变工况条件下(包括转速变化负载变化)运行。数据包含振动信号速度信号扭矩信号。该数据集包含多种故障类型(包括多个单齿轮故障和多个轴承-齿轮复合故障)和故障严重程度。如表1所示,我们的数据集优于现有的代表性数据集。
  • 2) 该数据集与现有文献不同,它包括来自更复杂的时变工况条件,更广泛的故障类型和严重程度以及多个信号的数据。
  • 3) 该数据集可用于研究变工况下齿轮箱故障信号的频谱特征。
  • 4) 该数据集可用于评估新开发的齿轮箱故障诊断或工况监测方法的有效性。

表1 代表性数据集的比较

2 背景

齿轮箱的工况环境既复杂又恶劣。在启动 - 停止阶段期间,负载、速度、润滑条件和其它运行参数是在随时间变化的,导致齿轮箱在时变速度和负载工况下运行。因此,变速箱的时变工况条件导致相同齿轮在不同工况下的特性和频率的分布不同。这种工况变化,反过来影响故障诊断模型的鲁棒性和准确性。因此,提供充分数据支持对变工况下的故障诊断模型研究具有重要意义。

3 数据集描述

数据集是根据不同的故障类型、故障程度和工况收集的,共包含240组时间序列数据每个数据集包含8列数据。如图1为单个csv数据内容示例,表2列出了第一行的字母表示该列数据的含义

图1 单个csv数据内容示例

表2 数据集中每列的含义

这些数据集是在两级平行齿轮箱的健康和故障状态下采集的。齿轮箱内部结构示意图如图2所示。这些数据可用于评估在变转速或变负载条件下齿轮箱故障诊断方法的有效性,例如文献[1-5]中提出的方法。


图2 齿轮箱内部结构图

此外,齿轮模数为1.5,齿轮宽度为10mm。中间轴上的齿轮(36齿)是故障齿轮中间轴端部靠近36齿齿轮的支撑轴承是故障轴承,型号是ER16K。ER16K轴承的具体参数见表3。

表3 ER16K轴承的具体参数

数据集采样频率为12.8kHz,以标准EXCEL格式“.csv”存储在没有时间戳的单列中。在60秒的固定持续时间内,以随时间变化的转速或随时间变化的负载收集数据,设定的速度-时间曲线和载荷-时间曲线分别如图3(a)和图3(b)所示。

图中颜色的数量用于区分实验组。以图3(a)中用蓝色标记的0-2500-3000为例,表示在10-20秒内和40-50秒内将转速设置为3000 rpm。同时,在25-30秒内将转速设置为2500 rpm。

图3 (a)时变速度曲线  (b)时变负载曲线

在时变负载条件下的实验过程中,速度被设置为三个恒定值:1000rpm,2000rpm和3000rpm。类似地,在时变速度条件下的实验期间,负载被设置为两个恒定值:10Nm和20Nm。

实验中的故障集包括单齿轮故障和复合齿轮轴承故障。轴承和齿轮的故障参数对应的详细信息分别报告在表4和表5中。在每一个场景中,除了健康状况“缺齿”故障,对于剩下的四个单一故障(“齿轮磨损”“齿轮点蚀”“齿轮裂纹”“断齿”)和两个复合故障(“断齿、轴承内圈故障”“断齿、轴承外圈故障”),考虑了三种不同的故障严重程度。因此,总共包括240个“.csv”文件。在此背景下,共考虑了24个恒定条件和112个动态工况组合。

表4 轴承故障参数详细信息
表5 齿轮故障参数详细说明

值得注意的是,数据集的具体用法与代表性数据集的用法基本一致。对于打算利用该数据集的研究人员,我们建议构建包含整个模拟生命周期的数据,反映实际工况,以评估所提方法的有效性。此外,研究人员可以灵活地根据特定任务需求和提供的csv文件的内容生成定制的训练和测试数据集。

“miss_teeth_torque_circulation_3000rpm_20Nm”数据为例,图4给出了可视化图。值得注意的是,确定了中间轴的旋转频率为14.84Hz,而中间轴上小齿轮的啮合频率为540.63Hz,其边带频率为525.78Hz和555.47Hz。这些观察结果与缺齿缺陷的典型特征相一致。

图4 关于“miss_teeth_torque_circulation_3000rpm_20Nm”数据可视化。(a)表示实际测量的输入轴扭矩值;(b-d)表示电动机在xyz方向上的振动加速度;(e-g) 表示在变速箱中间轴的z轴上显示;(h)表示z轴的包络谱。

此外,还应注意的是,由于电机和扭矩产生器滞后性,实际的速度-时间曲线或负载-时间曲线可能与设定的曲线略有不同。变速箱输出轴的扭矩载荷由磁粉制动器施加,而变速箱输入轴所承受的扭矩则由扭矩传感器测量。在此背景下,键相位传感器和扭矩传感器已测量实际信号。

为了更好地理解数据集文件所对应的设置条件,现将部分文件名的含义解释如下:
"gear_pitting_H_speed_circulation_10Nm_1000rpm.csv":齿轮箱齿面重度点蚀数据集。单坑直径为1.5mm。齿轮输出轴扭矩为10Nm。电机输入轴以0-1000rpm时间-转速曲线旋转,如图2a所示
"gear_pitting_L_speed_circulation_20Nm_3000rpm.csv":齿轮箱齿面轻度点蚀的齿轮箱数据集。单坑直径为0.5mm。齿轮输出轴扭矩为20Nm。电机输入轴以0-3000rpm时间-转速曲线旋转,如图2a所示。
"gear_pitting_H_torque_circulation_1000rpm_10Nm.csv":齿轮箱齿面重度点蚀数据集。单坑直径为1.5mm。电机输入轴以1000rpm的恒定速度旋转。变速箱输出轴的扭矩在0-10Nm之间,加载时间曲线如图2b所示。
"gear_pitting_M_torque_circulation_3000rpm_20Nm.csv":齿轮箱齿面中度点蚀的齿轮箱数据集。单坑直径为0.5mm。电机输入轴以3000rpm的恒定速度旋转。变速箱输出轴的扭矩在0-20Nm之间,加载时间曲线如图2b所示。

4 实验设计、材料和方法

数据集的实验设置如图5所示,其中包括一个2.2kW三相异步电动机,一个扭矩传感器,一个两级并联齿轮箱,一个磁粉制动器作为扭矩产生器,以及一个测量和控制系统。该数据集旨在模拟和记录中间轴及其相邻支承轴承上36齿齿轮在不同运行模式下的各种故障情况。

  • 磁粉制动器用于向变速箱施加扭矩负载;
  • 变速箱输入轴所承受的实际扭矩可以用扭矩传感器测量;
  • 转速传感器用于测量电机输出轴的键相位信号;
  • 从键相位信号可以计算出电机输出轴的转速。

如图5所示,试验台配备了两个三轴振动加速度传感器(TES001V型),用于测量电机和齿轮箱沿x、y和z轴的中间轴三轴振动,采样频率为12.8 kHz。收集数据集并在12种工况下进行处理。为了减少由温度引起的实验误差和测量误差,将实验室的温差控制在2℃范围内。

图5  实验台实物图

5 数据读取与展示

“miss_teeth_torque_circulation_3000rpm_20Nm.csv”数据为例,展示其时域图、频域图、stft时频域图。

5.1 数据读取

首先是先了解如何用python读取数据。它的格式是xls,用pd.read_csv()函数读取,但还需要再处理一下。下面定义了1个data_read()函数,并以“miss_teeth_torque_circulation_3000rpm_20Nm”数据为例。
    ## 导入包from matplotlib import pyplot as pltfrom matplotlib import rcParamsimport numpy as npimport pandas as pdimport osconfig = {    "font.family": 'serif', # 衬线字体    "font.size": 14, # 相当于小四大小    "font.serif": ['SimSun'], # 宋体    "mathtext.fontset": 'stix', # matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大    'axes.unicode_minus': False # 处理负号,即-号}rcParams.update(config)def data_read(file_path):    """    :fun: 读取csv数据    :param file_path: 文件路径    :return accl_data_df: Dataframe,八列分别为'speed', 'torque', 'motor_vibration_x', 'motor_vibration_y', 'motor_vibration_z', 'gearbox_vibration_x', 'gearbox_vibration_y', 'gearbox_vibration_z'    """    file_path = os.path.join(base_dir, file_name)    accl_data_df = pd.read_csv(file_path)    return accl_data_dffile_path = r'E:\03-公开数据集\MCC5-THU gearbox fault diagnosis datasets with variable working conditions\原始数据/gear_pitting_M_torque_circulation_3000rpm_20Nm.csv'df = data_read(file_path)acc_z_arr= df['gearbox_vibration_z']  # 选择变速箱z轴数据df

    图6一个csv文件内具体内容

    可知,该数据为8列,分别为'speed', 'torque', 'motor_vibration_x', 'motor_vibration_y', 'motor_vibration_z', 'gearbox_vibration_x', 'gearbox_vibration_y', 'gearbox_vibration_z'。

    5.2 绘制时域图

    选择齿轮箱z轴的加速度传感器数据进行展示。

      ##========绘制时域信号图========##def plt_time_domain(arr, fs=1600, ylabel='Amp($m/s^2$)', title='原始数据时域图', img_save_path=None, x_vline=None, y_hline=None):    """    :fun: 绘制时域图模板    :param arr: 输入一维数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    import matplotlib.pyplot as plt    plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文    plt.rcParams['axes.unicode_minus'] = False  # 显示负号    font = {'family': 'Times New Roman', 'size': '20', 'color': '0.5', 'weight': 'bold'}    plt.figure(figsize=(12,4))    length = len(arr)    t = np.linspace(0, length/fs, length)    plt.plot(t, arr, c='g')    plt.xlabel('t(s)')    plt.ylabel(ylabel)    plt.title(title)    if x_vline:        plt.vlines(x=x_vline, ymin=np.min(arr), ymax=np.max(arr), linestyle='--', colors='r')    if y_hline:        plt.hlines(y=0.2, xmin=np.min(t), xmax=np.max(t), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    plt.show()
        fs = 12800file_name = r'miss_teeth_torque_circulation_3000rpm_20Nm.csv'##=====绘制时域数据====##time_img_save_path = file_path.replace('.csv', '时域_.png')plt_time_domain(acc_z_arr, fs=fs, title=file_name, img_save_path=time_img_save_path, ylabel = 'Amp(g)')

        共60s的数据,单位    。

        5.3 绘制频域图

          ##========绘制频域信号图========##def plt_fft_img(arr, fs, ylabel='Amp(mg)', title='频域图', img_save_path=None, vline=None, hline=None, xlim=None):    """    :fun: 绘制频域图模板    :param arr: 输入一维时域数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    # 计算频域幅值    length = len(arr)    t = np.linspace(0, length/fs, length)    fft_result = np.fft.fft(arr)    fft_freq= np.fft.fftfreq(len(arr), d=t[1]-t[0])  # FFT频率    fft_amp= 2*np.abs(fft_result)/len(t)                     # FFT幅值    # 绘制频域图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq[0: int(len(t)/2)], fft_amp[0: int(len(t)/2)], label='Frequency Spectrum', color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    plt.legend()    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()
            fs = 12800file_name = r'miss_teeth_torque_circulation_3000rpm_20Nm.csv'##=====绘制频域数据====##fft_img_save_path = file_path.replace('.csv', '频域_.png')plt_fft_img(acc_z_arr, fs=fs, title=file_name, img_save_path=fft_img_save_path)

            可见明显的主频在950Hz左右。

            3.4 绘制stft时频域图

              def plt_stft_img(arr, fs, ylabel='Amp(mg)', title='频域图', img_save_path=None, vline=None, hline=None, xlim=None):    """    :fun: 绘制stft时频域图模板    :param arr: 输入一维时域数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    import scipy.signal as signal    import numpy as np    import matplotlib.pyplot as plt    f, t, nd = signal.stft(arr, fs=fs, window='hann', nperseg=128, noverlap=64,nfft=None,                           detrend=False, return_onesided=True, boundary='odd', padded=False, axis=-1)    #  fs:时间序列的采样频率,  nperseg:每个段的长度,默认为256(2^n)   noverlap:段之间重叠的点数。如果没有则noverlap=nperseg/2    #window :字符串或元组或数组,可选需要使用的窗。    # #如果window是一个字符串或元组,则传递给它window是数组类型,直接以其为窗,其长度必须是nperseg。    # 常用的窗函数有boxcar,triang,hamming, hann等,默认为Hann窗。    #nfft :int,可选。如果需要零填充FFT,则为使用FFT的长度。如果为 None,则FFT长度为nperseg。默认为无    # detrend :str或function或False,可选    # 指定如何去除每个段的趋势。如果类型参数传递给False,则不进行去除趋势。默认为False。    # return_onesided :bool,可选    # 如果为True,则返回实际数据的单侧频谱。如果 False返回双侧频谱。默认为 True。请注意,对于复杂数据,始终返回双侧频谱。    # boundary :str或None,可选    # 指定输入信号是否在两端扩展,以及如何生成新值,以使第一个窗口段在第一个输入点上居中。    # 这具有当所采用的窗函数从零开始时能够重建第一输入点的益处。    # 有效选项是['even', 'odd', 'constant', 'zeros', None].    # 默认为‘zeros’,对于补零操作[1, 2, 3, 4]变成[0, 1, 2, 3, 4, 0] 当nperseg=3.    # padded:bool,可选    # 指定输入信号在末尾是否填充零以使信号精确地拟合为整数个窗口段,以便所有信号都包含在输出中。默认为True。    # 填充发生在边界扩展之后,如果边界不是None,则填充为True,默认情况下也是如此。    # axis :int,可选    # 绘制STFT时频域图    plt.figure(figsize=(12,4))    plt.pcolormesh(t, f, np.abs(nd), vmin = np.min(np.abs(nd)), vmax = np.max(np.abs(nd)))    plt.title(title)    plt.xlabel('时间(t)')    plt.ylabel('频率 (Hz)')    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()
                fs = 12800file_name = r'miss_teeth_torque_circulation_3000rpm_20Nm.csv'##=====绘制STFT时频域数据====##stft_img_save_path = file_path.replace('.csv', '时频域_.png')    plt_stft_img(acc_z_arr, fs=fs, img_save_path=stft_img_save_path)

                从stft时频图可以明显看到频率在随时间发生变化,
                • 在恒定速度时,频率集中在950Hz左右
                • 在加速和减速段时,可以明显看到频率在上升或下降。

                来源:故障诊断与python学习

                附件

                免费链接.txt
                ACTSystem振动化学航空轨道交通ANSApythonUM裂纹理论电机材料数字孪生控制渲染试验
                著作权归作者所有,欢迎分享,未经许可,不得转载
                首次发布时间:2024-05-26
                最近编辑:22天前
                故障诊断与python学习
                硕士 签名征集中
                获赞 43粉丝 39文章 101课程 0
                点赞
                收藏

                作者推荐

                未登录
                还没有评论

                课程
                培训
                服务
                行家

                VIP会员 学习 福利任务 兑换礼品
                下载APP
                联系我们
                帮助与反馈