張坤洋 黃民
(北京信息科技大學(xué),北京 100192)
刀具磨損在線監(jiān)測(cè)的嵌入式系統(tǒng)
張坤洋 黃民
(北京信息科技大學(xué),北京 100192)
隨著當(dāng)代機(jī)械工業(yè)的發(fā)展,機(jī)械加工對(duì)精度的要求越來(lái)越高,高精度的同時(shí)也對(duì)高自動(dòng)化,高智能提出了要求。刀具磨損在線監(jiān)測(cè)的嵌入式儀器也就伴隨著市場(chǎng)需求應(yīng)運(yùn)而生。聲發(fā)射是刀具磨損在線監(jiān)測(cè)的一種新的方法。它包括AE信號(hào)的采集,小波包分析、結(jié)果顯示等。本文在聲發(fā)射方法的基礎(chǔ)上,研究開(kāi)發(fā)了刀具磨損的在線監(jiān)測(cè)嵌入式系統(tǒng)。
機(jī)電電子 嵌入式 聲發(fā)射 刀具磨損
刀具磨損是在任何的冷加工中都不可避免會(huì)出現(xiàn)的問(wèn)題,這種磨損必然會(huì)影響加工精度,而隨著加工工件的精度要求不斷提升,需要把這種影響降低到盡量低的程度。刀具磨損的在線監(jiān)測(cè)系統(tǒng)提供了可行的方法。從算法上來(lái)說(shuō),這種磨損監(jiān)測(cè)系統(tǒng)包括直接對(duì)刀具測(cè)量或通過(guò)提取加工信號(hào)判斷刀具的磨損量。前者會(huì)導(dǎo)致刀具頻繁的的裝夾,影響工作效率。后者即間接監(jiān)測(cè)包括切削力測(cè)量法、電流測(cè)量法、聲發(fā)射測(cè)量法、振動(dòng)測(cè)量法等。
在眾多的間接型的在線監(jiān)測(cè)方法中,聲發(fā)射的方法因?yàn)槠涓哳l特性而發(fā)展速度比較快。因?yàn)槁暟l(fā)射信號(hào)的信號(hào)頻率較高,從而能夠很好的濾除大部分的低頻的干擾信號(hào),能夠?yàn)楹罄m(xù)的信號(hào)處理提供很純凈的信號(hào)源。另外,聲發(fā)射信號(hào)提取的傳感器安裝條件要求不高,不會(huì)對(duì)加工過(guò)程產(chǎn)生很大的干擾。但是它對(duì)聲發(fā)射信號(hào)對(duì)安裝位置的敏感度比較大,不同的安裝位置可能對(duì)提取到的聲發(fā)射信號(hào)的幅值影響很大。
聲發(fā)射檢測(cè)技術(shù)是利用聲發(fā)射傳感器接受被加工材料中的應(yīng)力集中源瞬間釋放的彈性波來(lái)判斷刀具的磨損狀態(tài)的一種無(wú)損檢測(cè)方法。其實(shí)驗(yàn)?zāi)P腿鐖D1所示。
信號(hào)處理的方法主要分為:時(shí)域分析法、頻域分析法、時(shí)頻域分析法。在信號(hào)的時(shí)域分析中,能夠計(jì)算信號(hào)的均值、均方值以及概率密度函數(shù)等。在本次試驗(yàn)中,通過(guò)選取對(duì)刀具磨損反應(yīng)比較敏感的特征值與刀具在沒(méi)有磨損狀態(tài)下的信號(hào)進(jìn)行比對(duì),可以判斷刀具是否磨損、磨損處于那個(gè)階段。信號(hào)的頻域分析包括對(duì)信號(hào)的幅值譜、相位譜、功率譜等進(jìn)行分析。
圖1
對(duì)刀具磨損在線監(jiān)測(cè)的研究有很多,算法也有多種多樣。比如功率檢測(cè)的方法、振動(dòng)信號(hào)的方法。但這些方法很少有做成嵌入式的設(shè)備,因此這一領(lǐng)域的研究在國(guó)內(nèi)還沒(méi)有真正的轉(zhuǎn)化成生產(chǎn)力。開(kāi)發(fā)故障診斷的嵌入式設(shè)備,基本要素分為三大部分:信號(hào)采集、數(shù)據(jù)處理、結(jié)果顯示。在本次的嵌入式研究中,由于最終設(shè)備可能要對(duì)加工系統(tǒng)采集電流、振動(dòng)、聲發(fā)射等不同的信號(hào)進(jìn)行處理,而每種信號(hào)的采樣頻率和數(shù)據(jù)分析方法又不一樣,這樣就需要完全不同的AD設(shè)備驅(qū)動(dòng)和算法程序?;诖耍緦?shí)驗(yàn)引入基于2440的linux嵌入式操作系統(tǒng),從而避開(kāi)了裸機(jī)程序功能單一的缺陷。對(duì)操作系統(tǒng)的移植就不做過(guò)多的論述。
在嵌入式開(kāi)發(fā)中,故障診斷的最初始要考慮的就是信號(hào)的提取.聲發(fā)射一般的采樣頻率在0.5M~2M之間。本實(shí)驗(yàn)使用ARM9的2440作為設(shè)備的開(kāi)發(fā)板,采樣頻率設(shè)置在0.5MHz。ARM9的2440采用8通道的10位AD轉(zhuǎn)換器,參考電壓3.3V。當(dāng)外圍總線時(shí)鐘PCLK為50MHz時(shí),設(shè)定預(yù)分頻值49,則10位轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間如下:
A/D轉(zhuǎn)換器頻率=50MHz/(49+1)=1MHz
轉(zhuǎn)換時(shí)間=1/(1MHz/5)=5us
因此,當(dāng)A/D轉(zhuǎn)換器被設(shè)置在最高工作時(shí)鐘2.5MHz下時(shí),轉(zhuǎn)換率可以達(dá)到500KSPS。在這一個(gè)階段,最主要的就是A/D驅(qū)動(dòng)的編寫(xiě)。因?yàn)楸緦?shí)驗(yàn)融入了操作系統(tǒng),不像裸機(jī)程序那樣只是簡(jiǎn)單的配置A/D轉(zhuǎn)換器的控制寄存器而已。在A/D的驅(qū)動(dòng)程序中,主要包含以下幾個(gè)大塊:
3.1.1 ADC的初始化
3.1.2 設(shè)備文件的操作
在這個(gè)結(jié)構(gòu)體中,指定了A/D設(shè)備的打開(kāi)、關(guān)閉、讀操作等函數(shù),這些函數(shù)在驅(qū)動(dòng)程序中都要一一實(shí)現(xiàn)。
3.1.3 模塊初始化和退出函數(shù)
static int __init adc_init(void){}:模塊初始化函數(shù),它在模塊加載時(shí)被調(diào)用一次,函數(shù)體中包括了設(shè)備號(hào)的注冊(cè)、初始化字符設(shè)備、ADC的初始化等。static void __exit adc_exit(void){}:這個(gè)是模塊退出函數(shù),在模塊卸載的時(shí)候被調(diào)用一次。在數(shù)據(jù)采集過(guò)程中,對(duì)數(shù)據(jù)的保存十分重要,因?yàn)槁暟l(fā)射是在高頻率下采集信號(hào),這對(duì)讀信號(hào)的程序執(zhí)行速率要求十分嚴(yán)格,要確保數(shù)據(jù)采集期間的信號(hào)被完全讀取。
驅(qū)動(dòng)程序編寫(xiě)完成后,在PC機(jī)上調(diào)試通過(guò)并模擬運(yùn)行,得出的模擬結(jié)果與PC機(jī)的Matlab運(yùn)算結(jié)果相同,程序編寫(xiě)成功后,把它編譯進(jìn)操作系統(tǒng)核中或者作為一個(gè)模塊編譯進(jìn)文件系統(tǒng)中。
在這個(gè)環(huán)節(jié),對(duì)提取到的信號(hào)進(jìn)行FFT分析,得到的結(jié)果即為信號(hào)的頻譜。非周期離散信號(hào)的頻譜是連續(xù)的周期譜,周期和無(wú)限這兩個(gè)特點(diǎn)在數(shù)字信號(hào)處理中是無(wú)法應(yīng)對(duì)的。而DFT的直接運(yùn)算又涉及到大量的復(fù)數(shù)乘法和加法運(yùn)算??焖俑道锶~變換有效的解決了運(yùn)算量過(guò)大的問(wèn)題。其計(jì)算原理如下:
長(zhǎng)度為N的數(shù)據(jù)序列(原始信號(hào)x(n))的DFT定義如下:
其中
在DFT的有效算法FFT中,利用了的對(duì)稱(chēng)性和周期性:
這樣就大量減少了直接DFT的運(yùn)算量,為信號(hào)分析節(jié)省了大量的時(shí)間,使數(shù)據(jù)的實(shí)時(shí)處理成為可能。
本實(shí)驗(yàn)中的FFT程序主要包括兩部分:
3.2.1 原始數(shù)據(jù)的排序
這是因?yàn)樵诨?FFT算法中,要對(duì)信號(hào)進(jìn)行奇偶排序。以下是對(duì)信號(hào)排序的C程序:
其中N為信號(hào)的點(diǎn)數(shù),也即為FFT的點(diǎn)數(shù),f[]中保存的是信號(hào)的時(shí)域內(nèi)的值。
3.2.2 排序后的數(shù)值計(jì)算
本程序采用的是原位計(jì)算,即只使用N個(gè)寄存器或者是存儲(chǔ)單位就能計(jì)算出長(zhǎng)度為N的序列的FFT值,這樣就不用開(kāi)辟大量的存儲(chǔ)區(qū)間來(lái)保存運(yùn)算的中間值。其程序如下:
在FFT計(jì)算的主程序中,要把以上兩個(gè)重要部分涵蓋進(jìn)去,確保運(yùn)算結(jié)果得以存儲(chǔ)(注意這里的保存只是保存到RAM區(qū)),用作下一步的結(jié)果顯示的輸入。在數(shù)據(jù)處理部分,要對(duì)采集到的數(shù)據(jù)做時(shí)間上間斷的處理。因?yàn)镕FT運(yùn)算是一項(xiàng)計(jì)算量很大的工程,即使是計(jì)算機(jī)也不能實(shí)時(shí)地把A/D模塊以50萬(wàn)Hz頻率采到的數(shù)做完全的分析。
在結(jié)果顯示階段,要使用到液晶顯示屏,所以首先要把LCD驅(qū)動(dòng)編譯進(jìn)Linux核中。在這一部分,使用QT圖形庫(kù)可以簡(jiǎn)化圖形顯示程序:
在以上的程序中,只是構(gòu)造了一個(gè)窗口,與這些窗口中按鈕信號(hào)連接的槽函數(shù)在FFT.cpp文件中實(shí)現(xiàn):#include <QLabel>
(把3.2所提到的”數(shù)據(jù)計(jì)算”部分寫(xiě)進(jìn)一個(gè)按鈕的槽的實(shí)現(xiàn)函數(shù))
致此,一個(gè)聲發(fā)射監(jiān)測(cè)刀具磨損的嵌入式設(shè)備基本搭建完畢。這樣的一套設(shè)備基本能實(shí)現(xiàn)聲發(fā)射信號(hào)的在線分析,并能從圖像顯示部分直觀的觀察到聲發(fā)射信號(hào)在頻域上能量的變化。同時(shí),由于圖像每隔兩秒便更新顯示,能夠很好地實(shí)現(xiàn)“實(shí)時(shí)”功能。
本文主要研究了用聲發(fā)射法監(jiān)測(cè)刀具磨損的數(shù)學(xué)原理和設(shè)備的物理實(shí)現(xiàn)。采用算法分析和實(shí)驗(yàn)相結(jié)合的方法。這項(xiàng)實(shí)驗(yàn)研究表明,隨著計(jì)算機(jī)硬件技術(shù)不斷進(jìn)步,在不斷地完善算法的基礎(chǔ)上,很多故障診斷數(shù)學(xué)原理的算法模型完全可以開(kāi)發(fā)成為在線監(jiān)測(cè)的嵌入式設(shè)備并不斷地應(yīng)用到工業(yè)生產(chǎn)中。然而,本實(shí)驗(yàn)由于受硬件設(shè)備的限制,這套嵌入式儀器只能在0.5MHz的頻率下采集信號(hào)。另外,以上的數(shù)據(jù)處理部分,只是對(duì)采集到的信號(hào)進(jìn)行的頻譜圖像顯示,并沒(méi)有涉及到模式識(shí)別階段。
[1]姚天任.數(shù)字信號(hào)處理[M].北京:清華大學(xué)出版社,2012,125-144.
[2]John G.Proakis,Dimiyris G.Manolakis. Digital Signal Processing[M].北京:電子工業(yè)出版社,2004,327-379.
[3]胡江林,張少文,李亮.基于聲發(fā)射技術(shù)監(jiān)測(cè)刀具磨損的研究[D].南京:南京航空航天大學(xué),2012,1-5.
[4]王彬,于丹,汪洋.MATLAB數(shù)字信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2010,38-51.
[5]范世貴,郭婷.信號(hào)與系統(tǒng)[M].西安:西北工業(yè)大學(xué)出版社,2011,243-268.
[6]孟慶洪,候?qū)毞€(wěn).ARM嵌入式系統(tǒng)開(kāi)發(fā)與編程[M].北京:清華大學(xué)出版社,2011,314-348.
[7]何永琪,楊紅濤,焦悅光,戴無(wú)懼.嵌入式Linux系統(tǒng)實(shí)用開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2010,390-526.
[8]商斌.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)入門(mén)與編程實(shí)踐[M].北京:電子工業(yè)出版社,2009,271-281.
張坤洋(1990—),河南西平人,碩士,研究方向:故障診斷。
科技重大專(zhuān)項(xiàng):高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備,課題編號(hào):2013ZX04011-012.