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