趙嘉瑞
旋轉變壓器解碼算法性能研究
趙嘉瑞
(山西省機電設計研究院,山西 太原 030015)
雙通道多級旋轉變壓器是一種精確、可靠的角位置測量裝置。自搭建的旋轉變壓器解碼系統具有較高的設計靈活性,在實際工作中有廣泛的應用。從解算精度、解算效率、程序實現難易程度等方面對旋轉坐標算法和閉環跟蹤算法進行研究比較,分析了兩種算法適合的應用場合。提出了一種針對過零點誤差的修正方法,搭建了基于FPGA的解碼平臺,驗證了兩種算法和誤差修正模塊對解碼精度和響應的影響。
旋轉變壓器;解碼算法;精度;誤差修正
在伺服系統中,為獲得電機運行狀態和性能的各項參數,常用位置傳感器來檢測電機轉子的角度與速度信息。根據測量原理和結構劃分,位置傳感器大致可分為霍爾傳感器、光電編碼器和磁感應傳感器[1]。
旋轉變壓器結構簡單,有較強的耐沖擊性,在高溫、高壓、高振的環境中均可正常工作。對于多級旋轉變壓器,其測量精確度也有較高的保證,因此常被用于對穩定性要求較高的測量環境中。
目前國內外旋轉變壓器角度解算技術主要有專用芯片解碼和自搭建系統解碼[2]。專用的解碼芯片性能優勢突出,但靈活性不強。隨著可編程邏輯器件技術不斷成熟,片上嵌入式模塊功能越來越強大,為自搭建系統提供了技術保障。本文通過搭建基于FPGA的旋轉變壓器解碼電路,對兩種解碼算法下的解碼性能進行了驗證。
雙通道正、余弦旋轉變壓器由原邊結構和副邊結構組成,即定子和轉子。當轉子位置發生變化時,其與定子間的耦合程度發生變化,從而改變了副邊輸出電壓的大小,電壓的變化量與轉子實際轉過的角度呈一定的正余弦關系[3]。
雙通道結構分為粗通道和精通道,精通道為多對級結構,使得測量精度更加細化[4]。測量中,粗通道確定轉子的大概位置,再由精通道對該位置區間做進一步劃分,最終的測量結果有兩個通道的數據共同表示。

S=R13=msincosc(1)
式(1)中:為繞組變比;m為勵磁電壓;為激勵信號角頻率;c為粗通表示的角度。
C=R24=msinsinc
′S=′R13=msincosj(2)
式(2)中:為極對數之比;j為粗通和精通道表示的角度。

由此可知:

因此,
數學上對反三角函數的計算通常為查表法或按照級數展開,計算精度不高且過程復雜,運算時間較長,不適于對精度和響應要求較高的場合。
對于自搭建的旋轉變壓器解碼系統,通常選擇算法為旋轉坐標算法和閉環跟蹤算法。
旋轉坐標算法(CORDIC算法)是一種超越函數解算方法,運用迭代思路,將乘法運算用位移加和運算代替,使計算復雜程度大大降低。
設某點的初始位置A坐標為(,),經過轉動,到達新位置A0(0,0),A0和A的關系可表示為:

提出cos得:
取可將矩陣運算轉化為位移運算,則每次轉過的角度正切值為:
i=arctan2-(j-i)(3)
式(3)中:為旋轉次數。
在數次旋轉后,使軸坐標趨于0,最后將所轉過的角度相加即為解算值。旋轉坐標算法的基本思路在于不斷旋轉迭代,計算過程均為加和運算,其優勢在于程序實現較為簡單。但對于0.01°的解算精度,通常需要迭代10次以上,若對解算精度有更較高要求,還需要增加迭代次數。而過多的迭代次數必然會使解碼過程復雜化,影響解碼系統響應速度。為解決這一問題,算法實現中采用流水線結構,在每個時鐘脈沖均會進行相應的運算處理,在一定程度上提高了數據吞吐效率。
角度反饋解碼算法如圖2所示。

圖2 角度反饋解碼算法
閉環跟蹤算法采用反饋控制思路,先給出一個估計角度的正弦值和余弦值,分別與旋轉變壓器輸出相乘,然后用二者差值作為反饋信號對估計值調整,直到求出準確角度。
現將旋轉變壓器正弦電壓s與估計值cos相乘,c與估計值sin相乘,可得:
S=msinsinccos(4)
C=msincoscsin(5)
將式(4)(5)相減:
S-C=msin(sinccoscoscsin) (6)
式(6)可化簡為:
S-C=msinsin(c-) (7)
從式(7)看出,如果所得結果為0時,即c-=0,可以認為此時就是解碼所得的角度。
閉環跟蹤算法可以通過反饋量適時的調整估計角度的大小,在基于FPGA的自搭建解碼系統中,需要用到乘法模塊、加和模塊和積分模塊,程序實現較為復雜,但通常三四次的反饋過程即可求得解算值,系統響應較快。
通常情況下精通道數據準確度遠大于粗通道數據,因此可用精通道數據對粗通道進行誤差修正。
為避免過多次數的修正影響解碼速率,將誤差修正點選在零位處,基本思路為將精通道過零點時的數據視為準確值,對粗通道數據進行一定的加減處理,再將兩個通道數據組合,得到最終結果。
對于本設計選用的12位AD芯片,精通道最高位數據對應于粗通道第5位。若零點處精通道1~4位為0而粗通道第5~8位為1,說明當精通道過零點時,粗通道還未到零點,因此對粗通道5~8位做加1修正。最后取修正過的粗通道高4位和精通道前8位即為該角度下的解算結果。誤差修正流程如圖3所示。

圖3 誤差修正流程
自搭建的旋轉變壓器解碼電路如圖4所示,解碼后的角度信息一路以數字信號輸出,另一路用模擬信號輸出。以光電編碼器作為標準,通過測量600 r/min速度下,0°、20°、40°、80°和100°時的角度信息,驗證兩種解碼算法的解算精度和響應。
測量數據如表1所示,可以看出,兩種算法的誤差均小于±0.05°,解算方案基本可行,閉環跟蹤算法的解算結果更為精確。
旋轉坐標算法隨著迭代次數的增多,必然會使解算速度變慢,因此該算法不適用于高響應的解算場合。
閉環跟蹤算的解算精度和響應較為理想,但程序實現復雜,需要各功能模塊精密配合,同時對CPU芯片的運算能力也有較高要求。

圖4 旋轉變壓器解碼電路
表1 解算數據比較
記錄次數角度參考值/°光電編碼器旋轉坐標算法閉環跟蹤算法 10000 22019.961 0219.967 8219.962 23 34040.043 5440.047 3440.044 72 46059.967 6259.974 2259.965 13 58079.998 3180.011 2180.009 27 610099.957 7599.961 1799.958 01
[1]王雷.霍爾效應在汽車傳感器中的應用[J].農機使用與維修,2001,4(2):18-19.
[2]劉柏林,廖勇,何志明.基于FPGA的旋轉變壓器解碼算法研究與系統設計[J].微電機,2007(12):48-51.
[3]王建鵬.旋轉變壓器在伺服系統中的應用[J].數字化用戶,2018(35):162-163.
[4]季輝,陳小剛,楊甘霖.軸角編碼器碼值跳變糾錯方法研究[J].中國科技信息,2015(8):90-91.
TM383.2
A
10.15913/j.cnki.kjycx.2019.20.020
2095-6835(2019)20-0048-02
趙嘉瑞(1989—),男,研究方向為控制工程。
〔編輯:嚴麗琴〕