摘 要: 提高位置測量的精度,是提高電機定位精度" title="定位精度">定位精度的主要途徑。作為當前常用轉角位置傳感器的增量式光電碼盤,常采用四倍頻的方法提高其測量精度。針對一些精度和穩定性不高的四倍頻電路在應用中造成的誤差、詳細分析了兩種可應用于不同環境的四倍頻電路,從原理上說明了電路的精度和穩定性、其結論在實際應用" title="實際應用">實際應用中也得到了驗證。
關鍵詞: 電機控制 伺服電路 光電碼盤
?
在分布于各個行業的大量機電系統的設計中,定位精度常常是最關鍵的性能指標之一。在此類系統的設計中,當前主要使用電機作為驅動,因此研究提高電機伺服系統定位精度的方法,對提高機電系統性能具有重要的意義。對于一個設計完善的伺服系統而言,其定位精度主要取決于位置測量裝置[1]。由于光電碼盤具有分辨率高、響應速度快、體積小、重量輕、輸出穩定、耐惡劣環境等特點,所以在電機伺服控制系統中得到了廣泛應用。通常,光電碼盤分為絕對式和增量式兩種。絕對式碼盤在任意位置都可給出與位置相對應的數字轉角輸出量,不存在四倍頻的問題。增量式碼盤是根據軸所轉過的角度,輸出一系列脈沖,并通過計數電路,對脈沖進行累計計數,得到相對角位移" title="角位移">角位移。由于單個絕對碼盤的角位移的測量范圍僅為0°~360°,需多個碼盤才能測量大于360°的角位移,從而提高了系統的價格和復雜程度;而增量式碼盤轉角測量范圍只受計數電路的位數限制,結構簡單" title="結構簡單">結構簡單,價格較低,因此得到廣泛應用。本文提到的光電碼盤,都是指增量式碼盤。
在實際應用中,通常采用四倍頻的方法以提高光電碼盤的定位精度。因此,結構簡單、性能穩定、運行可靠的四倍頻電路,是電機伺服電路的一個重要組成部分。通常,光電碼盤的四倍頻電路與判向電路設計為一個整體,故又統稱為四倍頻及判向電路。能夠實現四倍頻的電路結構很多,但我們在應用中發現,由于某些四倍頻電路的精度或穩定性不高,從而使加入四倍頻電路后,精度本應得到提高的系統,整體性能反而下降,從而使系統無法達到設計要求[2]。為此,我們在分析幾種常見四倍頻電路的基礎上,針對不同的應用,設計了兩種不同的電路實現方案。下面,對四倍頻電路的設計原理及兩種方案的結構和使用方法進行討論。
1 四倍頻電路設計原理
光電碼盤的典型輸出為兩個相位差為90°" title="90°">90°的方波信號(A和B),以及零位脈沖信號Z(見圖1)。其中,A、B兩相信號的脈沖數標志碼盤軸所轉過的角度,A、B之間的相位關系標志碼盤的轉向,即當A相超前B相90°時,標志碼盤正轉(見圖1a),當B相超前A相90°時,碼盤反轉(見圖1b)。
對于每個確定的碼盤,其脈沖周期T對應的碼盤角位移固定為θ,故其量化誤差為θ/2。如果能夠將A或B信號四倍頻,則計數脈沖的周期將減小到T/4,量化誤差下降為θ/8,從而使光電碼盤的角位移測量精度提高4倍。由于伺服系統中的碼盤轉速具有不可預見性,造成脈沖周期T具有不確定的特點,從而無法使用鎖相環等常用倍頻方案。詳細觀察圖1可以發現,在脈沖周期T內,A、B兩相信號共產生了四次變化,即t1、t2時刻的上升沿和t3、t4時刻的下降沿。盡管T不確定,但由于A、B兩方波信號之間相位關系確定,使這四次變化在相位上平均分布,如果利用這四次變化產生四倍頻信號,則可以實現光電碼盤測量精度的提高。
四倍頻后的碼盤信號,需經計數器計數后,才能轉化為相對位置。計數過程一般有兩種實現方法:一是由可編程計數器或微處理器內部定時/計數器實現計數;二是由可逆計數器實現對正反向脈沖的計數。當需控制的電機數量少時,前一方案附加元件少,結構簡單,較為容易實現。如使用8031控制一路電機,則無需添加任何器件,利用其內部的T0及T1計數器,即可實現計數。當需控制的電機數量較多時,則采用后一種方案,利用復雜可編程邏輯器件(PLD),實現會更為簡單。
基于以上思路,根據不同的計數方案,可以設計出以下兩種四倍頻電路。
2 面向通用計數器的四倍頻及判向電路
在實現1~2路電機控制的情況下,使用微控制器內部通用計數器,或簡單地增加可編程計數器即可實現計數。因此也要求四倍頻電路結構簡單,便于利用簡單PLD實現集成。為此,我們采用的電路原理如圖2所示。其中,74LS174為6D觸發器,用于鎖存A、B信號的當前狀態及原狀態;CP為74LS174的同步時鐘,其周期至少應小于碼盤脈沖最小周期的1/4;XA及XB分別為電路生成的正反向四倍頻計數脈沖,其寬度等于CP的脈沖周期。該電路的邏輯表達式如下:
由于我們主要關心該電路在輸入狀態變化時,其輸出狀態的變化情況,而且四倍頻電路變化較大的也主要是輸入狀態,因此本文采用輸入狀態轉換圖進行電路邏輯分析(下同)。該電路的輸入狀態轉換如圖3所示。
其中,AB表示A、B兩相輸入信號,XA、XB表示四倍頻電路輸出。從狀態圖可以看出,該電路不僅在輸入正常的條件下能夠穩定工作,而且在AB出現同時變化的輸入錯誤狀態下(輸入在00←→11或01←→10之間跳變),其輸出信號不會發生任何變化,這一方面顯示了電路邏輯結構的嚴密性,另一方面也提高了抗干擾能力。圖4為該電路實現四倍頻及判向功能的時序圖。
從以上分析可以看出,該電路具有邏輯結構嚴密、不受干擾輸入影響、易于實現簡單PLD器件集成等特點。當前,該電路已成功應用于多種機器人控制系統中,包括人工肌肉、圖像監控系統,以及分辨率達到60nm的微操作機器人等,實際應用驗證了該電路的精度和穩定性。
3 面向可逆計數器的四倍頻及判向電路設計
對于多軸數控機床、機器人等需要多軸電機控制的場合,如果采用上述設計方案,往往需要增加較多的可編程計數器,造成電路元器件眾多、結構復雜、功耗增加、穩定性下降等缺點。當前,解決該問題的一個有效方案,是利用FPGA等復雜PLD器件,實現多路電機的碼盤接口電路的芯片化設計,包括光碼盤信號四倍頻電路、判向電路及可逆計數器電路。下面,以采用FPGA實現為例,說明設計過程。
首先,為便于使用VHDL語言描述,對碼盤信號作如下分析:
(1)當碼盤正轉時,碼盤輸出的A相信號超前B相90°,則在一個周期內,AB兩相信號共有四次相對變化: (圖1a);這樣,如果每發生一次變化,可逆計數器便實現一次加計數,則一個周期內,共可實現四次加計數,從而實現正轉狀態的四倍頻計數。
(2)當碼盤反轉時,碼盤輸出的A相信號滯后B相90°,則在一個周期內,AB兩相信號也有四次相對變化:(圖1b);這樣,如果每發生一次變化,可逆計數器便實現一次減計數,則一個周期內,共可實現四次減計數,從而實現反轉狀態的四倍頻計數。
(3)當線路受到干擾或出現故障時,則可能出現其他狀態轉換過程,此時計數器應不進行計數操作。
綜合以上分析,可以作出基于FPGA設計的碼盤信號處理模塊狀態轉換圖(見圖5),其中“+/-1”分別表示計數器加/減1計數,“0”表示計數器不動作。
由該狀態轉換圖,可以將該模塊描述如下:
Ecoderinput :process(pa、pb、clr、preset、clk、dbin、cnten、db)
begin
if(clr='0') then
db<=″0000000000000000″;
prestate<=″00″;
state<=″00″;
elsif (clk'event and clk='1') then
if (preset='0') then
db<=dbin;
elsif(cnten='0') then
state(1)<=pa;
state(0)<=pb;
prestate<=state;
if(prestate=″00″) and (state=″10″) then db<=db+″0000000000000001″;
elsif (prestate=″10″) and (state=″11″) then db<=db+″0000000000000001″;
elsif (prestate=″11″) and (state=″01″) then db<=db+″0000000000000001″;
elsif (prestate=″01″) and (state=″00″) then db<=db+″0000000000000001″;
elsif (prestate=″00″) and (state=″01″) then db<=db-″0000000000000001″;
elsif (prestate=″01″) and (state=″11″) then db<=db-″0000000000000001″;
elsif (prestate=″11″) and (state=″10″) then db<=db-″0000000000000001″;
elsif (prestate=″10″) and (state=″00″) then db<=db-″0000000000000001″;
else db<=db;
end if;
end if;
end if;
end process Ecoderinput;
圖6為該模塊實現四倍頻及判向功能的時序圖。
可以看出,利用FPGA設計碼盤信號處理模塊,無論是設計過程,還是電路結構,都變得更加簡潔。另外,在應用中注意FPGA時鐘周期應小于碼盤脈沖的1/4,只是通常FPGA的時鐘已經遠小于碼盤脈沖周期。該電路已應用于對精度、可靠性和穩定性都有很高要求的醫療外科機械臂的設計中,該機械臂已多次成功應用于臨床手術,從而在實踐上驗證了該電路性能。
鑒于光電碼盤四倍頻電路在提高電機定位精度中具有的重要作用,以上詳細分析了兩種面向不同計數方案的四倍頻電路結構。這兩種電路性能都已在實際應用中得到了驗證,希望能對電機伺服電路設計提供一定的參考。
參考文獻
1 李清新.伺服系統與機床電器控制.北京:機械工業出版社,1994
2 王守杰.多路氣動數字控制系統研制.北京:北京航空航天大學碩士論文,1994
3 韓壯志.新型靈巧手控制器設計與實現.北京:北京航空航天大學碩士論文,1999.3