基于振动传感器数据构建预测性维护AI模型

2023-10-31 04:50

本文主要是介绍基于振动传感器数据构建预测性维护AI模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 预测性维修(Predictive Maintenance,简称PdM)是以状态为依据(Condition Based)的维修,在机器运行时,对它的主要(或需要)部位进行定期(或连续)的状态监测和故障诊断,判定装备所处的状态,预测装备状态未来的发展趋势,依据装备的状态发展趋势和可能的故障模式,预先制定预测性维修计划。

01

振动传感器的基础知识

传感器的主要应用领域:

土木桥梁;机械机床; 汽车NVH;航天航空;海洋船舶;风能电力;国防军工;石油化工;振动台控制;材料特性;教育教学。

传感器的产品类型:

有集中式;便携式;组合式;坚固式;分布式

描述振幅的三种基本参量:位移x,速度v,加速度a

 位移微分积分速度微分积分加速度位移x:  

速度v:  加速度:  可以看出,位移、速度和加速度幅值大小的关系是:

  

微积分前后波形的变化:

1)、相位差90°

2)、幅值变化与频率有关系:位移相同时,速度与频率成正比,加速度与频率的平方成正比。

在实际工程中低阶振动更重要,由于力和加速度成正比,假设在相同力的作用下,不同频率的振动有相同的加速度A=100,则推算到振动速度V和位移X的公式如下:

  

频率f1101001000
圆频率  6.2862.86286280
加速度  100100100100
加速度  161.60.160.016
位移  2.50.0250.000250.0000025

可见,在相同振动加速度下,随着频率增加,振动位移按平方关系下降。工程中,高频的震动位移都是非常微弱的,对结构几乎不形成损伤,因此无需关心

02

常见振动传感器类型

  • 加速度传感器:输出振动加速度信号;

  • 速度传感器:输出振动速度信号;

  • 位移传感器:输出振动位移信号,如电涡流传感器;

  • 力传感器:输出力信号(力垂中的压力、拉力);

  • 应变传感器:应变片,需要通过惠斯通桥路,输出应变信号;

  • 声音传感器:传声器,输出声波在空气中的振动压力信号;

  • 转速传感器:多种形式(光电、涡流、编码器等),用于输出机械转速信息;

传感器的选择方法

  • 应用对象的频率特性:

    • 位移 适合较低频率,多用于大型结构、地震

    • 加速度适合较高频率,多用于机械振动、冲击等;

    • 速度 适合中频频率,多用于结构、地震等

    • 高频

    • 低频

  • 安装方式:根据合适的安装方式,可能要选择不同的传感器

    • 若测量转轴振动,需要非接触式测量,可选择电涡流式位移传感器

    • 若测量轴承座上的振动,则可以选择普通的加速度传感器

    • 例如:机械旋转部件的振动

  • 灵敏度(标定值)

    • 传感器将物理量转为电量的比例系数,如50mV/g,100pc/N

    • 根据被测量的大小,选择合适灵敏度的传感器,既保持信噪比,又保证量程

  • 测量的频率范围

    • 传感器均有其可用的频率范围,应能包含被测对象关心的频率。传感器可用于频率范围内,其灵敏度 是基本稳定的,此范围之外则会增大或变小

  • 测量的幅值范围

    • 传感器最大和最小可测量的幅值范围,应符合被测对象的要求

03

基于加速度传感器数据构建模型

1、老样子,我们导入机器学习三大件

import numpy as np
import pandas as pd
import random
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
# from sklearn.preprocessing import StandardScaler 
# scaler = StandardScaler()

2、读入机器健康时的振动数据

header_list = ['time','x','y','z']
mHealthy = pd.read_csv('data/m1_vib1.csv',header = None, names = header_list )
mHealthy['ds'] = mHealthy['time'].apply(lambda x: float((x- 15840094829302)/1000))

3、读入机器出现问题时的数据

mBroken = pd.read_csv('data/m2_vib3.csv',header = None, names = header_list )
mBroken['ds'] = mBroken['time'].apply(lambda x: float((x- 15840094829302)/1000))

4、从上面看来数据的特征似乎有点少,现在我们需要做的就是进行数据增强,我们对数据进行求均值,有效值,偏度,峰度等相关的数据变换。

Main = pd.DataFrame(columns=['SDx','SD

这篇关于基于振动传感器数据构建预测性维护AI模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312933

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建