文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)02-0077-03
激光跟蹤測量系統(tǒng)(Laser Tracker System)是工業(yè)測量系統(tǒng)中常用的一種高精度的測量儀器,是近十年發(fā)展起來的新型大尺寸空間測量儀器,,不僅對靜止目標(biāo)可以測量,,而且對運(yùn)動(dòng)目標(biāo)也可以進(jìn)行跟蹤測量。它集合了激光測距技術(shù),、光電技術(shù),、精密機(jī)械技術(shù)、計(jì)算機(jī)及控制技術(shù)等各種先進(jìn)技術(shù),,對空間運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤并實(shí)時(shí)測量目標(biāo)的空間三維坐標(biāo),。它具有快速、動(dòng)態(tài),、精度高等優(yōu)點(diǎn),,適合于大尺寸工件配裝測量。在航空航天,、機(jī)械制造,、核工業(yè)、現(xiàn)代軍事等測量領(lǐng)域得到廣泛的應(yīng)用,。該系統(tǒng)的跟蹤精度在很大程度上依賴于轉(zhuǎn)臺的旋轉(zhuǎn)角度的測量精度,。
為了提高系統(tǒng)轉(zhuǎn)臺旋轉(zhuǎn)角度測量的精度,本系統(tǒng)采用高分辨率的光電編碼器來測量角度,。光電編碼器是利用光柵衍射原理實(shí)現(xiàn)位移數(shù)字變換的,,光電編碼器作為一種高精度的測角傳感器已普遍應(yīng)用于伺服跟蹤系統(tǒng)中,它具有精度高、響應(yīng)快,、性能穩(wěn)定可靠等優(yōu)點(diǎn),。光電編碼器按編碼方式主要分為兩類:增量式與絕對式。由于增量式光電編碼器成本低,、測角的精度高,,因此本系統(tǒng)的增量式光電編碼器選用Renishaw公司的高精度圓光柵。
然而,,由于機(jī)械振動(dòng)或抖動(dòng)等原因,,增量式編碼器的輸出脈沖會出現(xiàn)抖動(dòng)毛刺的現(xiàn)象,因此需要在對編碼器輸出脈沖進(jìn)行計(jì)數(shù)的過程中采取有效的方法來去掉抖動(dòng)干擾,。本文介紹的有限狀態(tài)機(jī)方法,,在FPGA上可以有效消除抖動(dòng)引起的計(jì)數(shù)干擾,提高計(jì)數(shù)的精度[1],。
1 方案設(shè)計(jì)
1.1 系統(tǒng)組成
激光跟蹤測量系統(tǒng)的核心處理模塊主要由ARM處理器,,F(xiàn)PGA組成。為了充分利用ARM9微處理器的運(yùn)算能力和FPGA的高速邏輯處理能力,在設(shè)計(jì)中對功能的實(shí)現(xiàn)進(jìn)行了劃分,。ARM9 用于運(yùn)動(dòng)控制平臺的控制并且與FPGA一起形成一個(gè)完整的應(yīng)用平臺,。FPGA主要完成編碼器的精確計(jì)數(shù)功能、與ARM9處理器數(shù)據(jù)通信,、與激光測距儀數(shù)據(jù)通信功能。系統(tǒng)的組成框圖如圖1所示,。本文重點(diǎn)介紹在FPGA上實(shí)現(xiàn)編碼器的輸出脈沖計(jì)數(shù)與角度測量,。
1.2 增量式編碼器原理
增量型編碼器通常有3路信號輸出:A、B和Z,,每路都是差分信號,,共6路信號,信號采用TTL電平,,A脈沖在前,,B脈沖在后,A,、B脈沖相差90°,,每旋轉(zhuǎn)一圈發(fā)出一個(gè)基準(zhǔn)脈沖Z,作為參考機(jī)械零位,。Z相的波形中心對準(zhǔn)A相輸出的波形中心,。利用A相B相的相位差來進(jìn)行判相,A超前B 90°為正轉(zhuǎn),,反之B超前A 90°為反轉(zhuǎn),。
由于增量式編碼器不帶記憶功能,因此對外界因素引起的干擾非常敏感,,在實(shí)際應(yīng)用中,,由于機(jī)械振動(dòng)、工作環(huán)境,,電機(jī)負(fù)載等都無可避免地會產(chǎn)生震動(dòng),,編碼器會在某一相的脈沖邊緣的地方出現(xiàn)抖動(dòng)的情況,因此有效濾掉脈沖的抖動(dòng)和毛刺,,是提高計(jì)數(shù)精度的關(guān)鍵技術(shù),。編碼器輸出真實(shí)信號的波形如圖2所示[2-3]。
2 理論分析與算法
2.1 有限狀態(tài)機(jī)原理
在編碼器的一個(gè)輸出周期內(nèi),,A,、B兩相輸出信號共產(chǎn)生4個(gè)跳變沿,在A,、B方波信號的上升沿和下降沿分別計(jì)數(shù),,從而實(shí)現(xiàn)四倍頻計(jì)數(shù)的操作。本文通過有限狀態(tài)機(jī)FSM,對原始信號進(jìn)行四倍頻采樣控制,,狀態(tài)機(jī)外加的一路高速同步時(shí)鐘信號作為狀態(tài)機(jī)的驅(qū)動(dòng)時(shí)鐘信號,,從而有效濾掉抖動(dòng)干擾。
有限狀態(tài)機(jī)FSM(Finite State Machine)是一種時(shí)序電路,,是數(shù)字系統(tǒng)中實(shí)現(xiàn)高效率可靠性邏輯控制的重要方法,。標(biāo)準(zhǔn)狀態(tài)機(jī)可分為摩爾型Moore和米利型Mealy兩種類型。Mealy狀態(tài)機(jī)的輸出是當(dāng)前狀態(tài)和輸入信號的函數(shù),。在本設(shè)計(jì)中,,對編碼器輸出信號進(jìn)行計(jì)數(shù),采用的計(jì)數(shù)器是雙向計(jì)數(shù)器,,既與當(dāng)前編碼器所處于的電平組合有關(guān),,又與前一個(gè)狀態(tài)有關(guān)。因此本設(shè)計(jì)采用Mealy狀態(tài)機(jī),。Mealy狀態(tài)機(jī)比Moore狀態(tài)機(jī)在狀態(tài)切換時(shí)提前一個(gè)同步時(shí)鐘, 因而具有較高的實(shí)時(shí)性,。A、B兩相信號轉(zhuǎn)換狀態(tài)如圖3所示[4],。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 軟硬件平臺
根據(jù)以上分析,,編碼器輸出的原始信號經(jīng)過有限狀態(tài)機(jī)處理后,得到了四倍頻的輸出信號,。本系統(tǒng)采用FPGA實(shí)現(xiàn)四倍頻控制和計(jì)數(shù)功能,與用分立器件構(gòu)成的倍頻計(jì)數(shù)電路相比,,具有穩(wěn)定度高,移植性靈活,,可靠性好的特點(diǎn),。
硬件采用Altera公司的Cyclone系列FPGA芯片EP1C12Q240,編譯環(huán)境為Quartus II 5.1集成開發(fā)環(huán)境,。在Quartus II的開發(fā)環(huán)境中,,可以通過兩種方法來實(shí)現(xiàn)Mealy有限狀態(tài)機(jī)。第一采用硬件描述語言,,第二通過Quartus II中的狀態(tài)機(jī)編輯工具來完成,。本設(shè)計(jì)采用硬件描述語言來實(shí)現(xiàn)狀態(tài)機(jī)設(shè)計(jì)。
3.2 程序設(shè)計(jì)
為了提高系統(tǒng)的實(shí)用性和穩(wěn)定性,,濾掉信號上的毛刺,,在A、B相信號進(jìn)入狀態(tài)機(jī)前,,先設(shè)計(jì)一個(gè)濾波器進(jìn)行初次濾波,,每個(gè)信號用4個(gè)D觸發(fā)器和1個(gè)判決器來濾波;觸發(fā)器由時(shí)鐘SCLK驅(qū)動(dòng),。小于一個(gè)SCLK時(shí)鐘周期的毛刺,,都被濾波器濾掉了。濾波器的原理圖如圖5所示[6-7]。
整個(gè)程序的設(shè)計(jì)是采用圖形和語言相結(jié)合的方法來實(shí)現(xiàn)的,。頂層設(shè)計(jì)采用圖形文件,,頂層模塊的結(jié)構(gòu)圖如圖6所示。
內(nèi)部的狀態(tài)機(jī)模塊采用VHDL語言來實(shí)現(xiàn),。頂層模塊包含兩個(gè)模塊,,一個(gè)濾波器模塊,該模塊根據(jù)三選二判決的原理來濾掉毛刺;另一個(gè)模塊是狀態(tài)機(jī)模塊,,最終輸出編碼器計(jì)數(shù)的結(jié)果,。Input[0]和input[1]輸入引腳分別連接增量型編碼器A相和B相信號。q[31..0]為32位的計(jì)數(shù)器,,輸出當(dāng)前編碼器的計(jì)數(shù)值,dirout是編碼器的旋轉(zhuǎn)方向信號,。
程序設(shè)計(jì)完成后,,在仿真工具modelsim下進(jìn)行波形仿真。仿真結(jié)果如圖7所示,。從圖中看出,,計(jì)數(shù)器能夠?qū)崿F(xiàn)正向與反向計(jì)數(shù),可以有效濾除脈沖上的抖動(dòng),,獲得精確的計(jì)數(shù)值,。
本文提出了一種基于有限狀態(tài)機(jī)的高精度測量系統(tǒng),在FPGA上用有限狀態(tài)機(jī)實(shí)現(xiàn)了編碼器輸出脈沖的去抖,,并通過32位計(jì)數(shù)器實(shí)現(xiàn)精確計(jì)數(shù),。最終在ARM處理器上完成角度的計(jì)算。通過大量反復(fù)試驗(yàn),,試驗(yàn)結(jié)果表明本文介紹的方法具有精度高,、成本低、接口兼容性高,、可靠性高,、可移植性好等優(yōu)點(diǎn),可以有效抑制噪聲干擾,,獲得高精度的角度數(shù)據(jù),。該方法已經(jīng)成功應(yīng)用在激光跟蹤測量系統(tǒng)中,該技術(shù)的推廣可以取得良好的經(jīng)濟(jì)效益,,具有重要實(shí)用意義,。
參考文獻(xiàn)
[1] 侯鴻斌,陳安,高妍.基于有限狀態(tài)機(jī)的高精度周期可變編碼器計(jì)數(shù)器設(shè)計(jì)[J].福建電腦, 2010(1):1-2.
[2] 方華松,丁望來.基于FPGA的抗編碼器抖動(dòng)干擾的高精 度編碼技術(shù)[J].船電技術(shù),2009(7):15-18.
[3] 閆莎莎,朱世強(qiáng).基于CPLD 的光電編碼器測量系統(tǒng)[J]. 機(jī)電工程,2009(26):77-79.
[4] 蔣晶,蔣東方,高航.高可靠性增量式光電編碼器接口電路設(shè)計(jì)[J].測控技術(shù),2009,28(2):1-3.
[5] 鈔靖,王小椿,姜虹. 基于FPGA 的光電編碼器四倍頻電路設(shè)計(jì)[J].儀表技術(shù), 2007(6):17-21.
[6] 王彩霞,李梅.基于FPGA的增量式光電角度編碼 器信號處理系統(tǒng)[J].微計(jì)算機(jī)信息,2010,26(8-2):125- 126.
[7] 韓黨群,肖軍.基于狀態(tài)機(jī)描述的光電編碼器四倍頻電路設(shè)計(jì)[J].西安航空技術(shù)高等專科學(xué)校學(xué)報(bào),2008,9(5):
23-25.