金 鵬
(遼寧工程職業(yè)學(xué)院 電氣工程系,鐵嶺 112008)
無刷直流電機(jī)(以下簡稱BLDCM)具有體積小、質(zhì)量輕、出力大、響應(yīng)快、速度高、慣量小、轉(zhuǎn)動平滑、力矩穩(wěn)定的優(yōu)點[1],并且容易實現(xiàn)智能化控制,現(xiàn)在越來越多地被作為精密控制電機(jī)使用,如機(jī)械手臂關(guān)節(jié)電機(jī)等[1]。但BLDCM是一個典型的多變量、非線性、強(qiáng)耦合、時變的復(fù)雜系統(tǒng)[1],難以建立精確模型。普通PID控制必須建立精確的數(shù)學(xué)模型,并且參數(shù)調(diào)節(jié)難度大,控制精度不高[1]。而一些智能PID算法往往編程復(fù)雜,并且需要大量的參數(shù)調(diào)節(jié)經(jīng)驗,在實際的工程應(yīng)用中可行度不高。
分?jǐn)?shù)階PIλDμ(以下簡稱FOPID)控制器是近年來提出的一種新型控制器,具有kp、ki、kd、λ、μ5個調(diào)節(jié)參數(shù),因此,控制精度和靈活度更高[1]。目前,有學(xué)者提出通過模糊算法或復(fù)雜智能算法調(diào)節(jié)5個參數(shù)[2-4],但這些調(diào)節(jié)方法需要大量的參數(shù)經(jīng)驗,并且迭代計算復(fù)雜。
本文結(jié)合混沌算法和雙態(tài)粒子群算法(以下簡稱BPSO),形成CBPSO算法,利用CBPSO在線調(diào)節(jié)FOPID控制器的參數(shù)。仿真實驗及電機(jī)轉(zhuǎn)速測試結(jié)果表明:基于CBPSO-FOPID算法,BLDCM伺服系統(tǒng)獲得更好的動態(tài)性能和魯棒性能。
在忽略電機(jī)損耗及電樞反應(yīng)對氣隙磁場影響的情況下,將整個BLDCM看作一個整體,則BLDCM的電壓平衡方程[5]:
(1)
式中:u為電樞電壓;i為電樞電流;r0為相電阻,r0=2r;L0為相電感,L0=2(L-M);ke為反電動勢系數(shù);ω為電機(jī)轉(zhuǎn)速[5]。
轉(zhuǎn)矩平衡方程[5]:
(2)
Te=kti
(3)
式中:Te為電磁轉(zhuǎn)矩;TL為負(fù)載轉(zhuǎn)矩;J為轉(zhuǎn)動慣量;B為粘滯摩擦系數(shù);kt為轉(zhuǎn)矩系數(shù)[5]。
BLDCM控制系統(tǒng)采用雙閉環(huán)控制系統(tǒng)。內(nèi)環(huán)為電流環(huán),采用PI控制器;外環(huán)為轉(zhuǎn)速環(huán),是本文研究重點,采用FOPID控制器。
Podlubony在分?jǐn)?shù)階微積分的基礎(chǔ)上提出了FOPID微分方程[1-6]:
u(t)=Kpe(t)+KiDi-λe(t)+KdDdμe(t)
(4)
式中:λ>0,μ>0。
(5)
得出FOPID的傳遞函數(shù):
G(s)=Kp+Kis-λ+Kdsμ
(6)
λ和μ可以取大于0的任意實數(shù)[7],因此,F(xiàn)OPID具更高的控制精度、靈活度及無限維特性[1-6],但不能直接應(yīng)用于過程控制中。現(xiàn)廣泛采用的方法是利用Oustaloup濾波算法在有限頻域段(wb,wh)內(nèi)[7],通過頻域擬合的方法將sα近似成整數(shù)階傳遞函數(shù)的形式[7]。但此方法在高頻區(qū)域近似效果不好[2],這里采用改進(jìn)Oustaloup濾波算法[5]:
(7)
2N+1為濾波器階次,wh及wb分別為(wb,wh)的上、下限,且b=10,d=9。
為證明FOPID控制器近似為PID控制器的近似度,設(shè)FOPID控制器傳遞函數(shù):
Oustaloup算法近似整數(shù)階傳遞函數(shù):
改進(jìn)Oustaloup算法近似整數(shù)階傳遞函數(shù):
在頻段(101,104),圖1為G1(s)與G(s)的頻率特性對比圖,圖2為G2(s)與G(s)的頻率特性對比圖??梢钥闯?,改進(jìn)Oustaloup濾波算法在高頻段[7](103,104)的近似度要明顯高于Oustaloup濾波算法。
圖1 Oustaloup頻率特性圖2 改進(jìn)Oustaloup頻率特性
FOPID共有5個參數(shù)需要尋優(yōu)求解。針對PSO在迭代計算的后期,收斂速度變慢、易于陷入局部極值的問題,本文結(jié)合混沌算法和BPSO,形成CBPSO算法。首先,通過Tent混沌映射初始化粒子群的位置,使粒子群隨機(jī)、均勻分布在搜索空間內(nèi)[1-7],然后利用雙態(tài)粒子群算法對5個參數(shù)同時進(jìn)行搜索。Tent混沌映射如下:
xk+1=1-2|xk-0.5| 0≤xk≤1
(8)
(1)BPSO
捕食狀態(tài):雙態(tài)粒子群算法將粒子群分為兩個不同行為狀態(tài)的子群——探索群體和捕食群體[8]。在粒子群迭代初期,所有粒子處于捕食狀態(tài)。捕食狀態(tài)的粒子群行為狀態(tài)與普通粒子群算法一樣。設(shè)粒子規(guī)模為M,搜索空間維數(shù)為D,種群的最大迭代次數(shù)為T,粒子群中粒子i(1≤i≤M)的位置為Xi=(xi1,…,xid),速度為Vi=(vi1,…,vid),它根據(jù)自己的個體最優(yōu)值pid和全局最優(yōu)值pgd在D維空間中搜索得出最優(yōu)解,粒子i的速度和位置按式(9)和式(10)更新下一代的速度和位置[1]。
vid(t+1)=ω(t)·vid(t)+r1·c1·[pid(t)-
xid(t)]+r2·c2·[pgd(t)-xid(t)]
(9)
xid(t+1)=xid(t)+vid(t+1)
(10)
式中:t為粒子i的迭代次數(shù);c1,c2為粒子i的學(xué)習(xí)因子;r1,r2分別為(0,1)間的隨機(jī)數(shù)。ω(t)為粒子i的慣性權(quán)重,本文采用自適應(yīng)慣性權(quán)重,如下式:
(11)
式中:ωmax,ωmin分別為慣性權(quán)重的最大值和最小值;fi為粒子i的適應(yīng)度,favg為當(dāng)前粒子群適應(yīng)度平均值;fg為當(dāng)前粒子群最優(yōu)適應(yīng)度。本文選取BLDCM系統(tǒng)指標(biāo)函數(shù)JITAE為粒子群適應(yīng)度函數(shù),即:
(12)
探索狀態(tài):在粒子群尋優(yōu)過程中,若算法陷入局部最優(yōu)值,保留一部分優(yōu)良的粒子繼續(xù)以捕食狀態(tài)搜索,其余大部分粒子轉(zhuǎn)為探索狀態(tài),在搜索空間內(nèi)重新初始化,繼續(xù)尋優(yōu),這部分粒子位置:
(13)
速度更新公式和位置更新公式:
xkd(t+1)=xkd(t)+vkd(t+1)
(14)
vkd(t+1)=ω·sign(r)·vkd+c1·r1·
[pkd(t)-xkd(t)]+c2·r2·
[pgd(t)-xkd(t)]+c3·u(0,1)·
[xkd(t)-hpgd(t)]
(15)
(16)
式中:sign(r)為符號函數(shù);c3為(0,1)之間隨機(jī)數(shù);u(0,1)為高斯分布函數(shù);hpgd為搜索狀態(tài)的粒子在解集空間內(nèi)的全局最優(yōu)值。
在迭代計算中,根據(jù)式(17)判斷粒子群是否陷入局部最優(yōu)值,若連續(xù)5次δ(t)≤0.1,即粒子群適應(yīng)度基本無變化,則認(rèn)為算法陷入局部最優(yōu)值。
(17)
另外,從上述分析過程也可看出,BPSO是兩個階段的迭代算法,算法的編程難度不高,便于應(yīng)用于實際工程領(lǐng)域。
(2)算法流程:
步驟1:粒子群參數(shù)初始化。
步驟2:按式(8)初始化粒子位置和速度,生成FOPID的5參數(shù)的初始位置序列。
步驟3:按式(9)、式(10)、式(12)更新粒子位置、速度和適應(yīng)度。
步驟4:按式(17)計算δ(t)。若算法陷入局部極值,跳步驟5,否則執(zhí)行步驟7。
步驟5:按適應(yīng)度排序粒子,性能較好的30%粒子以捕食狀態(tài)行動,按式(9)、式(10)更新速度和位置,其余粒子轉(zhuǎn)為探索狀態(tài),按式(14)、式(15)、式(12)更新位置、速度和適應(yīng)度。
步驟6:分別計算捕食狀態(tài)的和探索狀態(tài)的全局最優(yōu)值,比較后更新全局最優(yōu)值。
步驟7:算法迭代次數(shù)達(dá)到T,尋優(yōu)結(jié)束,求得Kp、Ki、Kd、λ、μ全局最優(yōu)解。
在MATLAB平臺上對本文算法進(jìn)行仿真。電機(jī)參數(shù)設(shè)置如下:額定電壓UN=36 V,額定轉(zhuǎn)矩TN=0.23 N·m,定子相繞組電阻R=0.8 Ω,定子相繞組有效電感L-M=1.5 mH,轉(zhuǎn)動慣量J=0.001 05 kg·m2,極對數(shù)p=4。粒子種群參數(shù)設(shè)置如下:M=100,T=100,D=5,c1=2、c2=2,搜索空間上限G1=[50 50 50 2 2]、下限G2=[0 0 0 0 0]。
(1)CBPSO與PSO收斂性能對比
當(dāng)速度環(huán)采用FOPID算法時,分別用CBPSO、BPSO搜索FOPID的5個參數(shù),適應(yīng)度收斂曲線如圖3所示。從圖3可以看出,CBPSO收斂速度更快,ITAE性能指標(biāo)更優(yōu)。
圖3 適應(yīng)度收斂曲線
(2)系統(tǒng)性能對比
速度環(huán)分別采用普通PID、普通FOPID、PSO-FOPID、CBPSO-FOPID算法,設(shè)定轉(zhuǎn)速為2 000 r/min,在t=2.5 s時,加入負(fù)載TL=0.2 N·m。對比4種算法下BLDCM系統(tǒng)的動態(tài)性能及抗干擾性能。圖4為速度響應(yīng)曲線,圖5為電磁轉(zhuǎn)矩響應(yīng)曲線,圖6為相電流曲線。
圖4 電機(jī)轉(zhuǎn)速響應(yīng)曲線
圖5 電機(jī)電磁轉(zhuǎn)矩響應(yīng)曲線
圖6 電機(jī)相電流響應(yīng)曲線
從圖4可以看出:普通PID算法下,BLDCM產(chǎn)生了較大的超調(diào);普通FOPID算法下,BLDCM也產(chǎn)生了較小幅度的超調(diào);PSO-FOPID和CBPSO-FOPID算法下,系統(tǒng)無超調(diào),但CBPSO-FOPID的響應(yīng)速度更快,在系統(tǒng)遇到擾動時,CBPSO-FOPID的抗干擾能力更強(qiáng)。
從圖5和圖6可以看出,當(dāng)系統(tǒng)加入負(fù)載時,CBPSO-FOPID算法下,BLDCM的電磁轉(zhuǎn)矩及相電流的波動最小,再次證明CBPSO-FOPID的抗干擾能力更強(qiáng)。
實驗測試采用TMS320F28335電機(jī)專用DSP處理器[7]作為無刷直流伺服電機(jī)的主控制器。電機(jī)參數(shù)與仿真參數(shù)一致。實驗時,設(shè)置轉(zhuǎn)速為700 r/min。在2.5 s施加負(fù)載轉(zhuǎn)矩0.2 N·m?;赑ID、FOPID、PSO-FOPID、CBPSO-FOPID算法的電機(jī)轉(zhuǎn)速如圖7所示,性能指標(biāo)對比如表1所示。
表1 算法性能指標(biāo)
圖7 電機(jī)轉(zhuǎn)速曲線
通過圖7及表1可以看出:PID和FOPID都產(chǎn)生了不同程度的超調(diào),但PID的穩(wěn)態(tài)誤差明顯較大,擾動量也比PID大;PSO-FOPID和CBPSO-FOPID無超調(diào),調(diào)節(jié)時間短、擾動量也很??;4種算法中,CBPSO-FOPID的性能指標(biāo)最好。實驗結(jié)果再次證明,本文算法具有更優(yōu)越的動態(tài)性能及魯棒性能。
通過前文分析可以看出,改進(jìn)的分?jǐn)?shù)階控制器可以有效提高伺服系統(tǒng)的控制精度、靈活性和抗干擾性。并且通過仿真及實測結(jié)果可以得出以下結(jié)論:(1)利用CBPSO尋優(yōu)FOPID控制器參數(shù)時,尋優(yōu)速度快,控制精度較高,魯棒性較好。CBPSO-FOPID控制器與PID控制器、FOPID控制器、PSO-FOPID控制器相比,具有更高的性能指標(biāo)。(2)CBPSO算法收斂速度快,避免了普通PSO算法陷入局部極小值的缺陷,搜索的解值更優(yōu)。