PeakVue 振动分析技术「建议收藏」

PeakVue 振动分析技术「建议收藏」首先声明,对于振动分析,本人是菜鸟。所以本文中可能有错误,或者不够专业和严谨。最简单的振动检测指标是所谓通频值(Overallvibrationvalue)。它是采集信号的均方根:实例:产生一个正弦波,并计算rms。该值越大,反映振动越大。importnumpyasnpfromscipyimportsignalimportmatplotlib.pyplot…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

首先声明,对于振动分析,本人是菜鸟。所以本文中可能有错误,或者不够专业和严谨。

最简单的振动检测指标是所谓通频值(Overall vibration value)。它是采集信号的均方根:

实例:  产生一个正弦波,并计算rms。该值越大,反映振动越大。

import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
n = 512                        
dt = 0.01                     
t = np.linspace(1, n, n)*dt-dt
y = np.sin(2*np.pi*t) 
plt.plot(t, y)
plt.show()
rms = np.sqrt(np.mean(y**2))
print(rms/N)

结果为 0.7 .正弦波的rms 是0.7。

RMS 的计算公式

PeakVue 振动分析技术「建议收藏」

波峰因数(Crest Factor)

Crest Factor (peak-to-RMS ratio) = (peak value)/(RMS value).

通频值和波峰因素振动仪表的方法的好处是产生一个单一的值来反映机器的健康。

CF+              严重性

0 to 5           好 Good

6 to 10         满意 Satisfactory

11 to 15       不满意 Unsatisfactory above

15                不能接受 Unaccepatable

 

波峰因数+(Crest Factor +)

当轴承急剧损坏时,RMS 的值加大,与峰值接近,Crest Factor 反而会下降。

CF =oc Peak+oc RMS+oc (peak value)/(RMS value).

oc 代表正比于。我觉得就是乘一个比例系数就可以了。

 

PeakVue 方法

     波峰因数计算量比较小,但是有许多的故障无法检测出来。实际上,轴承的许多早期故障是金属和金属摩擦产生的。表现为微弱的高频信号。如果和低频振动信号混合在一起。高频信号难以辨别。

  PeakVue 方法是艾默生公司的专利技术,它的实现算法主要为:

1 使用高通滤波器(highpass  Filter) 过滤掉低频信号,截止频率大约为1000Hz

2 使用希尔伯特变换 计算出包络线

3 对包络线 做FFT 变换。

我的项目

 振动数据IEPE采集器

  使用STM32F429 +ads127l01 实现IEPE 压电振动传感器ADC 采集,通过UDP 将数据传送到PC机。PC机使用Python 做后续数据处理。

测试床

python 程序

import socket
import numpy as np
from scipy.fftpack import fft
from scipy import signal
import struct
from matplotlib import pyplot as plt
def bytesToFloat(h1,h2,h3,h4):
    ba = bytearray()
    ba.append(h1)
    ba.append(h2)
    ba.append(h3)
    ba.append(h4)
    return struct.unpack("!f",ba)[0]
HOST = '192.168.31.98'
PORT = 3800
BUFSIZ = 512
ADDR = (HOST,PORT)
udpSerSock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udpSerSock.bind(ADDR)
t = np.linspace(0, 127, 128, True)
y =[]
for i in range(128):
    y.append(0) 
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=False)    
plt.show()
while True:
    data, addr = udpSerSock.recvfrom(BUFSIZ)
    
    for i in range(128):
         y[i]=bytesToFloat(data[i*4+3],data[i*4+2],data[i*4+1],data[i*4+0])
    b,a = signal.butter(16, 0.128, 'highpass')
    filtered = signal.filtfilt(b, a, y)*20
    yh = np.abs(signal.hilbert(filtered))  
    yy= np.abs(fft(yh)) 
    yy[0] =0  
    ax1.clear()
    ax1.set_title("Peakvue")
    ax1.plot(t,yy) 
    ax1.axis([0, 128, 0,40])
    ax2.clear()
    ax2.plot(t,yh) 
    #ax2.axis([0, 128, -20, 20])
    ax2.set_title("highpass")
    
    plt.pause(0.1)
    

过几天慢慢解释

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • node require的用法_await与wait的区别

    node require的用法_await与wait的区别作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提供的require()命令之后,发现node也是通过类似的方法加载模块,我就好奇,这两个是一个东西吗?用electron写了一个webdeskapp,想通过CI上建一个job刷新repository,然后通过网页可以在team里面随时share软件的进度和功能,发现通过浏览器直接打开的这个app没法加载其他的库:

    2025年5月26日
    4
  • 加密通讯协议SSL编程

    加密通讯协议SSL编程1.   示例包readme为包内容说明,run_server.sh用来运行服务端,run_client.sh用来运行客户端,mk_server.sh用来编译服务端,mk_client.sh用来编译客户端,make_key.sh用来生成钥匙KEY。2.   什么是SSL?在学习openssl编程之前,先了解一下什么是SSL,有助于后续的学习。SSL是一个缩写,代表的是

    2022年6月4日
    30
  • SQLyog安装配置详细过程[通俗易懂]

    SQLyog安装配置详细过程[通俗易懂]SQLyog安装配置详细过程一、小啊呜资源分享二、SQLyog安装配置过程叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

    2022年5月25日
    109
  • struts2核心控制器在哪里配置_intercontrol控制器

    struts2核心控制器在哪里配置_intercontrol控制器原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/1.   在struts1.x系列中,所有的请求是通过一个servlet(ActionServlet)来管理控制的,在Struts2.X而是经过一个Filter来处理请求的。Struts2将核心控制器设计成Filter,而不是一个普通Servlet。struts1.x中actionorg.apache.struts.action.ActionServlet。。。St

    2022年8月16日
    7
  • 应对未来挑战!巨头联手开发5G路由器

    应对未来挑战!巨头联手开发5G路由器

    2022年3月5日
    42
  • bash组织成树数据结构

    bash组织成树数据结构

    2022年1月14日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号