PeakVue 振動分析技術

2021-10-02 05:59:18 字數 2961 閱讀 9778

首先宣告,對於振動分析,本人是菜鳥。所以本文中可能有錯誤,或者不夠專業和嚴謹。

最簡單的振動檢測指標是所謂通頻值(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 的計算公式

波峰因數(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()

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):

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)

過幾天慢慢解

Peakvue和自相關技術軸承診斷

什麼是應力波 應力波產生於 金屬與金屬相互碰撞的事件 加速度感測器捕捉含有具有短時特性應力波的軸承振動訊號 應力波是一種非常短暫的連續的脈衝訊號,通常在百萬分之一秒到千分之一秒的區間範圍內,它是金屬與金屬之間衝擊或摩擦而產生的一種現象,當滾動軸承出現故障,滾動體通過缺陷區時,由於金屬之間油膜尚未形成...

OFDM技術分析

通常的數字調製都是在 單個載波 上進行,如psk qam等。這種單載波的調製方法易發生碼間干擾而增加誤位元速率,而且在多徑傳播的環境中因受瑞利衰落的影響而會造成突發誤碼。若將高速率的序列資料轉換為若干低速率資料流,每個低速資料流對應乙個載波進行調製,組成乙個多載波的同時調製的並行傳輸系統。這樣將總的...

Piccolo技術分析

piccolo 是new york 大學在osdi 2000 上發表的 piccolo 允許計算單元跑在不同的機器上,更重要的是它對計算過程中的共享狀態資料的訪問有很好的本地性,同時解決了在執行時寫資料的衝突等問題。它和mapreduce 的區別在於能夠輕鬆訪問中間狀態 其實就是中間結果 之後都採用...