黃 帆,金 龍,徐志科,潘 鵬
(東南大學,南京210096)
超聲波電動機,尤其是行波超聲波電動機以其低速大轉(zhuǎn)矩、運行無噪聲、無電磁干擾和體積小等良好特性,在伺服驅(qū)動應(yīng)用中得到了越來越多的關(guān)注,并取得了一定的研究成果。在超聲波電動機的控制系統(tǒng)中,無論是使用經(jīng)典的PID 控制還是現(xiàn)代的智能控制算法,電機轉(zhuǎn)子的速度和位置是必不可少的閉環(huán)反饋量。因此,反饋量的測量精度對控制系統(tǒng)有著至關(guān)重要的作用。然而鑒于高精度的位置和速度傳感器價格昂貴以及安裝環(huán)境的限制,大多數(shù)超聲波電動機伺服系統(tǒng)都是使用編碼器來獲取電機的位置信息,再通過一定的算法來得到電機的速度信息。其中用的比較多的是增量式編碼器,這種編碼器具有誤差累積的缺點,因此只能提供一定精度的位置和速度的測量??柭鼮V波作為一種重要的最優(yōu)估計理論,去除觀測數(shù)據(jù)中的噪聲還原真實數(shù)據(jù),已廣泛應(yīng)用于導(dǎo)航、動態(tài)定位、動力及最優(yōu)控制等多種動態(tài)數(shù)據(jù)處理中。在交流伺服領(lǐng)域,許多學者將卡爾曼濾波應(yīng)用于電磁電機中,同時取得了較好的控制效果。文獻[1 -2]將擴展卡爾曼濾波應(yīng)用于無速度傳感器的永磁同步電機控制,對電機的轉(zhuǎn)速和磁鏈進行精確估計以提高直接轉(zhuǎn)矩控制的性能。文獻[3]將無跡卡爾曼濾波(UKF)原理與永磁同步電機的系統(tǒng)模型相結(jié)合設(shè)計出UKF 定子磁鏈觀測器,實現(xiàn)永磁同步電機轉(zhuǎn)子位置和轉(zhuǎn)速的無傳感器估計。使用無跡變換,以確定性的采樣方法計算隨機變量的統(tǒng)計特性,相比較擴展卡爾曼濾波估計精度更高,運算速度更快。文獻[4]將轉(zhuǎn)子電壓和轉(zhuǎn)子電流作為系統(tǒng)的輸入量,估計直流電機的轉(zhuǎn)速,增加了系統(tǒng)的魯棒性并且精確地估計了直流電機的轉(zhuǎn)速。文獻[5 -6]分別運用擴展卡爾曼濾波和模糊擴展卡爾曼濾波,建立感應(yīng)電機的速度和磁鏈觀測器,類似于直流電機通過轉(zhuǎn)矩和磁鏈來控制電機的速度,使感應(yīng)電機系統(tǒng)表現(xiàn)出良好的動態(tài)性能。
然而卡爾曼濾波算法在超聲波電動機的控制中應(yīng)用研究很少,因此本文在研究超聲波電動機測速算法的基礎(chǔ)上,針對原有方法的不足將卡爾曼濾波理論與其相結(jié)合應(yīng)用到超聲波電動機測速系統(tǒng)中。把各種測速誤差的影響看成超聲波測速系統(tǒng)的系統(tǒng)誤差,而編碼器的分辨率、加工和安裝精度等的影響作為測量誤差,建立系統(tǒng)的動態(tài)模型。在位置差分測速的基礎(chǔ)上,引入卡爾曼濾波以減小測量誤差,提高參數(shù)測量精度,并通過仿真研究驗證了該策略的有效性。
所謂濾波,實際上就是選頻,即從帶有多頻的信號中得到想要的頻率,而將不需要的頻率過濾掉。濾波理論就是在對系統(tǒng)信號進行測量和濾頻過程中,經(jīng)過實踐檢驗符合實際情況的最優(yōu)方法、理論體系??柭鼮V波理論是20 世紀60 年代發(fā)展起來的一種現(xiàn)代濾波理論,它是通過一系列遞歸數(shù)學公式描述和推算來估計某個過程的狀態(tài)。該理論之所以被廣泛應(yīng)用,就是因為它能夠?qū)⒃肼晫ο到y(tǒng)狀態(tài)的辨識影響降到最小。由于卡爾曼濾波器的解是遞歸計算的,其每一次的狀態(tài)更新只需要上一次的狀態(tài)估計值和最新的測量變量輸入計算便可得到,不需要存儲大量的數(shù)據(jù),并且數(shù)據(jù)處理也很高效。這些優(yōu)點特別適合基于微處理器的超聲波電動機伺服控制,在有限的內(nèi)存空間下實現(xiàn)電機的實時控制。
卡爾曼濾波器用(含噪聲)測量變量作為反饋,從而來估計過程狀態(tài)。離散卡爾濾波器則是將系統(tǒng)的狀態(tài)方程和測量方程離散化,間隔一定的時間采樣測量變量獲得反饋,來估計某一時刻的狀態(tài),其離散化的狀態(tài)方程由以下差分方程描述:
系統(tǒng)的測量方程:
式中:wk為系統(tǒng)的過程噪聲;vk為測量噪聲??柭鼮V波要求它們?yōu)橄嗷オ毩ⅰ⒕禐榱愕陌咨肼曅蛄?。過程噪聲和測量噪聲的方差矩陣分別為Q 和R,卡爾曼濾波中要求它們分別是已知值的非負定矩陣和正定矩陣。xk為系統(tǒng)的狀態(tài)變量,uk為確定性輸入變量,A 為狀態(tài)轉(zhuǎn)移矩陣,B 為可選的控制輸入增益矩陣。zk為系統(tǒng)的測量變量,H 為狀態(tài)變量xk對測量變量zk的增益。定義(^表示先驗,-表示估計)為在利用第k-1 時刻和以前時刻的測量值得到的第k 時刻的先驗狀態(tài)估計,定義x^k 為已知測量變量zk時第k 步的后驗狀態(tài)估計。則離散卡爾曼濾波算法的流程如圖1 所示。
圖1 離散卡爾曼濾波工作原理圖
在實際系統(tǒng)中,矩陣Q 和R 可能會隨著每次迭代計算而變化。為了降低算法以及計算的復(fù)雜度,這里假設(shè)它們都為常數(shù)。在卡爾曼濾波器的構(gòu)造中,狀態(tài)誤差協(xié)方差的初值x0,P0,R 和Q 的取值對于卡爾曼濾波器的性質(zhì)會有一定的影響。如果P0取值較小,卡爾曼濾波器收斂速度會比較快。而測量噪聲協(xié)方差R 一般可以通過測量得到,是濾波器的已知條件,通常我們離線獲取系統(tǒng)的測量值以計算測量噪聲協(xié)方差。比較難確定的是過程激勵噪聲協(xié)方差Q 的值,Q 表征了系統(tǒng)的統(tǒng)計特性,其值的大小表征著系統(tǒng)的動態(tài)性能,但是過程信號xk無法直接觀測到,因此很難通過直接的觀測量得到Q值。所以我們通常都是通過調(diào)整濾波器系數(shù)來獲得更好的性能。在初始值的選擇過程中,我們既要考慮收斂的快速性,又要防止卡爾曼濾波的發(fā)散,否則會對系統(tǒng)的控制產(chǎn)生不良的后果。
基于增量式編碼器的測速算法大致分為三類:(1)M 算法測速,在固定的時間間隔內(nèi)測量脈沖發(fā)生器所產(chǎn)生的脈沖數(shù)來獲取速度值,這種測速算法適合中高速測量場合;(2)T 算法測速,通過測量相鄰兩個位置事件的時間間隔來確定被測速度,適合于低速測量場合,由于系統(tǒng)需要加入脈沖捕捉中斷電路和計時定時電路,所以實現(xiàn)起來T 算法要比M算法更加復(fù)雜;(3)M/T 算法測速,綜合了以上的兩種方法,同時測量檢測時間和在此時間內(nèi)脈沖發(fā)生器所產(chǎn)生的脈沖數(shù)來確定被測轉(zhuǎn)速。M/T 算法在高低速時測量精度均有所提高,擴大了測速的范圍,但是也增加了硬件和軟件實現(xiàn)的復(fù)雜性。從成本和實用性角度考慮,本文采用M 算法進行測速。
由于系統(tǒng)噪聲和觀測噪聲的影響,M 法測速得到的速度值誤差較大,因此將卡爾曼濾波引入測速算法,以抑制電機本身及編碼器引起的白噪聲對測速算法的影響。在超聲波測速系統(tǒng)中,電機的位置和速度為未知量,因此把電機的位置θ、速度v 認為是狀態(tài)變量,建立一個關(guān)于位置和速度的模型,從這個模型得到卡爾曼濾波器。
設(shè)超聲波電動機在k 時刻的位置為θk、速度為vk,從k 時刻到k +1 時刻電機的加速度為ak,根據(jù)牛頓運動定律電機,在k+1 時刻的位置θk-1和速度vk-1可分別表示:
由于系統(tǒng)在運行過程中速度會有一定的波動,甚至有時會出現(xiàn)大的波動,因此電機速度的變化在實際運行中并無固定的規(guī)律性,這里將速度的變化率即加速度看成高斯白噪聲。則狀態(tài)方程可表示:
式中:ak即w 為系統(tǒng)的模型干擾,它符合均值為零、方差為σa的正態(tài)分布。則可得到協(xié)方差矩陣:
每隔固定的時刻,對電機的位置進行測量,則觀測方程可表示:
式中:v 為系統(tǒng)的測量干擾,它符合均值為零、方差為σz的正態(tài)分布,且系統(tǒng)干擾與模型干擾為兩個相互獨立高斯白噪聲。則可得到協(xié)方差矩陣R:
超聲波電動機的卡爾曼濾波模型已經(jīng)確定,要想實現(xiàn)圖1 中公式的遞推,必須首先確定初值,P0。對于初值,P0的確定,至今尚未有成熟的方法,大多數(shù)情況下,都是根據(jù)經(jīng)驗利用一期的觀測信息確定狀態(tài)向量中的相對位置信息θ0,再利用相鄰兩期的相對位置確定角速度v0,這樣便得到了濾波的初值[15]。P0是x0的估計誤差協(xié)方差矩陣,假設(shè)的均值為μ0,則:
本文通過MATLAB 仿真來驗證卡爾曼濾波器對于超聲波電動機測速系統(tǒng)的濾波性能,其觀測方程的電機位置信息由控制系統(tǒng)實際運行給出。實際系統(tǒng)的實驗平臺為基于TMS320F28335 的實驗室自制直徑為80 mm 的超聲波電動機,測角系統(tǒng)采用雷尼紹公司SIGNUM RESM 系列圓光柵編碼器,圓光柵一圈刻線數(shù)為31 488 道,經(jīng)細分盒100 細分(四倍頻采集方式),每轉(zhuǎn)一圈產(chǎn)生3 148 800 個脈沖。所以其測量分辨率Re為:
實驗對象為閉環(huán)PI 控制的超聲波電動機系統(tǒng),由DSP 的eQEP 單元以10 Hz 的頻率獲取編碼器發(fā)出的脈沖數(shù)以確定電機的位置,再用M 算法計算電機的速度。雖然M 算法獲得的轉(zhuǎn)速存在一定的誤差,但是基本上能夠反映電機的實際速度,因此在有限的實驗條件下將M 算法獲得的速度作為參考標準與卡爾曼濾波算法仿真濾波后的電機速度進行比較[9]。為了便于獲取每次采樣的脈沖數(shù)和電機的速度,實驗平臺通過SCI 模塊與上位機相連接,實時的將規(guī)定數(shù)據(jù)發(fā)送給上位機,上位機將數(shù)據(jù)記錄保存下來。
實驗分為兩組:(1)在電機運行開始前,通過上位機設(shè)定電機的轉(zhuǎn)速為22 (°)/s,記錄電機從起動到穩(wěn)定這一過程的電機位置信息和轉(zhuǎn)速信息。(2)在電機運行開始前,先設(shè)定電機的轉(zhuǎn)速為12 (°)/s,當電機運行穩(wěn)定后再設(shè)定電機的轉(zhuǎn)速為1.8 (°)/s,實現(xiàn)電機的調(diào)速控制,記錄這整個過程電機的位置信息和轉(zhuǎn)速信息。
實驗結(jié)束后,將兩組實驗得到的電機位置信息導(dǎo)入到MATLAB,確定Q,R,P0以及X^0 的值進行初始化,按照圖1 的遞歸流程實現(xiàn)卡爾曼濾波器,得到基于卡爾曼濾波的速度觀測值,并把濾波后的速度值與系統(tǒng)測得的速度值進行比較,以驗證卡爾曼濾波器的濾波及辨識轉(zhuǎn)速的性能。
實驗中使用的Q,R 參數(shù)如下:Q =60,R =8.762×10-3。
圖2 ~圖4 為實驗(1)的實驗結(jié)果:M 算法得到的曲線受噪聲的影響跳動較大,尤其在電機的瞬時起動階段有明顯的過沖,電機定子的振動在起動階段還并不穩(wěn)定,存在電機振蕩情況。并且實驗室中采用光電編碼器測量超聲波電動機的轉(zhuǎn)速信息時需要用到聯(lián)軸器,由于實驗臺加工精度的影響,電機起動時聯(lián)軸器的彈性環(huán)節(jié)使得測試結(jié)果中速度有較大的振蕩。由圖2 可以看出,卡爾曼濾波算法得到的速度曲線基本上貼近M 算法的結(jié)果,速度估算動態(tài)跟隨性比較好,并且曲線變得更加的平滑,對電機起動階段的速度超調(diào)有明顯的抑制作用,最大超調(diào)從36 (°)/s 降低到17 (°)/s。在穩(wěn)定階段也可以看出較好的濾波性,圖3 為圖2 中穩(wěn)定階段的放大圖,相較于M 算法,卡爾曼濾波后的轉(zhuǎn)速值方差從3.87降低到2.18,波動由4.13 (°)/s 降低到2.85 (°)/s。
圖5 ~圖6 為實驗(2)的實驗結(jié)果,由圖5 的實驗結(jié)果可以看出,卡爾曼濾波算法在電機的調(diào)速過程中表現(xiàn)出較好的跟隨性,但是在電機轉(zhuǎn)速突變的過程中,卡爾曼濾波算法的誤差增大并且存在一定的延時。而在穩(wěn)定階段還是表現(xiàn)出了良好的抑制噪聲作用。在第一段速度階段,轉(zhuǎn)速的最大超調(diào)由14.2 (°)/s 減少到9.2 (°)/s,穩(wěn)定階段的波動也明顯減小,由3 (°)/s 降低到2.2 (°)/s。在第二段低速階段,穩(wěn)定階段的波動由0.7 (°)/s 降低到0.5(°)/s。整個調(diào)速過程(包括轉(zhuǎn)速突變誤差較大過程)轉(zhuǎn)速值方差由28.45 降低到26.34。
卡爾曼濾波雖然解決了噪聲的問題,但是由實驗結(jié)果可以看出,這種方法在估測電機轉(zhuǎn)速動態(tài)過程中還存在滯后性,尤其在轉(zhuǎn)速突變時更加明顯,在調(diào)速階段,滯后最大達到0.3 s,這在以后的實驗研究中還有待改進。
本文提出了一種基于卡爾曼濾波的超聲波電動機測速算法,通過選取電機的位置信息作為觀測變量對速度信息進行估計。仿真結(jié)果表明,該方法改善了M 測速算法存在的誤差較大的問題,速度動態(tài)跟隨性好,更加接近電機的真實速度。但是,該方法在調(diào)速的動態(tài)過程中還存在著一定的滯后性,對于高性能的控制要求還不能夠滿足要求。并且在初值的選取上還是主要依靠的試湊法,適應(yīng)性還有待進一步的研究。
[1] 陳振,劉向東,靳永強,等. 采用擴展卡爾曼濾波磁鏈觀測器的永磁同步電機直接轉(zhuǎn)矩控制[J].中國電機工程學報,2008,28(33):75 -81.
[2] 張猛,肖曦,李永東.基于擴展卡爾曼濾波器的永磁同步電機轉(zhuǎn)速和磁鏈觀測器[J].中國電機工程學報,2007,27(36):36-40.
[3] 林海,嚴衛(wèi)生,李宏,等.基于無跡卡爾曼濾波的永磁同步電機無傳感器直接轉(zhuǎn)矩控制[J].西北工業(yè)大學學報,2009,27(2):204 -208.
[4] PRAESOMBOON S,ATHAPHAISAL S,YIMMAN S. Sensorless speed control of DC servo motor using Kalman filter[C]//Information,Communications and Signal Processing,ICICS 2009.IEEE,2009:1 -5.
[5] ZHANG Wei,LUO Jianjun.Speed and rotor flux estimation of induction motors based on extended Kalman filter[C]//Networked Computing and Advanced Information Management (NCM).IEEE,2010:157 -160.
[6] YIN Zhonggang,XIAO Lu,SUN Xiangdong.A speed and flux estimation method of induction motor using fuzzy extended Kalman filter[C]//Electronics and Application Conference and Exposition(PEAC).IEEE,2014:693 -698.
[7] 王磊,李宏,武明珠.基于擴展卡爾曼濾波的永磁同步電機參數(shù)辨識[J].微特電機,2012,40(7):19 -22.
[8] 潘勝輝,郝東亞,張興達. 基于擴展卡爾曼濾波的GPS 動態(tài)測速算法[J].信息技術(shù),2014,38(12):13 -16.
[9] 何棟煒,彭俠夫,蔣學程,等.永磁同步電機的改進擴展卡爾曼濾波測速算法[J].西安交通大學學報,2011,45(10):59 -63.
[10] SHI Tingna,WANG Zheng,XIA Changliang.Speed measurement error suppression for PMSM control system using self - adaption Kalman observer[J]. IEEE Transactions on Industrail Elecrtonics,2014,62(5):2753 -2763.
[11] ISHIGURO H,YAMAMOTO M,TSUJI S.Omni-directional Stereo[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence,1992,14(2):257 -262.
[12] 宋剛,秦月霞,張凱,等. 基于普通編碼器的高精度測速方法[J].上海交通大學學報,2002,36(8):1169 -1172.
[13] 陳旻.基于DSP 的擴展卡爾曼濾波直流無刷電機控制[J].單片機與嵌入式系統(tǒng)應(yīng)用,2003,(11):63 -66.
[14] 于紅霞,胡靜濤.基于自適應(yīng)卡爾曼濾波的異步電機轉(zhuǎn)速和負載轉(zhuǎn)矩估計[J].數(shù)據(jù)采集與處理,2012,27(5):552 -558.
[15] 宋春迎. 動態(tài)定位中的卡爾曼濾波研究[D]. 長沙:中南大學,2006:21 -36.