劉海龍,肖海峰,賀昱曜
(西北工業(yè)大學,陜西西安710072)
在高精度、高動態(tài)性能要求的伺服系統(tǒng)中,必須實時和精確地測量轉子的位置和轉速。正余弦編碼器正是將旋轉軸的機械幾何位移轉換為數(shù)字量的傳感器,為轉子的位置和轉速測量提供了技術解決方案。
正余弦編碼器出現(xiàn)于上世紀60年代,在機器人、軍工火控等系統(tǒng)中獲得了廣泛的應用[1-3]。隨著伺服系統(tǒng)控制性能要求的不斷提高,對轉軸位置的定位精度要求也越來越高[4-5],然而單純的提高編碼器的光柵數(shù),既有成本的限制,又有工藝技術等方面的制約,無法滿足高精度及實時性的要求,因此對編碼器輸出信號進行再細分及濾波等處理方法,一直是重要的研究方向[4-5]。
本文系統(tǒng)地研究了正余弦編碼器在電機伺服系統(tǒng)中的應用技術,分析比較了在不同的歷史階段、不同微處理器下的各種典型應用技術方案,總結了各個應用技術方案在不同的工程領域的應用情況,并針對現(xiàn)有方案的研究現(xiàn)狀和不足,探討了在超低速運轉時的發(fā)展趨勢和研究方向。
正余弦編碼器正常工作時,分別輸出2N個兩路相位相差90°的正弦信號,如圖1所示。
圖1 編碼器波形
在上世紀80年代及以前,控制系統(tǒng)使用的主控芯片為單片機,使用單片機進行模擬信號處理時效率低、運算復雜,無法滿足工程需要。因此采用單片機的系統(tǒng)需要解決以下問題[4-7]:
首先,正弦模擬信號需先轉化為脈沖信號,才能輸入單片機進行處理。
其次,單片機不能直接識別脈沖到來的先后次序,無法判別轉軸的轉動方向。
再次,實際應用環(huán)境中,由于存在各種各樣的干擾因素,碼盤必然存在抖動,當碼盤在跳變沿處出現(xiàn)往復抖動時,必然會重復計數(shù),導致位置測量失敗。
為解決以上問題,眾多學者進行了大量的研究。
文獻[6](1994年)設計了一種基于74LS123的鑒向電路,使用兩路觸發(fā)器對稱設計,分別將A相和B相脈沖變窄后與另一相信號邏輯“與”操作,就使得單方向旋轉時,只有一路脈沖進行計數(shù)。此法通過增加專用的計數(shù)芯片,完成了模擬信號到脈沖信號的轉換及計數(shù)功能,降低了MCU的負擔;通過同時對兩路脈沖分別計數(shù)的方式,實現(xiàn)了對運轉方向的識別;另外,采用對兩路脈沖個數(shù)的加減處理,取得了抗抖動的效果。但是,此方案中脈沖變窄后的寬度是由硬件電路決定的,一旦設計完成難以更改,限制了碼盤的轉速,因此不適合變速旋轉場合。盡管如此,該方法在六自由度并聯(lián)機器人各臂伸長位置測量系統(tǒng)中獲得了成功應用。
文獻[7](1995)簡化了文獻[4]的復雜電路,提出了應用D觸發(fā)器計數(shù)并消除抖動的方案。其消除抖動的依據(jù)是脈沖序列的相位關系,即某一相脈沖的上升沿和下降沿必然對應另一相的不同電平狀態(tài),若該相兩個連續(xù)的跳變沿對應相同的電平,則存在干擾。該方法仍然是通過記錄一路脈沖個數(shù)來進行位置計數(shù),精度低。
既然用觸發(fā)器或者延時電路可以計數(shù)并進行鑒向,那么通過增加觸發(fā)器路數(shù),就可以分別處理A相和B相信號,從而同時獲得各相脈沖的跳變沿信息,進一步細分精度和消除干擾。使用單片機的系統(tǒng)都是沿著這個思路進行研究的,文獻[8-12]就分別提出了使用多路觸發(fā)器和延時電路將細分精度提高了2倍~4倍,并取得了一定的消除抖動干擾的效果。如文獻[9](1996年)提出的基于D觸發(fā)器的雙列脈沖計數(shù)方式,與文獻[7]相比,顯著的特點就是增加一路D觸發(fā)器形成對稱的網(wǎng)絡,從而分別處理正反轉時的脈沖信號,細分精度提高了四倍。
另外,文獻[8]提出了通用I/O法,利用單片機的通用I/O口直接通過讀取編碼器脈沖的狀態(tài),判斷轉動方向,同時計量轉動角度,如圖2所示。
圖2 通用I/O口鑒向及計數(shù)法
從理論上說,這種方法同時計量了脈沖的上升沿和下降沿,達到4倍的細分效果。另外,抖動時,狀態(tài)將沿著無效路徑變換,通過不進行計數(shù)變換從而通過軟件方法消除抖動。但這種方法在單片機上使用時存在以下一些問題:首先:該方法需要CPU讀取管腳狀態(tài),占用了其大量資源,使其效率降低;其次,I/O口的每一個狀態(tài)都需要及時讀取并記錄,若下一個跳變沿到來之時,上一個狀態(tài)尚未讀取,將被丟棄,導致時序錯誤,直接引起系統(tǒng)錯誤。所以,單片機的讀取頻率決定了碼盤轉速,當碼盤轉速變動時,脈沖序列頻率變化與單片機讀取間隔不一致,將導致系統(tǒng)無法正常工作,不適用變速控制場合。
隨著微處理器技術的迅速發(fā)展,編碼器的信號處理技術也得到了不斷提高。針對單片機通用I/O口法存在的嚴重問題[13],TI等公司的電機控制專用微處理器2812和28335等芯片,集成了兩個事件處理器模塊(EPWM模塊)[17],該模塊包含了正交解碼電路,這一電路不依賴CPU而獨立運行,正是利用圖2的原理,到達了4倍細分的目的。同時,文獻[13]還提出通過設置采樣頻率進行抗干擾濾波的方法。這種計數(shù)和濾波方法都不占用CPU資源,極大地提高了控制系統(tǒng)的實時性和效率,已經(jīng)達到了原始脈沖計數(shù)法位置精度細分的極限值。
隨著伺服系統(tǒng)控制精度和性能要求的不斷提高以及空間矢量、直接轉矩控制等技術的廣泛應用,對轉子位置測量的精度也有了越來越高的要求。單純的脈沖計數(shù)法無法滿足要求。因此,脈沖計數(shù)(大角度)加正余弦信號細分角度(小角度)的方式來獲得高精度位置信息成為了應用技術研究的重要方案。
因此,自上個世紀90年代以來,特別是最近十年,通過對正交正弦信號進行處理獲得相位信息的計算方法吸引了眾多研究人員的興趣。同時,抗抖動算法逐步轉化為角度細分算法的研究,因為精度越高,越能識別出真實存在的抖動。當然,由于轉軸的機械抖動客觀存在,正余弦信號波形本身就會存在畸變,因此需要首先保證正弦信號的質量,才能進一步從中得到精確的位置信息。文獻[14]等提出了自適應濾波算法,將正弦信號中的高次波濾除掉,只保留基波,保證了正弦信號的質量,為信號的二次細分技術提供了保障。
文獻[15-16]等研究了使用硬件電路比較器法進行角度細分。其思想是:利用比較器設計一個參考電壓Up,使正弦信號經(jīng)過電壓比較器,當U≥Up時,電壓比較器輸出1,當U<Up時,電壓比較器輸0。每經(jīng)過一個Up,比較器便輸出一個計數(shù)脈沖。選擇p個不同的參考電壓,比較器便輸出p個不同的計數(shù)脈沖,相當于將編碼輸出的脈沖頻率提高了p倍,從而精度也提高了p倍。該方法運行速度快、頻帶范圍廣,但是硬件電路復雜、成本高、細分精度有限,當細分至12倍頻時已經(jīng)非常復雜,且易引入噪聲,抗干擾能力差。
為了得到更高的精度細分角度,在1998年文獻[17-18]就分別提出了根據(jù)正余弦信號采樣值求取反正切值的直接求取法。其思想是對兩路正弦信號采樣,對比值作反正切計算,直接得到相位值。這種方法可以計算出電機轉子的任意位置,精度可以達到微處理器的最高精度,在許多控制精度高的場合獲得了應用。
然而求取反正切值需要浮點運算,算法周期長,文獻[19](1999年)提出的閉環(huán)跟蹤法,避免了反三角函數(shù)的計算,對正余弦信號的采樣值設置閉環(huán)觀測器進行相位的識別。在試驗中證實了相對于單列脈沖計數(shù)法,閉環(huán)跟蹤法最高達到了2 048倍的細分精度。該方法雖然目前存在運算復雜、迭代步驟不易估計的問題,但也為進一步探索利用其他閉環(huán)觀測器來獲得正弦信號的相位技術提供了一個新的思路。
為了得到更簡單的計算方法,文獻[20]于2007年提出使用查表法進行角度細分。該方法在微處理器的存儲器里預先制定一個表格,根據(jù)A/D采樣獲得的正余弦值來查詢表格,從而得到相應的相位值。該方法的精度由A/D采樣通道的位數(shù)控制,當采用m通道采樣器時,相對于單脈沖序列計數(shù)法,其細分倍數(shù)最高可達2m-2倍。盡管該方法的細分精度不及反正切直接求取法,但表格制作靈活,精度可根據(jù)工程需要進行適當調整,相比于硬件方法和反正切求取法有更好的工程實用性。
文獻[21]于2011年提出了信號注入法。其原理是根據(jù)系統(tǒng)臨界穩(wěn)定原理生成與正弦編碼信號等幅值的高頻正弦載波,同時采用定時器生成一個與載波相位對應的鋸齒波,將高頻載波與正弦信號比較,當兩者相等時保存鋸齒波幅度即可獲得正弦信號的相位。該方法易于實現(xiàn),運行速度快,實時性高,在7 kW無齒輪電梯用永磁同步電機控制系統(tǒng)中獲得了良好應用性能。但是該方法需要占用大量DSP的片內資源,精度受反混疊條件等制約,無疑增加了系統(tǒng)成本,應用場合受到限制。
為了得到精度既滿足工程需求、計算速度又快的細分角度,文獻[22-25]提出了近似線性化方法,研究了函數(shù) Vθ=|sin θ|-|cos θ| 在 θ∈(0,)的范圍內近似為線性的特性,根據(jù)A/D采樣值,將采樣結果直接帶入線性化公式,根據(jù)求解結果進行動態(tài)或者查表補償,得到最終相位值θ。與前述文獻提到的方法相比,適當降低了精度,但極大地簡化了計算方法,提高了效率,在精度和實時性方面提供了一個平衡點。如本文作者在文獻[25]中提到的方法,最高精度可以到達0.12°,而運算速度極大的提高,在某艦載火炮控制系統(tǒng)中獲得了成功應用。
應該指出,在碼盤高速運轉時,僅靠脈沖計數(shù)計算轉子位置誤差小,速度快,通??梢詽M足控制系統(tǒng)性能要求。然而,在一些特殊應用場合,如航天電機控制、太陽能電池板的姿態(tài)控制等系統(tǒng)中,電機不僅變速運行,而且運轉速度極低,此時位置信息的精度和算法的速度就顯得極為重要。然而,目前計算方法中,在極低速時還存在以下問題:細分精度不夠;抗抖動方法研究不足;速度計算不合適。因此為了同時提高運算速度,又可以滿足工程實際需要的精度,還有以下內容需要進一步研究:
(1)高精度角度細分算法
在運用矢量控制技術、直接轉矩控制技術等電機控制系統(tǒng)中,為了提高伺服系統(tǒng)的實時性和穩(wěn)定性,逆變器的工作頻率往往設置為數(shù)千赫茲以上,因此進一步簡化運算公式、降低運算復雜度,對滿足超低速運行時的精度和實時性要求將顯得十分重要。
(2)電機極低速運轉時的抗抖動研究
在矢量控制技術中,電機轉軸的實際轉動方向對于調用合適的矢量至關重要。研究中發(fā)現(xiàn),DSP的QEP部分的QDIR位只能用來指示在跳變沿時刻的計數(shù)增減方向,當電機運行速度極低時,相鄰數(shù)次矢量調用都在兩個跳變沿之間,無論正轉還是反轉,此位信息不再變化,因此此時把這個信息位用來作為電機運轉方向是不可靠的,有必要進一步展開研究適當?shù)乃惴ǎ_識別出電機實際的微小位移,與指令進行適當?shù)剡壿嬤\算,從而確定正確的轉動方向,保證下一個矢量調用正確。
(3)電機極低速運轉時,速度計算濾波的研究
電機運轉時,機械抖動是客觀存在的,在極低速時,抖動幅度造成的角位移微分常常會明顯高于當前運轉速度,造成CPU誤判從而輸出錯誤,使電機轉速振蕩。盡管眾多文獻分別提出了改進MT法、瞬時速度預估法、變 MT法以及狀態(tài)觀測器法等[26-28]。但是這些方法在極低速時存在執(zhí)行代碼復雜,占用CPU時間太長(瞬時速度預估法和狀態(tài)觀測器法)等問題。
因此,采取何種濾波技術,正確計算電機轉子實際的轉速,也需要進一步研究。
本文分析了在不同的歷史階段、不同微處理器下的各種典型應用技術方案,指出了各個方案的處理方法、細分精度以及優(yōu)缺點等,對實際工程中根據(jù)系統(tǒng)的精度和實時性要求,選取適當方案具有重要的指導作用。同時,又重點指出了各技術方案進一步研究的方向和建議,根據(jù)作者近期的研究成果,提出實際系統(tǒng)工程中在精度和運算速度之間尋找相應的平衡點的思想,提出一些簡潔有效的新方案,希望能為相關研究人員提供新的思路。
[1]于春波.關于光學編碼器精度和可靠性問題[J].火控技術,1976(04):67-77.
[2]Beckmann U,Bardenheuer R.High resolution position and velocity measurement with incremental encoders[C]//Proc.SPIE - Int.Soc.Opt.Eng.,1984,444:127 -131.
[3]一機部自動化所.雙盤式光電編碼器-工業(yè)機器人的一種高精度定位檢測裝置[J].機械工業(yè)自動化,1979(02):39-45.
[4]Lajoie P.Sine wave output improves incremental encoder signal transmission[J].Control Engineering,1977,24(01):34 -34.
[5]Wrenn RF.A microprocessor- controlled optical incremental angle encoder system for the picker FACS - I diffract meter[J].Journal of Applied Crystallography,1979(12):425 -425.
[6]方一鳴.增量式脈沖編碼器在絕對位置測量中的應用[J].自動化儀表,1994,15(08):21 -23.
[7]朱燦焰.抗光電編碼器抖動技術[J].華東交通大學學報,1995,12(04):46 -51.
[8]任作新.提高對增量編碼器讀數(shù)的準確性[J].自動化儀表,1995,16(12):27 -29.
[9]張錦春,黃樹槐.增量式光電編碼器在自動測試系統(tǒng)中的應用[J].自動化儀表,1996,17(02):23 -24.
[10]Ogasawara S.An approach to real- time position - estimation zero and low speed for a PM Motor Based on saliency[J].IEEE Trans.Indus.Appli.,1998,34(1):163 -168.
[11]張九才.增量式編碼器抗抖性研究[J].自動化儀表,2005,26(10):38-39.
[12]Chen Minjie,Tian Guozhang.The counter and anti- jamming circuit for rotary encoder[J].Application of Electronic Technique,2001(11):70-75.
[13]高偉.增量式光電編碼器在交流伺服系統(tǒng)中的應用[J].電氣自動化,2011,33(6):36 -38.
[14]母一寧.應用于增量式光電編碼器的相關自適應濾波方法[J].光子學報,2011,40(10):1452 -1458.
[15]周雪連.正余弦編碼器細分技術研究[J].現(xiàn)代電子技術,2012,35(3):164 -166.
[16]韓念琛.增量式編碼器輸出信號細分方法研究[J].太原理工大學學報.2011,42(01):52-54.
[17]Texas Instruments.TMS320F240 DSP - solution for high - resolution position with sin/cos- encoders[R].Texas Instruments Insorporated,1998.
[18]Kim Ju - Chan.Ultra precise position estimation of servomotor using analog quadrature encoders[C]//Proc.of IEEE APEC.IEEE,2006:5.
[19]Burke J.Extraction of high resolution position information from sinusoidal encoder[C]//Proc.PCIM - Europe.1999:217 -222.
[20]陳曉榮.增量式編碼器的相位編碼細分研究[J].儀器儀表學報,2007,28(01):132 -135.
[21]洪小圓.一種新穎的正弦正交編碼器細分方法[J].電源學報,2011(01):8-11.
[22]Benammar M.A novel rsolver-to-360 degree linearized coverter[J].IEEE Sensors Jurnal,2004,4(01):96 - 101.
[23]Zhao Ming,Lin Jing,Xu Junhua.The measurement and error analysis of instantaneous angular speed using optical incremental encoder[C]//2011 International conference on optical instruments and technology:Optoelectronic measurement technology and systems.2011:82010Y -82010Y -8.
[24]Alhamadi M A,Benammar M,Ben - Brahim L.Precise method for linearizing sine and cosine signals in resolvers and quadrature encoders applications[C]//Proc.of IEEE IECON.IEEE,2004,2:1935-1940.
[25]劉海龍.麥克勞林級數(shù)法求取光電編碼器轉子位置算法[J].傳感技術學報,2013,26(5):616 -621.
[26]文曉燕.增量式編碼器測速的典型問題分析及應對策略[J].電工技術學報,2012,27(2):185-186.
[27]Liu Zhe.Velocity measurement based on alternate M/T method and incremental optical encoder[J].Advanced Materials Research,2011,295:2552 -2555.
[28]Ali T,Nayeem S,F(xiàn)aruk M O,et al.Design & implementation of a linear IC based low cost anemometer for wind speed measurement[C]//2012 International conference on Informatics,Electronics and Vision.IEEE,2012:99 -102.