趙嘉瑞
旋轉(zhuǎn)變壓器解碼算法性能研究
趙嘉瑞
(山西省機(jī)電設(shè)計(jì)研究院,山西 太原 030015)
雙通道多級(jí)旋轉(zhuǎn)變壓器是一種精確、可靠的角位置測(cè)量裝置。自搭建的旋轉(zhuǎn)變壓器解碼系統(tǒng)具有較高的設(shè)計(jì)靈活性,在實(shí)際工作中有廣泛的應(yīng)用。從解算精度、解算效率、程序?qū)崿F(xiàn)難易程度等方面對(duì)旋轉(zhuǎn)坐標(biāo)算法和閉環(huán)跟蹤算法進(jìn)行研究比較,分析了兩種算法適合的應(yīng)用場(chǎng)合。提出了一種針對(duì)過零點(diǎn)誤差的修正方法,搭建了基于FPGA的解碼平臺(tái),驗(yàn)證了兩種算法和誤差修正模塊對(duì)解碼精度和響應(yīng)的影響。
旋轉(zhuǎn)變壓器;解碼算法;精度;誤差修正
在伺服系統(tǒng)中,為獲得電機(jī)運(yùn)行狀態(tài)和性能的各項(xiàng)參數(shù),常用位置傳感器來檢測(cè)電機(jī)轉(zhuǎn)子的角度與速度信息。根據(jù)測(cè)量原理和結(jié)構(gòu)劃分,位置傳感器大致可分為霍爾傳感器、光電編碼器和磁感應(yīng)傳感器[1]。
旋轉(zhuǎn)變壓器結(jié)構(gòu)簡(jiǎn)單,有較強(qiáng)的耐沖擊性,在高溫、高壓、高振的環(huán)境中均可正常工作。對(duì)于多級(jí)旋轉(zhuǎn)變壓器,其測(cè)量精確度也有較高的保證,因此常被用于對(duì)穩(wěn)定性要求較高的測(cè)量環(huán)境中。
目前國(guó)內(nèi)外旋轉(zhuǎn)變壓器角度解算技術(shù)主要有專用芯片解碼和自搭建系統(tǒng)解碼[2]。專用的解碼芯片性能優(yōu)勢(shì)突出,但靈活性不強(qiáng)。隨著可編程邏輯器件技術(shù)不斷成熟,片上嵌入式模塊功能越來越強(qiáng)大,為自搭建系統(tǒng)提供了技術(shù)保障。本文通過搭建基于FPGA的旋轉(zhuǎn)變壓器解碼電路,對(duì)兩種解碼算法下的解碼性能進(jìn)行了驗(yàn)證。
雙通道正、余弦旋轉(zhuǎn)變壓器由原邊結(jié)構(gòu)和副邊結(jié)構(gòu)組成,即定子和轉(zhuǎn)子。當(dāng)轉(zhuǎn)子位置發(fā)生變化時(shí),其與定子間的耦合程度發(fā)生變化,從而改變了副邊輸出電壓的大小,電壓的變化量與轉(zhuǎn)子實(shí)際轉(zhuǎn)過的角度呈一定的正余弦關(guān)系[3]。
雙通道結(jié)構(gòu)分為粗通道和精通道,精通道為多對(duì)級(jí)結(jié)構(gòu),使得測(cè)量精度更加細(xì)化[4]。測(cè)量中,粗通道確定轉(zhuǎn)子的大概位置,再由精通道對(duì)該位置區(qū)間做進(jìn)一步劃分,最終的測(cè)量結(jié)果有兩個(gè)通道的數(shù)據(jù)共同表示。
S=R13=msincosc(1)
式(1)中:為繞組變比;m為勵(lì)磁電壓;為激勵(lì)信號(hào)角頻率;c為粗通表示的角度。
C=R24=msinsinc
′S=′R13=msincosj(2)
式(2)中:為極對(duì)數(shù)之比;j為粗通和精通道表示的角度。
由此可知:
因此,
數(shù)學(xué)上對(duì)反三角函數(shù)的計(jì)算通常為查表法或按照級(jí)數(shù)展開,計(jì)算精度不高且過程復(fù)雜,運(yùn)算時(shí)間較長(zhǎng),不適于對(duì)精度和響應(yīng)要求較高的場(chǎng)合。
對(duì)于自搭建的旋轉(zhuǎn)變壓器解碼系統(tǒng),通常選擇算法為旋轉(zhuǎn)坐標(biāo)算法和閉環(huán)跟蹤算法。
旋轉(zhuǎn)坐標(biāo)算法(CORDIC算法)是一種超越函數(shù)解算方法,運(yùn)用迭代思路,將乘法運(yùn)算用位移加和運(yùn)算代替,使計(jì)算復(fù)雜程度大大降低。
設(shè)某點(diǎn)的初始位置A坐標(biāo)為(,),經(jīng)過轉(zhuǎn)動(dòng),到達(dá)新位置A0(0,0),A0和A的關(guān)系可表示為:
提出cos得:
取可將矩陣運(yùn)算轉(zhuǎn)化為位移運(yùn)算,則每次轉(zhuǎn)過的角度正切值為:
i=arctan2-(j-i)(3)
式(3)中:為旋轉(zhuǎn)次數(shù)。
在數(shù)次旋轉(zhuǎn)后,使軸坐標(biāo)趨于0,最后將所轉(zhuǎn)過的角度相加即為解算值。旋轉(zhuǎn)坐標(biāo)算法的基本思路在于不斷旋轉(zhuǎn)迭代,計(jì)算過程均為加和運(yùn)算,其優(yōu)勢(shì)在于程序?qū)崿F(xiàn)較為簡(jiǎn)單。但對(duì)于0.01°的解算精度,通常需要迭代10次以上,若對(duì)解算精度有更較高要求,還需要增加迭代次數(shù)。而過多的迭代次數(shù)必然會(huì)使解碼過程復(fù)雜化,影響解碼系統(tǒng)響應(yīng)速度。為解決這一問題,算法實(shí)現(xiàn)中采用流水線結(jié)構(gòu),在每個(gè)時(shí)鐘脈沖均會(huì)進(jìn)行相應(yīng)的運(yùn)算處理,在一定程度上提高了數(shù)據(jù)吞吐效率。
角度反饋解碼算法如圖2所示。
圖2 角度反饋解碼算法
閉環(huán)跟蹤算法采用反饋控制思路,先給出一個(gè)估計(jì)角度的正弦值和余弦值,分別與旋轉(zhuǎn)變壓器輸出相乘,然后用二者差值作為反饋信號(hào)對(duì)估計(jì)值調(diào)整,直到求出準(zhǔn)確角度。
現(xiàn)將旋轉(zhuǎn)變壓器正弦電壓s與估計(jì)值cos相乘,c與估計(jì)值sin相乘,可得:
S=msinsinccos(4)
C=msincoscsin(5)
將式(4)(5)相減:
S-C=msin(sinccoscoscsin) (6)
式(6)可化簡(jiǎn)為:
S-C=msinsin(c-) (7)
從式(7)看出,如果所得結(jié)果為0時(shí),即c-=0,可以認(rèn)為此時(shí)就是解碼所得的角度。
閉環(huán)跟蹤算法可以通過反饋量適時(shí)的調(diào)整估計(jì)角度的大小,在基于FPGA的自搭建解碼系統(tǒng)中,需要用到乘法模塊、加和模塊和積分模塊,程序?qū)崿F(xiàn)較為復(fù)雜,但通常三四次的反饋過程即可求得解算值,系統(tǒng)響應(yīng)較快。
通常情況下精通道數(shù)據(jù)準(zhǔn)確度遠(yuǎn)大于粗通道數(shù)據(jù),因此可用精通道數(shù)據(jù)對(duì)粗通道進(jìn)行誤差修正。
為避免過多次數(shù)的修正影響解碼速率,將誤差修正點(diǎn)選在零位處,基本思路為將精通道過零點(diǎn)時(shí)的數(shù)據(jù)視為準(zhǔn)確值,對(duì)粗通道數(shù)據(jù)進(jìn)行一定的加減處理,再將兩個(gè)通道數(shù)據(jù)組合,得到最終結(jié)果。
對(duì)于本設(shè)計(jì)選用的12位AD芯片,精通道最高位數(shù)據(jù)對(duì)應(yīng)于粗通道第5位。若零點(diǎn)處精通道1~4位為0而粗通道第5~8位為1,說明當(dāng)精通道過零點(diǎn)時(shí),粗通道還未到零點(diǎn),因此對(duì)粗通道5~8位做加1修正。最后取修正過的粗通道高4位和精通道前8位即為該角度下的解算結(jié)果。誤差修正流程如圖3所示。
圖3 誤差修正流程
自搭建的旋轉(zhuǎn)變壓器解碼電路如圖4所示,解碼后的角度信息一路以數(shù)字信號(hào)輸出,另一路用模擬信號(hào)輸出。以光電編碼器作為標(biāo)準(zhǔn),通過測(cè)量600 r/min速度下,0°、20°、40°、80°和100°時(shí)的角度信息,驗(yàn)證兩種解碼算法的解算精度和響應(yīng)。
測(cè)量數(shù)據(jù)如表1所示,可以看出,兩種算法的誤差均小于±0.05°,解算方案基本可行,閉環(huán)跟蹤算法的解算結(jié)果更為精確。
旋轉(zhuǎn)坐標(biāo)算法隨著迭代次數(shù)的增多,必然會(huì)使解算速度變慢,因此該算法不適用于高響應(yīng)的解算場(chǎng)合。
閉環(huán)跟蹤算的解算精度和響應(yīng)較為理想,但程序?qū)崿F(xiàn)復(fù)雜,需要各功能模塊精密配合,同時(shí)對(duì)CPU芯片的運(yùn)算能力也有較高要求。
圖4 旋轉(zhuǎn)變壓器解碼電路
表1 解算數(shù)據(jù)比較
記錄次數(shù)角度參考值/°光電編碼器旋轉(zhuǎn)坐標(biāo)算法閉環(huán)跟蹤算法 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]王雷.霍爾效應(yīng)在汽車傳感器中的應(yīng)用[J].農(nóng)機(jī)使用與維修,2001,4(2):18-19.
[2]劉柏林,廖勇,何志明.基于FPGA的旋轉(zhuǎn)變壓器解碼算法研究與系統(tǒng)設(shè)計(jì)[J].微電機(jī),2007(12):48-51.
[3]王建鵬.旋轉(zhuǎn)變壓器在伺服系統(tǒng)中的應(yīng)用[J].數(shù)字化用戶,2018(35):162-163.
[4]季輝,陳小剛,楊甘霖.軸角編碼器碼值跳變糾錯(cuò)方法研究[J].中國(guó)科技信息,2015(8):90-91.
TM383.2
A
10.15913/j.cnki.kjycx.2019.20.020
2095-6835(2019)20-0048-02
趙嘉瑞(1989—),男,研究方向?yàn)榭刂乒こ獭?/p>
〔編輯:嚴(yán)麗琴〕