黃應(yīng)強, 溫洪昌
(四川宜賓職業(yè)技術(shù)學(xué)院,四川宜賓,644003)
旋轉(zhuǎn)機械振動故障通常表現(xiàn)為轉(zhuǎn)子不平衡,轉(zhuǎn)子不對中,油膜渦動和油膜振蕩,地腳螺釘連接松動等,這些故障特征頻率都與轉(zhuǎn)子的轉(zhuǎn)速有關(guān),等于轉(zhuǎn)子的回轉(zhuǎn)頻率及其倍頻或分頻,通過對故障特征頻率的分析,就能夠找到故障的原因[1]。對設(shè)備的振動數(shù)據(jù)進行采集,然后經(jīng)過FFT變換就能得到機器振動的頻譜分布,然后與各種振動故障的特征頻譜分布進行比對,從而明確故障原因,定位故障所在。目前商業(yè)化的數(shù)據(jù)采集與分析系統(tǒng),如dSPACE等,價格昂貴,具有特定需求時,大多是在此基礎(chǔ)上進行二次開發(fā)[2][3];MATLAB具有強大的數(shù)字信號處理、運算、分析等功能,并且編程方便,在振動信號的分析處理中得到了廣泛的應(yīng)用[4][5],文中利用MATLAB編制了對單片機傳來的振動數(shù)據(jù)實時保存、動態(tài)圖形顯示和頻譜分析的程序,設(shè)計制作了單片機對現(xiàn)場振動信號進行實時獲取的軟硬件系統(tǒng),實現(xiàn)了振動數(shù)據(jù)的采集、保存、時域波形顯示和頻譜分析功能。
傳感器輸出的微弱信號通過程控放大、濾波等電路后接入A/D轉(zhuǎn)換器,單片機控制A/D轉(zhuǎn)換器進行數(shù)據(jù)采集,然后將數(shù)據(jù)傳給計算機,計算機對采集的數(shù)據(jù)進行保存,顯示和分析。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
傳感器選擇了B180振動加速度傳感器,其溫度瞬變靈敏度極低,頻響范圍: 2~5000Hz,工作溫度:-40 ~ +100℃,靈敏度:10 mV/(m/s2),最大加速度2000 (m/s2)。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
傳感器輸出的信號非常微弱,根據(jù)振動輸出的信號幅值大小,設(shè)計了程控放大電路。由于振動數(shù)據(jù)的頻率范圍非常廣泛、根據(jù)實際需要,設(shè)計了高通、低通濾波電路;本設(shè)計由于硬件條件限制,初步設(shè)計測量頻率分為10~500 Hz, 10~2KHz,兩個頻段。傳感器信號處理的方案如圖2所示。
圖2 傳感器信號處理流程
圖3 傳感器信號處理電路
從圖2中可以看出,傳感器出來的交流信號,通過放大器后進行高通濾波,一路通過低通濾波進入多路開關(guān),得到一定頻率范圍內(nèi)的加速度信號;另一路通過低通濾波后一方面進入多路開關(guān),得到較低頻段的加速度信號,根據(jù)測量需要由控制端選擇測量參數(shù)。硬件電路設(shè)計如圖3所示。
1.1.1 程控放大電路
程控放大電路由CD4052(U3)模擬開關(guān)電路和27M7(U1A)運算放大器構(gòu)成,根據(jù)被測對象的實際情況,可以直接進入后面的濾波電路或者進行2、4、8倍的放大,具體選擇由控制器的P2.0和P2.1控制。
1.1.2 濾波電路
集成電路U1B及電容C6、C7和電阻R5、R14等元件構(gòu)成高通濾波電路[6],中心頻率約4 Hz,其輸出一路通過由U2A構(gòu)成的射極跟隨器,R1、C1構(gòu)成的無源低通濾波后進入模擬開關(guān)電路U4的X0,無源低通濾波的中心頻率約500 Hz;另一路通過U2B及C2、C4和電阻R3、R4等元件構(gòu)成的低通濾波電路,中心頻率約2.5KHz,進入模擬開關(guān)電路U4的X1路等待模數(shù)轉(zhuǎn)換;以上進入模擬開關(guān)電路U4的信號,根據(jù)測量要求,由控制器的P2.2,P2.3選擇其中的一路進行模數(shù)轉(zhuǎn)換。
1.1.3 控制器與模數(shù)轉(zhuǎn)換器
圖4 單片機與A/D轉(zhuǎn)換器接口電路
控制器采用與MCS51兼容的STC89C52,內(nèi)部具有8K字節(jié)的在系統(tǒng)可編程Flash存儲器,內(nèi)含512字節(jié)的RAM,32個可編程I/O口線,每個口線都具有位尋址功能,3個16位的定時/計數(shù)器等特點;模數(shù)轉(zhuǎn)換器采用ADC0809,它是8通道,8位逐次逼近式A/D轉(zhuǎn)換器,其價格低廉,與微機連接方便,應(yīng)用十分廣泛??刂破髋c模數(shù)轉(zhuǎn)換器的連接如圖4所示,模數(shù)轉(zhuǎn)換器的控制信號由單片機的P1.1-P1.4控制,時鐘信號由單片機的P1.0提供,當(dāng)單片機的晶振為12M Hz時,P1.0引腳設(shè)置為T2模式,編程設(shè)置成輸出1M Hz的脈沖信號方式,提供給模數(shù)轉(zhuǎn)換器作為時鐘信號;模數(shù)轉(zhuǎn)換器的數(shù)據(jù)輸出口具有三態(tài)鎖存功能,直接與單片機的P0口連接,8路輸入通道的選擇通過單片機的P0.0,P0.1和P0.2選擇,在嚴(yán)格的時序控制下,P0口分時復(fù)用,不會影響數(shù)據(jù)的傳輸。系統(tǒng)中模數(shù)轉(zhuǎn)換器的8路輸入通道地址分別為00H-07H。
當(dāng)系統(tǒng)采用單電源+5V供電時,模數(shù)轉(zhuǎn)換器的輸出結(jié)果可用下式表示:
上式中參考電壓VREF+=5V、VREF-=0V,V為輸入信號電壓,完成一次A/D轉(zhuǎn)換需要的時間與A/D轉(zhuǎn)換器特性、采樣程序等密切相關(guān),通過實際測試,系統(tǒng)的采樣周期約330uS,采樣頻率約3KHz。
1.1.4 通信電路
單片機與計算機之間的通訊采用 PL2303實現(xiàn),PL2303是一種高集成度的USB - RS232雙向接口轉(zhuǎn)換器,該器件一方面從主機接收USB 數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè),另一方面從RS232 外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機。這些工作全部由器件自動完成。
PL2303在WindowsXP操作系統(tǒng)上模擬傳統(tǒng)COM端口,單片機的P3.0和P3.1分別接到PL2303的TXD和RXD,USB口通過排線與計算機的USB口連接,要使二者能正確通訊,必須在計算機上安裝prol i fic的USB-Serial Comm Por t驅(qū)動程序,該程序網(wǎng)上可下載,安裝完成后,右擊桌面上我的電腦圖標(biāo),打開屬性項,從設(shè)備管理器的端口項里面就能夠找到具體連接的是哪個USB口,從而確定程序設(shè)計時的串口號。PL2303外部電路如圖5所示。
圖5 PL2303外部電路
系統(tǒng)軟件包括下位機和上位機兩部分,下位機程序是單片機里面的運行程序,主要包括系統(tǒng)初始化程序,串口中斷設(shè)置程序和數(shù)據(jù)采集及發(fā)送程序,以下是采集一個端口的C語言程序,單片機晶振頻率為12MHz:
#include<REG52.h>
#def ine uchar unsigned char
void delay(unsigned int z);
sbit CLK=P1^0; // 1000hz
sbit OE=P1^1;
sbit ALE=P1^2;
sbit EOC=P1^3;
sbit START=P1^4;
void Main( void )
{ uchar a,j,i; //定義3個臨時字符變量
uchar b[100];
TR2=0x0; //停止T2定時器
TR0=0x0; //停止T0定時器
T2MOD=0x02; //0010(B) 設(shè)置T2為P1.0口輸出方波模式
C_T2=0; //用內(nèi)部時鐘計數(shù)
TL2=0xfd; //輸出方波頻率為1MHz
TH2=0xf f;
RCAP2L=0xfd;
RCAP2H=0xf f;
TR2 = 1;
SCON = 0x50;//REN=1允許串行接受狀態(tài),串口工作模式2
TMOD|= 0x21;//定時器工作方式2,
PCON|= 0x80; //波特率提高一倍
TH1 = 0xF3; // 波特率4800、數(shù)據(jù)位8、停止位1。效驗位無 (12M)
TL1 = 0xF3;
TR1 = 1; //開啟定時器1
ES = 1; //開串口中斷
EA = 1; // 開總中斷
whi le(1)
{ i=0;
whi le(i<300) //設(shè)置一次連續(xù)采樣的數(shù)據(jù)個數(shù)
{ P2=0;
j=P0;
j=j&0xf8; //選擇A/D轉(zhuǎn)換的0通道
P0=j;
ALE =0;
START =0;
for(a=0;a<50;a++);
ALE =1;
for(a=0;a<50;a++);
START =1;
for(a=0;a<50;a++);
START =0;
whi le(EOC==0);
OE=1;
P0=0xf f;
b[i++]=P0; }
for(i=0;i<300;i++)//將一次采樣數(shù)據(jù)發(fā)送上位機
{ SBUF=b[i]; whi le(TI==0); TI=0;
delay(2); } } }
上位機程序采用MATLAB編寫,以下是采集數(shù)據(jù)并以波形顯示的程序片段:
s = serial(‘COM3’);% 聲明串口
set(s,’BaudRate’,4800, ‘StopBits’,1);%設(shè)置串口參數(shù)
fopen(s); %打開串口
j=0;
set(gcf,‘DoubleBuf fer’,‘on’);
whi le (j<10) %數(shù)據(jù)接收循環(huán)設(shè)置
t ry
data = f read(s,300,’uchar’); %一次接收300個數(shù)據(jù)
data1=data/51; %將采樣數(shù)據(jù)轉(zhuǎn)換為電壓值
f id = fopen(‘01.txt’, ‘r+’); %打開存盤數(shù)據(jù)文件fseek(f id, 0,‘eof’); %定位到文件尾
fprint f(f id, ‘%d ‘,data); %將采樣的數(shù)據(jù)存儲到原數(shù)據(jù)文件的末端
fclose(fid); %關(guān)閉文件
i=0:1:299 %將采樣的數(shù)據(jù)以圖形的形式進行顯示
plot(i,data1,’EraseMode’,’xor’);
drawnow;
j=j+1;
end
end
fclose(s) %關(guān)閉串口
delete(s)
clear s
完整的程序運行后,在上位機上進行COM口選擇、Baude選擇,打開串口等操作后,單片機采集的數(shù)據(jù)就以時域波形的形式從左向右依次顯現(xiàn)。圖6采集的一通道振動信號的時域波形,點擊頻譜分析后,系統(tǒng)將存儲在文件中的數(shù)據(jù)全部做FFT變換,顯示出頻譜圖。圖7是對一地腳螺栓松動設(shè)備采集的振動數(shù)據(jù)畫出的波形圖及其頻譜分析圖,該機器設(shè)備的基頻為25HZ,頻譜峰值出現(xiàn)在3倍頻處,與旋轉(zhuǎn)機械振動故障診斷理論的結(jié)論是一致的。
頻譜分析法是旋轉(zhuǎn)機械的狀態(tài)監(jiān)測與故障診斷的重要方法之一。本文設(shè)計制作了單片機對現(xiàn)場振動信號進行實時獲取的軟硬件系統(tǒng),利用MATLAB編制了對單片機傳來的振動數(shù)據(jù)實時保存、圖形顯示和頻譜分析的程序,對機械設(shè)備的振動狀態(tài)監(jiān)測與故障診斷、指導(dǎo)相關(guān)課程的教學(xué)實踐具有一定的意義。
圖6 采集數(shù)據(jù)的時域波形及對應(yīng)的頻譜圖
圖7 故障設(shè)備振動數(shù)據(jù)的時域波形及對應(yīng)的頻譜圖
但也有一些局限:(1)由于硬件限制,只能采集較低頻率的信號;信號頻率在10~1.5KHz范圍內(nèi)效果較好。(2)采用的模數(shù)轉(zhuǎn)換器位數(shù)只有8位,轉(zhuǎn)換速度較低,單片機性能也不高,致采集的數(shù)據(jù)精度受到影響。采用高速、高精度的模數(shù)轉(zhuǎn)換器件,控制器采用DSP等效果會更好。(3)該系統(tǒng)能夠?qū)崿F(xiàn)對振動加速度數(shù)據(jù)的采集、保存、時域波形顯示和頻譜分析等功能,能夠滿足一般機械的狀態(tài)監(jiān)測與故障診斷要求;對振動速度、位移等參量沒有涉及,可以從這方面進行完善。
[1]張碧波,叢文龍.設(shè)備狀態(tài)監(jiān)測與故障診斷[M].化學(xué)工業(yè)出版社.2004,2.
[2]桂勇,駱清國,張更云等.基于dSPACE的發(fā)動機信號實時采集系統(tǒng)開發(fā)[J].裝甲兵工程學(xué)院學(xué)報.2010,(6):32-34.
[3]胡寶全,趙榮珍,馬再超.基于LabVIEW的數(shù)據(jù)采集與反饋控制通訊系統(tǒng)[J].儀表技術(shù)與傳感器.2011,(12):32-34.
[4]唐世振.基于MATLAB的振動信號采集與分析系統(tǒng)的研究[D].中國海洋大學(xué)碩士學(xué)位論文,2007.
[5]姜衍猛.基于MATLAB的數(shù)據(jù)采集與分析系統(tǒng)的研究及設(shè)計[D].山東大學(xué)碩士學(xué)位論文.2012.
[6]張國雄.測控電路[M].機械工業(yè)出版社.2008.
[7]STC89C51RC/RD+系列單片機器件手冊[M/OL].宏晶科技 .[2006-04-23].http://www.m cu-memory.com.