陶丁興,王家軍
(杭州電子科技大學(xué)自動(dòng)化學(xué)院,浙江 杭州 310018)
永磁同步電動(dòng)機(jī)(Permanent-Magnet Synchronous Motor,PMSM)具有功率密度高、動(dòng)態(tài)性能好、轉(zhuǎn)速運(yùn)行范圍寬等優(yōu)勢(shì),廣泛應(yīng)用于工業(yè)伺服驅(qū)動(dòng)系統(tǒng)、電動(dòng)汽車和高鐵等領(lǐng)域[1-2]。目前,PMSM的控制方法主要有矢量控制和直接轉(zhuǎn)矩控制,通過(guò)準(zhǔn)確獲取PMSM的定子電阻、交直軸電感和永磁磁鏈等參數(shù)來(lái)提高其控制性能。造成電機(jī)實(shí)際參數(shù)與給定參數(shù)之間誤差的原因有多種,比如,制造公差導(dǎo)致同一批次生產(chǎn)的電機(jī)參數(shù)不完全相同;高性能控制驅(qū)動(dòng)器設(shè)計(jì)者無(wú)法獲得準(zhǔn)確的電機(jī)參數(shù),致使控制效果差;電機(jī)參數(shù)受運(yùn)行條件和周圍環(huán)境的影響,產(chǎn)生非線性變化等[3]。為了降低電機(jī)參數(shù)對(duì)控制系統(tǒng)性能的影響,需要對(duì)電機(jī)參數(shù)進(jìn)行精確辨識(shí)。目前,主要通過(guò)最小二乘法[4]、模型參考自適應(yīng)法[5]、遺傳算法(Genetic Algorithm,GA)[6]、粒子群算法(Particle Swarm Optimization,PSO)[7]等方法來(lái)提高PMSM參數(shù)的辨識(shí)精度。最小二乘法收斂速度快,但轉(zhuǎn)速突變時(shí),算法的計(jì)算量大,跟蹤性能差。模型參考自適應(yīng)法需要根據(jù)辨識(shí)的參數(shù)手動(dòng)選擇自適應(yīng)率,在多個(gè)參數(shù)同時(shí)辨識(shí)時(shí),自適應(yīng)率的設(shè)計(jì)比較繁瑣。GA算法能夠進(jìn)行并行操作,容易取得全局最優(yōu)解,但算法需要編碼,且對(duì)函數(shù)搜索的物理意義不直觀。PSO算法運(yùn)用粒子運(yùn)動(dòng)路線與人類決策相似的原理得出最優(yōu)解,易于理解且收斂速度較快,但最大速度和加權(quán)因子不易選取,容易陷入局部最優(yōu)。人工魚(yú)群算法(Artificial Fish Swarm,AFS)[8]是模擬動(dòng)物行為的群體智能優(yōu)化算法,簡(jiǎn)單易于實(shí)現(xiàn),函數(shù)優(yōu)化能力強(qiáng),收斂速度快,是很好的全局優(yōu)化算法。本文運(yùn)用AFS算法進(jìn)行PMSM定子電阻、磁鏈、d軸及q軸電感參數(shù)的辨識(shí)仿真,進(jìn)一步提高PMSM的參數(shù)辨識(shí)精度。
在對(duì)PMSM進(jìn)行數(shù)學(xué)建模時(shí),忽略磁飽和效應(yīng)、鐵芯渦流、磁滯損耗和高次諧波,且氣隙磁場(chǎng)按正弦分布,在d軸、q軸同步旋轉(zhuǎn)坐標(biāo)系下的PMSM數(shù)學(xué)模型為:
(1)
(2)
(3)
(4)
(5)
(6)
AFS算法是一種基于現(xiàn)實(shí)環(huán)境中魚(yú)群行為的并行智能優(yōu)化算法[8]。AFS算法模擬了魚(yú)群的覓食、聚群、追尾和隨機(jī)行為,通過(guò)這些行為找到全局最優(yōu)值[9]。AFS算法可以有效搜索全局最優(yōu)值,具有收斂速度快、并行性好、魯棒性強(qiáng)等優(yōu)點(diǎn)。
圖1 人工魚(yú)視覺(jué)概念圖
人工魚(yú)視覺(jué)概念如圖1所示。圖1中,Xi為一條人工魚(yú)的當(dāng)前位置;V為它的視野范圍;XZ為其在某時(shí)刻的視點(diǎn)所在位置,若此位置的食物濃度高于當(dāng)前位置Xi,則該人工魚(yú)移動(dòng)到Xnext,否則繼續(xù)巡視視野范圍內(nèi)的其他位置;S為人工魚(yú)的最大移動(dòng)步長(zhǎng)。一條魚(yú)巡視的次數(shù)越多,對(duì)周圍環(huán)境的掌控度就越高。
AFS算法的行為函數(shù)定義為覓食、聚群、追尾和隨機(jī)等函數(shù)。
覓食行為指動(dòng)物尋找食物的行為,人工魚(yú)通過(guò)視覺(jué)和嗅覺(jué)感知食物,通過(guò)濃度來(lái)選擇移動(dòng)的方向。假設(shè)當(dāng)前人工魚(yú)的位置為Xi,在其感知范圍內(nèi)隨機(jī)選擇一個(gè)位置Xj,若Xj所在位置的食物濃度Yj大于當(dāng)前位置食物濃度Yi,人工魚(yú)則向此方向移動(dòng),否則重新選擇位置,若人工魚(yú)嘗試移動(dòng)N次仍未找到符合要求的位置,則執(zhí)行隨機(jī)行為。覓食行為的轉(zhuǎn)移方程為:
(7)
式中,rand表示之間的隨機(jī)數(shù),Xi|next為當(dāng)前人工魚(yú)動(dòng)作后的下一個(gè)狀態(tài),N為人工魚(yú)覓食行為中最大嘗試次數(shù)。
聚群行為指魚(yú)類集聚成群來(lái)集體覓食并躲避傷害的行為。假設(shè)當(dāng)前人工魚(yú)的位置為Xi,在其視野范圍內(nèi)魚(yú)群的數(shù)目為m,魚(yú)群的中心位置為Xc,Yc為中心位置Xc的食物濃度,δ為擁擠度因子。如果Yc/m>δYi,則表明魚(yú)群中心有較多的食物且不擁擠,可以向中心位置Yc移動(dòng),相反則執(zhí)行覓食行為。聚群行為的轉(zhuǎn)移方程為:
(8)
追尾行為指當(dāng)某一條魚(yú)或幾條魚(yú)發(fā)現(xiàn)食物時(shí),它們附近的魚(yú)會(huì)尾隨其后游過(guò)來(lái)的行為。假設(shè)位置Xj人工魚(yú)的食物濃度Yj最高,若Yj/m>δYi,則表明在位置Xj的人工魚(yú)具有較高的食物濃度且不擁擠,當(dāng)前人工魚(yú)往Xj方向移動(dòng);相反則執(zhí)行覓食行為。追尾行為的轉(zhuǎn)移方程為:
(9)
隨機(jī)行為指魚(yú)為了在更大范圍內(nèi)尋找食物而隨機(jī)游動(dòng)的行為。隨機(jī)行為是覓食行為的一個(gè)缺省行為,在覓食行為嘗試M次后,若仍不滿足覓食移動(dòng)條件,人工魚(yú)會(huì)在視野范圍內(nèi)隨機(jī)選擇一個(gè)位置,然后向該位置移動(dòng)。隨機(jī)行為的轉(zhuǎn)移方程為:
Xi|next=Xi+rand×S
(10)
為了指定AFS算法的優(yōu)化目標(biāo),需要選擇適應(yīng)度函數(shù)。可供選擇的適應(yīng)度函數(shù)有很多,如時(shí)間乘以誤差平方積分(Integral of Time-weighted Squared Error,ITSE)、絕對(duì)誤差積分(Integral of Absolute Error,IAE)和誤差平方積分(Integral of Squared Error,ISE)等。IAE和ISE不受時(shí)間約束,且不易同時(shí)減小超調(diào)和調(diào)節(jié)時(shí)間[10]。ITSE既考慮了時(shí)間的約束,又能在抑制大偏差的同時(shí)縮短調(diào)節(jié)時(shí)間,因此,本文使用ITSE作為永磁同步電動(dòng)機(jī)參數(shù)辨識(shí)的適應(yīng)度函數(shù),ITSE的表達(dá)式為:
(11)
圖2 AFS算法流程圖
采用AFS算法對(duì)永磁同步電機(jī)參數(shù)進(jìn)行辨識(shí)的主要步驟如下。
(1)設(shè)定算法的初始參數(shù)。初始參數(shù)主要包括魚(yú)群的數(shù)量MP、算法的最大迭代次數(shù)Gmax、視野范圍V、最大移動(dòng)步長(zhǎng)S、擁擠度因子δ和覓食行為中的最大嘗試次數(shù)N。
x0=(xmax-xmin)×rand(MP,1)+xmin
(12)
式中,xmax和xmin分別為備選解在解空間中的上下限,rand(MP,1)表示在區(qū)間上生成MP個(gè)隨機(jī)數(shù)。通過(guò)式(12)可以在解空間中隨機(jī)產(chǎn)生第1次迭代所需的備選解x0。
(3)利用備選解進(jìn)行聚群行為。將第1次初始化的備選解根據(jù)式(8)模擬聚群行為,并隨機(jī)生成第2次的備選解Xnext1。
(4)利用備選解進(jìn)行追尾行為。將第1次備選解根據(jù)式(9)模擬追行為尾,并生成第2次的備選解Xnext2。
(13)
(6)確定算法的終止指標(biāo)。本文引入最大迭代次數(shù)Gmax作為終止指標(biāo),當(dāng)?shù)螖?shù)G到達(dá)最大迭代次數(shù)Gmax時(shí)終止。
辨識(shí)原理如圖3所示。圖3中,AFS算法輸入包括d軸、q軸電壓ud和uq,d軸、q軸電流id和iq,電角速度ωe,系統(tǒng)實(shí)際輸入包括ud,uq。
圖3 AFS算法辨識(shí)算法原理
為驗(yàn)證AFS算法辨識(shí)PMSM參數(shù)的有效性,本文在Matlab/Simulink中搭建了PMSM矢量控制系統(tǒng),其結(jié)構(gòu)如圖4所示,仿真中PMSM的參數(shù)如表1所示。
圖4 基于矢量控制的ASF算法參數(shù)辨識(shí)結(jié)構(gòu)圖
表1 仿真中PMSM參數(shù)
圖5 n=600 r/min時(shí),AFS算法與PSO算法的參數(shù)辨識(shí)結(jié)果
圖6 AFS算法與PSO算法適應(yīng)度函數(shù)收斂曲線
圖7 正弦信號(hào)輸入下,AFS算法與PSO算法的參數(shù)辨識(shí)結(jié)果對(duì)比
圖8 AFS算法與PSO算法適應(yīng)度函數(shù)收斂曲線
為進(jìn)一步驗(yàn)證AFS算法辨識(shí)參數(shù)的優(yōu)越性,轉(zhuǎn)速為階躍信號(hào)和正弦信號(hào)的輸入條件下,AFS算法與PSO算法辨識(shí)的結(jié)果及辨識(shí)的誤差如表2所示。
從表2可以看出,使用PSO算法的參數(shù)辨識(shí)誤差要比使用AFS算法大,在階躍轉(zhuǎn)速的條件下AFS算法辨識(shí)出的參數(shù)誤差基本與實(shí)際值基本相同,誤差在0左右;而使用PSO算法辨識(shí)出的辨識(shí)值與實(shí)際值的差距明顯增大,誤差大都在3%左右。轉(zhuǎn)速為正弦信號(hào)時(shí),AFS算法辨識(shí)得到的參數(shù)與PMSM實(shí)際參考值依然基本保持相同;而PSO算法辨識(shí)得到的參數(shù)與實(shí)際值誤差進(jìn)一步加大,誤差大約在5%。因此,可明顯看出AFS算法的參數(shù)辨識(shí)精度要高于PSO算法。綜合表2和圖5、圖6、圖7和圖8可知,與PSO算法相比,AFS算法辨識(shí)出的參數(shù)誤差更小,辨識(shí)精度更高,且收斂速度更快。
表2 AFS算法與PSO算法辨識(shí)結(jié)果
為了提高PMSM參數(shù)的辨識(shí)精度,本文提出一種基于AFS算法的PMSM參數(shù)辨識(shí)方法。算法實(shí)現(xiàn)簡(jiǎn)單,收斂速度快,辨識(shí)精度高。但是,本文是通過(guò)離線的AFS算法進(jìn)行PMSM參數(shù)的辨識(shí),后續(xù)將針對(duì)在線AFS算法的辨識(shí)展開(kāi)進(jìn)一步研究。