馬 勇,劉玉春
(1.四川工程職業技術學院,德陽,618000;2.周口師范學院,周口,466001;3.西安電子科技大學,西安710071)
有效的異步電機矢量控制系統需要掌握電機定子和轉子的電阻、漏感、互感等參數,它們對電機負載能力和轉速精度的影響很大[1]。在電機的銘牌中,只有額定電壓、電流、功率和轉速等信息。為此需要根據這些參數來估算電機的電阻和電感參數。然而,由于電機的實際數據與銘牌數據有一定差別,致使這些估算的參數只能作為參考值[2]。為了進一步提高控制系統的準確性,所以需要對電阻和電感參數進行精確估計。
目前,電機參數估計的方法主要分為3類,即基于頻率特性估計、基于時域信號估計和基于人工智能算法估計[3]。由于計算機計算能力的提升,各種智能算法得到廣泛應用,例如模擬退火算法、遺傳算法、蟻群優化算法和粒子群優化(以下簡稱PSO)算法等[4]。例如,文獻[5]提出一種基于遺傳算法的異步電機參數辨識方法,通過檢測電機的定子電壓、電流和轉子轉速信號簡化電機模型,并利用遺傳算法估計出電機的4個主要參數。
在這些智能算法中,PSO搜索最優解決方案的能力最強,且收斂速度快[6]。為此,文獻[7]基于PSO算法,在線辨識出具有與直流電機相似動態特性的等效電機模型參數。然而,傳統PSO算法也存在容易陷入局部最優的缺陷。為此,學者提出了一些改進型的PSO算法,例如基于局部最佳的PSO算法(以下簡稱PSO-l)和基于全局最佳的PSO算法(以下簡稱PSO-g)[8]。
本文提出一種融入社團策略的PSO(以下簡稱C-PSO)算法,以此提高其逃脫局部最優的能力;同時,構建了異步電機模型,推導出待估參數。以估計電流與實測電流的偏差作為適應度值,利用C-PSO算法對異步電機的定子與轉子電阻、定子與轉子自感、互感和等效轉子轉動慣量這6個參數進行估計。實驗結果表明,本文方案能夠準確地估計出所需參數,具有可行性和有效性。
異步電機的參數包括定子電阻、轉子電阻、定子和轉子自感、互感和等效轉子轉動慣量。
經過三相靜止-兩相靜止坐標變換和兩相旋轉-兩相靜止坐標變換,可得異步電機在兩相靜止坐標系上的數學模型[9]。其中,電壓方程:

轉矩方程:

轉速方程:

式中:isα,isβ分別為α-β靜止坐標系中的定子電流;usα,usβ為定子電壓;Ls,Lr分別為定子繞組自感和轉子繞組自感;Lm為定子與轉子繞組間的互感;Rs,Rr分別為定子電阻和轉子電阻;ωr為轉子旋轉角速度;ψsα,ψsβ為 α-β 坐標系中的定子磁鏈;p 為極對數;Te,TL分別為轉子轉矩和負載阻轉矩;J為轉子轉動慣量。
設定Lδ=Lr+Ls,進一步可以推導出:


適應度值越低,說明所估計出的參數值越準確。
提出的參數估計方案框架如圖1所示。通過基于直接線路或恒壓頻比控制(V/f)轉換器的起動過程來進行測試,不同的頻率會激發不同的電機動力學,而恒定的V/f幾乎保持電機磁場恒定且等于額定磁場。記錄起始電流的實際波形,并使用參數估計算法找出最優參數值,該最優參數值能夠使根據該參數所構建的電機模型所推導的電流波形與實際波形之間的絕對誤差最小。
通過上述4個待估系數,根據電機模型即可計算出所需的電機參數。
本文通過提出的C-PSO算法來求解參數估計值,并根據估計出的電機參數計算電機的電流,將估計電流與實測電流(i1,i2,i3)之間的誤差值作為參數估計的適應度函數:

圖1 異步電機參數估計的框架圖
PSO算法是由鳥類利用其集體知識尋找食物或躲避捕食者而啟發產生。粒子受其自身經驗(發現的最佳位置)和鄰居經驗(鄰居發現的最佳位置)的影響向最優位置移動。粒子i的歷史最佳位置表示為pid,全局最佳位置為pgd。每一代粒子根據pid和pgd的引導,在對應區間內生成位置矢量xid和速度矢量vid,表達式如下[10]:

在式(1)中,c1和c2分別為個體和全局學習因子;rand1和rand2為[0,1]內的隨機數;w表示慣性權重,決定對當前粒子速度繼承的程度。
傳統PSO算法中的粒子在同一個群體中進行進化,如果在進化初期就出現一個適應度很高的粒子,會強烈影響其它粒子向其運動。這不利于粒子探索其它未知空閑,而形成過早收斂。為此,本文提出一種基于社團的PSO算法(C-PSO),將粒子群分成若干了社團,每個粒子都可以參加一個以上的社團,且每個社團都可以容納任意數量的粒子。在尋找全局最優時,如果一個粒子相比于其鄰域內的其它粒子具有較優的性能,則迫使其隨機離開一個社團,以此來減少這個粒子對其它粒子速度的強大影響,從而避免過早收斂。另一方面,如果一個粒子的性能較差,即它是其鄰域內性能最差的粒子,則使其隨機再加入一個社團,以擴大它的社會網絡,以此增加其從更好粒子中學習的機會。
提出的C-PSO中,在初始化粒子的位置和速度之后,每個粒子隨機加入預定義數量的社團。接著,評估粒子的當前值并相應更新粒子的最佳局部位置。在更新粒子速度時,每個粒子受其最佳位置和其領域內所有鄰居發現的最佳位置的影響。這里,粒子的鄰域為包含該粒子的所有社團的集合。在速度和位置更新之后,評估粒子的新位置并重復此循環。
本文每一次迭代中都重復執行加入和離開社團步驟,所以如果一個粒子在其領域內持續表現為較差的性能,則它將一個接一個地加入更多的社團,直到達到它所允許的最大社團數量。而如果一個粒子在每個社團中持續表現為較優的粒子,則使其一個接一個地離開社團,直到達到它所允許的最小社團數量。
在加入或離開社團后,其領域內不再有極端性能的粒子,提高了算法的穩定性和平滑性。另外,本文每rr次迭代做一次檢查,以找到沒有表現出極端性能,但所在社團數量高于或低于默認數量的粒子,然后將其帶回默認數量。
本文提出的C-PSO算法偽代碼如下描述。
算法1 C-PSO算法偽代碼
啟動
初始化粒子和社團
While(終止條件)do
評估粒子適應度f(x),并更新pid;
for i=1到粒子數do
pgd=最佳neighbor si;
for d=1到維數do
vid=w×rand1×vid+c1×rand2×(pid-xid)+c2×rand3×(pgdxid);
xid=xid+vid;
end if
end for
更新鄰域
for j=1到粒子數do
if(xj為最佳 neighbor si)且(|membershipi|>min_membership)
then隨機離開一個社團
if(xj為最差 neighbor si)且(|membershipi|<max_membership)
then隨機加入一個社團
if(|membershipi|≠default_membership)且(remainder(iteration/rr)=0)
then更新membershipj
end for
itermation=itermation+1
end while
算法1中,neighbor si為粒子 i領域的集合,membershipi表示粒子i所在社團的集合,|membershipi|表示粒子i所在社團的數量。min_membership和max_membership分別為粒子的最小和最大允許加入的社團數量。default_membership為粒子允許加入的默認社團數量。
在一個異步電機上進行實驗,電機的實際參數如表1所示。在利用C-PSO算法對參數進行估計前,需要初始化參數為一個隨機值,該過程中各參數的取值范圍如表1所示。

表1 電機參數的實際值和在估計中的初始化范圍
為比較起見,本文將C-PSO與3種不同的算法進行比較:(1)傳統一維線性搜索算法(LS);(2)基于局部最佳拓撲的改進型PSO算法(PSO-l);(3)基于全局最佳拓撲的改進型PSO算法(PSO-g)。本文在解空間的初始化范圍內隨機初始化這3種改進型PSO的粒子種群和粒子初始速度。C-PSO的參數如表2所示。PSO-l和PSO-g的基本參數與C-PSO一致,但其中慣性權重值w=0.729,為C-PSO算法的一半。這是因為C-PSO算法的粒子速度更新公式中,w會乘以一個均勻分布的隨機數rand1,該隨機數的平均值為0.5,即w預期值與其它2種算法是相同的。

表2 各種改進型PSO算法的參數值
對于LS算法,其為一種簡單的確定性局部搜索技術。在該方法中,利用第i維的單元尺寸表征其搜索空間。在離散搜索空間中選擇隨機點(x),并評估其適應度,同時評估其領域點的適應度,如果最佳鄰域的適應度小于或等于x,則該算法移動這個新點并評估其鄰域的適應度。但如果最佳領域的適應度高于x,則算法終止。對于n維空間中的點x=(x1,x2,…,xn),Nx鄰域集合包含2n個點。在第i維的2個方向中,通過移動一步δi來確定集合中的每個點。 Nx=(x1±δ1,x2,…,xn),(x1,x2±δ2,…,xn),…,(x1,x2,…,xn±δn)。
該算法包含一個參數,即步長δi。對于當前應用,本文將這個值設置為表1中相應維數初始化范圍的0.1%。
圖2為PSO-l,PSO-g,LS和C-PSO這4種算法的適應度值隨算法迭代時間的變化曲線。可以看出,經過1 000次迭代,提出的C-PSO算法最終能夠達到最優的適應度值,約為0.001 9,即所獲得的參數估計值的準確性最高。PSO-l算法第2,PSO-g算法第3,LS算法性能最差。

圖2 各種算法的適應度值收斂曲線
這是因為,LS算法完全缺乏逃脫陷入局部極小值的能力。在所有仿真運行中,該算法被困于第1個局部最小值中。PSO-g和PSO-l算法逃脫局部極小值的能力優于LS算法,在200次迭代后,這些算法的適應度小幅下降以趨于穩定。但PSO-g算法根據粒子個體最優和全局最優來進化粒子,隨著粒子進化,粒子間多樣性丟失,表現出強烈的趨同性,易陷入局部最優。而PSO-l算法的學習對象不是整個群體,只是學習與其具有一定關系的相關粒子,所以其尋優能力比PSO-g的較好。本文C-PSO算法中融入了社團策略,使其逃脫局部最小值的能力優于其它所有算法,所以能夠收斂到很低的值。
另外,本文C-PSO算法的收斂速度卻不是最快的,約在500次迭代后能夠收斂到較優的值。由于電機的參數估計只需要執行一次,沒有實時性要求,對估計算法的計算時間要求不高。所以,與估計準確性相比,稍高的估計時間無關緊要。
進行20次相同實驗,記錄各種算法的最終適應度值,并計算出平均適應度值和標準差,結果如表3所示。可以看出,C-PSO算法的適應度值最低且標準差也最低,證明了C-PSO算法能夠求解出最優解,且每次獲得的最優解都較為接近,求解穩定性好。

表3 各種算法的適應度值
為了比較算法對各參數估計的準確性,同樣記錄這20次實驗中各種算法估計出的6個參數值,并計算其與實際參數值的平均百分偏差,結果如表4所示。可以看出,本文C-PSO算法估計出的電機參數值與實際值之間的差異最小,進一步說明了CPSO算法具有優越的求解準確性。

表4 各種算法所估計參數值與實際值的平均百分偏差(%)
本文對于異步電機參數精確估計的問題,提出一種改進型的PSO算法。融入社團策略來提高傳統PSO算法逃脫局部最優的能力,以此獲得最為準確的估計參數。通過參數估計,并將估計參數與實際參數進行比較,結果證明了本文方案的有效性。
參考文獻
[1] 張俊華.異步電機的參數辨識與矢量控制[J].杭州電子科技大學學報,2011,31(4):132-135.
[2] 李勇,李智,牛軍浩,等.基于矢量控制的異步電機參數離線辨識策略[J].微特電機,2016,44(1):64-67.
[3] BILSKI P.Application of support vector machines to the induction motor parameters identification[J].Measurement,2014,51(1):377-386.
[4] 楊建輝,吳聰.PSO結合SA優化算法的無線傳感器網絡路由協議[J].湘潭大學自然科學學報,2015,37(4):98-104.
[5] 肖曦,王雅婷,許青松,等.一種基于遺傳算法的異步電機參數辨識方法[J].電工技術學報,2013,28(1):331-335.
[6] MOHAMMADI H R,AKHAVAN A.Parameter estimation of threephase induction motor using hybrid of genetic algorithm and particle swarm optimization[J].Journal of Engineering,2014,23(4):142-148.
[7] EMARA H M,ELSHAMY W,BAHGAT A.Parameter identification of induction motor using modified Particle Swarm Optimization algorithm[C]//IEEE International Symposium on Industrial Electronics.2013:841-847.
[8] 史朝亞.基于PSO算法無線傳感器網絡覆蓋優化的研究[D].南京:南京理工大學,2013:23-27.
[9] 戴亮,黃志遠,陳業明,等.靜止狀態下異步電動機參數離線辨識方法[J].微特電機,2014,42(2):33-36.
[10] TOFIGHI E M,MAHDIZADEH A,FEYZI M R.Online estimation of induction motor parameters using a modified particle swarm optimization technique[C]//IECON 2013-39th Annual Conference on Industrical Electronics Society.IEEE,2013,20(11):3645-3650.