王 維,賈洪平
(江蘇大學(xué)電氣信息工程學(xué)院,江蘇鎮(zhèn)江212013)
永磁同步電機(jī) (Permanent Magnet Synchronous Motor,PMSM)較傳統(tǒng)電機(jī)而言,其諸多優(yōu)越的性能使其成為如今的研究熱點(diǎn)[1,2]。永磁同步電機(jī)的控制方式有很多,而預(yù)測(cè)電流控制方式以其穩(wěn)態(tài)精度高、響應(yīng)迅速等眾多優(yōu)點(diǎn)脫穎而出。但是預(yù)測(cè)電流控制對(duì)電機(jī)數(shù)學(xué)模型的準(zhǔn)確性要求很高,如果電機(jī)參數(shù)出現(xiàn)一定的變化,電機(jī)的輸出就會(huì)出現(xiàn)偏差。進(jìn)一步就會(huì)導(dǎo)致電機(jī)振蕩、電流產(chǎn)生靜態(tài)誤差等情況的發(fā)生[3]。
針對(duì)上述情況,有學(xué)者提出利用參數(shù)辨識(shí)的方法來(lái)修正模型[4]。文獻(xiàn) [5]提出了一種結(jié)合實(shí)驗(yàn)測(cè)量的蟻群算法對(duì)永磁同步電機(jī)參數(shù)進(jìn)行辨識(shí)的方法,但是基本蟻群算法前期搜索耗時(shí)太長(zhǎng),后期易陷入局部最優(yōu)的局面。本文對(duì)此提出改進(jìn),采用一種自適應(yīng)改變信息素?fù)]發(fā)系數(shù)的策略來(lái)加快收斂速度,此外還設(shè)計(jì)了一種自適應(yīng)更新信息素的公式來(lái)提高全局搜索能力。然后基于優(yōu)化后的蟻群算法來(lái)實(shí)現(xiàn)參數(shù)辨識(shí),進(jìn)而對(duì)電機(jī)數(shù)學(xué)模型進(jìn)行修正,使其穩(wěn)定輸出,達(dá)到消除電流靜態(tài)誤差的目的。
永磁同步電機(jī)轉(zhuǎn)子磁場(chǎng)定向的d-q同步旋轉(zhuǎn)坐標(biāo)系下的定子繞組電流方程為:
式中,Lb為定子電感;Ra為定子電阻;ωe為轉(zhuǎn)子電角速度;ψf為轉(zhuǎn)子永磁體磁鏈;id、iq分別為定子電流的d、q軸分量;ud、uq分別為定子電壓的 d、q軸分量。
使用歐拉法對(duì)式 (1)和式 (2)進(jìn)行離散化,可以得到電流的預(yù)測(cè)值為:
式中,k表示當(dāng)前采樣時(shí)刻;k+1表示下一采樣時(shí)刻;Ta為采樣周期;id(k)、iq(k)分別為k時(shí)刻的d、q軸電流;id(k+1)、iq(k+1)分別為 k+1時(shí)刻的 d、q軸電流;ud(k)、uq(k)分別為k時(shí)刻的d、q軸電壓;ωe(k)為k時(shí)刻的轉(zhuǎn)子電角速度。
圖1 PWM預(yù)測(cè)控制原理圖
如果一個(gè)系統(tǒng)參數(shù)未定但模型已知,可將其參數(shù)辨識(shí)方面的問(wèn)題看作是求最優(yōu)化解方面的問(wèn)題[6]。蟻群算法是一種非常有利于求最優(yōu)化解的方法。要想將蟻群算法應(yīng)用于參數(shù)辨識(shí),首先需要設(shè)計(jì)一個(gè)可調(diào)模型,該模型在結(jié)構(gòu)上要與參考模型一致,同時(shí)構(gòu)造一個(gè)適應(yīng)度函數(shù),該函數(shù)用于比較兩者之間的相似程度以及評(píng)價(jià)當(dāng)前的辨識(shí)結(jié)果。然后,通過(guò)蟻群算法得到辨識(shí)結(jié)果并輸出給可調(diào)模型,如果適應(yīng)度函數(shù)值的準(zhǔn)確度達(dá)到了預(yù)期的要求,則說(shuō)明辨識(shí)結(jié)果準(zhǔn)確。
式(5)和式(6)涉及到三個(gè)需要辨識(shí)的參數(shù),分別為磁鏈ψf、電阻Ra與電感Lb,但是由于電壓方程是一個(gè)二維的方程組,其維數(shù)小于參數(shù)個(gè)數(shù),方程欠秩,得到的是多解,辨識(shí)到的參數(shù)就不準(zhǔn)確。但是相關(guān)的研究顯示,定子電阻參數(shù)的偏差幾乎不會(huì)影響到預(yù)測(cè)電流控制[7]。所以,本文只針對(duì)電機(jī)的電感參數(shù)和磁鏈參數(shù)二者進(jìn)行辨識(shí)。參數(shù)辨識(shí)的原理如圖2所示。
圖2 參數(shù)辨識(shí)原理圖
先仿照電機(jī)參考模型,設(shè)計(jì)一個(gè)結(jié)構(gòu)相同、參數(shù)可調(diào)的模型:
式中,N表示電機(jī)采集d、q軸電流與d、q軸電壓等數(shù)據(jù)一共N組。
蟻群算法是一種模擬螞蟻覓食原理的仿生優(yōu)化群智能算法。蟻群算法一開(kāi)始被應(yīng)用于解決旅行商問(wèn)題(TSP),即一個(gè)螞蟻需訪(fǎng)問(wèn)完n個(gè)城市且每個(gè)城市只能訪(fǎng)問(wèn)一次,最后返回起點(diǎn),任務(wù)是找出最短路徑[8]。經(jīng)典蟻群算法的整體流程如圖3所示。
圖3 經(jīng)典蟻群算法流程圖
一開(kāi)始,m個(gè)螞蟻被隨機(jī)放置在城市里,每條路徑上的信息素初始值一致。然后,螞蟻k(k=1,2,…,m)根據(jù)公式的概率移動(dòng),選擇下一個(gè)訪(fǎng)問(wèn)城市,選擇概率為:
式中,τij指邊(i,j)上的信息素;ηij指從城市 i轉(zhuǎn)移到城市j的啟發(fā)式因子;ak指螞蟻k接下來(lái)要訪(fǎng)問(wèn)的城市集合;α和β是決定信息素和啟發(fā)式因子二者哪一個(gè)相對(duì)比較重要的兩個(gè)參數(shù)。
此外,記錄螞蟻k已經(jīng)訪(fǎng)問(wèn)過(guò)的城市,防止螞蟻重復(fù)訪(fǎng)問(wèn)。t時(shí)刻過(guò)后,全部m個(gè)螞蟻都訪(fǎng)問(wèn)完了所有的城市,這時(shí)候記錄下所有螞蟻?zhàn)哌^(guò)的路線(xiàn)并計(jì)算其各自的長(zhǎng)度,只保留最短路線(xiàn),然后更新每條路徑邊上的信息素?cái)?shù)量,在t+a時(shí)刻,邊 (i,j)上的信息素遵循以下規(guī)則:
式中,Tk為螞蟻k正處于的路徑。由上述的式(12)可以看出,當(dāng)路徑長(zhǎng)度dij越來(lái)越小的時(shí)候,則這條路徑的每條邊上的信息素?cái)?shù)量也就會(huì)越來(lái)越多,那更多的螞蟻就會(huì)在接下來(lái)的多次迭代中選擇這條路徑[9]。
當(dāng)問(wèn)題規(guī)模較大時(shí),由于信息素?fù)]發(fā)系數(shù)ρ的存在,會(huì)使一些沒(méi)有被搜索到的解的信息素?cái)?shù)量減少到接近于0,雖然可以通過(guò)降低ρ值來(lái)改進(jìn),但同時(shí)也會(huì)降低收斂速度。對(duì)此,可以采用一種改進(jìn)策略來(lái)自適應(yīng)地改變 ρ的值[10,11]:
式中,ρ(n)為循環(huán)了n次的信息素?fù)]發(fā)系數(shù),且0≤ρ(n)≤1;M為假定最優(yōu)解沒(méi)有明顯改善時(shí)的最大允許循環(huán)次數(shù);λ為限制系數(shù),且0<λ<1;n為循環(huán)次數(shù);ρmin為最小信息素?fù)]發(fā)系數(shù)。
由上述公式可知,ρ(n)初值是c,其中c是一個(gè)介于0.8與1.0之間的數(shù)。當(dāng)M次循環(huán)后的最優(yōu)解沒(méi)有明顯改善時(shí),ρ值將減小。為了控制ρ的無(wú)限制遞減,設(shè)置了ρ的最小值,當(dāng)ρ小于最小值時(shí),最小值將被選中,取樣過(guò)程如圖4所示。
圖4 ρ的取樣過(guò)程
當(dāng)信息素?fù)]發(fā)系數(shù)ρ能夠自適應(yīng)地調(diào)整自身數(shù)值時(shí),算法的收斂速度就會(huì)得到顯著的提升。
蟻群算法在構(gòu)造解的過(guò)程中運(yùn)用的是正反饋原理,意在強(qiáng)化解的性能,但是卻容易出現(xiàn)停滯的局面,所以這時(shí)需要對(duì)路徑上的信息素?cái)?shù)量進(jìn)行動(dòng)態(tài)調(diào)整。文獻(xiàn) [12]提出了一種自適應(yīng)蟻群算法,旨在縮小最優(yōu)和最差路徑上信息素?cái)?shù)量的差距,同時(shí)對(duì)解空間進(jìn)行更完全的搜索,提高全局搜索能力。信息素更新公式為:
式中,f(x)=x/v;x為收斂的次數(shù);v為常數(shù);所以收斂次數(shù)越多;f(x)的取值越大。
信息素?cái)?shù)量的更新自適應(yīng)地進(jìn)行,各路徑上的信息素?cái)?shù)量同時(shí)得到了動(dòng)態(tài)調(diào)整,使得螞蟻不過(guò)分集中在某條路徑上,也不過(guò)于分散,從而避免了早熟和局部收斂的局面,提高了全局搜索能力。
本文將利用Matlab/Simulink軟件搭建仿真模型,以此檢驗(yàn)改進(jìn)后的蟻群算法用于預(yù)測(cè)電流控制的準(zhǔn)確性。仿真使用的永磁同步電機(jī)參數(shù)見(jiàn)表1。
表1 電機(jī)參數(shù)
本次仿真過(guò)程中,為了維持時(shí)間成本與改進(jìn)蟻群算法精度兩者間的平衡,對(duì)相關(guān)算法參數(shù)進(jìn)行了調(diào)整,設(shè)定蟻群規(guī)模為100;城市數(shù)為10;限制系數(shù)λ取0.9;初值c取0.9;ρmin值取0.3;最大迭代次數(shù)為60。給定的仿真條件為:一開(kāi)始永磁同步電機(jī)以2200r/min的轉(zhuǎn)速階躍起動(dòng);在0.1s時(shí)附加額定負(fù)載;在0.2s時(shí)將辨識(shí)到的磁鏈與電感參數(shù)輸出至預(yù)測(cè)電流控制模塊中;仿真過(guò)程記錄0.4s的波形。
圖5和圖6所示分別為電感和磁鏈的辨識(shí)曲線(xiàn)。從圖中的曲線(xiàn)可以看出,一開(kāi)始的辨識(shí)值與實(shí)際值偏差很大,但在經(jīng)過(guò)60次的迭代以后,辨識(shí)值與實(shí)際值基本吻合,所以得到的辨識(shí)結(jié)果證明了本文提出的改進(jìn)蟻群算法是可行的。
圖5 電感辨識(shí)過(guò)程
圖6 磁鏈辨識(shí)過(guò)程
圖7 2倍參數(shù)偏差時(shí)d、q軸電流的響應(yīng)波形
圖8 0.5倍參數(shù)偏差時(shí)d、q軸電流的響應(yīng)波形
為了消除永磁同步電機(jī)在預(yù)測(cè)電流控制過(guò)程中出現(xiàn)的電流靜態(tài)誤差,本文提出了一種改進(jìn)蟻群算法,然后將其應(yīng)用在參數(shù)的在線(xiàn)辨識(shí)中,利用辨識(shí)得到的成果來(lái)修正控制器中的參數(shù),使實(shí)際值準(zhǔn)確地跟蹤給定值,從而使電機(jī)輸出趨于穩(wěn)定。本文也針對(duì)傳統(tǒng)蟻群算法的局限性進(jìn)行了改進(jìn)。自適應(yīng)改變信息素?fù)]發(fā)系數(shù)的策略能夠幫助蟻群算法加快收斂速度,自適應(yīng)改變信息素值的策略能夠幫助蟻群算法提高全局搜索能力,這兩點(diǎn)改進(jìn)大大提升了蟻群算法的性能。最后通過(guò)一系列的仿真實(shí)驗(yàn)證明了本文所提出的方法是完全可行的。