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