于 非,趙繼敏,羅 響
(上海交通大學,上海200240)
位置傳感器是伺服控制系統(tǒng)中的關鍵部分,對檢測精度以及系統(tǒng)的可靠性等影響非常大,編碼器技術(shù)水平直接影響到自動化水平[1]。目前常用的傳感器有光電編碼器、旋轉(zhuǎn)變壓器和感應同步器等。旋轉(zhuǎn)變壓器和感應同步器體積較大,光電編碼器技術(shù)成熟,但成本較高,抗震性能差,無法在惡劣的工作環(huán)境下使用[2-3]。磁編碼器是將旋轉(zhuǎn)角位置、角位移及角速度等物理量轉(zhuǎn)換為電信號的傳感器。磁編碼器與光電編碼器相比具有以下優(yōu)點[4]:無接觸式的結(jié)構(gòu)使其能夠可靠工作在油、灰塵、氣溫變換強烈的惡劣條件下;不采用發(fā)光二極管,使用壽命長,耗電少;結(jié)構(gòu)簡單、抗沖擊、可靠性高、價格低廉。磁編碼器有單磁極式和多磁極式兩種[5]。多磁極式磁編碼器制造工藝相對復雜,分辨率的提高是通過增加磁極對數(shù)來實現(xiàn)的,但制造工藝、產(chǎn)品體積及漏磁場分布等因素限制了分辨率的提高。本文的討論基于單磁極式磁編碼器。
磁編碼器是基于磁場強度隨轉(zhuǎn)子位置而改變、從而通過檢測磁場來獲得轉(zhuǎn)子位置信息的工作原理設計的。單對磁極式編碼器信號采集的準確性主要受到磁體結(jié)構(gòu)的限制。為此,使用圓片狀單對磁體,磁體的N、S極處在同一平面上,磁體水平旋轉(zhuǎn)時會產(chǎn)生馬鞍型分布的空間磁場[6]。圖1為線性霍爾示意圖。
圖1 線性霍爾示意圖
磁編碼器的設計是基于線性霍爾元件旋轉(zhuǎn)一周產(chǎn)生一個正弦波這一特性。由于僅采用一組線性霍爾元件無法得出具體位置,因此,在設計磁編碼器時,通常采用兩組線性霍爾元件或更多。以下設計以1對極電機為例。
將兩組線性霍爾元件分別間隔90°安裝,如圖2所示。
圖2 間隔90°線性霍爾元件安裝示意圖
在如此安裝的情況下,通過差分可以得到的兩組信號:
式中:Umax為線性霍爾元件輸出的最大值,UA、UB為兩組差分輸出信號,θ為電角度。將兩者相除并求反正切,可以得到:
計算反正切采用查表的方式進行,事先根據(jù)AD的精度編寫好對應的反正切表儲存在ROM中,計算反正切時,直接讀取數(shù)組中的對應元素即可。此種算法不但原理簡單,而且由于將AD采樣所得信號相除,所以能消除由于電源電壓幅值變化引起的解碼誤差。但在實際使用中存在幾個問題:首先,計算UA/UB將耗費DSP或單片機的大量處理時間,影響整個控制過程;其次,在每個接近90°的位置,測得角度精確值將大大降低。
為了解決上文中提到的求反正切信號解碼算法的問題,采用鑒幅方式重新設計磁編碼器算法。鑒幅方式是從AD測得的幅值變化來確定角度數(shù)據(jù),這種方法會受到電源幅值波動帶來的誤差影響,因此,在此提出消除此誤差影響的方法。
如圖3所示,將AD的Ref信號直接從線性霍爾的電源部分取得(以5 V為例)。在這樣設計電路的情況下,電源幅值變化將同時給AD和線性霍爾元件兩者帶來影響。這就確保了每次AD在采樣時,采樣的量程范圍始終跟蹤電源幅值變化而一起變化。
圖3 DSP控制板與線性霍爾元件連接示意圖
2.2.1 采用兩組線性霍爾元件改進算法
在求反正切編碼方式基礎上,引入第3個信號UC,值取UA的負數(shù),即UC=-UA。輸出信號在一個周期內(nèi)的波形如圖4所示,實線為UA,點劃線為UB,虛線為UC。根據(jù)曲線交點,可以把0°~360°分為8段,每一段使用對應的曲線查表得到對應的角度值。而實際上,每一段查表對應的AD輸出值的范圍是限定在0°~45°的,因此,只需要編制0°~45°的對應正弦表并存入ROM中,計算角度值時,只要根據(jù)AD測量數(shù)值查表即可。
實際實現(xiàn)過程如下:首先測量兩組線性霍爾元件的差分輸出值得到UA、UB,并計算得到UC。然后,根據(jù)表1判斷出當前電機位置在哪個區(qū)間并得到角度起始值θSTART。奇數(shù)區(qū)間內(nèi)的,用θSTART加上查表所得角度值,就得到當前角度值;偶數(shù)區(qū)間內(nèi)的,用θSTART加上90°再減去查表所得角度值,就得到當前角度值。
圖4 間隔90°改進算法波形圖
表1 間隔90°改進算法區(qū)間判斷條件
由于數(shù)據(jù)表內(nèi)存儲的是AD輸出值,且AD的Ref端已經(jīng)從線性霍爾的電源端得到,保證了AD的采樣范圍與電源電壓變化同步,因此,與電源電壓波動無關,不會產(chǎn)生誤差。此算法解決了求反正切信號算法存在的問題,但是,也存在著不足:如果UA出現(xiàn)誤差,將極大影響整個編碼器精度。同時,從圖4可以看到,每個接近兩條曲線交叉點的位置(45°),曲線的斜率絕對值明顯減小,這將導致正弦表查出的角度值變化間隔變大。
2.2.2 采用兩組線性霍爾元件
主要思路與前面的兩組線性霍爾元件的改進算法相似,但解決了之前算法中由于一組線性霍爾元件誤差帶來的整體誤差問題以及所查正弦表均勻度問題。線性霍爾元件的安裝位置如圖5所示。在如此安裝的情況下,通過差分可以得到的三組信號:
圖5 間隔60°線性霍爾元件安裝示意圖
圖6 采用三組線性霍爾元件波形圖
式中:Umax為線性霍爾元件輸出的最大值;UA、UB、UC為三組差分輸出信號;θ為電角度。輸出信號在一個周期內(nèi)的波形如圖6所示,實線為UA,點劃線為UB,虛線為UC。在使用三組線性霍爾元件的情況下,把0~360°分為12段,如表2所示。奇數(shù)區(qū)間內(nèi),用θSTART加上查表所得角度值,就得到當前角度值;偶數(shù)區(qū)間內(nèi),用θSTART加上60°再減去查表所得角度值,就得到當前角度值。
表2 間隔60°區(qū)間判斷條件
根據(jù)所查表的角度范圍不同,計算表內(nèi)相鄰兩點間隔的標準差,可以得到數(shù)據(jù)點的均勻程度對比。標準差計算公式:
式中:xi為所查表內(nèi)各個元素值,N為所查表的元素個數(shù)。標準差越接近零,表示表內(nèi)相鄰兩點間隔值的均勻程度越高。依此計算標準差,并且對比使用不同精度的AD的情況,可以得到如表3所示。
表3 使用不同精度AD、不同算法數(shù)據(jù)點均勻程度對比
在使用三組線性霍爾元件后,數(shù)據(jù)點均勻程度明顯升高。同時可以看到,AD精度對于數(shù)據(jù)點均勻程度也有很大影響,AD精度增加,均勻程度也隨之增加。
首先,由于霍爾信號發(fā)生部分不可避免地存在機械安裝誤差,線性霍爾元件也存在零點漂移,實際測得的信號可以表示:
式中:ε為振幅變化系數(shù);Δα為零點漂移;Umax為線性霍爾元件輸出的最大值。
如果在編碼器設計方案中采用差分結(jié)構(gòu),即在一個線性霍爾元件的對面再安裝一個,此相差180°的兩個元件構(gòu)成一組。那么,可以得到的第2個信號:
兩者相減,可得:
由式(7)可知,采用差分結(jié)構(gòu)可以有效地消除機械安裝偏差和零點漂移所帶來的誤差,并且使輸出幅值增加了一倍。因此,線性霍爾元件的安裝均使用差分結(jié)構(gòu)。
其次,除了硬件上的改進之外,還可以通過軟件的方法來提高精度。比如采用多次采樣取AD平均值濾波、每次DSP初始化重新校正所查角度表等等。
在使用3組線性霍爾元件的算法基礎上,進行Matlab仿真,仿真系統(tǒng)采用2對極永磁同步電動機,應用SVPWM算法的Id=0控制方法。仿真系統(tǒng)圖如圖7所示。采用10 bit AD采樣,所查表范圍是0°~30°,表內(nèi)AD采樣值范圍為0~512,達到超過0.1°的分辨率。磁編碼器得到的角度與直接編碼器得到的角度對比如圖8所示(均為電角度)。編碼器是累加方式,在超過360°之后繼續(xù)增加,因此,減去n×360°(n為電機轉(zhuǎn)過的圈數(shù))之后與使用三組線性霍爾元件測得的角度相同。定子電流、轉(zhuǎn)速、轉(zhuǎn)矩曲線如圖9所示。
圖7 仿真系統(tǒng)圖
圖8 編碼器輸出與磁編碼器輸出對比
圖9 定子電流、轉(zhuǎn)速、轉(zhuǎn)矩曲線
本文通過三種磁編碼器的實現(xiàn)算法對比分析,給出了一種精度較高的方案,在使用10 bit AD的基礎上,可達到超過0.1°的分辨率。并在Matlab環(huán)境下進行了仿真,仿真結(jié)果驗證了方案的可行性,系統(tǒng)運行穩(wěn)定,波形良好。
[1] 張文棟.存儲測試系統(tǒng)的設計理論及其在導彈動態(tài)數(shù)據(jù)測試中的實現(xiàn)[D].北京:北京理工大學,1995.
[2] Miyashita K,Takahashi T,Yamanaka M.Features of a Magnetic Rotary Encoder[J].IEEE Transactions on Magnetics,1987,23(5):2182-2184.
[3] 呂德剛.集成霍爾磁編碼器的研究[D].黑龍江:哈爾濱工業(yè)大學,2009.
[4] 王爽,李鐵才,王治國.基于CORDIC算法的高分辨率磁編碼器設計[J].微電機,2009,42(8):1-5.
[5] 郝雙暉,劉勇,周春蛟,等.基于標定原理的單磁極編碼器設計[J].南京理工大學學報,2005,10(29):226-228.
[6] 曾一凡,高珊,張炳義.基于信號運算和插值原理的磁軸角編碼器[J].儀表技術(shù)與傳感器,2008,12:9-10,51.
[7] 江曉光.線性霍爾傳感器在永磁同步電動機矢量控制器中的應用[J].微特電機,2010,38(4):73-74.
[8] 郝雙暉,劉勇,郝明暉.過采樣提高單對磁極編碼器分辨率[J].微特電機,2007,35(12):1-3.
[9] 郝雙暉,劉勇,劉杰.基于查表原理的單對磁極編碼器研制[J].中國電機工程學報,2006,24(19):165-168.
[10] Kikuchi Y,Nakamura F,Wakiwaka H.Consideration for a high resolution of magnetic rotary encoder[J].IEEE Transactions on Magnetics,1996,32(5):4959-4961.