王 維,賈洪平
(江蘇大學電氣信息工程學院,江蘇鎮江212013)
永磁同步電機 (Permanent Magnet Synchronous Motor,PMSM)較傳統電機而言,其諸多優越的性能使其成為如今的研究熱點[1,2]。永磁同步電機的控制方式有很多,而預測電流控制方式以其穩態精度高、響應迅速等眾多優點脫穎而出。但是預測電流控制對電機數學模型的準確性要求很高,如果電機參數出現一定的變化,電機的輸出就會出現偏差。進一步就會導致電機振蕩、電流產生靜態誤差等情況的發生[3]。
針對上述情況,有學者提出利用參數辨識的方法來修正模型[4]。文獻 [5]提出了一種結合實驗測量的蟻群算法對永磁同步電機參數進行辨識的方法,但是基本蟻群算法前期搜索耗時太長,后期易陷入局部最優的局面。本文對此提出改進,采用一種自適應改變信息素揮發系數的策略來加快收斂速度,此外還設計了一種自適應更新信息素的公式來提高全局搜索能力。然后基于優化后的蟻群算法來實現參數辨識,進而對電機數學模型進行修正,使其穩定輸出,達到消除電流靜態誤差的目的。
永磁同步電機轉子磁場定向的d-q同步旋轉坐標系下的定子繞組電流方程為:

式中,Lb為定子電感;Ra為定子電阻;ωe為轉子電角速度;ψf為轉子永磁體磁鏈;id、iq分別為定子電流的d、q軸分量;ud、uq分別為定子電壓的 d、q軸分量。
使用歐拉法對式 (1)和式 (2)進行離散化,可以得到電流的預測值為:

式中,k表示當前采樣時刻;k+1表示下一采樣時刻;Ta為采樣周期;id(k)、iq(k)分別為k時刻的d、q軸電流;id(k+1)、iq(k+1)分別為 k+1時刻的 d、q軸電流;ud(k)、uq(k)分別為k時刻的d、q軸電壓;ωe(k)為k時刻的轉子電角速度。


圖1 PWM預測控制原理圖
如果一個系統參數未定但模型已知,可將其參數辨識方面的問題看作是求最優化解方面的問題[6]。蟻群算法是一種非常有利于求最優化解的方法。要想將蟻群算法應用于參數辨識,首先需要設計一個可調模型,該模型在結構上要與參考模型一致,同時構造一個適應度函數,該函數用于比較兩者之間的相似程度以及評價當前的辨識結果。然后,通過蟻群算法得到辨識結果并輸出給可調模型,如果適應度函數值的準確度達到了預期的要求,則說明辨識結果準確。
式(5)和式(6)涉及到三個需要辨識的參數,分別為磁鏈ψf、電阻Ra與電感Lb,但是由于電壓方程是一個二維的方程組,其維數小于參數個數,方程欠秩,得到的是多解,辨識到的參數就不準確。但是相關的研究顯示,定子電阻參數的偏差幾乎不會影響到預測電流控制[7]。所以,本文只針對電機的電感參數和磁鏈參數二者進行辨識。參數辨識的原理如圖2所示。

圖2 參數辨識原理圖
先仿照電機參考模型,設計一個結構相同、參數可調的模型:


式中,N表示電機采集d、q軸電流與d、q軸電壓等數據一共N組。
蟻群算法是一種模擬螞蟻覓食原理的仿生優化群智能算法。蟻群算法一開始被應用于解決旅行商問題(TSP),即一個螞蟻需訪問完n個城市且每個城市只能訪問一次,最后返回起點,任務是找出最短路徑[8]。經典蟻群算法的整體流程如圖3所示。

圖3 經典蟻群算法流程圖
一開始,m個螞蟻被隨機放置在城市里,每條路徑上的信息素初始值一致。然后,螞蟻k(k=1,2,…,m)根據公式的概率移動,選擇下一個訪問城市,選擇概率為:

式中,τij指邊(i,j)上的信息素;ηij指從城市 i轉移到城市j的啟發式因子;ak指螞蟻k接下來要訪問的城市集合;α和β是決定信息素和啟發式因子二者哪一個相對比較重要的兩個參數。
此外,記錄螞蟻k已經訪問過的城市,防止螞蟻重復訪問。t時刻過后,全部m個螞蟻都訪問完了所有的城市,這時候記錄下所有螞蟻走過的路線并計算其各自的長度,只保留最短路線,然后更新每條路徑邊上的信息素數量,在t+a時刻,邊 (i,j)上的信息素遵循以下規則:



式中,Tk為螞蟻k正處于的路徑。由上述的式(12)可以看出,當路徑長度dij越來越小的時候,則這條路徑的每條邊上的信息素數量也就會越來越多,那更多的螞蟻就會在接下來的多次迭代中選擇這條路徑[9]。
當問題規模較大時,由于信息素揮發系數ρ的存在,會使一些沒有被搜索到的解的信息素數量減少到接近于0,雖然可以通過降低ρ值來改進,但同時也會降低收斂速度。對此,可以采用一種改進策略來自適應地改變 ρ的值[10,11]:

式中,ρ(n)為循環了n次的信息素揮發系數,且0≤ρ(n)≤1;M為假定最優解沒有明顯改善時的最大允許循環次數;λ為限制系數,且0<λ<1;n為循環次數;ρmin為最小信息素揮發系數。
由上述公式可知,ρ(n)初值是c,其中c是一個介于0.8與1.0之間的數。當M次循環后的最優解沒有明顯改善時,ρ值將減小。為了控制ρ的無限制遞減,設置了ρ的最小值,當ρ小于最小值時,最小值將被選中,取樣過程如圖4所示。

圖4 ρ的取樣過程
當信息素揮發系數ρ能夠自適應地調整自身數值時,算法的收斂速度就會得到顯著的提升。
蟻群算法在構造解的過程中運用的是正反饋原理,意在強化解的性能,但是卻容易出現停滯的局面,所以這時需要對路徑上的信息素數量進行動態調整。文獻 [12]提出了一種自適應蟻群算法,旨在縮小最優和最差路徑上信息素數量的差距,同時對解空間進行更完全的搜索,提高全局搜索能力。信息素更新公式為:

式中,f(x)=x/v;x為收斂的次數;v為常數;所以收斂次數越多;f(x)的取值越大。
信息素數量的更新自適應地進行,各路徑上的信息素數量同時得到了動態調整,使得螞蟻不過分集中在某條路徑上,也不過于分散,從而避免了早熟和局部收斂的局面,提高了全局搜索能力。
本文將利用Matlab/Simulink軟件搭建仿真模型,以此檢驗改進后的蟻群算法用于預測電流控制的準確性。仿真使用的永磁同步電機參數見表1。

表1 電機參數
本次仿真過程中,為了維持時間成本與改進蟻群算法精度兩者間的平衡,對相關算法參數進行了調整,設定蟻群規模為100;城市數為10;限制系數λ取0.9;初值c取0.9;ρmin值取0.3;最大迭代次數為60。給定的仿真條件為:一開始永磁同步電機以2200r/min的轉速階躍起動;在0.1s時附加額定負載;在0.2s時將辨識到的磁鏈與電感參數輸出至預測電流控制模塊中;仿真過程記錄0.4s的波形。
圖5和圖6所示分別為電感和磁鏈的辨識曲線。從圖中的曲線可以看出,一開始的辨識值與實際值偏差很大,但在經過60次的迭代以后,辨識值與實際值基本吻合,所以得到的辨識結果證明了本文提出的改進蟻群算法是可行的。

圖5 電感辨識過程

圖6 磁鏈辨識過程


圖7 2倍參數偏差時d、q軸電流的響應波形

圖8 0.5倍參數偏差時d、q軸電流的響應波形
為了消除永磁同步電機在預測電流控制過程中出現的電流靜態誤差,本文提出了一種改進蟻群算法,然后將其應用在參數的在線辨識中,利用辨識得到的成果來修正控制器中的參數,使實際值準確地跟蹤給定值,從而使電機輸出趨于穩定。本文也針對傳統蟻群算法的局限性進行了改進。自適應改變信息素揮發系數的策略能夠幫助蟻群算法加快收斂速度,自適應改變信息素值的策略能夠幫助蟻群算法提高全局搜索能力,這兩點改進大大提升了蟻群算法的性能。最后通過一系列的仿真實驗證明了本文所提出的方法是完全可行的。