陶丁興,王家軍
(杭州電子科技大學自動化學院,浙江 杭州 310018)
永磁同步電動機(Permanent-Magnet Synchronous Motor,PMSM)具有功率密度高、動態性能好、轉速運行范圍寬等優勢,廣泛應用于工業伺服驅動系統、電動汽車和高鐵等領域[1-2]。目前,PMSM的控制方法主要有矢量控制和直接轉矩控制,通過準確獲取PMSM的定子電阻、交直軸電感和永磁磁鏈等參數來提高其控制性能。造成電機實際參數與給定參數之間誤差的原因有多種,比如,制造公差導致同一批次生產的電機參數不完全相同;高性能控制驅動器設計者無法獲得準確的電機參數,致使控制效果差;電機參數受運行條件和周圍環境的影響,產生非線性變化等[3]。為了降低電機參數對控制系統性能的影響,需要對電機參數進行精確辨識。目前,主要通過最小二乘法[4]、模型參考自適應法[5]、遺傳算法(Genetic Algorithm,GA)[6]、粒子群算法(Particle Swarm Optimization,PSO)[7]等方法來提高PMSM參數的辨識精度。最小二乘法收斂速度快,但轉速突變時,算法的計算量大,跟蹤性能差。模型參考自適應法需要根據辨識的參數手動選擇自適應率,在多個參數同時辨識時,自適應率的設計比較繁瑣。GA算法能夠進行并行操作,容易取得全局最優解,但算法需要編碼,且對函數搜索的物理意義不直觀。PSO算法運用粒子運動路線與人類決策相似的原理得出最優解,易于理解且收斂速度較快,但最大速度和加權因子不易選取,容易陷入局部最優。人工魚群算法(Artificial Fish Swarm,AFS)[8]是模擬動物行為的群體智能優化算法,簡單易于實現,函數優化能力強,收斂速度快,是很好的全局優化算法。本文運用AFS算法進行PMSM定子電阻、磁鏈、d軸及q軸電感參數的辨識仿真,進一步提高PMSM的參數辨識精度。
在對PMSM進行數學建模時,忽略磁飽和效應、鐵芯渦流、磁滯損耗和高次諧波,且氣隙磁場按正弦分布,在d軸、q軸同步旋轉坐標系下的PMSM數學模型為:

(1)

(2)


(3)

(4)

(5)

(6)
AFS算法是一種基于現實環境中魚群行為的并行智能優化算法[8]。AFS算法模擬了魚群的覓食、聚群、追尾和隨機行為,通過這些行為找到全局最優值[9]。AFS算法可以有效搜索全局最優值,具有收斂速度快、并行性好、魯棒性強等優點。

圖1 人工魚視覺概念圖
人工魚視覺概念如圖1所示。圖1中,Xi為一條人工魚的當前位置;V為它的視野范圍;XZ為其在某時刻的視點所在位置,若此位置的食物濃度高于當前位置Xi,則該人工魚移動到Xnext,否則繼續巡視視野范圍內的其他位置;S為人工魚的最大移動步長。一條魚巡視的次數越多,對周圍環境的掌控度就越高。
AFS算法的行為函數定義為覓食、聚群、追尾和隨機等函數。
覓食行為指動物尋找食物的行為,人工魚通過視覺和嗅覺感知食物,通過濃度來選擇移動的方向。假設當前人工魚的位置為Xi,在其感知范圍內隨機選擇一個位置Xj,若Xj所在位置的食物濃度Yj大于當前位置食物濃度Yi,人工魚則向此方向移動,否則重新選擇位置,若人工魚嘗試移動N次仍未找到符合要求的位置,則執行隨機行為。覓食行為的轉移方程為:
(7)
式中,rand表示之間的隨機數,Xi|next為當前人工魚動作后的下一個狀態,N為人工魚覓食行為中最大嘗試次數。
聚群行為指魚類集聚成群來集體覓食并躲避傷害的行為。假設當前人工魚的位置為Xi,在其視野范圍內魚群的數目為m,魚群的中心位置為Xc,Yc為中心位置Xc的食物濃度,δ為擁擠度因子。如果Yc/m>δYi,則表明魚群中心有較多的食物且不擁擠,可以向中心位置Yc移動,相反則執行覓食行為。聚群行為的轉移方程為:
(8)

追尾行為指當某一條魚或幾條魚發現食物時,它們附近的魚會尾隨其后游過來的行為。假設位置Xj人工魚的食物濃度Yj最高,若Yj/m>δYi,則表明在位置Xj的人工魚具有較高的食物濃度且不擁擠,當前人工魚往Xj方向移動;相反則執行覓食行為。追尾行為的轉移方程為:
(9)
隨機行為指魚為了在更大范圍內尋找食物而隨機游動的行為。隨機行為是覓食行為的一個缺省行為,在覓食行為嘗試M次后,若仍不滿足覓食移動條件,人工魚會在視野范圍內隨機選擇一個位置,然后向該位置移動。隨機行為的轉移方程為:
Xi|next=Xi+rand×S
(10)
為了指定AFS算法的優化目標,需要選擇適應度函數。可供選擇的適應度函數有很多,如時間乘以誤差平方積分(Integral of Time-weighted Squared Error,ITSE)、絕對誤差積分(Integral of Absolute Error,IAE)和誤差平方積分(Integral of Squared Error,ISE)等。IAE和ISE不受時間約束,且不易同時減小超調和調節時間[10]。ITSE既考慮了時間的約束,又能在抑制大偏差的同時縮短調節時間,因此,本文使用ITSE作為永磁同步電動機參數辨識的適應度函數,ITSE的表達式為:

(11)



圖2 AFS算法流程圖
采用AFS算法對永磁同步電機參數進行辨識的主要步驟如下。
(1)設定算法的初始參數。初始參數主要包括魚群的數量MP、算法的最大迭代次數Gmax、視野范圍V、最大移動步長S、擁擠度因子δ和覓食行為中的最大嘗試次數N。

x0=(xmax-xmin)×rand(MP,1)+xmin
(12)
式中,xmax和xmin分別為備選解在解空間中的上下限,rand(MP,1)表示在區間上生成MP個隨機數。通過式(12)可以在解空間中隨機產生第1次迭代所需的備選解x0。
(3)利用備選解進行聚群行為。將第1次初始化的備選解根據式(8)模擬聚群行為,并隨機生成第2次的備選解Xnext1。
(4)利用備選解進行追尾行為。將第1次備選解根據式(9)模擬追行為尾,并生成第2次的備選解Xnext2。

(13)
(6)確定算法的終止指標。本文引入最大迭代次數Gmax作為終止指標,當迭代次數G到達最大迭代次數Gmax時終止。

辨識原理如圖3所示。圖3中,AFS算法輸入包括d軸、q軸電壓ud和uq,d軸、q軸電流id和iq,電角速度ωe,系統實際輸入包括ud,uq。

圖3 AFS算法辨識算法原理
為驗證AFS算法辨識PMSM參數的有效性,本文在Matlab/Simulink中搭建了PMSM矢量控制系統,其結構如圖4所示,仿真中PMSM的參數如表1所示。

圖4 基于矢量控制的ASF算法參數辨識結構圖

表1 仿真中PMSM參數




圖5 n=600 r/min時,AFS算法與PSO算法的參數辨識結果

圖6 AFS算法與PSO算法適應度函數收斂曲線


圖7 正弦信號輸入下,AFS算法與PSO算法的參數辨識結果對比


圖8 AFS算法與PSO算法適應度函數收斂曲線
為進一步驗證AFS算法辨識參數的優越性,轉速為階躍信號和正弦信號的輸入條件下,AFS算法與PSO算法辨識的結果及辨識的誤差如表2所示。
從表2可以看出,使用PSO算法的參數辨識誤差要比使用AFS算法大,在階躍轉速的條件下AFS算法辨識出的參數誤差基本與實際值基本相同,誤差在0左右;而使用PSO算法辨識出的辨識值與實際值的差距明顯增大,誤差大都在3%左右。轉速為正弦信號時,AFS算法辨識得到的參數與PMSM實際參考值依然基本保持相同;而PSO算法辨識得到的參數與實際值誤差進一步加大,誤差大約在5%。因此,可明顯看出AFS算法的參數辨識精度要高于PSO算法。綜合表2和圖5、圖6、圖7和圖8可知,與PSO算法相比,AFS算法辨識出的參數誤差更小,辨識精度更高,且收斂速度更快。

表2 AFS算法與PSO算法辨識結果
為了提高PMSM參數的辨識精度,本文提出一種基于AFS算法的PMSM參數辨識方法。算法實現簡單,收斂速度快,辨識精度高。但是,本文是通過離線的AFS算法進行PMSM參數的辨識,后續將針對在線AFS算法的辨識展開進一步研究。