1.摘要

本文基于 CWRU 公开轴承数据集提出了一套“AI 轻量级模型 + LabVIEW 智能诊断系统”。

首先,LabVIEW 端构建了可视化、可交互的智能诊断平台。系统能够加载本地振动信号数据,调用训练好的深度学习模型进行故障识别与状态判断界面集成信号时域监测、快速傅里叶变换(FFT)频谱分析和功率谱密度(PSD)计算,能够全面展示信号在时域与频域的特征。系统支持均值、标准差、方差、偏度、峭度等多种时域特征自动提取,并通过直方图直观显示。诊断结果可实时反馈设备运行状态,提供正常/故障报警提示。该系统实现了数据处理、特征分析与智能诊断的一体化,具有跨平台融合、智能化、可扩展和可视化直观等特点,适用于旋转机械设备的状态监测与健康管理。

其次,描述了凯斯西储大学的电机试验台在 0–3 hp 四种负载、12 kHz 采样率下采集了正常、内圈、外圈及滚动体共 10 类故障状态的振动信号,并按 7/14/21 mils 三种损伤直径建立数据集。接着,提出“FFT+归一化+重塑”的数据预处理流程,将 1024 点一维时域信号转换为 32 × 32 的二维频域张量,适配轻量级卷积网络。最后,模型端采用融合深度可分离卷积与反向残差结构的轻量化主干网络,并引入深度适配网络(DAN)与最大均值差异(MMD)实现无监督跨工况领域自适应,完成跨工况迁移诊断。

2.Labview智能诊断系统界面介绍

本系统是一个基于LabVIEW与Python融合的旋转机械信号分析与智能故障诊断平台,如下图所示。该系统主要面向旋转机械设备的状态监测与智能故障诊断,结合 LabVIEW的可视化界面Python的深度学习模型,实现了从信号采集、分析到智能诊断的完整流程。

图1. 智能诊断系统运行界面

Labview智能诊断系统的具体功能如下:

2.1 数据加载与诊断

  • 系统支持加载本地旋转机械信号数据(例如CWRU轴承数据集)。可以调用Python训练好的AI模型,实现对新输入信号的自动故障识别。

2.2 信号监测与显示

可加载并显示诊断信号的时域波形。进行快速傅里叶变换(FFT),显示信号的频域特征。提供功率谱密度(PSD)分析,辅助判别故障特征频率。

2.3 特征提取与分析

自动计算时域统计特征(均值、标准差、偏度、峭度等)。提供直方图展示时域特征分布情况。

2.4 设备状态监测

系统通过AI模型的诊断结果输出设备运行状态(如Normal、Fault)。配置报警指示灯,若发现异常则红灯报警。

2.5 Python集成

系统能调用Python脚本和已训练好的深度学习模型。支持模型加载与预测,结合LabVIEW界面实现人机交互。Labview调用的python脚本程序如下:

from models.Lightweight_model import Lightweight_model
import torch
import numpy as np
from scipy.fftpack import fft
from sklearn.preprocessing import normalize as normdef process_data(data):# Ensure the input is a numpy arraydata = np.array(data)# Take the first 1024 pointsdata = data[:1024]fft_norm = Trueif fft_norm:# FFT normalizationdata = abs(fft(data))data = norm(data.reshape(1, -1))else:pass# Reshape to (1, 1, 32, 32)data = data.reshape(1, 1, 32, 32)# Convert to a PyTorch tensortensor = torch.from_numpy(data).float()return tensordef predict(data, model_path):diagnostic_data = process_data(data)model = Lightweight_model(class_num=10)  # num_classes根据数据集类别数进行修改model.load_state_dict(torch.load(model_path, map_location='cpu'))  # 加载模型参数model.eval()with torch.no_grad():output, _, _, _, _ = model(diagnostic_data)_, predicted = torch.max(output.data, 1)return predicted

3. 深度自适应迁移学习网络介绍

基于Labview的智能诊断系统将调用深度自适应网络(Deep Adaptation Network,DAN)模型来完旋转机械的智能诊断。接下来将讲解从零开始搭建深度自适应网络(Deep Adaptation Network,DAN)算法,如下图所示。项目包括加载CWRU轴承原始信号,信号处理、数据集制作,模型搭建,DAN深度领域自适应算法设计、特征可视化,混淆矩阵等流程来帮助读者学习基于迁移学习/变工况/域适应的故障诊断。学懂本项目即可了解基于迁移学习的故障诊断基本流程。本项目中[*所有程序代码包含详细的注释*],适合新生小白学习。本项目CWRU数据集变工况迁移诊断准确率可达100%。

3.1试验台介绍

CWRU凯斯西储大学数据集包括四种轴承不同轴承健康状态,即正常状态、内圈故障、外圈故障和滚动体故障。分别有7mils、14mils和21mils三种故障直径(1mils=0.0254mm)。该电动机在0hp、1hp、2hp、3hp四种不同的负载和1730r/min、1750r/min、1772r/min、1797r/min四种不同转速下收集振动信号。

 3.2 数据预处理

数据预处理部分主要是将原始信号划分为训练集和测试集,以用于训练模型。该部分包括:

  •  加载原始信号,从.mat原始数据中加载信号数据;
  • 信号分割,即将原始信号分割为多个样本;
  • 信号变换,将时域信号转换为频域信号;
  • 信号归一化,将信号进行归一化处理;
  • 信号重塑,将信号转换为[batch, channel, height, weight]的数据,以便于输入卷积模型;
  • 数据集生成,将每个类别的样本和标签进行拼接,组成一个完成的训练集。 

3.2.1加载原始信号

从mat文件中加载原始的信号,如下图所示。

3.2.2信号分割

从原始信号中随机采样n个样本长度为1024的样本,如下图所示。

3.2.3对原始信号进行FFT变换

3.2.4信号重塑

将长度为[1024]的一维频域信号重塑为[32, 32]的二维信号,如下图所示。

3.3.模型介绍

3.3.1模型结构介绍

本项目使用的轻量化模型主要由标准卷积(Conv1和Conv2)、轻量化特征提取块(Block1和Block2)和分组卷积GC组成,如下图所示。

3.3.2模型结构参数介绍

具体的模型结构如下表所示。

结构

卷积核尺寸

步幅

Padding

输出通道

输出尺寸

信号

-/-

-/-

-/-

1

32×32

Conv1

3×3

2

1

48

16×16

PW

1×1

1

0

48

16×16

DW

3×3

2

1

48

8×8

PW

1×1

1

0

48

8×8

Avgpool

3×3

2

1

48

8×8

特征提取模块1通道拼接

96

8×8

PW

1×1

1

0

96

8×8

DW

3×3

2

1

96

4×4

PW

1×1

1

0

96

4×4

Avgpool

3×3

2

1

96

4×4

特征提取模块2通道拼接

192

4×4

GC

3×3

1

1

96

2×2

DW

3×3

2

1

96

1×1

PW

1

2

0

10

1×1

4.项目程序文件

5.说明文档

详细的说明文档如下,详细讲解了基于Labview的旋转机械AI智能诊断系统项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94722.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94722.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94722.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt从qmake迁移到cmake的记录

文章目录1.UI程序[开启/关闭]控制台2.增加宏定义3.在主项目中引入子项目4.使用C语言文件1.UI程序[开启/关闭]控制台 qmake: CONFIG console DEFINES QT_MESSAGELOGCONTEXTcmake: set(CMAKE_WIN32_EXECUTABLE OFF) # ON为关闭控制台 OFF为开启控制台2…

LangChain4J-(3)-模型参数配置

LangChain4j 提供了灵活的模型参数配置方式,允许你根据不同的 AI 模型(如 OpenAI、GPT-4、Anthropic 等)设置各种参数来控制生成结果。后面手撸代码继续在之前章节的代码上拓展一、日志配置(Logging)在 LangChain4j 中…

LangGraph - API多种访问方式

本文介绍了Langgraph服务的四种调用方式:1. 通过LangGraph Studio UI界面手动测试;2. 使用Python SDK进行同步/异步调用;3. 通过REST API测试;4. 使用JavaScript SDK接入。Langgraph 服务端代码 graph.pyfrom langchain_openai im…

HEI-612 HART/EtherNet/IPModbus TCP 网关:打通工业通信壁垒

在工业自动化领域,HART 协议设备的广泛应用与以太网网络的高效管理常面临 “协议孤岛” 难题 —— 老旧 HART 传感器、变送器难以接入 EtherNet/IP 或 Modbus TCP 系统,数据双向交互卡顿、调试复杂、兼容性差等问题,严重制约生产效率提升。上…

OSPF 的工作过程、Router ID 机制、报文结构

视频版讲解>>>>>>>>>>>>>>路由协议深度解析:从静态路由到 OSPF 实战 一、回顾静态路由:拓扑与核心逻辑 我们先回到上周讲解的拓扑图,这张图是理解静态路由的核心载体 —— 路由器作为网段分割的…

Qt 6 与 Qt 5 存在的兼容性差异

之前有提到。我的是Qt5,我朋友的是Qt 6,由于版本不兼容问题,在迁移时会有问题。所以这一我们说说这两个的区别。( 正文开始喽! 总结来说:Qt5迁移至 Qt 6 需:1. 破坏性变更(必须修改…

本地windows电脑部署html网页到互联网:html+node.js+ngrok/natapp

目录 核心概念:为什么不能直接分享HTML文件? 1,html文件修改 2,安装设置node.js 3,路由器虚拟服务器 4,采用ngrok工具进行内网穿透(国外工具) 5,采用natapp工具进行…

electron离线开发核心环境变量npm_config_cache

npm_config_cache 这个环境变量。它在离线环境配置中扮演着核心角色。什么是 npm_config_cache?npm_config_cache 是一个环境变量,用于直接设置 npm 的缓存目录的绝对路径。npm 在安装包时,会遵循一个特定的工作流程:检查缓存&…

CTFshow系列——命令执行web57-60

本篇文章介绍命令执行的另一种情况,CTFshow的Web57-60关的讲解解析;要想了解其它关卡可查看我以往的文章,感谢关注。 文章目录Web57(新方法)Web58(POST型)不可用函数可用函数Web59第二种方法&am…

域名、ip、DSN、URL

目录 1、ip 2、域名 3、DSN 4、URL 1、ip 每个连接到Internet上的主机都会分配一个IP地址,此ip是该计算机在互联网上的逻辑地址的唯一标识,计算机之间的访问就是通过IP地址来进行的。写法:十进制的形式,用“.”分开&#xff0…

【JAVA实现websocket】

JAVA实现websocket背景依赖问题代码实现测试背景 近期项目中需要用到websocket&#xff0c;实现即时通信。 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></depen…

2.6 提示词调优编码实战(一)

目录 写在前面 一,需求定义 二,简单提示词 2.1 代码示例 2.2 输出结果 三,提示词模版 3.1 提示词 3.1.1 任务描述 3.1.2 用户输入 3.1.3 模型输出格式 3.1.4 Prompt模版 3.2 输出结果 写在前面 前面我们总结了提示词对于模型的意义,接下来我们来通过向模型输入…

使用Stone 3D快速制作第一人称视角在线小游戏

首先得有个怪物模型&#xff0c;怪物带有idle, attack动作 然后有个场景模型&#xff0c;把怪物&#xff08;如果模型较大&#xff0c;建议使用remote-mesh来加载&#xff09;摆放到想放的位置。 给相机加上fps-controls和character组件 给所有怪物加上character组件 可以在…

嵌入式第三十七课!!!TCP机制与HTTP协议

TCP的其他机制TCP头部标志位SYN&#xff1a;请求建立连接标志位 ACK&#xff1a;响应报文标志位 PSH&#xff1a;携带数据标志位&#xff0c;通知接收方该从缓冲区读数据 FIN&#xff1a; 请求断开连接标志位 RST&#xff1a;复位标志位 URG: 紧急数据标志…

【测试】pytest测试环境搭建

使用pytest进行API测试&#xff0c;vscode运行 创建虚拟环境&#xff0c;安装pytest&#xff0c;httpx&#xff0c;requests&#xff0c;dotenvvscode中ctrlshiftp&#xff0c;选择python: Configure Tests&#xff0c;选择pytest&#xff0c;目录左侧插件testing里面可以看到有…

javaweb开发笔记——微头条项目开发

第八章 微头条项目开发 一 项目简介 1.1 微头条业务简介 微头条新闻发布和浏览平台,主要包含业务如下 用户功能 注册功能 登录功能 头条新闻 新闻的分页浏览 通过标题关键字搜索新闻 查看新闻详情 新闻的修改和删除 权限控制 用户只能修改和自己发布的头条新闻 1.…

Linux(二十二)——服务器初始化指南

文章目录前言一、配置国内 Yum 源&#xff08;加速软件安装&#xff09;二、更新系统与安装必备工具三、网络连接验证四、配置主机名五、同步时间六、配置防火墙6.1 使用 iptables6.1.1 整体思路6.1.2 详细步骤6.1.3 完整配置脚本示例6.1.4 常用管理命令6.2 使用 firewalld总结…

我用Photoshop Firefly+Blender,拯救被环境毁掉的人像大片

今日阳光正好。这样的天气对于摄影师来说是种馈赠&#xff0c;但也让我想起了这个行业最普遍也最无奈的痛点&#xff1a;我们精心策划了一场拍摄&#xff0c;模特的表现、光线的质感都近乎完美&#xff0c;但最终却因为一个平淡的阴天、一处杂乱的背景&#xff0c;或是一个无法…

【线性代数】常见矩阵类型

目录 1. 方阵(Square Matrix) 2. 对称矩阵(Symmetric Matrix) 3. 反对称矩阵 / 斜对称矩阵(Skew-Symmetric Matrix) 4. 对角矩阵(Diagonal Matrix) 5. 三角矩阵 6. 正交矩阵(Orthogonal Matrix) 7. 幂等矩阵(Idempotent Matrix) 8. 正定矩阵 / 半正定矩阵 …

达梦数据库统计信息收集

达梦数据库统计信息收集 检查统计信息收集情况 如何手动收集统计信息 查看统计信息收集结果 统计信息手动收集策略 统计信息的自动收集 检查统计信息收集情况 检查最近一次统计信息收集时间: --表的最近一次统计信息收集时间 SQL> select owner,table_name,last_analyzed…