謝國民,張佳琪
(遼寧工程技術(shù)大學(xué) 電氣與控制工程學(xué)院,遼寧 葫蘆島 125105)
異步電機(jī)運(yùn)動性能穩(wěn)定、體積小、重量輕、操作簡單,是一種應(yīng)用廣泛的重要用電負(fù)荷[1]。為實(shí)現(xiàn)高效控制、準(zhǔn)確能效計(jì)算,以及快速的故障診斷,有必要對電機(jī)參數(shù)進(jìn)行參數(shù)辨識[2]。
傳統(tǒng)的電機(jī)參數(shù)辨識方法是通過電機(jī)短路與空載實(shí)驗(yàn)進(jìn)行,這種方法獲取的電機(jī)參數(shù)精度較低,不能實(shí)現(xiàn)電機(jī)參數(shù)的在線辨識。因此,研究人員將最小二乘法、滑模觀測器法[3-5],以及智能優(yōu)化算法應(yīng)用于電機(jī)參數(shù)辨識中。由于智能優(yōu)化算法具有自適應(yīng)性強(qiáng)、便于實(shí)現(xiàn)快速計(jì)算等優(yōu)點(diǎn),因此得到廣泛的應(yīng)用[6]。目前,異步電機(jī)參數(shù)辨識中應(yīng)用較多的算法有遺傳算法、蒼狼算法,以及粒子群算法(particle swarm optimization,PSO)。文獻(xiàn)[7]提出一種基于蒼狼算法的感應(yīng)電機(jī)改進(jìn)模型參數(shù)辨識。文獻(xiàn)[8]提出一種基于量子粒子群優(yōu)化的動態(tài)標(biāo)定辨識方法。文獻(xiàn)[9]提出一種基于動態(tài)粒子群算法的推進(jìn)電機(jī)參數(shù)識別方法。以上3種辨識方法中,遺傳算法和蒼狼算法性能較差,且存在局部尋優(yōu)問題;全局粒子群算法極易出現(xiàn)虛假收斂和陷入局部解問題,導(dǎo)致參數(shù)辨識精度不高;粒子群算法不易陷入局部最優(yōu),但收斂速度慢。
針對以上問題,提出一種基于具有麻雀群預(yù)警機(jī)制的粒子群算法(sparrow particle swarm optimization,SPSO)的異步電機(jī)參數(shù)辨識方法。為避免PSO算法陷入局部解,引入麻雀群算法的預(yù)警機(jī)制對PSO算法進(jìn)行改進(jìn)。在d-q坐標(biāo)系中對某型異步電機(jī)進(jìn)行建模,采用SPSO算法對異步電機(jī)進(jìn)行參數(shù)辨識,通過仿真實(shí)驗(yàn)對SPSO算法的有效性和可靠性進(jìn)行驗(yàn)證。
三相異步電機(jī)狀態(tài)方程[10]為
式中,
式中:p為微分算子;ids、idr、idm分別為定子d軸電流、轉(zhuǎn)子d軸電流和勵磁d軸電流;iqs、iqr、iqm分別為定子q軸電流、轉(zhuǎn)子q軸電流和勵磁q軸電流;Rs、Rr、Rm分別為定子電阻、轉(zhuǎn)子電阻和勵磁電阻;Lds、Ldr、Lm分別為定子漏感、轉(zhuǎn)子漏感和勵磁電感;Lr為轉(zhuǎn)子電感,Lr=Ldr+Lm;ω為定子側(cè)旋轉(zhuǎn)磁場的電角速度;ωr為轉(zhuǎn)子的電角速度;pn為極對數(shù);J為轉(zhuǎn)動慣量;Tm為負(fù)載轉(zhuǎn)矩;Uds、Uqs為定子d、q軸電壓。
式(1)~式(2)中所包含的變量均為折算至一次側(cè)的值。
獲取異步電機(jī)三相電壓與電流信號[11],經(jīng)d-q變換后得到新的電壓與電流信號分別為ud、uq、id、iq,將所測實(shí)際電流與對應(yīng)的電角速度組合,可得實(shí)際值為
此時模型異步電機(jī)參數(shù)可表示為x=[Rs,Rr,Ls,Lr,Lm,J],輸出值為
異步電機(jī)的辨識過程是通過不斷地求解異步電機(jī)模型參數(shù),使實(shí)際測量值與模型的輸出值相等。因此,基于SPSO算法的異步電機(jī)參數(shù)辨識方法的適應(yīng)度函數(shù)為
在辨識過程中,通過尋優(yōu)使式(5)取得最小值,則辨識成功。
運(yùn)用SPSO進(jìn)行電機(jī)參數(shù)辨識的步驟如下。
(1)初始化粒子群參數(shù)。
(2)對于D維、N個個體的SPSO,其個體位置為Xi=(xi1,…,xii,…,xiD),則所有種群為X=(X1,…Xi,…,XN),粒子在迭代過程中按式(6)進(jìn)行更新。
式中:Vi(t)為當(dāng)前代粒子移動速度;ω為慣性權(quán)重因子;c1與c2分別為算法的自我學(xué)習(xí)與社會學(xué)習(xí)因子;r1與r2為0至1之間服從均勻分布的隨機(jī)數(shù),Pbest(t)與gbest(t)分別為當(dāng)前代個體最優(yōu)解與全局最優(yōu)解。
為提高算法的收斂速度,引入式(7)對隨機(jī)權(quán)重ω更新。
式中:ε為隨機(jī)權(quán)重方差;N(0,1)為服從標(biāo)準(zhǔn)狀態(tài)分布的隨機(jī)數(shù);rand()為0至1之間服從均勻分布的隨機(jī)數(shù)。
(3)引入麻雀群算法中的隨機(jī)預(yù)警機(jī)制,即從種群中隨機(jī)選擇一定比例的粒子作為預(yù)警粒子,粒子的更新方式為
式中:α為步長控制參數(shù);k服從-1~1的均勻隨機(jī)分布;β為極小正數(shù)。
由式(8)可以看出,當(dāng)前粒子若距最優(yōu)位置較遠(yuǎn)時,粒子將向最優(yōu)位置移動;當(dāng)預(yù)警粒子當(dāng)前位置為全局最優(yōu)解,粒子會向其他位置移動。由此可以看出,隨機(jī)預(yù)警機(jī)制的引入能夠極大地降低算法陷入局部解的可能。
SPSO算法運(yùn)行流程見圖1[12]。
圖1 SPSO算法流程Fig.1 SPSO algorithm flow chart
為驗(yàn)證SPSO算法在異步電機(jī)參數(shù)辨識中的有效性,在Simulink中搭建三相異步電機(jī)參數(shù)辨識模型,見圖2。仿真時,對電機(jī)施加反向5 N·m的力矩。分別應(yīng)用PSO算法和SPSO算法對異步電機(jī)參數(shù)進(jìn)行辨識,并將兩種算法的辨識結(jié)果進(jìn)行對比。異步電機(jī)主要參數(shù)見表1。
表1 異步電機(jī)參數(shù)Tab.1 induction motor parameters
表2 算法參數(shù)設(shè)置Tab.2 algorithm parameter Settings
圖2 電機(jī)參數(shù)辨識模型Fig.2 motor parameter identification model
電機(jī)定子電阻、電感、轉(zhuǎn)動慣量的辨識結(jié)果,見表3,表中數(shù)據(jù)為辨識20次的平均值。辨識相對誤差見表4。
表3 辨識結(jié)果Tab.3 identification results
表4 辨識相對誤差Tab.4 relative error table of identification
由表3、表4可以看出,與PSO相比,SPSO算法輸出誤差較小,辨識精度較高。
PSO算法對異步電機(jī)參數(shù)辨識過程見圖3。由圖3可知,PSO算法需要進(jìn)行57次迭代,辨識時間較長,容易陷入局部最優(yōu),由粒子位置可以看出辨識結(jié)果與實(shí)際值也存在較大誤差。
圖3 PSO算法辨識結(jié)果Fig.3 identification results of PSO algorithm
SPSO算法對異步電機(jī)參數(shù)辨識過程見圖4。由圖4可知,SPSO算法僅用26次迭代便實(shí)現(xiàn)了收斂。說明引入的隨機(jī)預(yù)警機(jī)制可有效避免陷入局部最優(yōu);由搜索過程可看出其搜索數(shù)值的穩(wěn)定性優(yōu)于PSO算法;由粒子位置可直觀看出SPSO算法辨識精度較高。
圖4 SPSO算法辨識結(jié)果Fig.4 identification results of SPSO algorithm
由上述分析可知,SPSO算法比PSO算法收斂速度快,辨識精度較高,驗(yàn)證了SPSO算法在異步電機(jī)參數(shù)辨識中的有效性。
(1)在PSO算法的基礎(chǔ)上,引入麻雀群算法中的隨機(jī)預(yù)警機(jī)制,提出一種改進(jìn)的異步電機(jī)參數(shù)辨識方法——SPSO算法。
(2)在Simulink中搭建異步電機(jī)參數(shù)辨識模型分別采用PSO算法和SPSO算法對異步電機(jī)的轉(zhuǎn)動慣量、電阻、電感、電流、角速度進(jìn)行辨識,并將辨識結(jié)果進(jìn)行對比分析,結(jié)果表明:SPSO算法具有較快的收斂速度和較高的辨識精度。