• 四通道信息融合下的齿轮箱故障诊断(Python代码,SVM模型和CNN模型进行对比实验,解压缩即可运行,有详细中文注释)


    1.效果运行视频:四通道信息融合下的齿轮箱故障诊断(Python代码,SVM模型和CNN模型进行对比实验)_哔哩哔哩_bilibili

    用到的库:

    2.数据集介绍:数据免费下载链接(不要积分):https://download.csdn.net/download/qq_40840797/88380869?spm=1001.2014.3001.5501

    齿轮箱故障诊断数据集包括使用SpectraQuest的齿轮箱故障诊断模拟器记录的振动数据集。 数据集使用4个振动传感器在四个不同的方向上记录,采样频率为3000hz并在负载从0%到90%的变化下进行记录。包括两种不同的情景:

    1. 健康状态:文件夹Healthy
    2. 齿轮破损故障状态:文件夹BrokenTooth

    总共有20个文件(每个文件夹下10个文件),其中10个用于健康的齿轮箱,另外10个用于破损的齿轮箱。每个文件对应于从0%到90%负载的逐步增加。

    Healthy文件夹打开如图所示(每个表格对应于从0%到90%负载的逐步增加,因此一共10个表格):

    BrokenTooth 文件夹打开如下图所示(每个表格对应于从0%到90%负载的逐步增加,因此一共10个表格):

    这里以正常状态下的第一个表格(h30hz0.csv文件为例)展示

    开始位置(数据集使用4个振动传感器在四个不同的方向上记录,)

    截止位置(数据集使用4个振动传感器在四个不同的方向上记录):

    这里以故障状态下的第一个表格(b30hz0.csv文件为例)展示 

    开始位置(数据集使用4个振动传感器在四个不同的方向上记录)

    截至为止(数据集使用4个振动传感器在四个不同的方向上记录)

    2。项目流程(有三份代码)

    第一份代码data_plot.py,功能是原始数据展示:

    以传感器1(其它3个传感器跟传感器1采集时间和采样频率均相同)为例,所有数据展示(b:蓝色柱子为破损文件夹下的数据集,y轴为负载,横轴为采集点的个数)

     传感器1下负载为0和90%时,分别展示故障和健康的信号。

     传感器2下负载为0和90%时,分别展示故障和健康的信号。 

    传感器3下负载为0和90%时,分别展示故障和健康的信号。

     传感器4下负载为0和90%时,分别展示故障和健康的信号。

     10种负载下健康和故障的数据总展示图(第一行是传感器1,第二行是传感器2,第三行是传感器3,第四行是传感器4)

    一共是10列(每列里面有蓝色和黄色,蓝色为故障状态,黄色为健康状态),从负载0-负载90%。

    因为要把20个表格,每个表里又有4个传感器的数据同时绘制出来,所以每个信号显示的较小。

    a1传感器下的数值分布图(蓝色为故障状态,黄色为健康状态)

     a2传感器下的数值分布图(蓝色为故障状态,黄色为健康状态)

      a3传感器下的数值分布图(蓝色为故障状态,黄色为健康状态)

      a4传感器下的数值分布图(蓝色为故障状态,黄色为健康状态)

     第二份代码SVM.py

    以512的固定长度切割信号,一共生成3941个样本(故障状态1960个样本,正常状态1981个样本,如下图所示)

    故障状态样本集(最左侧为序列号0-1959,一共1960个样本)

    正常状态样本集

    总的样本集

    样本数据归一化处理后,划分训练集与测试集(3:2)

    测试集的准确率如下

     

     第三份代码CNN.py

    以512的固定长度切割信号,一共生成3941个样本(故障状态1960个样本,正常状态1981个样本,如SVM章节所示)

    样本数据归一化处理后,划分训练集与测试集(3:2),epoch为100

    测试集的准确率如下

     

    对整个项目感兴趣的,可以关注最后一行

    1. import os
    2. import numpy as np
    3. import tensorflow as tf
    4. from tensorflow.keras import layers, models
    5. from sklearn.model_selection import train_test_split
    6. import pandas as pd
    7. from matplotlib import pyplot as plt
    8. #数据及代码的压缩包:https://mbd.pub/o/bread/ZJ6amJ9y

  • 相关阅读:
    不良事件上报系统
    沁恒CH32V003F4P6 开发板上手报告和Win10环境配置
    第六章 机器学习技巧——参数的更新&权重的初始值&Batch Normalization&正则化&超参数的验证
    骑行运动耳机哪个好,列举五款适合在骑行过程中佩戴的耳机
    SpringBoot 项目使用 Sa-Token 完成登录认证
    Redis高可用系列——Hash类型底层详解
    java jvm用到的各种工具
    一文详解C++动态对象创建
    怎么辨别哪些才是真的低代码开发平台?
    PAT.1123 Is It a Complete AVL Tree - AVL树
  • 原文地址:https://blog.csdn.net/qq_40840797/article/details/133364191