文章編號:1003-6199(2011)04-0005-04
摘 要:位置傳感器精度直接影響到伺服系統(tǒng)的控制性能,正余弦編碼器細分技術(shù)是目前獲取高分辨率位置檢測精度的主要手段。針對常規(guī)細分算法計算時間長的缺點,研究正余弦編碼器解碼的實現(xiàn)方法和閉環(huán)跟蹤細分算法,給出細分算法實現(xiàn)框圖和設(shè)計參數(shù),縮短計算時間,大大提高了測速范圍和細分精度。最后在ARM處理器上實現(xiàn)該算法,采樣計算頻率達500kHz,各個性能滿足伺服位置傳感器的性能要求,具有很具有極高的使用價值
關(guān)鍵詞:正余弦編碼器;細分;閉環(huán)跟蹤法
中圖分類號:TP273 文獻標識碼:A
Extracting Fine Position from Sinusoidal Encoder Using Tracking Loop Method
WU Li,LUO Xin, SHEN Anwen, QIN Haitao
(Huazhong University of Science and Technology,Depantment of Control Science and Engineering,Wuhan 430074,China)
Abstract:The accuracy of position sensor directly affects the servo control performance, currently extracting fine position from sinusoidal encoder is the primary means to obtain high-accuracy position. For such disadvantage, the algorithm of Extracting fine position is timeconsuming, this article research on the implementation and the tracking loop method for extracting fine position from sinusoidal encoder, providing the block diagram of the algorithm and the design parameters to reducing the computation time, it greatly improves the speed range and the accuracy of position. Finally this algorithm is implemented on the ARM processor, the sampling frequency is up to 500kHz,each performance meet the requirements of servo position sensor, with a very high value.
Key words:sinusoidal encoder;extracting fine position;tracking loop method
1 引 言伺服系統(tǒng)中位置傳感器的精度極大影響伺服的響應(yīng)帶寬以及控制精度,因此選用高分辨率的編碼器是提高伺服驅(qū)動性能的必然選擇。目前國外主要通過細分正余弦編碼器獲得比單個光電脈沖更精細的分辨率,其位數(shù)可以達到18-25bit,如Tamagawa的TS5668、Heidenhain的ECN1325和Hengstler的S21等編碼器[1,2,3]。
作為伺服電機的傳感器,正余弦編碼器及其細分技術(shù)需要滿足以下幾點要求:產(chǎn)品尺寸小巧易于安裝;測速范圍寬;細分精度高;數(shù)據(jù)傳輸接口高速可靠等。而本文主要研究正余弦編碼器的細分技術(shù),以提高伺服系統(tǒng)的測速范圍和位置檢測精度。目前細分主要分成兩種方法[4]:正切直接計算法和閉環(huán)跟蹤法。正切直接計算法[6],算法簡單,但是計算時間長,信號噪音大,使其細分的精度有限。閉環(huán)跟蹤法[9],通過反饋的角度誤差,實時調(diào)整角度值,從而快速計算出位置。相比正切直接計算法,它的計算時間短,信號噪音小,細分精度高。
本文首先闡述正余弦編碼器原理,以及分析影響其細分性能的主要因素,然后設(shè)計基于閉環(huán)跟蹤法的細分算法,最后通過ARM處理器驗證該算法的有效性,具有極高的使用價值。
2 正余弦編碼器原理
正余弦編碼器分光電式和磁編碼式,輸出的信號是相差90°的正余弦信號,通過對正余弦信號的細分可以獲得更高的位置精度。以Heidenhain的ECN1387正余弦編碼器[5]為例,其輸出的信號波形為:
輸出的信號有5對差分信號,A和C是正弦波,B和D是余弦波,不同的是AB一圈有2048個脈沖,而CD一圈只有一個信號,用于在上電時刻標識初始位置。R為零點信號,標識一圈位置的零點。
細分主要是對AB信號進行細分[6],獲取位置信息,其實現(xiàn)框圖為:
編碼器輸出的正余弦差分信號首先通過解差分,然后分成兩路,一路通過比較器獲取增量式脈沖信號,由正交編碼電路進行計數(shù)。另一路則通過運放調(diào)理電路送至AD轉(zhuǎn)換轉(zhuǎn)換器,獲取正余弦的數(shù)值。最后處理器把細分值和增量式計數(shù)值合并成編碼器的位置值。
設(shè)編碼器輸出Us為正弦值,Uc為余弦值,其關(guān)系為:
Us=U0sin(θ)Uc=U0cos(θ)(1)
上式中的θ表示細分角度,是指正余弦波所處的相位,根據(jù)Us和Uc可以得出:
θ=arctanUsUc(2)
設(shè)一圈的有2N個正余弦波,AD轉(zhuǎn)換的精度為M位。根據(jù)信息量不變原理,細分角度的有效精度為(N+M)位。
當編碼器轉(zhuǎn)速為V(rpm)時,正余弦波的頻率為:
fsc=V2N60(3)
設(shè)AD采集的頻率為f(Hz), 根據(jù)香農(nóng)采樣定理,最大速度最對應(yīng)的正余弦波頻率fsc應(yīng)當小于采樣頻率f的一半,因此細分的最大轉(zhuǎn)速為:
Vmax=30f2N(4)
由上可以看出細分的精度由編碼器的線數(shù)和AD轉(zhuǎn)換器精度決定,細分的最大速度受采樣頻率的限制,而采樣頻率又由細分算法的處理時間決定,因此研究出快速細分算法對提高編碼器性能具有很大的意義。
3 細分閉環(huán)跟蹤法
根據(jù)式(2)直接計算反正切值求細分角度[8],需要求一個除法和一個反正切算法,以TI的IQmath算法[7]為例,僅這兩個運算就需要180條指令,并且沒有軟件上的濾波,細分角度噪音大,影響細分精度。
而閉環(huán)跟蹤法計算量小,細分精度高,可以提高了采樣頻率和精度。該方法原理和旋轉(zhuǎn)變壓解碼芯片[9]類似,通過構(gòu)建一個閉環(huán)結(jié)構(gòu),計算出正余弦時間角度θ與辨識的角度φ的誤差,來調(diào)整辨識的角度φ,誤差信號的計算為:
E=Uscos(Φ)-Ucsin(Φ)=
U0[sin(θ)cos(Φ)-cos(θ)sin(Φ)]=
U0sin(θ-Φ)(5)
當θ=Φ較小時,式(5)簡化為:
E≈U0(θ-Φ)(6)
根據(jù)J. Burke等設(shè)計的閉環(huán)跟蹤法[8],其處理流程如圖3所示,通過調(diào)節(jié)器可以自動使跟蹤的角度的誤差為零。該方法的優(yōu)點是調(diào)節(jié)器的積分項可以對信號進行濾波,從而降低了輸出角度的噪音,并且計算時間短。
閉環(huán)結(jié)構(gòu)中的開環(huán)傳遞函數(shù)為:
G(s)=Φ(s)E(s)=ω201s+2ds1s(7)
式(7)離散化,得到其Z域的傳遞函數(shù)G(z):
G(z)=12[ω20T2s]z+1(z-1)2+2dω0Tsz-1(8)
參數(shù)說明:ω0是為濾波頻率,對輸出的角度濾波;d是濾波器的阻尼系數(shù),用于控制動態(tài)性能;Ts是采樣時間。把上式變換成程序表達式為:
Φ(n+1)=AE(n)+BE(n-1)+
2Φ(m)-Φ(n-1)(9)
其中
A=ω20T2s2+2dω0Ts(10)
B=ω20T2s2-2dω0Ts(11)
4 實 驗
實驗采用意法公司的STM32F103處理器[10],該處理器采用ARM-cortex內(nèi)核,主頻72Mhz,具有單周期乘法和硬件除法,可以快速執(zhí)行細分算法,縮短采樣周期。實驗中輸入的正余弦編碼器波形通過軟件的模擬產(chǎn)生,以簡化對算法的驗證。
算法中的變量E、φ等采用32bit整型數(shù)據(jù),采用Q24格式進行標定。算法采用匯編編寫,需要106條指令周期,主頻72Mhz,即1.5us即可完成該算法,因此選擇采樣頻率為500Khz。并且設(shè)置濾波器頻率ω0為100kHz,阻尼系數(shù)d為1。由于AD只有12bit,因此輸出的細分角度φ有效位僅為12bit。如果采用2048線的編碼器,位置精度可以達到23bit。
驗證算法的性能,可以通過其對輸入信號的階躍響應(yīng)來判斷,包括位置階躍、速度階躍和加速度階躍響應(yīng),觀測各個響應(yīng)的調(diào)整時間和靜態(tài)誤差。
90°位置階躍響應(yīng),如圖4所示。
90°位置階躍響應(yīng)的誤差,如圖5所示。
從波形可以看出,在位置階躍響應(yīng)下,位置的調(diào)整時間為15us,沒有穩(wěn)態(tài)誤差,這說明該算法對0階激勵信號無穩(wěn)態(tài)誤差。
如果編碼器采用2048線,則1000rpm時正弦波的頻率為33.3kHz,此時速度階躍響應(yīng)波形如圖6所示。
1000rpm速度階躍響應(yīng)誤差如圖7所示。
由于閉環(huán)調(diào)節(jié)器含有積分項,消除了一階激勵信號的靜差。從圖7可以看出,在1000rpm速度階躍激勵下,角度無穩(wěn)態(tài)誤差,調(diào)整時間15us。雖然根據(jù)式(4)可知最高轉(zhuǎn)速約7500rpm,但是由于還存在正交解碼電路,最高速度仍可超過7500rpm,但此時的位置中的細分信息已經(jīng)沒有意義。
加速度為4×105rpm/s時的階躍響應(yīng)如圖8所示。
加速度為4×105rpm/s時的階躍響應(yīng)如圖9所示。
由于調(diào)節(jié)器只串聯(lián)一個積分器,因此對二階激勵信號存在靜差,從圖9可知,在加速階躍激勵下,位置信號存在靜差,細分角度的靜差為1.08’/(105rpm/s)。減小靜差的方法是提高系統(tǒng)帶寬ω0,增大開環(huán)增益,從而減小靜態(tài)誤差,因此高的采樣頻率可以直接提高系統(tǒng)的帶寬,減小細分誤差。
通過以上實驗可以得出,該算法執(zhí)行速度快,對零階和一階激勵無靜差。位置測量精度為23bit,信號延時15us,系統(tǒng)帶寬達100kHz,最高跟蹤轉(zhuǎn)速可以達7500rpm,細分的角度誤差小于0.1%,最高加速度可以達到2×106(rpm/s)。以上性能滿足伺服系統(tǒng)的位置、速度和加速度反饋要求。
實驗沒有考慮正余弦信號的幅值誤差、相位誤差和零位偏移[11],如果存在這幾種誤差,則細分的精度將降低。
5 總 結(jié)
本文先分析正余弦編碼器的原理,然后通過采用閉環(huán)跟蹤法實現(xiàn)編碼器的細分,將2048線的正余弦編碼器的位置精度提高到23bit;最后通過ARM處理器實現(xiàn)該算法,采樣頻率達500kHz,并通過階躍實驗驗證了其對零階和一階激勵無穩(wěn)態(tài)靜差。由于高精度編碼器作為未來伺服傳感器的發(fā)展方向,因此對細分技術(shù)的研究具有很大的實際意義和市場潛力。
參考文獻
[1] Tamagawa Seiki CO.,LTD. Advanced Rotary Sensor[Z].2004.
[2] DR. JOHANNES HEIDENHAIN GmbH.ECN1325 EQN1337 Rotary Encoders with EnDat2.2 for Safety-Related Application[Z].2006.
[3] Hengstler GmbH.Sinewave Encoder S21 Technical Datasheet[Z].2008.
[4] Jens Onno Krah,Heiko Schmirgel,李東鈺,劉俊嶺.基于正余弦編碼器反饋處理的FPGA在伺服驅(qū)動中的應(yīng)用[J]. 電力電子,2008(1):12-16.
[5] DR. JOHANNES HEIDENHAIN GmbH.ERN1387 Technical Datasheet[Z].2010.
[6] CHARLES F.Lepple. Implementation of a Highspeed Sinusoidal Encoder Interpolation System[D]. Master's Thesis, Virginia Polytechnic Institute and State University,2004.
[7] Texas Instruments Inc., IQmath Library Module user’s Guide[Z]. 2002.
[8] BURKE J, MOYNIHAN J F, UNTERKOFLER K. Extraction of High Resolution Position Information form Sinusoidal Encoder[C]. Proc. PCIMEurope 1999, pp.217-222.
[9] Analog Devices Inc. AD2S1205 Technical Datasheet[Z].2006
[10]STMicroelectronics group of companies. STM32F103x8 STM32F103xB Technical Datasheet[Z].2011.
[11]劉新正,李予全,梁得亮. 正余弦編碼器細分算法誤差分析及補償[J].微電機.2010,43 (11):42-47.
收稿日期:2011-10-18
作者簡介:吳 立(1987—), 男,湖南瀏陽人,碩士研究生,研究方向:運動控制(E-mail:tommywooly@gmail.com);羅 欣(1986—),男,河南信陽人,博士研究生,研究方向:電力電子傳動。