李夢凡,王 云,衛(wèi)麗超
(西安微電子技術(shù)研究所,陜西 西安 710054)
無刷直流電機(jī)(Brushless DC motor,BLDC)具有工作可靠、效率高、損耗小、調(diào)速性能好等優(yōu)點(diǎn),在智能家電、航空航天、醫(yī)療器械、工業(yè)自動化等領(lǐng)域中的應(yīng)用日漸廣泛。目前,無刷直流電機(jī)控制系統(tǒng)依然廣泛采用定參數(shù)PID控制器,其結(jié)構(gòu)簡單,技術(shù)成熟,但是無刷直流電機(jī)具有時變不確定、非線性、耦合性強(qiáng)等特點(diǎn)[1],而定參數(shù)PID控制方法的控制參數(shù)不能隨著系統(tǒng)的工作狀態(tài)調(diào)整,且其參數(shù)整定依賴于工程經(jīng)驗(yàn),因此這種傳統(tǒng)的控制方法越來越不能滿足無刷直流電機(jī)控制系統(tǒng)高精度和控制指標(biāo)的要求。
近年來,隨著人工智能技術(shù)的不斷發(fā)展,很多智能算法被應(yīng)用到PID控制器的參數(shù)整定上,例如模糊算法[2]、遺傳算法[3]、粒子群算法[4]等。本文針對標(biāo)準(zhǔn)粒子群算法收斂速度慢、容易陷入局部極值等缺點(diǎn)[5],提出了基于改進(jìn)的全面學(xué)習(xí)粒子群(Comprehensive Learning Particle Swarm Optimizer, CLPSO)算法優(yōu)化PID參數(shù)的控制方法,并在MATLAB/Simulink中進(jìn)行了無刷直流電機(jī)控制系統(tǒng)的仿真實(shí)驗(yàn)。
不考慮尺槽效應(yīng)和磁路飽和,并忽略磁滯、渦流、集膚效應(yīng)和溫度對參數(shù)的影響,無刷直流電機(jī)定子三相繞組的電壓平衡方程可表示為:
(1)
其中:ua、ub、uc分別為電機(jī)三相繞組的相電壓;ia、ib、ic分別為三相繞組的相電流;ea、eb、ee分別為三相繞組的反電動勢;Ra、Rb、Rc分別為三相繞組的電阻;La、Lb、Lc分別為三相繞組的自感;Mab為A相繞組與B相繞組之間的互感,其他同理。
假定定子繞組對稱,可得Ra=Rb=Rc=R;La=Lb=Lc=Ls;Mab=Mac=Mba=Mbc=Mca=Mcb=M。假定定子三相繞組為Y型接法,且沒有中點(diǎn),則有:
ia+ib+ic=0.
(2)
由此可得Mia+Mib=-Mic,Mia+Mic=-Mib,Mib+Mic=-Mia。將上述各式代入式(1)整理后可得:
(3)
其中:L=Ls-M。
無刷直流電機(jī)的電磁轉(zhuǎn)矩為:
Te=(eaia+ebib+ecic)/ωm.
(4)
其中:ωm為電機(jī)的機(jī)械角速度,ωm=2πn/60,n為電機(jī)轉(zhuǎn)速。
轉(zhuǎn)子運(yùn)動方程為:
(5)
其中:Te為電磁轉(zhuǎn)矩;TL為負(fù)載轉(zhuǎn)矩;J為轉(zhuǎn)子的轉(zhuǎn)動慣量;ω為電機(jī)角速度。
粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法是Eberhart和Kennedy受鳥群和魚群在覓食過程中群聚行為的啟發(fā),于1995年開發(fā)的一種基于群體隨機(jī)搜索的優(yōu)化算法。PSO從一組隨機(jī)的初始解出發(fā),通過不斷更新迭代來搜索最優(yōu)值。與遺傳算法(GA)等進(jìn)化算法不同的是,PSO沒有交叉和變異等進(jìn)化因子,因此更加簡單有效,目前,PSO已經(jīng)應(yīng)用于函數(shù)優(yōu)化、機(jī)器學(xué)習(xí)、模糊系統(tǒng)控制及自適應(yīng)控制等多領(lǐng)域。
在標(biāo)準(zhǔn)PSO算法中,粒子的位置信息構(gòu)成了n維空間所有的潛在解,每個粒子被隨機(jī)初始化后便以一定的速度在空間內(nèi)飛行,其中第i個粒子的位置為xi=(xi1,xi2,…,xin),飛行速度為vi=(vi1,vi2,…,vin)。根據(jù)待求解問題可以確定一個適應(yīng)度函數(shù),每個粒子根據(jù)自身不同位置的適應(yīng)值來確定搜索到的歷史最好位置,記為Pbest,這屬于粒子自身的搜索經(jīng)驗(yàn);通過比較不同粒子的適應(yīng)度,可以找到整個粒子群搜索到的歷史最好位置,記為Gbest,這屬于粒子群的共同經(jīng)驗(yàn)。粒子根據(jù)這兩種經(jīng)驗(yàn),按照如下所示的規(guī)則不斷迭代,更新自己的速度和位置[6]:
vij(k+1)=wvij(k)+c1r1[pij-xij(k)]+
c2r2[pgj-xij(k)].
(6)
xij(k+1)=xij(k)+vij(k+1)j=1,2,…,n.
(7)
其中:w為慣性權(quán)重;vij(k)為第i個粒子第k次迭代時的速度,j為更新的坐標(biāo),這一項(xiàng)代表粒子飛行中保持自身慣性的行為;c1為認(rèn)知因子;r1為[0,1]之間服從均勻分布的隨機(jī)數(shù);pij為第i個粒子的個體極值;xij(k)為第i個粒子第k次迭代時的位置,這一項(xiàng)代表粒子對自身飛行經(jīng)驗(yàn)的認(rèn)知和學(xué)習(xí);c2為社會因子;r2為[0,1]之間服從均勻分布的隨機(jī)數(shù);pgj為群體極值,這一項(xiàng)代表粒子向群體共同經(jīng)驗(yàn)的學(xué)習(xí)能力,使自己不斷趨近群體中的最佳位置。
在求解復(fù)雜問題,尤其在多變量、多峰值的系統(tǒng)中,即使當(dāng)前的Gbest與全局極值點(diǎn)相差甚遠(yuǎn),粒子也很容易受到吸引,并陷入該局部最優(yōu)解中。此外,由于適應(yīng)度函數(shù)是多維的,某些維度上處于全局最優(yōu)解領(lǐng)域內(nèi)的粒子,由于其他維度的影響,適應(yīng)度可能并不高。因此標(biāo)準(zhǔn)粒子群算法常常具有搜索精度低、收斂速度慢的缺點(diǎn)。
在全面學(xué)習(xí)粒子群(CLPSO)算法中[7],粒子的速度向量按以下規(guī)則來更新:
vij(k+1)=wvij(k)+c1r1(pbestfi(j)(k)-xij(k)).
(8)

(9)
在粒子i的每一維度上都會產(chǎn)生一個隨機(jī)數(shù),如果該隨機(jī)數(shù)大于PC,那么粒子i就會選擇自身的pbest;相反,它會選擇其他粒子的pbest,此時的算法流程概括如下:
(1) 隨機(jī)選擇兩個速度向量尚未更新的粒子。
(2) 比較這兩個粒子pbest的適應(yīng)值,選出適應(yīng)度更好的粒子。
(3) 用選出粒子的pbest作為其他粒子在這一維度上的學(xué)習(xí)對象。如果某一粒子所有的學(xué)習(xí)對象均為其本身的pbest,則隨機(jī)選擇一個維度,將相應(yīng)維度上其他粒子的pbest作為學(xué)習(xí)對象。
為了提高算法的有效性,定義更新因子m,如果某粒子停止更新超過m次,則為該粒子重新分配學(xué)習(xí)對象fi。
與PSO算法相比,CLPSO算法中粒子的學(xué)習(xí)對象不局限于其本身Pbest的和Gbest,而是將范圍擴(kuò)大至所有粒子的歷史最優(yōu)解,而且在每一維度上,粒子都將進(jìn)行學(xué)習(xí)對象的選擇,因此CLPSO算法具有較強(qiáng)的全局搜索能力,解決了PSO算法易陷入局部極值點(diǎn)的問題。但是,由于不受群體或領(lǐng)域極值的約束,擴(kuò)大了粒子的飛行范圍,CLPSO算法的收斂速度和收斂精度還有待提升。針對這一問題,將粒子領(lǐng)域中歷史最優(yōu)解的信息引入CLPSO算法,定義粒子的速度向量更新如下:
(10)

將PID控制器中的3個參數(shù)kp、ki、kd看做是粒子的3個參數(shù)指標(biāo),利用改進(jìn)的CLPSO算法在3維空間中進(jìn)行搜索,得到的最優(yōu)位置的3個參數(shù)即為所需的PID參數(shù)。為了兼顧控制系統(tǒng)的性能和實(shí)時性,在搜索過程中對參數(shù)設(shè)置一定范圍,并規(guī)定了適應(yīng)度的閾值和計(jì)算次數(shù)上限。本系統(tǒng)中,粒子群規(guī)模取40,計(jì)算次數(shù)設(shè)置為50即可滿足控制要求。
根據(jù)無刷直流電機(jī)的數(shù)學(xué)方程,在MATLAB/Simulink中搭建BLDC雙閉環(huán)控制系統(tǒng)模型,如圖1所示。其中速度調(diào)節(jié)采用改進(jìn)CLPSO算法,BLDC仿真參數(shù)設(shè)置如下:電樞電阻R=2.875 Ω,電樞電感L=0.008 5 H,轉(zhuǎn)動慣量J=0.8×10-3kg·m2,電機(jī)為2極對,電機(jī)額定電壓U=480 V,電機(jī)額定轉(zhuǎn)速n=3 000 r/min,在0.1 s時突加負(fù)載TL=3 N·m。

圖1 無刷直流電機(jī)控制系統(tǒng)仿真模型
圖2、圖3分別為定參數(shù)PID和改進(jìn)CLPSO PID控制電機(jī)的轉(zhuǎn)速響應(yīng)曲線,圖4(a)為改進(jìn)CLPSO PID控制電機(jī)轉(zhuǎn)速響應(yīng)曲線啟動過程放大圖,圖4(b)為突加負(fù)載放大圖。

圖2 定參數(shù)PID控制電機(jī)轉(zhuǎn)速響應(yīng)曲線

圖3 改進(jìn)CLPSO PID控制電機(jī)轉(zhuǎn)速響應(yīng)曲線
從圖2~圖4中可以看出,采用改進(jìn)CLPSO PID控制的系統(tǒng),電機(jī)轉(zhuǎn)速響應(yīng)迅速,無超調(diào),突加負(fù)載后,轉(zhuǎn)速下降和調(diào)節(jié)時間也均小于定參數(shù)PID系統(tǒng)。圖5、圖6分別為定參數(shù)PID和改進(jìn)CLPSO PID控制電機(jī)的轉(zhuǎn)矩響應(yīng)曲線。從圖5、圖6中可以看出,與定參數(shù)PID相比,改進(jìn)CLPSO PID控制中的轉(zhuǎn)矩波動更小,響應(yīng)速度更快。表1給出了兩種控制方式下電機(jī)性能的對比。仿真結(jié)果表明,經(jīng)過改進(jìn)CLPSO對PID參數(shù)的優(yōu)化控制,電機(jī)控制系統(tǒng)具有更加良好的動靜態(tài)性能與魯棒性。

圖4 改進(jìn)CLPSO PID控制電機(jī)轉(zhuǎn)速響應(yīng)曲線放大圖

圖5 定參數(shù)PID控制電機(jī)轉(zhuǎn)矩響應(yīng)曲線
本文針對傳統(tǒng)定參數(shù)PID控制方法難以滿足無刷直流電機(jī)控制指標(biāo)要求的現(xiàn)狀,提出了基于改進(jìn)CLPSO算法的無刷直流電機(jī)PID參數(shù)控制方法。仿真結(jié)果表明,與定參數(shù)PID控制方法相比,使用改進(jìn)CLPSO控制方法的電機(jī)響應(yīng)速度快,超調(diào)量小,突加負(fù)載后,響應(yīng)速度和波動均優(yōu)于定參數(shù)PID控制方法。該方法具有良好的動靜態(tài)特性與魯棒性,能夠滿足電機(jī)自適應(yīng)控制的性能要求。

圖6 改進(jìn)CLPSO PID控制電機(jī)轉(zhuǎn)矩響應(yīng)曲線

控制器超調(diào)量(%)調(diào)節(jié)時間(ms)突加負(fù)載轉(zhuǎn)速下降(r/min)突加負(fù)載調(diào)節(jié)時間(ms)轉(zhuǎn)矩響應(yīng)時間(ms)突加負(fù)載轉(zhuǎn)矩響應(yīng)時間(ms)定參數(shù)PID2.870146304020改進(jìn)PID04010455