







[摘 要] 針對正余弦編碼器在電機測速過程中誤差較大、傳統(tǒng)閉環(huán)細(xì)分算法在諧波干擾較強的場合穩(wěn)定性較差等問題,提出一種基于卡爾曼濾波法的閉環(huán)細(xì)分及測速方法。該方法分為正余弦信號處理、測速算法優(yōu)化兩個部分。利用卡爾曼濾波算法可實現(xiàn)正余弦信號的實時優(yōu)化,結(jié)合改進電機測速方法提高測速精度。仿真結(jié)果表明,基于卡爾曼濾波法的閉環(huán)細(xì)分及測速方法可有效抑制諧波,提高細(xì)分信號的質(zhì)量,改進測速方法,提高測速效果,滿足高精度控制需求。
[關(guān)鍵詞] 閉環(huán)細(xì)分算法; 卡爾曼濾波; 測速; 運動控制
[中圖分類號] TM351" [文獻標(biāo)識碼] A
正余弦編碼器廣泛運用于高精度的運動控制中,其信號輸出類型為正交正弦信號。與其他同類型編碼器比較,具有使用可靠、成本較低、結(jié)構(gòu)簡單、測量范圍廣等優(yōu)點[1]。但在實際應(yīng)用中,由于加工工藝及外界環(huán)境變化,正余弦編碼器信號會產(chǎn)生相位誤差、諧波分量誤差、幅值誤差等[2],對伺服系統(tǒng)的控制精度影響較大。如何修正或補償誤差,并用合適的處理方法從編碼器輸出的正余弦信號中獲得高分辨率的位置信息,具有較高的研究和應(yīng)用價值。
為了從正余弦編碼器中獲得精度更高位置信息,需要從一個周期的正余弦信號中提取多個角度信息,這就是細(xì)分技術(shù)。常見的細(xì)分技術(shù)有多種,如文獻[3]提出反正切值直接求取法,其精度較高但無法對誤差進行補償。文獻[4]介紹了基于cordic算法的細(xì)分技術(shù),提高了計算速度,但對正余弦信號的質(zhì)量非常敏感。文獻[5]提出了一種正弦正交的細(xì)分方法,將高頻載波和正余弦信號進行比較,獲取兩者波幅相等時的正余弦信號相位。該方法實現(xiàn)簡單但依舊存在上述問題,且占用單片機資源較多。文獻[6]提出了閉環(huán)細(xì)分算法,建立閉環(huán)回路,使得輸出的位置信息和輸入的正余弦信號有一定的對應(yīng)關(guān)系,避免了反正切運算,提高了資源利用率,并且反饋回路中帶有一個PI調(diào)節(jié)器,可以對原始信號進行一定的補償,但對高次諧波的抑制效果不好。編碼器產(chǎn)生的正弦信號實際是由基波和高次諧波以及其他噪聲構(gòu)成,高次諧波對信號正弦性的影響較大,然而上述算法對高次諧波的抑制效果有限。
本文詳細(xì)分析了正余弦信號中高次諧波對位置信息獲取的影響,綜合閉環(huán)細(xì)分算法和cordic算法的優(yōu)點,設(shè)計了一種基于卡爾曼濾波的閉環(huán)細(xì)分算法,有效抑制了高次諧波以及其他噪聲,準(zhǔn)確獲得了位置信號,在此基礎(chǔ)上提出了一種針對正余弦編碼器的測速方法,對系統(tǒng)全速度范圍測速方法進行改進優(yōu)化,分析了實現(xiàn)方法并進行仿真。
1 正余弦信號誤差分析
高分辨率編碼器通常使用細(xì)分技術(shù)來獲取高于光柵線分辨率的位置信號。這樣的處理方法導(dǎo)致位置信息精度對光電信號質(zhì)量非常敏感,尤其是幅值、相位、波形與信號細(xì)分電路參數(shù)要一致,而在實際的工程應(yīng)用中正余弦編碼器輸出的信號與理想信號相去甚遠。在加工工藝、器件老化、信號傳輸?shù)韧庠诃h(huán)境的影響下,其通常含有直流分量、高次諧波、相位差值、幅值不一[2]等干擾成分。細(xì)分過程中,這些不穩(wěn)定因素都會導(dǎo)致誤差,讓細(xì)分精度下降。考慮到這些不理想成分,實際信號可以表示為
u=u0+∑SymboleB@k=1uksinkθ+θ0(1)
式中:u0為直流分量誤差,uk為諧波振幅誤差,θ0為諧波相位誤差。
信號質(zhì)量的判斷依據(jù)及處理方法主要有以下幾種:1)直流分量誤差,其消除辦法一般是模擬電路補償法,利用運算放大器對正余弦信號進行抬升或下拉;2)相位誤差,其消去辦法為乘法倍頻算法或Heydemann橢圓修正算法;3)幅值誤差,一般采用數(shù)字補償和模擬電路補償兩種方法,模擬電路補償和直流分量修正類似,數(shù)字補償一般是使用IC-Haus技術(shù);4)高次諧波誤差,閉環(huán)細(xì)分法因其結(jié)構(gòu)內(nèi)存在PI調(diào)節(jié)器,相當(dāng)于一個低通濾波器,對高次諧波有一定的抑制效果,但并未對其進行特別處理。因此本文設(shè)計了一種基于卡爾曼濾波的閉環(huán)反饋細(xì)分方法,有效解決了諧波問題。
2 基于卡爾曼濾波法的閉環(huán)細(xì)分及測速策略
2.1 閉環(huán)細(xì)分基本原理
如圖1所示,φ為細(xì)分角度值,作為輸出它在系統(tǒng)穩(wěn)定后可以和所需角度θ形成對應(yīng)關(guān)系,反饋回路結(jié)構(gòu)決定它們的具體關(guān)系,開環(huán)函數(shù)決定了系統(tǒng)的響應(yīng)。
其中角度差為Δφ=sinθcosφ-cosθsinφ=sin(θ-φ)。
當(dāng)θ→φ時,可以得到Δφ=θ-φ。當(dāng)閉環(huán)系統(tǒng)穩(wěn)定時可以得到Δφ→0,則此時φ→θ。所以將系統(tǒng)參數(shù)進行合理的設(shè)計,使得收斂時間滿足條件,不僅可以避免arctan運算,而且可以達到很高的細(xì)分精度。
其開環(huán)傳遞函數(shù)如下:
G(s)=φ(s)E(s)=ω201s+2ds1s(2)
通過對ω0、d參數(shù)的調(diào)節(jié)可以控制系統(tǒng)的超調(diào)量、穩(wěn)態(tài)誤差等讓系統(tǒng)達到穩(wěn)態(tài),獲取最優(yōu)系統(tǒng)參數(shù)后再加入卡爾曼濾波器。
2.2 基于卡爾曼濾波法的閉環(huán)細(xì)分策略
閉環(huán)細(xì)分法的濾波原理是對位置的變換量濾波,而非傳統(tǒng)的對正余弦信號直接濾波[7],所以對噪聲有一定的抑制作用[4]。因此本文選擇對位置變化量進行卡爾曼濾波,不僅能保證閉環(huán)細(xì)分法對噪聲抑制能力的優(yōu)勢,還能對高次諧波取得更好的抑制效果。
與常規(guī)濾波器相比,卡爾曼濾波器的概念和意義完全不同,它通過系統(tǒng)的過程量和更新量來預(yù)測系統(tǒng)的下一個狀態(tài)[3],其輸入為測量值,輸出為預(yù)測值。調(diào)整濾波器系數(shù)可以改變估計值和測量值的權(quán)重,通過更新迭代逐步逼近真實值。其具體過程如下。
通過系統(tǒng)的過程模型,從前一時刻狀態(tài)得出最優(yōu)預(yù)測值:
k=Ak·Xk-1(3)
式中:k為現(xiàn)在狀態(tài)的最優(yōu)估測值,Xk-1為利用上一狀態(tài)的測量結(jié)果,Ak為系統(tǒng)參數(shù)。然后對誤差協(xié)方差矩陣k進行更新:
k=Ak·Pk-1·ATk+Qk-1(4)
其中:Pk-1為上一狀態(tài)的最優(yōu)估計協(xié)方差矩陣,Qk-1是系統(tǒng)過程的方差。再通過測量值和預(yù)測值計算最優(yōu)估計值:
k=k+Kk·Yk-Hk·k(5)
其中:Yk為k時刻的測量值,Kk為卡爾曼增益。其表達式如下:
Kk=k·HTk·Hk·k·HTk+Rk-1(6)
再更新k的估計誤差協(xié)方差矩陣
Pk=I-Kk·Hk·k·I-Kk·HkT+Kk·Rk·KTk(7)
其中:I是單位矩陣,當(dāng)系統(tǒng)迭代到k+1狀態(tài)時,Pk則會轉(zhuǎn)變?yōu)镻k-1,如此算法可繼續(xù)迭代,從而得到最優(yōu)估計值k。
可以得到基于卡爾曼濾波法的閉環(huán)細(xì)分框圖。
在閉環(huán)細(xì)分算法中加入卡爾曼濾波器對位置變化量進行濾波(圖2),通過配置卡爾曼濾波器參數(shù)能夠調(diào)節(jié)濾波器的濾波效果,不僅能保證閉環(huán)細(xì)分法對噪聲抑制能力的優(yōu)勢,還能對高次諧波取得更好的抑制效果。編碼器在產(chǎn)生正余弦信號后,分別與上一時刻的信號相乘,然后作差后得到Δφ。對角度差值進行卡爾曼濾波,過濾信號中的高次諧波以及白噪聲,再經(jīng)過PI滯環(huán),當(dāng)系統(tǒng)穩(wěn)定時Δφ會接近于零,此時當(dāng)前角度值φ即等于輸出角度值,系統(tǒng)則可以輸出位置信息。
2.3 全速度范圍測速算法設(shè)計
在采用閉環(huán)細(xì)分法處理信號的情況下,進一步計算才能得到速度信息,傳統(tǒng)方法一般為M法,T法以及M/T法。M法通過對單位時間內(nèi)編碼器脈沖的個數(shù)進行統(tǒng)計,計算后獲得轉(zhuǎn)速,此方法在脈沖計數(shù)的開始和末尾會產(chǎn)生脈沖丟失現(xiàn)象,當(dāng)速度較低時,誤差影響尤為明顯[9-10]。T法測速通過對兩個脈沖的間隔時間進行測量以獲得轉(zhuǎn)速,這樣做的缺點是在轉(zhuǎn)速較高時兩者間隔時間過短,導(dǎo)致測量誤差較大[11]。M/T法結(jié)合了兩種方法的優(yōu)勢但是低轉(zhuǎn)速的實時性不高。本文在此基礎(chǔ)上設(shè)計了一種適合閉環(huán)反饋技術(shù)的測速方法。具體測速原理如圖3所示。
被測信號通過閉環(huán)細(xì)分算法后變?yōu)榻嵌刃盘枺浣嵌却笮棣眨阎l率為f0的基準(zhǔn)脈沖信號分頻后在計數(shù)及同步觸發(fā)電路控制下對被測信號進行測量。如圖3所示,高頻脈沖信號負(fù)責(zé)時間計數(shù)工作,Δφ負(fù)責(zé)角度計數(shù)工作。在細(xì)分角度到來時Δφ不斷增加,高速時增加較快,若選取間隔過短則造成轉(zhuǎn)速波動過大;低速時Δφ增加較慢,若選取時間過長則測速更新較慢。本文采用方法是將測速區(qū)間選擇設(shè)定與上一時刻轉(zhuǎn)速正相關(guān)的函數(shù)如下式(10)所示,可以實時更新Δφ的選擇工作以適應(yīng)速度的變化:
n=Δφf06PM1(9)
Δφ=Kω+φ0(10)
式(9)為速度測量公式。其中:n為轉(zhuǎn)速;Δφ為選取的角度區(qū)間,其大小隨速度ω變化而變化;P為正余弦編碼器線數(shù);M1為高頻脈沖計數(shù)次數(shù);f0為高頻脈沖頻率;φ0為初始選擇角度;K為常量,用來控制Δφ的取值大小。
脈沖計數(shù)時出現(xiàn)誤計會使得速度檢查存在誤差,故本文所用方法轉(zhuǎn)速分辨率
Δn=Δφf06PM1-Δφf06PM1+1=Δφf06PM1M1+1(11)
則電機轉(zhuǎn)速的相對誤差
ε=Δnn=1M1+1(12)
該方法的優(yōu)勢在于,通過改變測量時間,即改變選取的角度區(qū)間Δφ來降低首位脈沖誤差對測速結(jié)果的影響,并且可以通過改變Δφ的函數(shù)配置來適配不同工況下的測速時間,在速度較高時增加檢測時間,轉(zhuǎn)速較低時減小檢測時間,以提高速度檢測的實時性和準(zhǔn)度。
3 仿真結(jié)果分析
為驗證本文所設(shè)計方法的準(zhǔn)確度及對比傳統(tǒng)方法有無性能提升,根據(jù)實際的電路及使用環(huán)境,搭建了Matlab/Simulink的仿真實驗。系統(tǒng)采用雙閉環(huán)控制策略,矢量控制算法,運行過程中id=0。速度指令在和速度反饋作差后輸入PI調(diào)節(jié)器,其中速度指令為1500 r/min,速度反饋為本文所設(shè)計速度計算模塊計算得到。經(jīng)過反派克變換模塊以及SVPWM模塊后驅(qū)動電機,所得反饋信號經(jīng)過輸入編碼器信號處理模塊形成速度控制閉環(huán)。采用的電機型號如表1所示。
模擬正余弦編碼器物理512線,轉(zhuǎn)速為1500 r/min,添加3、5、7、10次高頻諧波以及其他噪聲,兩路相位差為90°的信號如圖4所示。
根據(jù)信號的實際噪聲大小和情況,先對閉環(huán)細(xì)分算法進行配置,其中ω0為62800,d為1.25。再對卡爾曼濾波器進行參數(shù)配置,Ak=1,H=1,Q=0.022,R=65, X(1)=0, P(1)=0.01。將圖3中的信號分別帶入傳統(tǒng)閉環(huán)細(xì)分算法以及本文設(shè)計的細(xì)分算法中,最終得到cos(φ)的值(截取一個周期)如圖5所示。
可以觀察到基于卡爾曼濾波細(xì)分的信號波動更小,傳統(tǒng)細(xì)分方法波動較大,兩方法細(xì)分誤差如圖6所示。
可以看到本文算法細(xì)分誤差明顯優(yōu)于傳統(tǒng)細(xì)分算法,對兩信號分別進行傅里葉諧波分析,得到結(jié)果如圖7所示:普通閉環(huán)反饋算法總諧波畸變率為4.14%,本文設(shè)計的反饋算法總諧波畸變率為2.15%,各諧波幅值也全部小于普通閉環(huán)算法,對諧波的抑制效果提高了48%。
在閉環(huán)細(xì)分的基礎(chǔ)上用本文所提測速方法進行了仿真,分別采用M法、T法以及本文方法進行了測速,結(jié)果如圖8、圖9所示。
圖8為低速狀態(tài)下測速結(jié)果。傳統(tǒng)測速脈沖數(shù)量少,首尾脈沖數(shù)所占比例較大,導(dǎo)致分辨率較低誤差較大。而本文改進方法保證了低速狀態(tài)下足夠的脈沖數(shù),測速更加準(zhǔn)確,并且實時性較強。圖9為高速狀態(tài)下測速結(jié)果,T法測速會出現(xiàn)計數(shù)時間太短的問題,會導(dǎo)致測速不準(zhǔn),本文所用方法因為采用變角調(diào)節(jié),可以根據(jù)轉(zhuǎn)速調(diào)節(jié)脈沖個數(shù),所以測速準(zhǔn)確不會出現(xiàn)脈沖過少的問題。由圖10可見,M/T法與本文方法相比波動較大,原因在于本文方法有更精確的脈沖數(shù)取值,高速低速時都能根據(jù)式(10)進行調(diào)節(jié),所以測速更加準(zhǔn)確。
4 結(jié)論
本文結(jié)合正余弦編碼器誤差特性,分析了諧波對編碼器信號細(xì)分的影響,設(shè)計了一種基于卡爾曼濾波的閉環(huán)細(xì)分方法。仿真結(jié)果表明,該方法既保留了閉環(huán)細(xì)分法的優(yōu)點,又能對諧波進行較好的抑制。在閉環(huán)細(xì)分的基礎(chǔ)上設(shè)計了一種自適應(yīng)變換檢測時間及脈沖次數(shù)的測速方法,提高了測速的準(zhǔn)確性及實時性,實現(xiàn)對各階段速度進行測量。
[ 參 考 文 獻 ]
[1] SCHMIRGELH , KRAH J O . FPGA based sine-cosine encoder feedback processing for servo drive applications[C]∥ PCIM, 2007: 1-6.
[2] 趙文峰. 基于閉環(huán)反饋算法的高精度編碼器細(xì)分系統(tǒng)設(shè)計[D]. 長春:中國科學(xué)院研究生院(長春光學(xué)精密機械與物理研究所), 2013.
[3] JU-CHAN KIM, JANG-MOK KIM, CHEUL-U KIM,et al. Ultra precise position estimation of servomotor using analog quadrature encoders[C] ∥ Proc.of IEEE,2006:5-10.
[4] 吳紅梅. 正余弦編碼器細(xì)分技術(shù)研究[J]. 科技通報, 2014, 30(03):5.
[5] 洪小圓, 王鹿軍, 呂征宇.一種新穎的正弦正交編碼器細(xì)分方法[J].電源學(xué)報, 2011, 8(01):7-11.
[6] 馬澤龍, 唐小琦, 宋寶,等. 編碼器正余弦信號跟蹤環(huán)路細(xì)分技術(shù)研究[J]. 電氣傳動, 2012, 42(05): 9-15.
[7] 趙昊寧,許家忠,張海濱,等.基于卡爾曼濾波信號細(xì)分的減速器測試研究[J].電子測量與儀器學(xué)報, 2019(08): 9-15.
[8] 李奇越,吳忠,黎潔,等.基于改進卡爾曼濾波的NLOS 誤差消除算法[J].電子測量與儀器學(xué)報,2015,29(10):1513-1519.
[9] 錢偉康,張成爽,謝凱年.基于FPGA的光電編碼器信號處理方法[J].測控技術(shù),2010,29(12):44.
[10] 李大英.基于FPGA的電機測速電路設(shè)計與實現(xiàn)[J].機械設(shè)計與制造,2011( 12): 79.
[11] GUO Y H, MA J S, LI A S. The embedded measurement system for multiple motor speed based on FPGA [C]∥IEEE International Conference on Information and Au tomation,2010:2201.
Subdivision and Speed Measurement of Sine and Cosine Encoder
WAN Xiangyu, ZHAO Yun, CAO Yingqiang, SHANG Chengcheng
(School of Electrical and Electronic Engineering, Hubei Univ. of Tech., Wuhan 430068, China)
Abstract: The traditional closed-loop subdivision method does not deal with the higher harmonics, which makes the sine and cosine encoder have poor stability in the case of strong harmonic interference and affects the accuracy of motion control. In this paper, a closed-loop subdivision strategy based on Kalman filter is studied to obtain stable subdivision signals, and the speed measurement method of the whole speed range of the system is improved and optimized. The simulation results show that the proposed method can effectively suppress the harmonics, improve the quality of subdivision signal, and effectively improve the speed measurement effect. Meet the requirements of high precision control.
Keywords: closed loop subdivision algorithm; Kalman filter; measurement; motion control
[責(zé)任編校: 閆 品]
[收稿日期] 2022-10-20
[基金項目] 湖北省自然科學(xué)基金(2019CFB759)
[第一作者] 萬翔宇(1997-), 男, 湖北天門人, 湖北工業(yè)大學(xué)碩士研究生, 研究方向為電機控制。
[文章編號] 1003-4684(2024)05-0015-05