• 四通道信息融合下的齿轮箱故障诊断(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

  • 相关阅读:
    【AI设计模式】05-检查点模式(CheckPoints):如何定期存储模型?
    微信小程序测试策略和注意事项?
    浅谈图片展示、图片自适应解决方案
    激活函数与loss的梯度
    普冉PY32系列(十四) 从XL2400迁移到XL2400P
    第二章 使用管理门户监视IRIS - 系统使用情况指示器
    链游:未来游戏发展的新风向
    SpringBoot原理-起步依赖
    Spring Boot面试题解析
    C进阶 - 程序的编译(预处理操作) + 链接
  • 原文地址:https://blog.csdn.net/qq_40840797/article/details/133364191