黃 帆,金 龍,徐志科,潘 鵬
(東南大學,南京210096)
超聲波電動機,尤其是行波超聲波電動機以其低速大轉矩、運行無噪聲、無電磁干擾和體積小等良好特性,在伺服驅動應用中得到了越來越多的關注,并取得了一定的研究成果。在超聲波電動機的控制系統中,無論是使用經典的PID 控制還是現代的智能控制算法,電機轉子的速度和位置是必不可少的閉環反饋量。因此,反饋量的測量精度對控制系統有著至關重要的作用。然而鑒于高精度的位置和速度傳感器價格昂貴以及安裝環境的限制,大多數超聲波電動機伺服系統都是使用編碼器來獲取電機的位置信息,再通過一定的算法來得到電機的速度信息。其中用的比較多的是增量式編碼器,這種編碼器具有誤差累積的缺點,因此只能提供一定精度的位置和速度的測量??柭鼮V波作為一種重要的最優估計理論,去除觀測數據中的噪聲還原真實數據,已廣泛應用于導航、動態定位、動力及最優控制等多種動態數據處理中。在交流伺服領域,許多學者將卡爾曼濾波應用于電磁電機中,同時取得了較好的控制效果。文獻[1 -2]將擴展卡爾曼濾波應用于無速度傳感器的永磁同步電機控制,對電機的轉速和磁鏈進行精確估計以提高直接轉矩控制的性能。文獻[3]將無跡卡爾曼濾波(UKF)原理與永磁同步電機的系統模型相結合設計出UKF 定子磁鏈觀測器,實現永磁同步電機轉子位置和轉速的無傳感器估計。使用無跡變換,以確定性的采樣方法計算隨機變量的統計特性,相比較擴展卡爾曼濾波估計精度更高,運算速度更快。文獻[4]將轉子電壓和轉子電流作為系統的輸入量,估計直流電機的轉速,增加了系統的魯棒性并且精確地估計了直流電機的轉速。文獻[5 -6]分別運用擴展卡爾曼濾波和模糊擴展卡爾曼濾波,建立感應電機的速度和磁鏈觀測器,類似于直流電機通過轉矩和磁鏈來控制電機的速度,使感應電機系統表現出良好的動態性能。
然而卡爾曼濾波算法在超聲波電動機的控制中應用研究很少,因此本文在研究超聲波電動機測速算法的基礎上,針對原有方法的不足將卡爾曼濾波理論與其相結合應用到超聲波電動機測速系統中。把各種測速誤差的影響看成超聲波測速系統的系統誤差,而編碼器的分辨率、加工和安裝精度等的影響作為測量誤差,建立系統的動態模型。在位置差分測速的基礎上,引入卡爾曼濾波以減小測量誤差,提高參數測量精度,并通過仿真研究驗證了該策略的有效性。
所謂濾波,實際上就是選頻,即從帶有多頻的信號中得到想要的頻率,而將不需要的頻率過濾掉。濾波理論就是在對系統信號進行測量和濾頻過程中,經過實踐檢驗符合實際情況的最優方法、理論體系。卡爾曼濾波理論是20 世紀60 年代發展起來的一種現代濾波理論,它是通過一系列遞歸數學公式描述和推算來估計某個過程的狀態。該理論之所以被廣泛應用,就是因為它能夠將噪聲對系統狀態的辨識影響降到最小。由于卡爾曼濾波器的解是遞歸計算的,其每一次的狀態更新只需要上一次的狀態估計值和最新的測量變量輸入計算便可得到,不需要存儲大量的數據,并且數據處理也很高效。這些優點特別適合基于微處理器的超聲波電動機伺服控制,在有限的內存空間下實現電機的實時控制。
卡爾曼濾波器用(含噪聲)測量變量作為反饋,從而來估計過程狀態。離散卡爾濾波器則是將系統的狀態方程和測量方程離散化,間隔一定的時間采樣測量變量獲得反饋,來估計某一時刻的狀態,其離散化的狀態方程由以下差分方程描述:

系統的測量方程:

式中:wk為系統的過程噪聲;vk為測量噪聲??柭鼮V波要求它們為相互獨立、均值為零的白色噪聲序列。過程噪聲和測量噪聲的方差矩陣分別為Q 和R,卡爾曼濾波中要求它們分別是已知值的非負定矩陣和正定矩陣。xk為系統的狀態變量,uk為確定性輸入變量,A 為狀態轉移矩陣,B 為可選的控制輸入增益矩陣。zk為系統的測量變量,H 為狀態變量xk對測量變量zk的增益。定義(^表示先驗,-表示估計)為在利用第k-1 時刻和以前時刻的測量值得到的第k 時刻的先驗狀態估計,定義x^k 為已知測量變量zk時第k 步的后驗狀態估計。則離散卡爾曼濾波算法的流程如圖1 所示。

圖1 離散卡爾曼濾波工作原理圖
在實際系統中,矩陣Q 和R 可能會隨著每次迭代計算而變化。為了降低算法以及計算的復雜度,這里假設它們都為常數。在卡爾曼濾波器的構造中,狀態誤差協方差的初值x0,P0,R 和Q 的取值對于卡爾曼濾波器的性質會有一定的影響。如果P0取值較小,卡爾曼濾波器收斂速度會比較快。而測量噪聲協方差R 一般可以通過測量得到,是濾波器的已知條件,通常我們離線獲取系統的測量值以計算測量噪聲協方差。比較難確定的是過程激勵噪聲協方差Q 的值,Q 表征了系統的統計特性,其值的大小表征著系統的動態性能,但是過程信號xk無法直接觀測到,因此很難通過直接的觀測量得到Q值。所以我們通常都是通過調整濾波器系數來獲得更好的性能。在初始值的選擇過程中,我們既要考慮收斂的快速性,又要防止卡爾曼濾波的發散,否則會對系統的控制產生不良的后果。
基于增量式編碼器的測速算法大致分為三類:(1)M 算法測速,在固定的時間間隔內測量脈沖發生器所產生的脈沖數來獲取速度值,這種測速算法適合中高速測量場合;(2)T 算法測速,通過測量相鄰兩個位置事件的時間間隔來確定被測速度,適合于低速測量場合,由于系統需要加入脈沖捕捉中斷電路和計時定時電路,所以實現起來T 算法要比M算法更加復雜;(3)M/T 算法測速,綜合了以上的兩種方法,同時測量檢測時間和在此時間內脈沖發生器所產生的脈沖數來確定被測轉速。M/T 算法在高低速時測量精度均有所提高,擴大了測速的范圍,但是也增加了硬件和軟件實現的復雜性。從成本和實用性角度考慮,本文采用M 算法進行測速。
由于系統噪聲和觀測噪聲的影響,M 法測速得到的速度值誤差較大,因此將卡爾曼濾波引入測速算法,以抑制電機本身及編碼器引起的白噪聲對測速算法的影響。在超聲波測速系統中,電機的位置和速度為未知量,因此把電機的位置θ、速度v 認為是狀態變量,建立一個關于位置和速度的模型,從這個模型得到卡爾曼濾波器。
設超聲波電動機在k 時刻的位置為θk、速度為vk,從k 時刻到k +1 時刻電機的加速度為ak,根據牛頓運動定律電機,在k+1 時刻的位置θk-1和速度vk-1可分別表示:

由于系統在運行過程中速度會有一定的波動,甚至有時會出現大的波動,因此電機速度的變化在實際運行中并無固定的規律性,這里將速度的變化率即加速度看成高斯白噪聲。則狀態方程可表示:

式中:ak即w 為系統的模型干擾,它符合均值為零、方差為σa的正態分布。則可得到協方差矩陣:

每隔固定的時刻,對電機的位置進行測量,則觀測方程可表示:

式中:v 為系統的測量干擾,它符合均值為零、方差為σz的正態分布,且系統干擾與模型干擾為兩個相互獨立高斯白噪聲。則可得到協方差矩陣R:

超聲波電動機的卡爾曼濾波模型已經確定,要想實現圖1 中公式的遞推,必須首先確定初值,P0。對于初值,P0的確定,至今尚未有成熟的方法,大多數情況下,都是根據經驗利用一期的觀測信息確定狀態向量中的相對位置信息θ0,再利用相鄰兩期的相對位置確定角速度v0,這樣便得到了濾波的初值[15]。P0是x0的估計誤差協方差矩陣,假設的均值為μ0,則:

本文通過MATLAB 仿真來驗證卡爾曼濾波器對于超聲波電動機測速系統的濾波性能,其觀測方程的電機位置信息由控制系統實際運行給出。實際系統的實驗平臺為基于TMS320F28335 的實驗室自制直徑為80 mm 的超聲波電動機,測角系統采用雷尼紹公司SIGNUM RESM 系列圓光柵編碼器,圓光柵一圈刻線數為31 488 道,經細分盒100 細分(四倍頻采集方式),每轉一圈產生3 148 800 個脈沖。所以其測量分辨率Re為:

實驗對象為閉環PI 控制的超聲波電動機系統,由DSP 的eQEP 單元以10 Hz 的頻率獲取編碼器發出的脈沖數以確定電機的位置,再用M 算法計算電機的速度。雖然M 算法獲得的轉速存在一定的誤差,但是基本上能夠反映電機的實際速度,因此在有限的實驗條件下將M 算法獲得的速度作為參考標準與卡爾曼濾波算法仿真濾波后的電機速度進行比較[9]。為了便于獲取每次采樣的脈沖數和電機的速度,實驗平臺通過SCI 模塊與上位機相連接,實時的將規定數據發送給上位機,上位機將數據記錄保存下來。
實驗分為兩組:(1)在電機運行開始前,通過上位機設定電機的轉速為22 (°)/s,記錄電機從起動到穩定這一過程的電機位置信息和轉速信息。(2)在電機運行開始前,先設定電機的轉速為12 (°)/s,當電機運行穩定后再設定電機的轉速為1.8 (°)/s,實現電機的調速控制,記錄這整個過程電機的位置信息和轉速信息。
實驗結束后,將兩組實驗得到的電機位置信息導入到MATLAB,確定Q,R,P0以及X^0 的值進行初始化,按照圖1 的遞歸流程實現卡爾曼濾波器,得到基于卡爾曼濾波的速度觀測值,并把濾波后的速度值與系統測得的速度值進行比較,以驗證卡爾曼濾波器的濾波及辨識轉速的性能。
實驗中使用的Q,R 參數如下:Q =60,R =8.762×10-3。

圖2 ~圖4 為實驗(1)的實驗結果:M 算法得到的曲線受噪聲的影響跳動較大,尤其在電機的瞬時起動階段有明顯的過沖,電機定子的振動在起動階段還并不穩定,存在電機振蕩情況。并且實驗室中采用光電編碼器測量超聲波電動機的轉速信息時需要用到聯軸器,由于實驗臺加工精度的影響,電機起動時聯軸器的彈性環節使得測試結果中速度有較大的振蕩。由圖2 可以看出,卡爾曼濾波算法得到的速度曲線基本上貼近M 算法的結果,速度估算動態跟隨性比較好,并且曲線變得更加的平滑,對電機起動階段的速度超調有明顯的抑制作用,最大超調從36 (°)/s 降低到17 (°)/s。在穩定階段也可以看出較好的濾波性,圖3 為圖2 中穩定階段的放大圖,相較于M 算法,卡爾曼濾波后的轉速值方差從3.87降低到2.18,波動由4.13 (°)/s 降低到2.85 (°)/s。
圖5 ~圖6 為實驗(2)的實驗結果,由圖5 的實驗結果可以看出,卡爾曼濾波算法在電機的調速過程中表現出較好的跟隨性,但是在電機轉速突變的過程中,卡爾曼濾波算法的誤差增大并且存在一定的延時。而在穩定階段還是表現出了良好的抑制噪聲作用。在第一段速度階段,轉速的最大超調由14.2 (°)/s 減少到9.2 (°)/s,穩定階段的波動也明顯減小,由3 (°)/s 降低到2.2 (°)/s。在第二段低速階段,穩定階段的波動由0.7 (°)/s 降低到0.5(°)/s。整個調速過程(包括轉速突變誤差較大過程)轉速值方差由28.45 降低到26.34。

卡爾曼濾波雖然解決了噪聲的問題,但是由實驗結果可以看出,這種方法在估測電機轉速動態過程中還存在滯后性,尤其在轉速突變時更加明顯,在調速階段,滯后最大達到0.3 s,這在以后的實驗研究中還有待改進。


本文提出了一種基于卡爾曼濾波的超聲波電動機測速算法,通過選取電機的位置信息作為觀測變量對速度信息進行估計。仿真結果表明,該方法改善了M 測速算法存在的誤差較大的問題,速度動態跟隨性好,更加接近電機的真實速度。但是,該方法在調速的動態過程中還存在著一定的滯后性,對于高性能的控制要求還不能夠滿足要求。并且在初值的選取上還是主要依靠的試湊法,適應性還有待進一步的研究。
[1] 陳振,劉向東,靳永強,等. 采用擴展卡爾曼濾波磁鏈觀測器的永磁同步電機直接轉矩控制[J].中國電機工程學報,2008,28(33):75 -81.
[2] 張猛,肖曦,李永東.基于擴展卡爾曼濾波器的永磁同步電機轉速和磁鏈觀測器[J].中國電機工程學報,2007,27(36):36-40.
[3] 林海,嚴衛生,李宏,等.基于無跡卡爾曼濾波的永磁同步電機無傳感器直接轉矩控制[J].西北工業大學學報,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] 王磊,李宏,武明珠.基于擴展卡爾曼濾波的永磁同步電機參數辨識[J].微特電機,2012,40(7):19 -22.
[8] 潘勝輝,郝東亞,張興達. 基于擴展卡爾曼濾波的GPS 動態測速算法[J].信息技術,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].單片機與嵌入式系統應用,2003,(11):63 -66.
[14] 于紅霞,胡靜濤.基于自適應卡爾曼濾波的異步電機轉速和負載轉矩估計[J].數據采集與處理,2012,27(5):552 -558.
[15] 宋春迎. 動態定位中的卡爾曼濾波研究[D]. 長沙:中南大學,2006:21 -36.