曹永娟,毛 瑞,馮亮亮,李 康
(1.南京信息工程大學(xué)自動化學(xué)院,江蘇 南京 210044; 2.江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同中心,江蘇 南京 210044)
多年以來,永磁同步電機(Permanent Magnet Synchronous Motor,PMSM)憑借自身結(jié)構(gòu)簡單、功率密度高、可靠性強以及工作效率高等明顯優(yōu)點,被廣泛應(yīng)用于精度要求高、調(diào)速范圍廣等重大工業(yè)場合[1-3]。然而PMSM作為一個多變量及強耦合的非線性系統(tǒng),電機在持續(xù)不斷的運行過程中,受溫度的持續(xù)升高、磁場飽和及突然的負(fù)載擾動等諸多不利因素影響[4],電機的電阻、電感等參數(shù)隨之發(fā)生變化,造成電機控制性能和運行效率降低,甚至可能會直接影響到整個PMSM控制系統(tǒng)的穩(wěn)定性。
如何迅速并且準(zhǔn)確地將PMSM的關(guān)鍵參數(shù)辨識出來已經(jīng)逐漸成為提高PMSM系統(tǒng)穩(wěn)定性的熱門研究方向之一。文獻[5-7]分別采用最小二乘算法對電機參數(shù)進行辨識,該方法有著簡單且易于操作的優(yōu)點,但需要龐大的計算量,同時會產(chǎn)生很大的數(shù)據(jù)量,大大增加了計算時間。文獻[8,9]提出結(jié)合模型參考自適應(yīng)算法對電機參數(shù)進行辨識,該方法采用對參數(shù)進行分步辨識的思路,不需要一次性辨識出全部參數(shù),從而簡化了問題,但是該方法需要選取合適的自適應(yīng)率,同時要考慮噪聲的影響,否則會導(dǎo)致最終結(jié)果出現(xiàn)較大偏差。文獻[10,11]對電機參數(shù)的辨識采用了神經(jīng)網(wǎng)絡(luò)方案,結(jié)果表明辨識的精度較高,同時收斂速度快,但因為需要大量的計算,在實際工程應(yīng)用中難以實現(xiàn)。文獻[12,13]采用基于擴展卡爾曼濾波算法對參數(shù)進行辨識,該算法進行參數(shù)辨識時要提前知道電機參數(shù),這使得參數(shù)辨識的魯棒性降低,還影響了辨識的精度。
由于傳統(tǒng)的參數(shù)辨識方法中存在一些不足,近些年國內(nèi)外專家將智能優(yōu)化算法與系統(tǒng)辨識問題進行了結(jié)合。文獻[14]提及了一種蜘蛛猴優(yōu)化算法(Spider Monkey Optimization,SMO),該算法精度較高、收斂速度快,但有時會陷入局部最優(yōu)。文獻[15]提出了一種基于灰狼優(yōu)化算法的永磁同步電機參數(shù)辨識,該算法能夠同時辨識出定子電阻、d-q軸電感和永磁體磁鏈四個參數(shù),但此算法的辨識精度不高,同時收斂速度也比較慢。文獻[16]提出了一種基于改進綜合學(xué)習(xí)粒子群算法的參數(shù)辨識方法,在粒子群算法首次增加了增長率算子和高斯擾動,一定程度上提高了算法的局部搜索能力。文獻[17]提出了一種教與學(xué)優(yōu)化算法,將輔導(dǎo)教學(xué)機制與學(xué)員的科目分步學(xué)習(xí)與反向?qū)W習(xí)策略相結(jié)合,增強了辨識的精度和可靠性。
原始的麻雀搜索算法[18](Sparrow Search Algorithm, SSA)根據(jù)麻雀種群日常生活中覓食和反捕食行為于2020年提出。該算法比較新穎,同時具有尋優(yōu)能力強、收斂速度快等優(yōu)點,但算法的種群多樣性較低,迭代后期局部搜索能力低,因此算法精度有待提高。
本文將原始麻雀搜索算法與PMSM參數(shù)辨識兩者相結(jié)合,同時為了解決原始麻雀搜索算法的缺點,提出了一種基于交叉變異策略和動態(tài)搜索的麻雀搜索(Cross Mutation Sparrow Search Algorithm,CMSSA)算法。在基于同步旋轉(zhuǎn)d-q軸坐標(biāo)系下建立4階PMSM辨識模型,運用CMSSA算法可快速準(zhǔn)確地辨識PMSM的Rs、Ld、Lq、Ψf四個參數(shù)。該算法在發(fā)現(xiàn)者的位置更新處加入了交叉變異和動態(tài)搜索兩種策略,大大提高了算法種群的多樣性,增強了后期算法的局部尋優(yōu)能力,提高了收斂速度,在減少迭代次數(shù)的同時,提高了算法的精度。
作為一個多變量強耦合的非線性系統(tǒng),為便于設(shè)計永磁同步電機后期控制器,一般選擇同步旋轉(zhuǎn)坐標(biāo)系d-q下的數(shù)學(xué)模型。本文忽略鐵心飽和,認(rèn)為空間磁場呈正弦分布,不計鐵心磁滯損耗和渦流損耗等因素,對PMSM進行建模,其在同步旋轉(zhuǎn)坐標(biāo)系(d-q坐標(biāo)系)下的定子電壓方程為:
(1)
式中,ud、uq、id、iq、Ld、Lq分別為d、q軸電壓、電流和電感;Rs為定子電阻;Ψf為永磁體磁鏈;ωe為轉(zhuǎn)子電角速度。
本文以三相PMSM矢量控制策略為基礎(chǔ),在電機穩(wěn)定運行時,可以近似認(rèn)為did/dt=0、diq/dt=0,同時采用id=0控制策略,得到d-q坐標(biāo)系下的PMSM的離散電壓方程為:
(2)
由式(1)可看出方程組中的未知參數(shù)為(Ld、Lq、Rs、Ψf)四個參數(shù),方程組的秩為2,有無數(shù)個解。為了解決方程組欠秩的問題,采用在d軸注入id≠0的負(fù)序弱磁電流策略。在兩種策略下采集相同數(shù)量的數(shù)據(jù)構(gòu)成滿秩方程組,即:
(3)
式中,ud0(k)、uq0(k)、iq0(k)、ωe0(k)分別為id=0時間段第k次的采樣數(shù)據(jù);ud1(k)、uq1(k)、id1(k)、iq1(k)、ωe1(k)分別為id=-2 A時間段第k次的采樣數(shù)據(jù);式(3)中帶“*”的參數(shù)為需要辨識的4個參數(shù)。
SSA是針對麻雀種群日常的覓食行為和特殊的反捕食行為而提出的全新群體智能優(yōu)化算法,可以將種群劃分為發(fā)現(xiàn)者-加入者兩部分,同時在種群中加入偵察預(yù)警機制。
發(fā)現(xiàn)者因為具備較強的全局搜索能力,種群中發(fā)現(xiàn)者的數(shù)量一般需要占到種群的10%~20%左右,隨著迭代過程的進行,發(fā)現(xiàn)者的位置更新公式如下:
(4)
式中,Xij為第i只麻雀在第j維中的位置信息;t為當(dāng)前的迭代數(shù);G為算法的最大迭代次數(shù);α∈(0,1]],為一個隨機數(shù);R∈(0,1]],S∈(0.5,1]],當(dāng)R
除了發(fā)現(xiàn)者之外,其他種群中的麻雀一律視為加入者,并根據(jù)下式進行位置更新:
(5)
式中,Xp為發(fā)現(xiàn)者現(xiàn)在所占領(lǐng)的最佳位置;Xworst為當(dāng)前全局最劣的位置;m為麻雀種群大??;A為一個大小為1×d,元素為1或-1隨機賦值所組成的矩陣,其中A+=AT(AAT)-1。
當(dāng)周圍有危險時,有一定比例的麻雀會向周圍的同伴發(fā)出警報,此刻整個種群會迅速地做出反捕食行為,其位置更新如下:
(6)
式中,τ為一個控制步長的參數(shù),是一個服從均值為0,方差為1的正態(tài)分布隨機數(shù);D為[0,1]之間的一個隨機數(shù),同時也是步長控制參數(shù);Xbest為當(dāng)前的全局最優(yōu)位置;fi為第i只麻雀當(dāng)前的適應(yīng)度值;fg和fw分別為當(dāng)前麻雀種群的最好和最差適應(yīng)度值,當(dāng)fi>fg時,表明此時麻雀正位于種群的邊緣位置,當(dāng)fi=fg時,說明種群中心位置的麻雀突然意識到了危險,需要靠近其他麻雀以此盡量減少風(fēng)險;ε為一個極小常數(shù),避免分母等于0的情況發(fā)生。
因為PMSM為復(fù)雜的非線性系統(tǒng),而且需要同時辨識出Ld、Lq、Rs、Ψf四個未知參數(shù),后期種群的多樣性過低可能會導(dǎo)致算法的收斂速度變慢,從而導(dǎo)致參數(shù)在辨識速度上的降低,進而影響整個系統(tǒng)穩(wěn)定性。為了增加種群的多樣性從而解決后期種群多樣性降低的不足,本文首先在原始麻雀搜索算法中引入交叉變異策略,使算法更加適用于PMSM多參數(shù)辨識問題。
交叉變異策略源自于差分進化算法[19,20],該算法是基于群體智能理論的優(yōu)化算法。首先利用差分進化算法中的變異策略進而產(chǎn)生變異個體,變異策略如下:
vi,N+1=xr1,N+F(xr2,N-xr3,N)
(7)
式中,vi,N+1為產(chǎn)生的變異向量;xri,N(i=1,2,…,n)為目標(biāo)向量,N為當(dāng)前迭代次數(shù),并且隨機選擇的r1≠r2≠r3≠ri,因此n≥4;F為一個實常數(shù)因數(shù),F(xiàn)∈[0,2],它控制著偏差變量的放大作用,當(dāng)F選取的值較大時,可以保證種群的多樣性,當(dāng)F選取的值較小時,可以保證種群的局部搜索能力,加快收斂速度。
進行完變異策略后,將變異個體與目標(biāo)個體進行交叉操作,此時就會產(chǎn)生一個新的實驗個體,交叉策略如式(8)所示:
(8)
式中,uji,N+1為新的實驗個體;vji,N+1為變異個體;xji,N+1為原個體;a為一個隨機數(shù),a∈[0,1];rnbr(i)為一個隨機的序列,確保從變異個體中獲得一個參數(shù),rnbr(i)∈{1,2,…,h},h為種群維度;CR為交叉算子,其取值范圍為[0,1]。
將發(fā)現(xiàn)者的位置更新式(4)與交叉變異策略相結(jié)合,則發(fā)現(xiàn)者的位置更新公式更改為式(9):
(9)
由式(9)可知,當(dāng)R
因此,除了依靠交叉變異策略來使得整個種群多樣化,增加搜索范圍,還要尋求一種在不縮小搜索范圍的情況下,仍能保持種群多樣性的方法。本文在前述算法中引入一種動態(tài)搜索的策略,將當(dāng)前最優(yōu)位置和當(dāng)前最差位置作為參考標(biāo)準(zhǔn),個體結(jié)合自身位置與種群中最優(yōu)、最差個體的位置,根據(jù)不同情況下的最優(yōu)和最差位置得出最佳目標(biāo)逃跑方向,結(jié)合式(9),新的發(fā)現(xiàn)者的位置更新公式如下:
(10)
式中,λ為服從均值為0、方差為1的正態(tài)分布隨機數(shù)。
式(10)可以使發(fā)現(xiàn)者在未發(fā)現(xiàn)和發(fā)現(xiàn)危險時,都能保持良好的種群多樣性以及后期的局部探索能力,種群可以根據(jù)全局最優(yōu)及最差位置來尋找最佳的安全區(qū)域進行活動,大大降低了陷入局部最優(yōu)情況的發(fā)生概率;也大大降低了因為算法局部探索能力的不足從而導(dǎo)致在PMSM參數(shù)辨識過程中某一參數(shù)甚至多個參數(shù)誤差較大的問題。
在原始麻雀搜索算法中引入交叉變異策略和動態(tài)搜索策略,可以使算法能夠更好地應(yīng)用于PMSM多參數(shù)辨識問題。根據(jù)上述優(yōu)化算法,CMSSA算法工作流程如圖1所示。
圖1 CMSSA算法流程圖Fig.1 CMSSA algorithm flow chart
不同于基于最小二乘法和模型參考自適應(yīng)法的PMSM參數(shù)辨識問題,在基于CMSSA這類元啟發(fā)式算法時,PMSM參數(shù)辨識問題不可以直接用CMSSA來解決,CMSSA是用來處理優(yōu)化問題的算法,因此可以將PMSM參數(shù)辨識問題轉(zhuǎn)化成一個求解最優(yōu)化的問題。根據(jù)系統(tǒng)辨識的原理,將已有實際模型的輸出和建立的辨識模型輸出兩者相減得到差值,再經(jīng)過合適的適應(yīng)度函數(shù)得到適應(yīng)度值,利用CMSSA來對適應(yīng)度值一次次進行優(yōu)化和修正,當(dāng)適應(yīng)度值越來越小時,則表示實際模型與辨識模型越來越趨近,CMSSA計算出的四個參數(shù)值就越接近真實值。如此,便可以將PMSM辨識問題轉(zhuǎn)換成一個簡單的優(yōu)化問題來進行求解。
所采用的適應(yīng)度函數(shù)如式(11)所示:
(11)
圖2 PMSM辨識原理Fig.2 Identification principle of PMSM
為了更好地檢驗CMSSA的優(yōu)越性,將此算法同原始麻雀搜索算法、蜘蛛猴優(yōu)化算法進行對比分析,在Matlab/Simulink軟件平臺上搭建仿真辨識模型,如圖3所示,分別對PMSM進行多參數(shù)辨識。本次仿真是基于PMSM矢量控制模型下進行的,仿真中所采用的PMSM各參數(shù)具體見表1。
圖3 PMSM矢量控制仿真模型Fig.3 Simulation model of PMSM vector control
在本次仿真實驗中,電機轉(zhuǎn)速設(shè)置為1 500 r/min,負(fù)載轉(zhuǎn)矩為4 N·m,在矢量控制的前提下,在id=0和id=-2 A的情況下分別采集1 000組實驗數(shù)據(jù);初始種群規(guī)模均設(shè)置為50、迭代次數(shù)均為100;設(shè)置范圍為[0,10],遠(yuǎn)離辨識參數(shù)的真實值,本次仿真結(jié)果均取每種算法運行15次后的平均值作為最終辨識結(jié)果。
表1 PMSM參數(shù)Tab.1 Parameters of PMSM
表2為3種算法的仿真運行結(jié)果,從表2可以明顯看出,CMSSA的辨識結(jié)果是三者當(dāng)中最為理想的,其適應(yīng)度值要小于其他兩種算法,同時可以看出四個待辨識參數(shù)(Rs、Ld、Lq、Ψf)的辨識誤差也是最小的,最接近真實值,從而證明了CMSSA辨識算法具有較高的準(zhǔn)確性;從表2中也可看出CMSSA的標(biāo)準(zhǔn)差也是最小的,這反映出了在整個辨識過程中,CMSSA的穩(wěn)定性要高于SSA和SMO。由此通過仿真驗證了本文對SSA所提的兩種改進策略的可行性與正確性。
表2 三種算法的仿真結(jié)果比較Tab.2 Comparison of simulation results of three algorithms
為了進一步檢驗CMSSA的真實和有效性,在仿真的基礎(chǔ)上進行了實驗驗證。搭建了如圖4所示的電機實驗平臺,整個電機平臺以DSP28335為控制核心,同時包括驅(qū)動電路、采集電路、光電編碼器等。在電機穩(wěn)定運行一段時間后,結(jié)合圖1的方法分別對電壓、電流、轉(zhuǎn)速進行采樣,利用DSP運算能力,對采樣的數(shù)據(jù)進行坐標(biāo)變換后,將變換后的數(shù)據(jù)經(jīng)過CAN總線傳遞到計算機,計算機利用算法完成參數(shù)辨識。實驗的所有參數(shù)設(shè)置均與仿真一樣,結(jié)果仍為每個算法單獨運行15次后取平均值為最終結(jié)果。
圖4 電機實驗平臺Fig.4 Motor experiment platform
圖5所示為所使用的3種算法依次對PMSM進行參數(shù)辨識的適應(yīng)度值變化曲線,從圖5中可以很明顯地看出,在迭代次數(shù)100內(nèi)3種算法均能夠收斂到一定的范圍內(nèi),CMSSA在迭代次數(shù)達到30時開始收斂,而且收斂的速度高于SSA和SMO;在保證收斂速度的同時,CMSSA最后收斂精度也比其他兩種算法更高,因此CMSSA的參數(shù)辨識效果要優(yōu)于SSA與SMO。
圖5 適應(yīng)度曲線Fig.5 Fitness curves
圖6為3種算法單獨運行15次時每一次的時間對比。從圖6中可以看出,CMSSA相較于其他兩種算法運算的速度更快。
圖6 算法時間對比Fig.6 Algorithm time comparison
圖7為定子電阻的辨識曲線圖,從圖7中可以看出,本文所采用的3種算法均能有效地收斂到電機實際的定子電阻值附近,都表現(xiàn)出良好的全局搜索能力,但是依然可以看出CMSSA具有較強的穩(wěn)定性,且能較早地收斂到真實值附近,反映了CMSSA的收斂速度要高于SSA和SMO。
圖7 定子電阻辨識曲線Fig.7 Stator resistance identification curves
圖8~圖10為d-q軸電感與永磁體磁鏈的辨識變化曲線。電感和磁鏈的辨識曲線波動相比于定子電阻的波動要小很多,而且算法都能夠以較快的速度辨識出真實值,此時的CMSSA的效果仍明顯好于其他兩種算法。結(jié)合圖5可以看出在整個辨識過程中,Ld、Lq、Ψf的變化是影響適應(yīng)度函數(shù)值變化的關(guān)鍵因素。實驗結(jié)果對比見表3。
圖8 d軸電感辨識曲線Fig.8 d-axis inductance identification curves
圖9 q軸電感辨識曲線Fig.9 q-axis inductance identification curves
圖10 永磁體磁鏈辨識曲線Fig.10 Identification curves of permanent magnet flux linkage
表3 算法實驗結(jié)果對比Tab.3 Comparison of algorithm experimental results
從表3可知,優(yōu)化后的CMSSA算法更加接近實際值,驗證了仿真的有效性和改進算法的正確性。
從四個參數(shù)的辨識曲線可明顯看出,利用CMSSA算法進行參數(shù)辨識,在迭代次數(shù)到達30左右時,四個參數(shù)均開始收斂到真實值附近,穩(wěn)定性高于其他兩種算法,進一步驗證了在迭代次數(shù)較少的情況下,CMSSA算法仍然保持較高的收斂速度和精度。
圖11、圖12為利用CMSSA算法對電阻、磁鏈、d-q軸電感隨著電機運行時間增加分別進行的3次辨識結(jié)果,第一次為電機剛平穩(wěn)運行時的辨識結(jié)果,第二次為運行5 min時的辨識結(jié)果,第三次為運行10 min后的辨識結(jié)果。通過圖11、圖12可以看出電機的參數(shù)隨著電機運行發(fā)生改變,同時利用本文所提的方法可以辨識出改變后的參數(shù)值。
圖11 電阻、磁鏈隨電機運行的辨識結(jié)果對比Fig.11 Comparison of identification results of resistance and flux linkage with motor operation
圖12 d-q軸電感隨電機運行的辨識結(jié)果對比Fig.12 Comparison of identification results of d-q axis inductance with motor operation
本文在PMSM矢量控制模型下,結(jié)合坐標(biāo)變換公式,在id=0和id=-2 A的負(fù)序弱磁電流兩種不同的情況下構(gòu)造出一個滿秩的辨識模型。通過融合交叉變異策略及動態(tài)搜索的麻雀搜索算法,準(zhǔn)確并且快速地辨識出定子電阻、d-q軸電感、永磁體磁鏈四個參數(shù)。從仿真結(jié)果看,CMSSA由于在發(fā)現(xiàn)者的位置更新階段引入交叉變異和動態(tài)搜索兩種改進策略,擴大了搜索范圍、增加了種群多樣性,在辨識的精度上高于SSA和SMO,驗證了所提方法的有效性。實驗結(jié)果進一步驗證CMSSA的優(yōu)越性:CMSSA具有更快的收斂速度以及更低的適應(yīng)度值,從四個待辨識參數(shù)的辨識曲線可以明顯看出,CMSSA所辨識出來的參數(shù)可以更快、更平穩(wěn)地收斂到真實值附近,并沒有出現(xiàn)算法早熟的問題,同時誤差比SMO和SSA更小。由于本文是算法單獨運行15次之后取的平均值作為最終結(jié)果,因此最終結(jié)果會產(chǎn)生一些波動,但不影響本文所做的結(jié)論。