1 引言 時(shí)柵傳感器是一種全新原理的位移傳感器,其原理及優(yōu)點(diǎn)可參考文獻(xiàn)。2004年時(shí)柵傳感器經(jīng)法定權(quán)威檢測(cè)部門(mén)——中國(guó)測(cè)試技術(shù)研究院檢定精度為±o.8”,達(dá)到計(jì)量光柵水平。為了實(shí)現(xiàn)時(shí)柵傳感器非線性誤差的自動(dòng)修正,提高生產(chǎn)效率,需要設(shè)計(jì)一套高精度自動(dòng)定位系統(tǒng)。本課題是以高精度光柵作為標(biāo)準(zhǔn)的檢定儀器來(lái)檢定時(shí)柵位移傳感器的非線性誤差,要求其具有USB通信接口,按外部指令數(shù)據(jù)自動(dòng)轉(zhuǎn)位。 2 系統(tǒng)設(shè)計(jì) 傳感器非線性誤差自動(dòng)修正系統(tǒng)結(jié)構(gòu)圖如圖1所示。系統(tǒng)裝置以回轉(zhuǎn)工作臺(tái)(以下簡(jiǎn)稱轉(zhuǎn)臺(tái))為載體,光柵和時(shí)柵傳感器分別通過(guò)聯(lián)軸結(jié)安裝在轉(zhuǎn)臺(tái)的轉(zhuǎn)軸上,隨轉(zhuǎn)臺(tái)同時(shí)轉(zhuǎn)動(dòng)。工控機(jī)通過(guò)USB接口向ARM控制器發(fā)送轉(zhuǎn)位角度數(shù)據(jù),ARM控制電機(jī)旋轉(zhuǎn)以帶動(dòng)轉(zhuǎn)臺(tái),同時(shí)用串口接收時(shí)柵反饋的測(cè)茸值,形成閉環(huán)控制,并在定位完成后通知工控機(jī),工控機(jī)再分別采集光柵和時(shí)柵的測(cè)量數(shù)據(jù)。作為標(biāo)準(zhǔn)檢定儀器的精密光柵所測(cè)得的角位移與時(shí)柵所測(cè)得的角位移的值做差,從而得到時(shí)柵在這一位置上的測(cè)量誤差。然后,工控機(jī)向ARM發(fā)送下一個(gè)設(shè)定的角度值,這樣在上位機(jī)程序的控制下按步驟完成每一個(gè)設(shè)定目標(biāo)值的準(zhǔn)確定位。對(duì)不同角度多次測(cè)鼉,當(dāng)所有的目標(biāo)點(diǎn)都采集完成后,工控機(jī)便開(kāi)始進(jìn)行數(shù)據(jù)的擬合、誤差的修正與補(bǔ)償。 同時(shí)還要測(cè)最溫度、濕度等實(shí)驗(yàn)條件參數(shù),以得出不同條件下的位置一誤差曲線以及修正參數(shù)。最后將溫度、濕度參數(shù)和修正參數(shù)移植到時(shí)柵中進(jìn)行誤差測(cè)試.作為時(shí)柵的最終精度。本文將重點(diǎn)論述高精度定位系統(tǒng)的設(shè)計(jì)(如圖l中虛線框部分所示)。 圖1 時(shí)柵傳感器非線性誤差自動(dòng)修正系統(tǒng)結(jié)構(gòu)圖 3 硬件設(shè)計(jì) 3.1 ARM控制系統(tǒng) LPC214x系列是PHlLIPS公司新推出的基于ARM7內(nèi)核的高性能芯片,其最大特色是內(nèi)置了USB2.0全速控制器,LPC2146/2148還內(nèi)嵌了DMA引擎,使USB通信速度幾乎達(dá)到了USB2.0(全速)的最高通信速度;相對(duì)于普通ARM7芯片,LPC214x還提升了I/O端口的速度,具有很高的性價(jià)比。選用LPC2148作為控制器,它采用了超小LQFP64封裝。ARM控制系統(tǒng)結(jié)構(gòu)圖如圖2所示,其中控制系統(tǒng)電源由USB接口提供。 圖2 ARM控制系統(tǒng)結(jié)構(gòu)圖 3.2 USB接口電路 USB的物理接口包括4根線,分別為電源線(Vbus)、數(shù)據(jù)線+(D+)、數(shù)據(jù)線-(D-)、地線(GND)。其中D+和D-是一對(duì)差模的信號(hào)線,而Vbus和GND提供了5V的電源,它可以給一些設(shè)備供電,如圖3所示,其中J1的第5腳是B型USB接口的外殼。USB總線的D+和D-線都要串接一個(gè)匹配電阻(R13和R14),LPC214x的P0.23引腳為USB設(shè)備控制器用于檢測(cè)USB總線是否插入的檢測(cè)引腳,該引腳可串聯(lián)1個(gè)10kΩ的電阻接到USB的Vbus上。LPC214x USB控制器的USB引腳占用了第10引腳(D+)和第11引腳(D-)。 為了使LPC214x的軟件可以更靈活地控制USB設(shè)備與主機(jī)之間的連接,使用P0.31來(lái)實(shí)現(xiàn)SoftConnectTM特性。Q1選用P溝道MOS管2SJ355,當(dāng)P0.31輸出低電平時(shí),D+線通過(guò)R18上拉到VDD3.3,通知USB主機(jī):USB設(shè)備要與其建立連接;當(dāng)P0.31輸出高電平時(shí),D+線斷開(kāi)與VDD3.3的連接.通知USB主機(jī):USB設(shè)備已經(jīng)斷開(kāi)與USB主機(jī)的連接。 圖3 USB接口電路 SPX1117M-3.3是Sipex公司生產(chǎn)的LDO芯片。SPX1117系列LDO芯片輸出電流可達(dá)800mA,輸出電壓的精度在±1%以內(nèi),還具有電流限制和熱保護(hù)功能。 3.3 步進(jìn)電機(jī)驅(qū)動(dòng)電路 根據(jù)現(xiàn)有的實(shí)驗(yàn)轉(zhuǎn)臺(tái)和課題的控制要求,可選擇北京斯達(dá)微步控制技術(shù)有限公司的34HS300DZ型兩相混合式步進(jìn)電機(jī),與其配套的驅(qū)動(dòng)器的型號(hào)為MS-2H090M。為達(dá)到最高的控制精度,細(xì)分?jǐn)?shù)應(yīng)設(shè)為最大值,則電機(jī)步距角為0.009度。由于同步帶的傳動(dòng)比為2:1,蝸桿與蝸輪的傳動(dòng)比為90:1,則電機(jī)與轉(zhuǎn)臺(tái)的總傳動(dòng)比為180:1,轉(zhuǎn)臺(tái)步距角為0.18秒。 MS-2H090M型驅(qū)動(dòng)器對(duì)輸入的電壓信號(hào)或電流信號(hào)均有要求,由此需設(shè)計(jì)控制器與驅(qū)動(dòng)器的接口電路,以八同相三態(tài)緩沖器成驅(qū)動(dòng)器74HC244為接口芯片。ARM輸出的信號(hào)(包括電機(jī)使能信號(hào)、方向信號(hào)和脈沖信號(hào))經(jīng)過(guò)74HC244后將3.3V高電平電壓轉(zhuǎn)換為驅(qū)動(dòng)器要求的5V,同時(shí)增強(qiáng)了驅(qū)動(dòng)能力。 4 軟件設(shè)計(jì) 4.1 系統(tǒng)定位流程 高精度自動(dòng)定位系統(tǒng)流程圖如圖4所示。首先ARM控制器通過(guò)USB從上位機(jī)接收轉(zhuǎn)位角度值(設(shè)為A度),然后通過(guò)串口接收時(shí)柵的初始值,再將從上位機(jī)接收到的轉(zhuǎn)位角度值折算成步進(jìn)電機(jī)的脈沖數(shù),發(fā)脈沖控制步進(jìn)電機(jī)轉(zhuǎn)位(A-1)度,完成后從事口接收時(shí)柵測(cè)量結(jié)果的反饋信號(hào).并與初值比較,計(jì)算出實(shí)際轉(zhuǎn)位角度值,再將實(shí)際值與上位機(jī)預(yù)先設(shè)定的值進(jìn)行比較,若一致,則輸出定位完畢信號(hào),從USB口接收上位機(jī)傳來(lái)的下一個(gè)角度值;若不一致,再判斷是否超過(guò)了設(shè)定值,控制電機(jī)修正。 圖4 高精度自動(dòng)定位系統(tǒng)流程圖 4.2 步進(jìn)電機(jī)的位置控制及算法 步進(jìn)電機(jī)的位置控制需要兩個(gè)參數(shù)。第一個(gè)參數(shù)是步進(jìn)執(zhí)行機(jī)構(gòu)當(dāng)前的位置參數(shù),稱其為絕對(duì)位置。第二個(gè)參數(shù)是從當(dāng)前位置移動(dòng)到目標(biāo)位置的距離,可以用折算的方式將這個(gè)距離折算成步進(jìn)電機(jī)的步數(shù)。 根據(jù)經(jīng)典控制理論,步進(jìn)電機(jī)的閉環(huán)定位控制方法可分為單向逼近和雙向逼近這兩種,一般情況下,雙向逼近的定位速度要快于單向逼近,但是雙向逼近往往會(huì)帶來(lái)同程誤差。本設(shè)計(jì)中單向逼近的算法流程圖如圖5(a)所示。單向逼近采用2分法,當(dāng)預(yù)設(shè)值A(chǔ)大于1度時(shí),正轉(zhuǎn)(A-1)度。防止超過(guò),然后每次走剩下步數(shù)的一半;當(dāng)預(yù)設(shè)值A(chǔ)小于或等于1度時(shí),直接開(kāi)始每次走剩下步數(shù)的一半來(lái)逼近。轉(zhuǎn)過(guò)的角度非常接近預(yù)設(shè)值時(shí),即使適用2分發(fā)也有可能超過(guò)預(yù)設(shè)值,這時(shí)電機(jī)反轉(zhuǎn)1度后重新逼近。這種算法理論上能將轉(zhuǎn)臺(tái)控制到±0.09秒,但由于目前時(shí)柵的分辨率為0.2秒,故只能將轉(zhuǎn)臺(tái)控制到±0.2秒。 圖5 步進(jìn)電機(jī)閉環(huán)定位流程圖 若采用雙向逼近,算法相對(duì)簡(jiǎn)單一點(diǎn),如圖5(b)所示,每修正一次,ARM控制器就接收一次時(shí)柵反饋信號(hào),按不足的或超過(guò)的步數(shù)來(lái)正轉(zhuǎn)或反轉(zhuǎn)修正。采用雙向逼近時(shí),系統(tǒng)裝置的回程誤差主要是兩個(gè)聯(lián)軸結(jié)這種機(jī)械結(jié)構(gòu)帶來(lái)的誤差,實(shí)驗(yàn)證明此誤差不超過(guò)1秒,故在定位精度要求不高的場(chǎng)合,可采用雙向逼近方式來(lái)快速定位。 4.3 USB通信流程 USB的通信流程圖如圖6所示。首先要初始化USB控制器,然后設(shè)置USB控制器中斷向量,并打開(kāi)IRQ中斷,再根據(jù)后臺(tái)的中斷,在前臺(tái)處理USB事件,當(dāng)USB設(shè)備的地址配置完成后,才可對(duì)端點(diǎn)進(jìn)行讀寫(xiě)操作,從邏輯端點(diǎn)1接收轉(zhuǎn)位角度數(shù)據(jù)。定位完成后,從邏輯端點(diǎn)1發(fā)送定位完成信號(hào)到上位機(jī)。準(zhǔn)備接收下一個(gè)轉(zhuǎn)位角度數(shù)據(jù)。 圖6 USB通信流程圖 5 結(jié)束語(yǔ) 高精度自動(dòng)定位系統(tǒng)采用了高性能的32位處理器ARM作為主控芯片,以閉環(huán)方式控制步進(jìn)電機(jī)精確定位,并通過(guò)USB接口與上位機(jī)通信。通過(guò)對(duì)系統(tǒng)的整機(jī)調(diào)試。定位精度達(dá)至±1秒,并且定位速度快,能有效提高檢測(cè)效率。該系統(tǒng)除用于面向時(shí)柵傳感器非線性誤差的自動(dòng)修正的開(kāi)發(fā)外,相關(guān)的單元技術(shù)在其它領(lǐng)域中,如儀器校正、機(jī)械加工和制造業(yè)中均有廣泛的應(yīng)用前景。 本文作者的創(chuàng)新點(diǎn):設(shè)計(jì)了基于ARM的高精度自動(dòng)定位系統(tǒng),實(shí)現(xiàn)了傳感器非線性誤差的自動(dòng)修正。 項(xiàng)目經(jīng)濟(jì)效益:7萬(wàn)元 作者:胡超,劉小康 來(lái)源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第7-2期 |