張雅楠
(西南交通大學(xué),四川 成都 611756)
滾動(dòng)軸承廣泛用于各類旋轉(zhuǎn)機(jī)械[1]。據(jù)統(tǒng)計(jì),旋轉(zhuǎn)機(jī)械中約30%的故障是由滾動(dòng)軸承損壞引起[2],因此,研究滾動(dòng)軸承的故障診斷技術(shù)十分重要。若能通過監(jiān)測軸承產(chǎn)生的異常信號、實(shí)時(shí)快速診斷出軸承的故障,從而及時(shí)維修更換軸承,則可有效減少企業(yè)經(jīng)濟(jì)損失,提高企業(yè)生產(chǎn)效率。
現(xiàn)在普遍的監(jiān)測方法主要有:人工監(jiān)測、空轉(zhuǎn)實(shí)驗(yàn)、儀器監(jiān)測等。監(jiān)測效率最高、且精確的是用儀器監(jiān)測滾動(dòng)軸承運(yùn)行狀態(tài)。本文采用振動(dòng)傳感器和儀器對滾動(dòng)軸承運(yùn)行狀態(tài)進(jìn)行智能化監(jiān)測。
預(yù)先采用振動(dòng)傳感器對正常軸承和同型故障軸承分別進(jìn)行數(shù)據(jù)采集。測取的滾動(dòng)軸承振動(dòng)信號接入電荷放大器放大信號,再經(jīng)A/D 卡轉(zhuǎn)換為計(jì)算機(jī)可以識別和處理的數(shù)字信號,再經(jīng)DSP信號處理器對數(shù)據(jù)處理后接入計(jì)算機(jī)。形成正常數(shù)據(jù)采集樣本和故障數(shù)據(jù)采集樣本(實(shí)際處理中盡可能多的采集樣本,以保證結(jié)果的準(zhǔn)確性)[3]。
matlab 是高性能的數(shù)值計(jì)算和可視化軟件,它集數(shù)值計(jì)算、信號處理、圖形分析等功能于一體,被稱演算紙式的語言。計(jì)算機(jī)上可用matlab編程實(shí)現(xiàn)以下功能:時(shí)域分析、頻域分析、提取有效特征向量[4]。使用matlab分析處理的過程為:將采集的數(shù)據(jù)導(dǎo)入matlab,并繪制出時(shí)域圖像;先對時(shí)域的信號進(jìn)行快速傅里葉變換,通過讀出數(shù)據(jù)x,直接調(diào)用fft函數(shù),并用plot函數(shù)繪出幅頻曲線圖,見圖1。
現(xiàn)以故障軸承采集的數(shù)據(jù)G2015為例,(本文采集到故障軸承編號:G2015、G3015、G2515、G20610、G25610、G30610 的運(yùn)行數(shù)據(jù);正常軸承編號:Z2015、Z3015、Z2515、Z20610、Z25610、Z30610 的運(yùn)行數(shù)據(jù))進(jìn)行實(shí)例分析,相關(guān)matlab編程語言如下:
n=100 000;%采集的數(shù)據(jù)數(shù)
fs=10 000;%采樣頻率
t=0:1/10 000:9.999 9;%定義時(shí)間變量,采樣間隔
m=G2015-(sum(G2015)/n);%零均值化
subplot(2,1,1);
plot(t,m);%作時(shí)域內(nèi)的圖像
x=fft(G2015,n);%進(jìn)行fft
y=abs(x);%求幅值
f=(0:n-1)*fs/n;%橫坐標(biāo)頻率的表達(dá)式
subplot(2,1,2);
plot(f,y);%作頻譜圖
axis([0 5000 0 2500])
G2015時(shí)域與頻域的分析結(jié)果,見圖1。通過對六組數(shù)據(jù)的分析,得到了監(jiān)測數(shù)據(jù)的時(shí)域和頻域圖。從圖看出,故障軸承和正常的時(shí)域圖和頻域圖有很大的區(qū)別;但僅憑人的觀察很難完全判斷準(zhǔn)確,需對收集數(shù)據(jù)的時(shí)域和頻域圖進(jìn)行特征值的提取,并進(jìn)行歸一化處理形成一種模式。通過將提取到的特征值輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以此利用神經(jīng)網(wǎng)絡(luò)可對軸承是否故障進(jìn)行準(zhǔn)確判斷。
圖1 G 2015時(shí)域與頻域的分析結(jié)果
1)對信號的時(shí)域和頻域提取特征值:信號的時(shí)域特征一般包括:均值、方差、均方根、峰值、峰值因子、峭度系數(shù)、波形因子、裕度因子、脈沖因子。其在matlab中編程如下:
fc=sum((m-jz).^2); %方差
jfg=sqrt(sum(m.^2)/n); %均方根
fz=(max(m)-min(m))/2; %峰值
fzyz=fz/jfg; %峰值因子
qdxs=sum(m.^4)/((jfg.^4)*n);%峭度系數(shù)
bxyz=(jfg*n)/sum(abs(m)); %波形因子
ydyz=fz/(sum(sqrt(abs(m)))/n).^2; %裕度因子
mcyz=(fz*n)/sum(abs(m)); %脈沖因子
MAX=max(GY) %找出數(shù)組(命名為GY)中的最大值
MIN=min(GY) %找出數(shù)組(命名為GY)中的最小值
GYJZ=(GY-MIN)/(MAX-MIN)%求這組數(shù)據(jù)歸一化之后的數(shù)組
歸一化處理后的各項(xiàng)數(shù)據(jù)形成一個(gè)數(shù)據(jù)表格進(jìn)行對比,利用特征值相差特別明顯、重復(fù)性好的特征,對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。通過分析,選取峰值、峰值因子、峭度系數(shù)、波形因子、裕度因子對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
2)以故障軸承G2015 與正常軸承Z2015 為例,對其頻域進(jìn)行特征值提取,見圖2。將所有六組數(shù)據(jù)的頻域特征值進(jìn)行歸一處理,并且列表分析。通過分析選取200 Hz、2000 Hz、3600 Hz、4000 Hz 訓(xùn)練神經(jīng)網(wǎng)絡(luò),從而利用神經(jīng)網(wǎng)絡(luò)識別故障軸承。分析對比各個(gè)已知故障軸承的故障原因,并將數(shù)據(jù)送人神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到相應(yīng)的輸出,之后就可對未知故障軸承進(jìn)行診斷。
圖2 特征值提取
人工神經(jīng)網(wǎng)絡(luò)(NN,Neural network)是由一組功能簡單的信息處理單元在一定連接方式下構(gòu)成的動(dòng)力學(xué)系統(tǒng),它以并行機(jī)制處理數(shù)據(jù)信息,具有自適應(yīng)性、自學(xué)習(xí)、自組織的能力。一個(gè)基本的神經(jīng)網(wǎng)絡(luò)包括:神經(jīng)元、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、學(xué)習(xí)規(guī)則(訓(xùn)練法)[5]。神經(jīng)元的功能是求得輸入向量與權(quán)向量的內(nèi)積后,經(jīng)一個(gè)非線性傳遞函數(shù)得到一個(gè)標(biāo)量結(jié)果。神經(jīng)元可形象地作為一個(gè)閥門,經(jīng)對輸入向量進(jìn)行加權(quán)求和后,再與預(yù)先設(shè)定的閥值進(jìn)行比較。如果大于閥值則輸出某一結(jié)果,小于閥值輸出另一結(jié)果。
神經(jīng)元網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、輸出層、若干隱含層構(gòu)成:每一層都由若干個(gè)節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)表示一個(gè)神經(jīng)元,上層節(jié)點(diǎn)與下層節(jié)點(diǎn)之間通過權(quán)連接,層與層間的節(jié)點(diǎn)采用全互聯(lián)的連接方式,每層內(nèi)節(jié)點(diǎn)之間沒有聯(lián)系。
目前,人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,大多數(shù)的模型采用前饋反向傳播網(wǎng)絡(luò)(Back-Propagation-Ne tw ork,BP 網(wǎng)絡(luò))或其變形。標(biāo)準(zhǔn)的BP 網(wǎng)絡(luò)采用梯度下降算法,對非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò)。對于一個(gè)三層BP 神經(jīng)網(wǎng)絡(luò),只要隱層節(jié)點(diǎn)數(shù)足夠多,就有逼近任意復(fù)雜的非線性映射能力。通用的隱含層神經(jīng)元數(shù)的確定經(jīng)驗(yàn)公式有[6]:i= n+m +a.式中:i為隱含層神經(jīng)元的個(gè)數(shù);n為輸入層神經(jīng)元的個(gè)數(shù);m為輸出層神經(jīng)元的個(gè)數(shù);a為常數(shù)、且1 1)訓(xùn)練前初始參數(shù)的選取。初始權(quán)值的選擇一般在(-1,1)之間的隨機(jī)數(shù)。學(xué)習(xí)速率的選擇一般在0.01~0.80 之間。期望誤差值一般作為對比,可同時(shí)對2 個(gè)不同期望誤差值的網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后通過考慮綜合因素采用其中一個(gè)網(wǎng)絡(luò),本系統(tǒng)BP網(wǎng)絡(luò)期望誤差值為0.01。 2)權(quán)值的訓(xùn)練。將已提取出的故障軸承和正常軸承的時(shí)域與頻域特征歸一化后的數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)。建立一個(gè)3層BP神經(jīng)網(wǎng)絡(luò),根據(jù)特征矩陣確定輸入的特征為9項(xiàng),即有9個(gè)輸入神經(jīng)元。通過經(jīng)驗(yàn)公式計(jì)算隱層的神經(jīng)元數(shù)量約為13。輸出層設(shè)為一個(gè)神經(jīng)元,當(dāng)輸入為故障軸承數(shù)據(jù)時(shí),顯示結(jié)果為0。mat?lab編程如下: P=gy' %將歸一化后的數(shù)據(jù)導(dǎo)入matlab,并且命名為‘gy’。 T=[0 0 0 0 0 0 1 1 1 1 1 1]; % 創(chuàng)建一個(gè)新的前向神經(jīng)網(wǎng)絡(luò) net_1=newff(minmax(P),[n,1],{'tansig','purelin'},'traingdm') %建立新的神經(jīng)網(wǎng)絡(luò)net,newff(輸入,輸出,{隱層數(shù)量及該層的節(jié)點(diǎn)個(gè)數(shù)},{傳輸函數(shù)名},訓(xùn)練函數(shù)); % 當(dāng)前輸入層權(quán)值和閾值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 設(shè)置訓(xùn)練參數(shù) net_1.trainParam.show=50; net_1.trainParam.lr=0.05; net_1.trainParam.mc=0.9; net_1.trainParam.epochs=10000; net_1.trainParam.goal=1e-3; % 調(diào)用TRAINGDM 算法訓(xùn)練BP 網(wǎng)絡(luò) [net_1,tr]=train(net_1,P,T); % 對BP 網(wǎng)絡(luò)進(jìn)行仿真 A=sim(net_1,P); %測試 x=[測試數(shù)據(jù)]'; sim(net_1,x) 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果,見圖3。從圖看出,對神經(jīng)網(wǎng)絡(luò)訓(xùn)練到第575 次時(shí)達(dá)到訓(xùn)練精度;收斂較快,效果較好。 圖3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果 3)對建立的神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真測試。在Matlab中設(shè)計(jì)完整的BP 網(wǎng)絡(luò)權(quán)值訓(xùn)練程序。訓(xùn)練結(jié)束后,通過查看BP 網(wǎng)絡(luò)輸出層的輸出值是否符合預(yù)期要求,可分析出是否建立了較理想的故障診斷BP 網(wǎng)絡(luò)模型[7]。分別將6 組正常軸承和6 組故障軸承的特征值輸入神經(jīng)網(wǎng)絡(luò),利用matlab仿真語句: % 對BP 網(wǎng)絡(luò)進(jìn)行仿真 A=sim(net_1,P); %測試 x=[測試數(shù)據(jù)]'; sim(net_1,x) 表1 對輸入數(shù)據(jù)進(jìn)行識別的結(jié)果 從表1可看出,故障軸承的輸出值均在0左右,正常軸承的輸出值均在1左右。建立的神經(jīng)網(wǎng)絡(luò)收斂性較好,誤差在范圍內(nèi)。 滾動(dòng)軸承狀態(tài)監(jiān)測是現(xiàn)代生產(chǎn)中的重要一環(huán)。對滾動(dòng)軸承的運(yùn)行狀態(tài)進(jìn)行智能化監(jiān)測,可有效地減少企業(yè)損失、節(jié)約人力物力。通過采集軸承運(yùn)行過程中的振動(dòng)信號,將信號輸入電腦,進(jìn)行時(shí)域和頻域的特征值提取,建立人工BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行智能化識別,就能準(zhǔn)確檢測軸承的狀態(tài),根據(jù)訓(xùn)練的數(shù)據(jù)來源,不僅能識別本文所提到的故障和正常鑒別,還能識別到底是什么故障,能為維修工作提供準(zhǔn)確信息。達(dá)到滾動(dòng)軸承智能化監(jiān)測的目的。 [1] 肖軍.滾動(dòng)軸承常見故障及診斷[J].工程機(jī)械與維修,2007(12):18-21. [2] 艾莉,華靜.基于多傳感器信息融合的滾動(dòng)軸承故障診斷[J].軸承,2012(3):47-49. [3] 戴靜君,劉麗華,薛慶齊,等.滾動(dòng)軸承故障診斷中振動(dòng)信號的采集[J].北京石油化工學(xué)報(bào),2008(6):32-38. [4] 孫苗鐘,趙鵬.基于MATLAB 的振動(dòng)測試信號處理與分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].工程技術(shù)與產(chǎn)業(yè)經(jīng)濟(jì),2008(10):44-48. [5] 李翔著.從復(fù)雜到有序-神經(jīng)網(wǎng)絡(luò)智能控制理論新進(jìn)展[M].上海:上海交通大學(xué)出版社,2001. [6] 焦淑華. BP神經(jīng)網(wǎng)絡(luò)預(yù)測的MATLAB實(shí)現(xiàn)[J].金融理論與教學(xué),2009(3):55-56. [7] 張鳳蕊,朱清慧.小波遺傳神經(jīng)網(wǎng)絡(luò)在大型直線振動(dòng)篩故障診斷中的應(yīng)用[J].礦山機(jī)械,2012(8):64-68.3 BP 神經(jīng)網(wǎng)絡(luò)預(yù)測的matlab實(shí)現(xiàn)
4 結(jié)束語