張健 龔麗農(nóng)
(青島農(nóng)業(yè)大學(xué)機(jī)械電子工程學(xué)院,山東 青島 266109)
正弦輸出磁編碼器在線分步校正方法
張健 龔麗農(nóng)
(青島農(nóng)業(yè)大學(xué)機(jī)械電子工程學(xué)院,山東 青島 266109)
磁編碼信號(hào)往往存在直流偏置、幅值不等和相位偏移等問題,需要對(duì)其進(jìn)行校正。為解決Hydemann校正方法參數(shù)選擇困難的問題,提出了一種在線分步校正方法。采用數(shù)字峰峰值檢測(cè)算法,獲取磁編碼器輸出信號(hào)的幅度及直流偏置;采用簡化的Hydemann方法獲取相移信息。試驗(yàn)結(jié)果表明,該算法響應(yīng)速度快、校正精度高、參數(shù)選擇容易、便于計(jì)算機(jī)的實(shí)現(xiàn),具有一定的工程應(yīng)用價(jià)值。
磁編碼器 直流偏置 幅值不等 相位偏移 校正 峰峰值檢測(cè)
磁編碼器是一種基于磁阻效應(yīng)或霍爾效應(yīng)的新型軸角傳感器,具有結(jié)構(gòu)簡單、體積小、抗沖擊能力強(qiáng)、可靠性高[1-3]等特點(diǎn),被廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)以及航天領(lǐng)域。磁編碼器的輸出是轉(zhuǎn)子角位置的正余弦信號(hào)[4]。但由于眾多非理想因素的影響,磁編碼器輸出的正余弦信號(hào)往往存在直流誤差、幅值誤差和相位誤差。若直接進(jìn)行解調(diào),必將造成較大的解調(diào)誤差,需先對(duì)其進(jìn)行校正。最常用的校正方法為Hedemannn方法[5-8],但其對(duì)初值選擇要求較高;另外,鎖相環(huán)法[9]、傅里葉分析法[10]、神經(jīng)網(wǎng)絡(luò)法[11]以及非線性校正方法[12]也有較廣泛應(yīng)用。
為解決常規(guī)Hedemann方法迭代初值選擇困難的問題,本文提出了一種分步的在線磁編碼器輸出信號(hào)校正方法。該方法采用動(dòng)態(tài)峰峰值檢測(cè)方法獲取正余弦信號(hào)的直流偏置及幅值;利用所獲取的幅值及偏置信息,構(gòu)造簡化的目標(biāo)方程,采用梯度算法獲取相移信息。
單對(duì)極磁編碼器的基本結(jié)構(gòu)是在單對(duì)極永磁磁鼓下方的平面內(nèi),垂直放置A、B兩個(gè)磁敏元件,如圖1所示。當(dāng)永磁磁鼓隨著旋轉(zhuǎn)裝置旋轉(zhuǎn)時(shí),周圍空間將產(chǎn)生正弦分布的旋轉(zhuǎn)磁場,磁敏感元件感知磁敏感強(qiáng)度變化后,輸出包含角位置信息的電壓信號(hào)。
圖1 單對(duì)極磁編碼器基本結(jié)構(gòu)圖Fig.1 Basic structure of the magnetic encoder with single pair of pole
理想情況下,磁編碼器的輸出是完全正交的正余弦信號(hào),但是由于制造工藝的影響,實(shí)際的正余弦信號(hào)中往往存在幅值不等、直流偏置和相位偏移問題。此時(shí),若直接對(duì)磁編碼器輸出信號(hào)進(jìn)行解調(diào)(常用方法包括反正切法、鎖相環(huán)法等),必將造成較大的解調(diào)誤差,因此對(duì)磁編碼器輸出信號(hào)進(jìn)行校正是很有必要的。
本文所提出的補(bǔ)償算法流程框圖如圖2所示。
圖2 校正方法流程框圖Fig.2 Flowchart of the proposed correction method
磁編碼器輸出信號(hào)ysin、ycos經(jīng)濾波及幅值調(diào)理后,得到調(diào)理后正余弦信號(hào)ys、yc。
假設(shè)ys、yc可以描述為:
式中:as、ac為幅值增益系數(shù);bs、bc為直流偏置量;β為相位偏移角。借鑒Hedemannn方法,若定義x1=1/ac, x2=-bc/ac,x3=1/(as×cosβ),x4=-bs/(as×cosβ)-bctanβ/ac,x5=tanβ/ac,式(1)可改寫為:
因此,若能獲取as、ac、bs、bc及相移β信息,便可通過式(2)對(duì)磁編碼器輸出信號(hào)進(jìn)行校正,得到完全正交的兩路正余弦信號(hào)。
記ys、yc經(jīng)A/D轉(zhuǎn)換可得其數(shù)字量ys[k]、yc[k]。如圖2所示,通過幅值及偏置計(jì)算可獲取ys、yc的幅值增益系數(shù)as、ac及直流偏置量bs、bc;相移β信息由相移估計(jì)算法利用ys[k]、yc[k]、幅值增益系數(shù)as、ac及直流偏置量bs、bc信息經(jīng)過多次迭代獲取;然后,利用式(2)對(duì)ys[k]、yc[k]進(jìn)行整定,便可得到正交的數(shù)字正余弦信號(hào);最后經(jīng)D/A轉(zhuǎn)換后,可得正交的模擬正余弦信號(hào)
2.1 幅值及偏置計(jì)算
定義ys[k]、yc[k]的峰-峰值(最大值與最小值)分別為ysmax、ycmax與ysmin、ycmin。當(dāng)A/D采樣率遠(yuǎn)遠(yuǎn)高于磁編碼器輸出信號(hào)頻率時(shí),由采樣時(shí)間所造成的峰-峰值檢測(cè)誤差可近似忽略。因此,ys、yc的幅值增益系數(shù)as、ac及直流偏置量bs、bc計(jì)算公式為:
2.2 相移估計(jì)
根據(jù)x1~x5的定義,若ys、yc的幅值增益系數(shù)as、ac,直流偏置量bs、bc及x1、x2為已知量,則x4可由x3、x5線性表示為:
因此,式(2)可簡化為:
定義M=[ys-bsyc-bc],X=[x3x5]。根據(jù)三角函數(shù)性質(zhì)cos2θ+sin2θ=1及式(5)可得:
選取目標(biāo)函數(shù)為:
選取Lyapunov函數(shù)為:
式中:▽J為J的梯度。
根據(jù)Lyapunov穩(wěn)定性理論,只需取:
J將收斂至零。為便于計(jì)算機(jī)實(shí)現(xiàn),式(11)可離散化為:
式中:J[k]、▽J[k]為第k時(shí)刻目標(biāo)函數(shù)J的值;η為大于零的合適數(shù)。
目標(biāo)函數(shù)(7)為二元二次方程,其必然存在符號(hào)相反的兩組解,即根據(jù)迭代初值的選取不同,將獲取符號(hào)相反的兩組x3、x5。但是磁編碼器輸出信號(hào)的相移-90°<β<90°,因此根據(jù)x3的定義,x3為正值的一組解為其真解。若迭代結(jié)果x3為負(fù)數(shù),則對(duì)所得x3、x5取反,即得真解。獲取x3、x5的估計(jì)值后,由x5的定義,通過反正切運(yùn)算便可得到相移β,通過式(2)便可得到校正后的磁編碼器輸出信號(hào)sinθ和cosθ。
為驗(yàn)證本文方法的有效性,進(jìn)行了實(shí)物試驗(yàn)驗(yàn)證。在試驗(yàn)裝置中,算法由DSP芯片TMS320F28335實(shí)現(xiàn),其主頻可達(dá)150 MHz,具有浮點(diǎn)數(shù)及三角函數(shù)運(yùn)算功能。A/D轉(zhuǎn)換采用DSP內(nèi)置A/D模塊完成,采樣率高達(dá)15 MHz,分辨率為12位,并支持兩路信號(hào)同步觸發(fā)功能。D/A轉(zhuǎn)換芯片采用TI公司DA7664,其轉(zhuǎn)換精度可達(dá)16位,轉(zhuǎn)換時(shí)間可達(dá)12 μs,并支持同步鎖存輸出功能。磁編碼器輸出信號(hào)如圖3所示(為便于與校正后信號(hào)比較已通過硬件電路進(jìn)行了歸一化)。
圖3 磁編碼器輸出信號(hào)曲線Fig.3 Output signals curves of magnetic encoders
由圖3可知,校正前信號(hào)存在明顯的幅值不等、直流偏置問題。由于DSP內(nèi)置A/D模塊所能接收的模擬信號(hào)范圍為0~3.3 V,因此還需對(duì)圖3所示磁編碼器輸出信號(hào)進(jìn)行正向偏置(約1 V)。DSP所接收到的磁編碼器輸出信號(hào)如圖4所示。
圖4 DSP接收到的磁編碼器輸出信號(hào)曲線Fig.4 Output signals curves of magnetic encoder received by DSP
采用峰-峰值檢測(cè)方法所獲取的ys、yc的峰-峰值ysmax=2.091 0 V、ysmin=0.133 4 V、ycmax=2.244 7 V、ycmin= 0.020 3 V。記Heydemann方法為CM1,本文所述方法為CM2,CM2,ac、bc、bs和B估計(jì)值如表1所示。
表1 CM2,ac、bc、as、bs和β估計(jì)值Tab.1 Estimated values of ac、bc、as、bsand β of CM2
由x1、x2的定義可得x1=0.987 9、x2=-1.118 9。將獲取的x1、x2、bs、bc及ys[k]、yc[k]代入相應(yīng)公式,選取η=0.001,迭代初值X=[1 0.1],進(jìn)行迭代,得x3=1.034 9、x5=0.159 7。x3、x5迭代過程如圖5所示。根據(jù)x5定義,得tanβ=0.161 6,取其反正切,得β= 9.179 6°。
圖5 X迭代過程曲線Fig.5 Convergence process of vector X
將獲取的磁編碼器輸出信號(hào)幅值增益系數(shù)as、ac,直流偏置量bs、bc及相位偏移β代入式(2),得校正后的磁編碼器輸出信號(hào)如圖6所示。校正前后磁編碼器輸出信號(hào)的李沙育圖形如圖7所示,由圖可見,校正后的兩路信號(hào)的已基本正交。
圖6 校正后磁編碼器信號(hào)曲線Fig.6 Output signals of magnetic encoder after correction
圖7 校正前后兩路信號(hào)的李沙育圖形Fig.7 Comparison of Lissajous figures before and after correction
為驗(yàn)證本文所述方法對(duì)迭代初值選取的魯棒性,對(duì)x3、x5的迭代收斂情況進(jìn)行試驗(yàn),并與Heydemann方法進(jìn)行了比較。試驗(yàn)結(jié)果如表2所示。
由表2可知,由于Heydemann方法目標(biāo)函數(shù)存在多解問題,當(dāng)x3、x5選取不同的迭代初值時(shí),會(huì)收斂至不同值,而本文所述方法將收斂至唯一解。
表2 CM1與CM2參數(shù)收斂情況比較Tab.2 Comparisons of parameters convergence conditions of CM1and CM2
本文針對(duì)磁編碼器輸出信號(hào)中存在的幅值不等、直流偏置及相位偏移問題,提出了一種在線的分步校正方法。首先采用數(shù)字峰-峰值計(jì)算方法獲取幅值不等及直流偏置信息,然后采用簡化的Heydemann方法獲取相位偏移,并采用DSP作為主控CPU進(jìn)行了實(shí)現(xiàn)。試驗(yàn)結(jié)果表明,采用數(shù)字峰-峰值計(jì)算方法能夠準(zhǔn)確獲取直流偏置信息;采用簡化的Heydemann方法,目標(biāo)函數(shù)僅包含符號(hào)相反的兩組解,迭代結(jié)果不受迭代初值影響,參數(shù)選擇更加容易。
[1] 姜芳芳.基于DSP的單對(duì)磁極磁編碼器[D].沈陽:沈陽工業(yè)大學(xué),2013.
[2] 張立化,吳紅星,鄭繼貴,等.基于工業(yè)機(jī)器人用位置伺服磁編碼器的設(shè)計(jì)[J].微電機(jī),2013,46(10):56-60.
[3] 季學(xué)武,何正義,張雪峰.磁旋轉(zhuǎn)編碼器在永磁同步電機(jī)位置測(cè)量中的應(yīng)用[J].電氣傳動(dòng),2008,38(2):6-8.
[4] 于非,趙繼敏,羅響.磁編碼器算法分析與研究[J].微特電機(jī), 2011(10):20-25.
[5] Heydemann P L M.Determination and correction of quadrature fringe measurement errors in interferometers[J].Applied Optics, 1981,20(19):3382-3384.
[6] Kang H J,Kim S H,Lee S H et al.Adaptive digital demodulation of sinusoidal encoder signal for positioning control of spiral servo track writing[J].Microsystem Technologies,2012(18):1247-1253.
[7] Balemi S.Automatic calibration of sinusoidal encoder signals[C]// Proceedings of the 16th IFAC World Congress.Prague:IFAC,2005: 68-73.
[8] Van H H,Jeon J W.Signal compensation and extraction of high resolution position for sinusoidal magnetic encoders[C]//Control, International Conference on Automation and Systems 2007.Korea: ICROS,2007:1368-1373.
[9] Van H H,Jeon J W.An efficient approach to correct the signals and generate high-resolution quadrature pulses for magnetic encoders[J]. IEEE Transactions on Industrial Electronics,2011,58(8):3634-3646.
[10] Faber J.Self-calibration and noise reduction of resolver sensor in servo drive application[C]//ELEKTRO 2012,Rajeck Teplice: IEEE,2012:174-178.
[11] Tan K K,Tang K Z.Adaptive online correction and interpolation of quadrature encoder signals using radial basis functions[J].IEEE Transactions on Control Systems Technology,2005,13(3):370-377.
[12] 曾一凡,李蕊.單對(duì)磁極磁編碼器的信號(hào)處理方法[J].儀表技術(shù)與傳感器,2012(7):9-15.
An Online Step-by-step Correction Method for Sinusoidal Output Magnetic Encoders
Very often,the magnetic encoding signals are featuring with DC offset,unequal amplitudes,and phase shift,etc.,so it is necessary to correct the signals.In order to solve the problem of Hydemann correction method about difficult to select parameters,an online step-to-step correction method is proposed.By adopting digital peak-peak value detection algorithm,the amplitude and DC offset of the output signals of magnetic encoder are obtained,and the phase shift information is got by adopting simplified Hydemann method.The result of tests shows that the algorithm features fast response,high correction accuracy,easy to select parameters,and convenient to be implemented by computer,it possesses certain engineering applicable values.
Magnetic encoder DC offset Amplitude deviation Phase shift Correction Peak-peak detection
TM383
A
修改稿收到日期:2014-04-25。
張健(1982-),男,2006年畢業(yè)于山東科技大學(xué)測(cè)試計(jì)量技術(shù)及儀器專業(yè),獲碩士學(xué)位,講師;主要從事伺服電機(jī)控制的研究。