雷射跟蹤測量系統(Laser Tracker System)是工業測量系統中常用的一種高精度的測量儀器,是近十年發展起來的新型大尺寸空間測量儀器,不僅對靜止目標可以測量,而且對運動目標也可以進行跟蹤測量。它集合了雷射測距技術、光電技術、精密機械技術、計算機及控制技術等各種先進技術,對空間運動目標進行跟蹤並實時測量目標的空間三維坐標。它具有快速、動態、精度高等優點,適合於大尺寸工件配裝測量。在航空航天、機械製造、核工業、現代軍事等測量領域得到廣泛的應用。該系統的跟蹤精度在很大程度上依賴於轉臺的旋轉角度的測量精度。
本文引用地址:http://www.eepw.com.cn/article/189624.htm為了提高系統轉臺旋轉角度測量的精度,本系統採用高解析度的光電編碼器來測量角度。光電編碼器是利用光柵衍射原理實現位移數字變換的,光電編碼器作為一種高精度的測角傳感器已普遍應用於伺服跟蹤系統中,它具有精度高、響應快、性能穩定可靠等優點。光電編碼器按編碼方式主要分為兩類:增量式與絕對式。由於增量式光電編碼器成本低、測角的精度高,因此本系統的增量式光電編碼器選用Renishaw公司的高精度圓光柵。
然而,由於機械振動或抖動等原因,增量式編碼器的輸出脈衝會出現抖動毛刺的現象,因此需要在對編碼器輸出脈衝進行計數的過程中採取有效的方法來去掉抖動幹擾。本文介紹的有限狀態機方法,在FPGA上可以有效消除抖動引起的計數幹擾,提高計數的精度[1]。
1 方案設計
1.1 系統組成
雷射跟蹤測量系統的核心處理模塊主要由ARM處理器,FPGA組成。為了充分利用ARM9微處理器的運算能力和FPGA的高速邏輯處理能力,在設計中對功能的實現進行了劃分。ARM9 用於運動控制平臺的控制並且與FPGA一起形成一個完整的應用平臺。FPGA主要完成編碼器的精確計數功能、與ARM9處理器數據通信、與雷射測距儀數據通信功能。系統的組成框圖如圖1所示。本文重點介紹在FPGA上實現編碼器的輸出脈衝計數與角度測量。
1.2 增量式編碼器原理
增量型編碼器通常有3路信號輸出:A、B和Z,每路都是差分信號,共6路信號,信號採用TTL電平,A脈衝在前,B脈衝在後,A、B脈衝相差90°,每旋轉一圈發出一個基準脈衝Z,作為參考機械零位。Z相的波形中心對準A相輸出的波形中心。利用A相B相的相位差來進行判相,A超前B 90°為正轉,反之B超前A 90°為反轉。
由於增量式編碼器不帶記憶功能,因此對外界因素引起的幹擾非常敏感,在實際應用中,由於機械振動、工作環境,電機負載等都無可避免地會產生震動,編碼器會在某一相的脈衝邊緣的地方出現抖動的情況,因此有效濾掉脈衝的抖動和毛刺,是提高計數精度的關鍵技術。編碼器輸出真實信號的波形如圖2所示[2-3]。
2 理論分析與算法
2.1 有限狀態機原理
在編碼器的一個輸出周期內,A、B兩相輸出信號共產生4個跳變沿,在A、B方波信號的上升沿和下降沿分別計數,從而實現四倍頻計數的操作。本文通過有限狀態機FSM,對原始信號進行四倍頻採樣控制,狀態機外加的一路高速同步時鐘信號作為狀態機的驅動時鐘信號,從而有效濾掉抖動幹擾。
有限狀態機FSM(Finite State Machine)是一種時序電路,是數字系統中實現高效率可靠性邏輯控制的重要方法。標準狀態機可分為摩爾型Moore和米利型Mealy兩種類型。Mealy狀態機的輸出是當前狀態和輸入信號的函數。在本設計中,對編碼器輸出信號進行計數,採用的計數器是雙向計數器,既與當前編碼器所處於的電平組合有關,又與前一個狀態有關。因此本設計採用Mealy狀態機。Mealy狀態機比Moore狀態機在狀態切換時提前一個同步時鐘, 因而具有較高的實時性。A、B兩相信號轉換狀態如圖3所示[4]。
在理想情況下, 若編碼器正向旋轉,A、B 電平的值為:00-10-11-01-00 ; 若編碼器反向旋轉, 則A、B 電平的值為:00-01-11-10-00 。但是在實際應用中, 輸入脈衝含有抖動和毛刺,A、B 相脈衝的電平狀態會在狀態機中有效地跳轉, 抖動之後, 由於計數器能夠正反向計數,因此最終的計數值會保持不變, 輸出的結果也保持不變, 達到了去抖動的效果。有限狀態機設置了5 個狀態:IDLE (S0) ,ALBL (S1) ,AHBL (S2) ,AHBH (S3) ,ALBH (S4) 。其中IDLE 為初始狀態, 用於初始化計數器的計數器狀態。狀態機的狀態空間跳轉圖如圖4 所示[5]。
fpga相關文章:fpga是什麼
脈衝點火器相關文章:脈衝點火器原理