52phm简介


专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。 网站正在不断建设和完善过程中,欢迎大家给予建议和参与社区建设

联系我们


投稿说明


52phm,专注于预测性维护知识学习和交流,欢迎广大从事预测性维护行业人员投稿,投稿请联系管理员(wx: www52phmcn),投稿内容可以是:

  • 学习笔记
  • 技术理论
  • 工程案例
  • 行业资讯

加入我们


官方公众号:52phm,专注预测性维护的学习平台

2022-08-09 16:05:36    博客笔记    543    当前专栏:齿轮箱数据集    分类:边缘感知    本站官网:www.52phm.cn   

公众号 ...

齿轮故障诊断的实验数据集及python处理

本文首发于“52phm”公众号,未经授权,严禁转载!

1.摘要

该试验台在不同小齿轮条件下进行测试,并通过加速度计进行振动信号采集,加速度计采样率为10KHz、采样时长为10s,采样数据共3包,每一包数据对应着不同故障类型,分别是健康状态、齿轮断齿、齿轮磨损状态下的数据集。该数据集被授权于用于任何学术和研究目的。

2.试验台结构

试验台装置整体传动系统主要由电机作为驱动输入,通过皮带带动齿轮箱,而齿轮箱输出端通过皮带带动刹车系统。具体试验台装置、原理图及加速度计安装示意图如下图所示。

试验台设置

测试原理图

加速度计的方向及位置

3.数据集解读

  1. 数据集有3包数据,每包数据采样率为10kHz,采样时长为10s;
  2. 电机转速1420rpm/min,小齿轮15齿数、大齿轮110齿数;
  3. 啮合频率=(1420/60)*15=355Hz,在进行频谱分析中来看,实际啮合频率是365Hz左右;
  4. 数据与故障对应关系

  5. 断齿 

Gearbox_a_chipped_tooth_full_load_03_December_2009_10kHz_pos1

  • 正常  

Gearbox_no_fault_full_load_01_December_2009_10kHz_pos1

  • 3个齿磨损  

Gearbox_three_worn_teeth_full_load_13_December_2009_10kHz_pos1

齿轮磨损和脱落


4.振动分析

这里使用python写了一个数据处理的程序,将mat数据保存到csv文件、以及给出振动原始波形、频谱图的计算方法。简单提供一个baseline,方便大家使用数据集和做一些分析学习。

数据处理

"""
@日期:2022-08-06
@作者:xiaozhi
@网站:http://www.52phm.cn
@数据来源:https://www.researchgate.net/publication/303792317_EXPERIMENTAL_DATASET_FOR_GEAR_FAULT_DIAGNOSIS
"""
import pandas as pd
from scipy import io


if __name__ == '__main__':
    df = pd.DataFrame()
    data1 = io.loadmat("./Gearbox_a_chipped_tooth_full_load_03_December_2009_10kHz_pos1.mat")
    data1_acc = data1['acc'].flatten() * 9.8605
    df['Gearbox_a_chipped_tooth_full_load_03_December_2009_10kHz_pos1'] = data1_acc

    data1 = io.loadmat("./Gearbox_three_worn_teeth_full_load_13_December_2009_10kHz_pos1.mat")
    data1_acc = data1['acc'].flatten() * 9.8605
    df['Gearbox_three_worn_teeth_full_load_13_December_2009_10kHz_pos1'] = data1_acc

    data1 = io.loadmat("./Gearbox_no_fault_full_load_01_December_2009_10kHz_pos1.mat")
    data1_acc = data1['acc'].flatten() * 9.8605
    df['Gearbox_no_fault_full_load_01_December_2009_10kHz_pos1'] = data1_acc

    df.to_csv("齿轮箱数据集转速1420主动轴15齿从动轮110齿啮合频率比实际355Hz有偏差在365Hz左右.csv", index=False)

振动分析

这里涉及到时域波形和频谱分析,本次baseline提供快速傅里叶变换的频谱分析,具体实现如下代码所示。

"""
@日期:2022-08-06
@作者:xiaozhi
@网站:http://www.52phm.cn
@数据来源:https://www.researchgate.net/publication/303792317_EXPERIMENTAL_DATASET_FOR_GEAR_FAULT_DIAGNOSIS
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False


def get_wav(data, fs, title):
    plt.clf()
    plt.title(title)
    t = np.arange(len(data)) * (1/fs)
    plt.plot(t, data)
    plt.xlabel("时间[s]")
    plt.ylabel("幅值[m/s^2]")
    plt.savefig(title  '_wav.png')
    # plt.show()


def get_spec(data, fs, title):
    plt.clf()
    plt.title(title)
    f = np.fft.rfftfreq(len(data), 1/fs)
    amp = abs(np.fft.rfft(data)) * 2 / len(data)
    plt.plot(f, amp)
    plt.xlabel("频率[Hz]")
    plt.ylabel("幅值[m/s^2]")
    plt.savefig(title  '_spec.png')
    plt.show()


if __name__ == '__main__':
    df = pd.read_csv("齿轮箱数据集转速1420主动轴15齿从动轮110齿啮合频率比实际355Hz有偏差在365Hz左右.csv")
    for col in df.columns.tolist():
        data1 = df[col].values
        # get_wav(data1, fs=10000, title=col)
        get_spec(data1, fs=10000, title=col)
  • 正常齿轮


- 齿轮断齿
- 齿轮磨损

5.数据和代码获取

关注公众号“52phm”,回复“齿轮箱”或“齿轮箱数据集”即可获取本文数据集和代码。

6.参考资料

https://www.researchgate.net/publication/303792317_EXPERIMENTAL_DATASET_FOR_GEAR_FAULT_DIAGNOSIS

免责声明


[推荐] 机电设备故障诊断数据集

2021-12-09 11:27:13    博客笔记    5953    分类:边缘感知    专栏:故障诊断   


[推荐] python数据类型

2022-01-19 13:19:38    博客笔记    886    分类:算法开发    专栏:python基础   


[推荐] python使用窗函数处理频谱泄露

2022-02-11 13:19:32    博客笔记    905    分类:算法开发    专栏:振动信号预处理   



转发此文章到社区


关注公众号进群

让志同道合读者学习交流



python机器学习与特征工程理论与代码实现

通过python编程语言实现特征工程功能,本篇特征工程文章较为全面的介绍数据预处理,缺失值处理方法、异常值处理方法、数据无量纲、标准化、归一化,另外还介绍特征选择、特征降维等特征工程知识

2021-12-04 12:12:30    博客笔记    4526    分类:算法开发    专栏:特征工程   


轴承模拟疲劳损伤的实验数据集

该数据集是疲劳实验用于监测轴承在过载情况下的损坏过程数据,具体实验简介可在下载文件中获取。

2021-12-05 18:17:42    博客笔记    4381    分类:边缘感知    专栏:轴承   


一种基于CNN的数据驱动故障诊断方法

本文主要分为四个部分:目录本文主要分为四个部分:1.数据预处理2.使用的CNN框架3.性能评估4.总结

2021-12-09 14:46:03    互联网    1949    分类:算法开发    专栏:故障诊断   


基于python的快速傅里叶变换FFT

基于python的快速傅里叶变换FFT(二)本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换。知识点  FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量...

2021-12-14 14:06:34    互联网    841    分类:算法开发    专栏:数字信号处理   


气象数据分析之突变检验及python的实现:MK突变、Pettitt方法、滑动T检验

什么是突变?常见的气候突变是把它定义为气候从一个平均值到另 一个平均值的急剧变化, 它表现为气候变化的不连续性(符淙斌,1992)。下图总结了四种常见的突变:(a)均值突变:从一个均值到另一个均值的变化,表现气候变化的不连续性(b)变率突变:平均值没有变但是方差变了©跷跷板突变(d)转折突变:某一 时段持续减少 ( 增加 ) , 然后突然在某点开 始 持续增加 (减少 )检验突变的方法有很多,介绍几种常用的~1. MK突变分析1.1原理3. 滑动T检验...

2021-12-20 11:02:22    互联网    1070    分类:算法开发    专栏:工业异常检测   


python简介和下载安装

1、python介绍Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

2022-01-16 11:22:32    博客笔记    1006    分类:算法开发    专栏:python基础   


python编码和声明

python编码和声明 1、window环境下,在完成hello world运行后,已经初步掌握了python运行的机制,下面将介绍python编码方式。一般在pycharm编辑器中新建.py文件后,可以看到首行出现一行注释,例如

2022-01-17 23:15:26    博客笔记    813    分类:算法开发    专栏:python基础   


python变量名命名规则

python变量名命名规则变量名是指在代码中自定义的变量参数,比如a,b,_h, h1等,都可以称为变量名。下面介绍变量名的命名规范:变量名第一个字符必须是字母表中字母或下划线 _ ;变量名可以由字母、数字和下划线组成;变量名对大小写敏感,即大小写变量名含义不同;变量名不能与python内置关键字(比如def、if、else等)相同。1、变量名命名错误例子def = "晓物智联" # def 是python关键字,不能被当成变量名5ab = "晓物智联" # 变量名第一个字符不能为数

2022-01-17 23:36:20    博客笔记    772    分类:算法开发    专栏:python基础   


python内置关键字

python内置关键字python内置关键字是指变量、常量、函数、属性、类、模块标识符,比如def表示函数标识符,if表示条件语句标识符等。下面列出python常见的关键字:1、获取关键字import keywordprint(keyword.kwlist)""" 输出['False', 'None', 'True', 'and', 'as','assert','break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except

2022-01-17 23:48:03    博客笔记    764    分类:算法开发    专栏:python基础   


python代码注释方式

python代码注释方式代码注释从大的方面来说,主要分为单行注释和多行注释。1、单行注释使用#进行注释,如# 这是单行注释样例# 初始化一个变量 namename = "52phm"name = "52phm" # 初始化一个变量 name2、多行注释使用单引号注释name = '''52phm,工业互联网人的技术交流社区,网站地址:http://www.52phm.cn'''使用双引号注释name = """52phm,工业互联网人的技术交流社区,网站地址:http

2022-01-17 23:54:38    博客笔记    831    分类:算法开发    专栏:python基础   


  • 52phm公告

  • 在这里,可以学习接触到工业互联网技术知识以及落地案例,其中涵盖工业数据集、工业标准库、机理模型、设备知识、机器学习、 深度学习、特征工程、振动分析、工业视觉、边缘硬件及传感器等技术知识!


齿轮箱数据集   
  • 关于站长


  •         从事设备故障预测与健康管理行业多年的PHM算法工程师(机器医生)、国际振动分析师, 实践、研发和交付的项目涉及“化工、工业机器人、风电机组、钢铁、核电、机床、机器视觉”等领域。专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。


当前文章目录


52phm社区

52phm社区,专注预测性维护的学习平台!

Saas体验

+ 工业demo学习系统

技术博客

+ 博客首页    + 算法开发    + 边缘感知   

+ 设备机理    + 开发环境

+ 论文速递   

友情链接

+ 在码圈

联系我

Copyright© 2021 52phm社区

京ICP备2021029973号-1