李 民(上海久創(chuàng)建設管理有限公司 上海)
基于小波分析的電機軸承診斷Matlab程序設計
李民
(上海久創(chuàng)建設管理有限公司上海)
采用Matlab編程快速地在計算機上實現(xiàn)基于小波分析的電機滾動軸承故障診斷。利用Daubechies小波對外圈或內圈故障軸承的振動信號進行小波分解。基于小波分解系數(shù)對含有故障特征頻率的第一層細節(jié)信號進行小波重構并提取其Hilbert包絡譜,從中檢測出故障特征頻率,據此判斷故障類型。設計了該算法的Matlab程序。基于美國凱斯西儲大學提供的電機軸承振動加速度信號采用上述算法進行實驗的結果表明,該方法可準確地分辨出軸承故障的類型,非常適用于軸承的早期故障診斷。
軸承故障診斷小波分析Hilbert包絡譜Matlab
滾動軸承是支承旋轉軸的關鍵部件,容易發(fā)生損壞,是電動機中常見故障之一[1]。軸承故障診斷方法很多,其中振動分析法是一種較實用的方法,其優(yōu)點在于振動發(fā)自軸承本身,無需另加信號源;測試方便;可發(fā)現(xiàn)軸承的早期故障。當軸承表面出現(xiàn)局部損傷時,在受載運轉過程中軸承的其他零件會周期地撞擊損傷點,產生的沖擊力激勵軸承座及其支撐結構,形成一系列由沖擊激勵產生的減幅振蕩,減幅振蕩發(fā)生的頻率即故障特征頻率[2],根據該頻率可判斷發(fā)生故障的部位。然而故障信號在軸和軸上多種零部件振動的干擾下往往被淹沒,無法直接利用頻譜分析檢測其特征頻率。小波變換是一種時頻分析方法,可進行多分辨率分析,即,將信號分解成若干層次的細節(jié)信號及概貌信號。對軸承振動信號進行小波變換,提取其中具有故障特征的細節(jié)信號進行重構;對重構信號做Hilbert包絡譜分析,從中檢測出軸承的故障特征頻率,據此判斷故障類型。
利用Matlab軟件編程快速地實現(xiàn)了基于小波分析的電機滾動軸承外圈和內圈故障診斷,并采用美國凱斯西儲大學提供的電機軸承振動加速度信號進行實驗,實驗結果驗證了該方法的有效性。
1.電機滾動軸承故障的特征頻率
滾動軸承由外圈、內圈、滾動體和保持架組成,工作時外圈與軸承座或機殼相聯(lián)接,固定或相對固定,內圈與機械傳動軸相聯(lián)接,隨軸一起轉動。當滾動軸承表面發(fā)生損傷故障,如內圈、滾動體或外圈出現(xiàn)點蝕、裂紋或剝落等,根據不同的損傷部位,按以下公式分別計算軸承故障的特征頻率[3](以外圈和內圈剝落一點為例),見式(1)和式(2)。

2.基于小波分析的軸承故障診斷算法
一般采用加速度傳感器在軸承座上檢測滾動軸承的振動信號。若軸承表面出現(xiàn)局部損傷,在受載運轉時軸承其他零件會周期地撞擊損傷點產生低頻的沖擊信號,其頻率即故障特征頻率,但檢測該頻率主要會遇到2個問題:(a)沖擊信號的寬頻帶性質會激起軸承結構及傳感器本身在各自固有頻率上發(fā)生諧振,故軸承振動信號中還含有故障特征頻率的高次諧波分量。(b)由于軸向間隙的存在,沖擊信號還要對軸承的高頻固有振動信號進行調制[4]。導致故障信號被其他振動所干擾而無法直接通過頻譜分析檢測出故障特征頻率。本文分別采用小波分析與Hilbert包絡譜分析解決上述兩個問題。
(1)小波分析提取含故障特征頻率的細節(jié)信號。小波是一種均值為零,很快衰減的瞬時振蕩函數(shù),小波分析是一種時頻分析方法,它利用一系列伸縮和平移的小波函數(shù)對信號進行展開,該過程等效于用一系列不同頻帶的高通和低通濾波器將信號分解成若干層次的高頻細節(jié)信號及低頻概貌信號(即信號的主體輪廓),可對信號進行多分辨率分解,被譽為“數(shù)學顯微鏡”。
小波分析算法的步驟包括分解與重構,為在計算機上實現(xiàn)小波分析,根據二進離散小波變換的快速算法Mallat算法進行計算[5],小波變換公式為式(3)。


式中cj,k——第j級小波分解所得低頻系數(shù),設c0,k為原信號x(k)
n——小波分解的級數(shù)
dj,k——第j級小波分解所得高頻系數(shù)
h0(k)——離散尺度序列,是一低通濾波器
h1(k)——離散小波序列,是一高通濾波器
不同類型的小波,如Daubechies小波、Haar小波、墨西哥草帽小波等,濾波系數(shù)h0(k)與h1(k)均不相同。序列{dn,k,dn-1,k,…,d1,k,c1,k}是x(k)的二進離散小波變換。利用小波分解系數(shù)重構原信號的公式為式(4)。

根據公式(3)(4)對軸承振動信號進行小波分解與重構可獲得其各層概貌信號Cj,k及細節(jié)信號Dj,k,其中幅度最大的細節(jié)信號中包含軸承故障的特征頻率。
(2)Hilbert變換包絡譜檢測軸承的故障特征頻率。含有軸承故障特征頻率的細節(jié)信號是一種調幅信號,它是故障信號對軸承的高頻固有振動進行幅度調制形成的,設其為式(5)。

式中A(t)——故障信號
fm——軸承固有振動頻率



故f(t)的Hilbert變換可看成是f(t)通過一個幅度為1的全通濾波器輸出,其正頻率成分做-90°相移,負頻率成分做+90°相移。則調幅信號f(t)的Hilbert變換為式(8)。

設f(t)的解析信號為:s(t)=f(t)+jf?(t),則有式(9)。

因此可利用Hilbert變換提取f(t)的包絡,即故障信號A(t),再用傅里葉變換對其進行功率譜分析,功率譜中幅度最大處的頻率即故障特征頻率。
Matlab(Matrix Laboratory矩陣實驗室)是一款由美國MathWorks公司出品的數(shù)學軟件,包含許多專業(yè)領域的算法工具箱,編程十分方便。軸承故障診斷的實驗數(shù)據來源于美國凱斯西儲大學(Case Western Reserve University)的軸承試驗臺測試數(shù)據[6],試驗軸承支承電機主軸,試驗軸承為6205-2RS JEM SKF,在其內圈、外圈和滾動體上應用電火花技術分別加工了直徑0.18778 mm,深0.2794 mm的凹坑,模擬單點損傷。在電機主軸驅動端軸承座上對應軸承的正下方(即軸承負荷區(qū))設置加速度傳感器測試軸承振動信號,采樣頻率fs=12 000 Hz,試驗中電機負荷為0,轉速n=1797 r/min,轉動頻率f=n/60=29.95 Hz,滾動體個數(shù)Z=9,接觸角α=0°,滾動體直徑d=0.3126 mm,軸承的節(jié)徑E=1.537 mm,根據公式(1)和(2)計算得:外圈和內圈故障特征頻率的理論值分別為f0=107.36 Hz,f1=162.19 Hz。設振動信號采樣點數(shù)N= 12 000,由于使用快速傅里葉變換對信號做功率譜,其點數(shù)nfft應>N,且是2的指數(shù)次方,故取nfft=214=16 384;采用Daubechies小波“db2”對軸承振動信號進行3級小波分解與重構,濾波系數(shù)為h0(k)={-0.1294,0.2241,0.8365,0.4830},h1(k)={-0.4830,0.8365,-0.2241,-0.1294},對第1層細節(jié)信號d1進行Hilbert包絡譜分析。軸承故障診斷matlab程序及注釋(百分號后)如下:
clear%清除內存
load 156.mat%調入故障軸承振動信號的數(shù)據文件,存入sig
sig=X156_DE_time;
fs=12000;N=12000;Ts=1/fs;sig=sig(1:N);%設置取樣頻率fs,取樣點數(shù)N
t=0:Ts:(N-1)*Ts;%時間軸t
sig=(sig-mean(sig))/std(sig,1);%對sig進行歸一化
subplot(211);plot(t,sig);%繪制sig波形
xlabel('時間t/s');ylabel('振動加速度/V');
nfft=16384;
S=psd(sig,nfft);%對sig做功率譜
subplot(212);plot((0:nfft/2-1)/nfft*fs,S(1:nfft/2));%繪制功率譜
xlabel('頻率f/Hz');ylabel('功率譜P/W')
[c,l]=wavedec(sig,4,'db2');%利用db2對sig進行3級小波分解
c3=wrcoef('a',c,l,'db2',3);d3=wrcoef('d',c,l,'db2',3);%重構第1-3層細節(jié)d1~d3和第3層概貌c3
d2=wrcoef('d',c,l,'db2',2);d1=wrcoef('d',c,l,'db2',1);figure;
subplot(414);plot(t,c3);ylabel('c3');%繪制c3
subplot(413);plot(t,d3);ylabel('d3');%繪制d3
subplot(412);plot(t,d2);ylabel('d2');%繪制d2
subplot(411);plot(t,d1);ylabel('d1');%繪制d1
y=hilbert(d1);%對d1進行Hilbert變換,得y
ydata=abs(y);%ydata=|y|
ydata=ydata-mean(ydata);%對ydata去均值(目的是去除幅度較大的直流分量)
P=psd(ydata,nfft);%ydata的功率譜為P
figure;
plot((0:nfft/2-1)/nfft*fs,P(1:nfft/2));xlabel('頻率f/Hz');%繪出d1的Hilbert包絡譜
P=P(1:nfft/2);[M,f1]=max(P);f1=f1*fs/nfft-1%故障頻率f1為包絡譜中幅度最大處的頻率
首先對軸承振動信號156.mat運行上述Matlab程序,結果如圖1~圖3所示。圖1為該信號的歸一化時域波形及功率譜,顯然從功率譜中難以檢測故障頻率,圖2為對振動信號做3級小波分解與重構所得第1~3層細節(jié)信號d1~d3和第3層概貌信號c3,對整體幅度較大的細節(jié)信號d1做Hlibert包絡譜(見圖3(a)),其幅度最大處的頻率f1=107.3984 Hz,因此軸承故障類型為外圈故障;再用同樣方法對振動信號105.mat進行處理,得d1的包絡譜如圖3(b)所示,f1=161.5977 Hz,該軸承故障類型為內圈故障。與理論值相比,利用db2小波檢測外圈和內圈故障特征頻率的絕對誤差分別為:e0=0.0384 Hz和e1=0.5923 Hz,誤差較小,不影響對故障類型的識別;Matlab編程語句短小精悍,可快速地在計算機上實現(xiàn)故障診斷算法。

圖1 軸承振動信號的時域波形及功率譜

圖2 軸承振動信號的db2小波分析圖

圖3 第1層細節(jié)信號d1的包絡譜圖
基于Matlab軟件編程,通過對電機滾動軸承的振動加速度信號進行小波分解與重構,提取其第1層細節(jié)信號做Hilbert包絡譜分析,快速地實現(xiàn)了對軸承外圈和內圈(剝落1點)的故障特征頻率檢測,從而準確地判別出故障類型。由于在表面損傷故障的初期,軸承元件的損傷點往往只有1點,故小波分析是一種有效的電機軸承早期故障診斷方法。
1 褚福磊,彭志科,馮志鵬,李志農.機械故障診斷中的現(xiàn)代信號處理方法[M].北京:科學出版社.2009:159-160
2 葛哲學,陳仲生.MATLAB時頻分析技術及其應用[M].北京:人民郵電出版社.2006:164
3 沈玉娣,劉雄.機械故障診斷FORTRAN源程序匯編[M].西安:西安交通大學出版社1990:170-171
4 劉圓,張永建,李元寶.改進小波能量分析法在軸承故障診斷中的應用[J].煤礦機械.2012,33(5):254-255
5 戴虹,錢晉武,張震,章亞男,沈林勇.GRNN在肌電預測踝關節(jié)運動中的應用[J].儀器儀表學報.2013,34(4):845-852
6 邱阿端.電機滾動軸承故障診斷的新方法.中小型電機[J].1996,23 (5):47-50
7 美國凱斯西儲大學電機滾動軸承振動信號數(shù)據集[EB/OL].http:// csegroups.case.edu/bearing data center/pages/12k-drive-end-bearingfault-data
〔編輯利文〕
TH113.1
B