楊圣蓉,王劍平,王 思,張 果,楊曉洪
(昆明理工大學 信息工程與自動化學院,云南 昆明650500)
永磁同步電機(PMSM)因具有高功率密度、高效率、高可靠性等優良性能,被廣泛應用于各種性能要求高的場合。對PMSM 的直接控制(如矢量控制和直接轉矩控制)[1]中需要安裝傳感器來采集電機的轉速和轉子位置信號,帶來的問題是傳感器的安裝、測量準確性以及誤差都會影響控制系統的可靠性。為解決上述問題而提出的無傳感器技術[2]已經成為近年來的研究熱點,其中,基于卡爾曼的估計方法以其良好的動態性和魯棒性而備受關注[3,4]。
卡爾曼濾波器(Kalman filter,KF)自1960 年被提出[5],已成為控制、信號處理與通信等領域最基本最重要的計算方法和工具之一,并被成功應用到航空、航天、工業過程及社會經濟等不同領域[5~6]。擴展卡爾曼濾波(EKF)觀測器由于不受電壓直流偏移量的影響,可有效抑制噪聲,而且具有良好的低速性能,對電機參數的變化較為敏感,在電機控制中得到了廣泛應用。
EKF 中噪聲協方差矩陣的選取會直接影響系統的性能,研究者們對此問題也進行了很多嘗試,如Shi K L 等人[7]使用遺傳算法優化協方差矩陣,文獻[8]采用自適應KF 來實現噪聲協方差矩陣自適應變化,文獻[9]中采用模擬退火法優化EKF。本文采用粒子群優化(PSO)算法優化EKF,并利用優化得到的EKF 觀測PMSM 的轉速。
PSO 是Kenndy J 等人[10]受人工生命研究結果的啟發而提出的一種基于群體智能的全局隨機搜索算法,它基于“種群”和“進化”的概念,通過群體中每個個體的合作和競爭,實現復雜空間最優解的搜索。
為了解決EKF 中噪聲協方差陣對估計準確性影響較大,且選取較困難的問題,設計了基于STM32的PMSM調速系統,利用PSO 算法離線選取和優化EKF 的噪聲協方差陣,并利用該系統對電機進行了實時性能測試分析。實驗結果表明:使用PSO 算法優化EKF 的PMSM 調速系統能解決EKF 中噪聲協方差陣選取困難的問題,且系統的估計準確性較高。
EKF 過程實際上是一個循環迭代過程,循環由時間更新方程和狀態更新方程構成
1)時間更新方程

2)狀態更新方程


其中,Fk,k-1為狀態轉移矩陣;Hk為觀測矩陣;Kk為濾波增益陣;Q 為系統噪聲的協方差矩陣,R 為觀測噪聲的協方差矩陣。
為了使用EKF 同時觀測負載轉矩和電機狀態,將負載轉矩增廣為狀態變量,可得到PMSM 的狀態方程

其中,ud/uq為定子電壓d/q 軸分量,id/iq為定子電流d/q 軸分量,Ls為定子電感,Rs為定子電阻,ψf為永磁體磁鏈,ωe為轉子電角速度,θe為轉子位置角,Np為電機極對數,J 為轉動慣量。
選取狀態變量為x=[idiqωeθeTL],輸入變量u=[uduq]T,觀測變量y=[idiq]T,得到基于EKF 的PMSM 觀測器矩陣如下

如圖1,PSO 算法首先在可行解空間中初始化一群粒子,每個粒子都代表著問題的一個潛在最優解,且每個粒子對應一個適應度值。設粒子群規模為N,每個粒子在D 維空間中運動,組成的粒子群X=[X1,X2,…,XN],其中,第i個粒子在D 維空間中的位置Xi=[Xi1,Xi2,…,XiD]T,當前的速度Vi=[Vi1,Vi2,…,ViD]T。在每次迭代過程中,粒子通過個體極值Pi和群體極值Pg來更新自身的速度和位置,標準的PSO 算法可描述為[11]

其中,w 為慣性權重,d=1,2,…,N;k 為當前迭代次數;Vid為粒子的速度;c1,c2為加速度因子;r1和r2為分布于[0,1]區間相互獨立的隨機數。
慣性權重w 的加入可以防止粒子飛出問題空間而發生群體“爆炸”現象,體現的是粒子繼承先前速度的能力。Shi Y[12]最先將慣性權重引入PSO 算法中,并分析指出較大的慣性權值有利于全局搜索,較小的慣性權值更利于局部搜索,且w 不變的粒子群易陷入局部最優,求解精度低。為了更好地平衡算法的全局,文中采用線性遞減慣性權重(linear decreasing inertia weight,LDIW),如式(11)所示,這種動態w 值可以增強算法在后期的局部搜索能力,利于算法跳出局部最優解而求得最優解,提高算法的求解精度

式中 wstart為初始慣性權重,wend為迭代至最大次數時的慣性權重,k 為當前迭代次數,Tmax為最大迭代次數。
選取使用給定轉速和電機輸出轉速的均方差誤差(root-mean-square error,RMSE)作為評價系統性能的指標,其定義如下

式中 s 為給定轉速,e 為電機實際輸出轉速,n 為采樣次數。

圖1 PSO 算法流程圖Fig 1 Flow chart of PSO algorithm
選取PMSM 的參數為:額定轉速nN=3 000 r/min,定子電阻Rs=2.1 Ω;定子電感Ls=1.4 mH;極對數Np=4。系統采用智能IPM 模塊實現主電路的功率變換功能,以STM32F407ZET6 作為核心控制器組成控制電路,使用PSO離線優化噪聲協方差陣,建立無速度傳感器矢量控制系統,并使用Keil 軟件編程并進行實時調試。將電機檢測到的轉速數據通過串口實時傳送到所設計的界面。
本文所設計的無傳感器調速系統的硬件主要由主回路和控制回路構成。主回路有整流模塊、濾波電路、智能功率模塊IPM 和PMSM 組成。控制回路包括主控芯片STM32F407ZET6、定子電流檢測電路、直流側母線電壓檢測電路等。控制系統硬件結構如圖2 所示。

圖2 控制系統硬件結構圖Fig 2 Hardware structure of control system
系統主控芯片STM32F407ZET6 擁有Cortex M4 內核,負責處理采樣得到的母線電壓、定子電流等信號,然后通過EKF 算法得到六路PWM 控制信號,經光耦隔離和驅動放大等處理之后控制逆變器的開關狀態。STM32F407ZET6還監控系統的運行狀態,當系統出現短路、過流、過壓、欠壓以及過熱等故障時,及時封鎖PWM 輸出信號,使電機停機。
在Keil 平臺上進行程序開發,程序主要由主程序和中斷服務程序組成。主程序完成系統各個模塊的初始化,包括CPU 時鐘初始化、I/O 端口初始化、中斷向量表初始化、設置定時器、A/D 轉換初始化、片內寄存器初始化等。A/D轉換、矢量控制、SVPWM、EKF 控制程序用中斷服務程序實現。由于PSO 算法計算量大,STM32F407 尚不能進行處理,選擇離線選取和優化卡爾曼濾波器中的矩陣參數,主要的中斷服務程序流程圖如圖3 所示。

圖3 中斷服務程序流程圖Fig 3 Flow chart of interrupt service program
為了實時直觀監控電機的運行,采用Qt 設計上位機界面,通過串口實時采集轉速信號并在上位機顯示。給定轉速為nN=1 000 r/min 得到的轉速波形如圖4 所示。

圖4 轉速波形Fig 4 Rotating speed waveform
圖4 的曲線分別表示給定轉速和實時檢測到的電機轉子端輸出轉速,由圖可知,轉速能較快達到給定,且幾乎無超調。可見設計的控制系統性能較優,得到的EKF 觀測器能對轉速進行精確的估計,PSO 離線得到的參數也較滿意。
本文研究了基于PSO的EKF觀測器估計PMSM轉速的方法,使用PSO 離線選取和優化EKF 所需要的協方差陣,解決了EKF 噪聲協方差陣選取較困難的問題。利用STM32 控制器搭建系統進行實驗,實驗結果表明:所設計的控制系統能滿足控制性能、快速實時跟隨給定,實現無傳感器精確控制。
[1] Hafeez M,Uddin M Nasir,Rahim Nasrudin Abd,et al.Self-tuned NFC and adaptive torque hysteresis-based DTC scheme for IN drive[J].IEEE Transactions on Industry Applications,2014,50(2):1410-1419.
[2] Yin Zhanggang,Zhao Chang,Liu Jing,et al.Research on antierror performance of speed and flux estimator for induction motor using robust reduced-order EKF[J].IEEE Transactions on Industrial Informatics,2013,9(2):1037-1046.
[3] 王宏健,王 晶,邊信黔,等.基于組合EKF 的自主水下航行器SLAM[J].機器人,2012,34(1):56-64.
[4] Alonge Francesco,D’Ippolito Filippo,Sferlazza Antonini.Sensorless control of induction-motor drive based on robust Kalman filter and adaptive speed estimation[J].IEEE Transactions on Industrial Electronic,2014,61(3):1444-1453.
[5] Kalman R.A new approach to linear filtering and prediction problems[J].Trans ASME,J Basic Eng,1960,82D:35-45.
[6] 沈 悅,張 雷,傅忠謙,等.區間卡爾曼濾波算法在高動態導航的研究[J].宇航學報,2013,34(37):355-361.
[7] Shi K L,Chan T F,Wong Y K,et al.Speed estimation of an induction motor drive using an optimized extended Kalman filter[J].IEEE Trans Ind Electron,2002,49(1):124-133.
[8] 余洪霞,胡靜濤.基于自適應卡爾曼濾波的異步電機轉速和負載轉矩估計[J].數據采集與處理,2012,27(5): 522-558.
[9] Buyamin S,Finch J W.Comparative study on optimising the EKF for speed estimation of an induction motor using simulated annealing and genetic algorithm[C]∥2007 IEEE International Electric Machines and Drives Conference,2007:1689-1694.
[10]Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proceedings of the 4th IEEE International Conference on Neural Networks,Piscataway:IEEE Service Center,1995:1942-1948.
[11]史 峰,王 輝,郁 磊,等.Matlab 智能算法30 個案例分析[M].北京:北京航空航天大學出版社,2011.
[12]Shi Y,Eberhart R.Empirical study of particle swarm optimization[C]∥Proc IEEE Congr Evol Comput,1999:1945-1950.