付麗輝
(淮陰工學(xué)院 電子與電氣工程學(xué)院,江蘇 淮安 223003)
近年來(lái),隨著電力電子器件及新型永磁材料的發(fā)展,無(wú)刷直流電機(jī)( brushless direct current motor,BLDCM)迅速成熟為一種機(jī)電一體化電機(jī),它具有控制容易、無(wú)換向器、結(jié)構(gòu)簡(jiǎn)單、運(yùn)行穩(wěn)定、效率高, 可靠性好、使用壽命長(zhǎng)等優(yōu)點(diǎn)[1],在高性能的中、小伺服驅(qū)動(dòng)領(lǐng)域中,也獲得廣泛應(yīng)用并日趨占據(jù)主導(dǎo)地位。
無(wú)刷直流電動(dòng)機(jī)控制系統(tǒng)通常是通過(guò)轉(zhuǎn)子位置傳感器獲取轉(zhuǎn)子位置信號(hào),從而實(shí)現(xiàn)換相,通過(guò)轉(zhuǎn)速傳感器獲取轉(zhuǎn)速反饋信號(hào),并實(shí)現(xiàn)轉(zhuǎn)速環(huán)的閉環(huán)控制[2],這種轉(zhuǎn)速環(huán)的閉環(huán)控制一般采用轉(zhuǎn)速、電流雙閉環(huán)數(shù)字串級(jí)控制來(lái)實(shí)現(xiàn)的,其外環(huán)為速度環(huán), 內(nèi)環(huán)為電流環(huán)。具體原理如圖1所示。
圖1 無(wú)刷直流電機(jī)調(diào)速系統(tǒng)框圖
圖1中的給定速度值為控制要求設(shè)定的穩(wěn)定運(yùn)行速度, 系統(tǒng)在由速度檢測(cè)部份檢測(cè)出電機(jī)速度的反饋值后,將其與給定的轉(zhuǎn)速比較,然后經(jīng)過(guò)傳統(tǒng)的增量式限幅PID調(diào)節(jié), 將輸出值作為電流環(huán)給定值,該值再與電流檢測(cè)部分采樣得到的母線電流值進(jìn)行比較, 然后采用PI增量調(diào)節(jié)方式, 實(shí)時(shí)調(diào)節(jié)PWM 占空比,改變施加于電機(jī)上的電壓, 達(dá)到電機(jī)調(diào)速的目的。為了防止電機(jī)中的繞組電流過(guò)大,需要設(shè)置一個(gè)PWM占空比的最大值。
由于無(wú)刷直流電機(jī)本身存在的非線性問(wèn)題[1],如電樞反應(yīng)的非線性、隨負(fù)載和工況而變化的轉(zhuǎn)動(dòng)慣量以及負(fù)載擾動(dòng)、電阻變化等,若采用傳統(tǒng)PID調(diào)節(jié)器來(lái)控制,雖然其控制穩(wěn)定,結(jié)構(gòu)簡(jiǎn)單,但當(dāng)電機(jī)的參數(shù)發(fā)生變化或受非線性因素影響而發(fā)生變化時(shí),其PID參數(shù)不能隨之而變化,因此,無(wú)法滿足高精度,高性能的要求,而如果采取神經(jīng)網(wǎng)絡(luò)的PID控制,則不需要建立對(duì)象的數(shù)學(xué)模型,并且能夠很好地克服系統(tǒng)中參數(shù)的變化和非線性等不確定因素,具有較強(qiáng)的魯棒性,本文將神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的PID控制結(jié)合起來(lái),并對(duì)其中的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),實(shí)驗(yàn)表明,該種方法可以獲得很好的控制效果。
改進(jìn)的基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)的無(wú)刷直流電機(jī)調(diào)速控制系統(tǒng)框圖如圖2所示:
圖2 BP神經(jīng)網(wǎng)絡(luò)無(wú)刷直流電機(jī)調(diào)速系統(tǒng)框圖
神經(jīng)網(wǎng)絡(luò)本身就是要尋找的非線性映射, 即根據(jù)某種優(yōu)化方法, 利用神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)功能, 尋找觀測(cè)到的系統(tǒng)的輸入輸出數(shù)據(jù)之間的內(nèi)在映射關(guān)系, 訓(xùn)練結(jié)束后,系統(tǒng)的特性就存儲(chǔ)于網(wǎng)絡(luò)內(nèi)部的各個(gè)權(quán)系數(shù)上,在圖2的系統(tǒng)框圖中,由學(xué)習(xí)算法來(lái)控制BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程,其輸出狀態(tài)則對(duì)應(yīng)于PID 控制器的3個(gè)參數(shù)Kp,Ki,Kd(比例,積分,微分系數(shù)),通過(guò)神經(jīng)網(wǎng)絡(luò)的自身學(xué)習(xí)、加權(quán)系數(shù)調(diào)整等方法,使其穩(wěn)定狀態(tài)對(duì)應(yīng)于某種最優(yōu)控制下的PID控制器參數(shù),神經(jīng)網(wǎng)絡(luò)通過(guò)在線調(diào)整權(quán)系數(shù)來(lái)實(shí)現(xiàn)對(duì)Kp,Ki,Kd的實(shí)時(shí)調(diào)整,經(jīng)PID調(diào)節(jié)后,將其輸出值作為電流環(huán)給定值。該值與采樣電流值比較,經(jīng)逆變,從而調(diào)節(jié)輸出PWM 占空比,實(shí)現(xiàn)了對(duì)電機(jī)調(diào)速的目的。
由上可知,在利用PID控制器的輸出來(lái)調(diào)節(jié)無(wú)刷直流電動(dòng)機(jī)的轉(zhuǎn)速的過(guò)程中,有一個(gè)可以用來(lái)調(diào)整PID控制器的Kp,Ki,Kd輸出的神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,該算法在整個(gè)控制過(guò)程中,起到了至關(guān)重要的作用,下面即介紹一下由神經(jīng)網(wǎng)絡(luò)PID控制的調(diào)速過(guò)程的流程,具體如圖3所示:
圖3 神經(jīng)網(wǎng)絡(luò)PID調(diào)速控制流程圖
在圖3所述的控制算法流程中,主要包括以下兩個(gè)方面:
常規(guī)的PID算法有位置式和增量式,由于前者的控制需要以前所有次的偏差才能計(jì)算下一次的控制輸出,而后者只要前2次的偏差即可計(jì)算下次的控制輸出,因此,文中的PID算法的輸出u(k)采用增量式控制算法,即:
e(k)=v(k)-vg(k)
de(k)/dt=e(k)-e(k-1)
u(k)=u(k-1)+Δu(k-1)=u(k-1)+Kp.[e(k)-e(k-1)]+Ki.e(k)+Kd.[(e(k)-2e(k-1)+e(k-2))
(1)
其中Kp,Ki,Kd分別為比例,積分,微分系數(shù)。
初始化部分包括需給出各層權(quán)系數(shù)的初值,以及學(xué)習(xí)速率和慣性系數(shù)
根據(jù)BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法來(lái)在線控制PID的參數(shù),使得性能最優(yōu),設(shè)計(jì)中神經(jīng)網(wǎng)絡(luò)選用三層網(wǎng)絡(luò),其中,輸入層的神經(jīng)元個(gè)數(shù)為2個(gè),分別為e(k),de(k)/dt,輸出層神經(jīng)元個(gè)數(shù)為3個(gè),分別為控制參數(shù)Kp,Ki,Kd,根據(jù)系統(tǒng)的規(guī)模,選用隱含層的神經(jīng)元個(gè)數(shù)為8個(gè),而輸出層神經(jīng)元一般選用非負(fù)的sigmoid函數(shù)。主要算法描述如下:
2.2.1 隱層及輸出層神經(jīng)元輸出算法
文中所采用的為一個(gè)三層的BP網(wǎng),在正向得到輸出層神經(jīng)元的輸出時(shí)主要采用如下算法[3]:
(2)
其中,xj為第j個(gè)隱節(jié)點(diǎn)的輸出,pi是第i個(gè)輸入,vij為第i個(gè)輸入到j(luò)個(gè)隱節(jié)點(diǎn)的連接權(quán),r為輸入節(jié)點(diǎn)的個(gè)數(shù),k為隱節(jié)點(diǎn)的個(gè)數(shù),θj為第j個(gè)隱節(jié)點(diǎn)的閾值,f(x)為隱節(jié)點(diǎn)的激活函數(shù),為Sigmoidal型函數(shù)。
(3)
其中,yl為第l個(gè)輸出節(jié)點(diǎn)的輸出,xj為第j個(gè)隱節(jié)點(diǎn)的輸出,wjl為第j個(gè)隱節(jié)點(diǎn)到l個(gè)輸出節(jié)點(diǎn)的連接權(quán),n為輸出節(jié)點(diǎn)的個(gè)數(shù),k為隱節(jié)點(diǎn)的個(gè)數(shù),θl為第l個(gè)輸出節(jié)點(diǎn)的閾值,f(x)為輸出節(jié)點(diǎn)的激活函數(shù),即:Sigmoidal型函數(shù)。
2.2.2 利用改進(jìn)的粒子群算法來(lái)調(diào)整連接權(quán)時(shí)的算法
針對(duì)標(biāo)準(zhǔn)BP算法一般存的訓(xùn)練時(shí)間長(zhǎng),學(xué)習(xí)效率低、存在局部極小值、網(wǎng)絡(luò)隱含節(jié)點(diǎn)數(shù)的選取缺乏理論性指導(dǎo)等問(wèn)題,本文采用了粒子群算法作為BP網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)算法,從而實(shí)現(xiàn)了對(duì)標(biāo)準(zhǔn)BP網(wǎng)絡(luò)的改進(jìn),并建立了PSO-BP。
傳統(tǒng)的粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)[3]是一種基于群智能方法的演化計(jì)算技術(shù),它初始化為一群隨機(jī)粒子,并通過(guò)迭代找到最優(yōu)解。在每一次迭代中,新一代群體的速度及位置的更新算法如(4)式[4]所示:
vim(k+1)=vim(k)+cl*f1(k)-xim(k))+c2*r2(k)*(pgm(k)-xim(k))
xim(k+1)=xim(k)+vim(k+1)
其中:i=1,2,3,…M
vim(k) ,xim(k)分別表示第i個(gè)粒子在k次迭代中的第m維的速度和位置;
PIim(k)表示第i個(gè)粒子在k次迭代中的第m維搜索到的該粒子的歷史最優(yōu)解(位置);
Pgm(k)表示整個(gè)粒子群搜索到的最佳位置即全局最優(yōu)解(位置);
c1,c2為加速系數(shù),是非負(fù)常數(shù),r1,r2是介于[0,1]之間的隨機(jī)數(shù)。
在本設(shè)計(jì)中所用到的粒子群算法主要是用于對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值的調(diào)整過(guò)程中,具體訓(xùn)練過(guò)程如下:
1)對(duì)待訓(xùn)練和學(xué)習(xí)的參數(shù)進(jìn)行初始化。包括BP網(wǎng)絡(luò)結(jié)構(gòu),各層初始權(quán)值等,在仿真中,將訓(xùn)練用粒子的飛行位置及速度向量都設(shè)計(jì)成兩維;
2)根據(jù)(2)與(3)式計(jì)算整個(gè)BP神經(jīng)網(wǎng)絡(luò)的的輸出Kp,Ki,Kd;
3) 根據(jù)粒子群算法的位置和速度公式(4)來(lái)更新每一個(gè)粒子的當(dāng)前速度和位置;
4)計(jì)算和評(píng)價(jià)每一個(gè)粒子的適應(yīng)度,從而來(lái)更新個(gè)體的極值和全局的極值,定義的適應(yīng)度函數(shù)為:
(4)
其中:Vg(k)為給定的電機(jī)目標(biāo)轉(zhuǎn)速輸出量,V(k)為電機(jī)轉(zhuǎn)速的實(shí)際輸出量;
5)根據(jù) (1) 式來(lái)計(jì)算PID控制器的輸出u(k);
6) 檢驗(yàn)結(jié)束條件。當(dāng)結(jié)束條件滿足時(shí),即得到了神經(jīng)網(wǎng)絡(luò)的隱層和輸出層的參數(shù)權(quán)的最優(yōu)值,然后,再將該參數(shù)進(jìn)行存儲(chǔ),訓(xùn)練過(guò)程即結(jié)束,否則轉(zhuǎn)至2)繼續(xù)搜尋。
為了驗(yàn)證設(shè)計(jì)控制方案的有效性,利用 Matlab/Simulink[5]軟件對(duì)改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)PID控制器進(jìn)行計(jì)算機(jī)仿真分析,并與常規(guī)PID控制器進(jìn)行對(duì)比分析。采用了速度、電流閉環(huán)控制方法對(duì)該建模方法進(jìn)行了測(cè)試。
其中,無(wú)刷直流電機(jī)參數(shù)設(shè)置為:額定功率為3 kW,額定轉(zhuǎn)速為2000 r/min,額定電流為5 A,電樞繞組相電阻R =0.75Ω,電樞繞組電感L=1.35 mH,轉(zhuǎn)動(dòng)慣量J=1.34×10-3kg.m2。實(shí)驗(yàn)中,設(shè)置在t=2s時(shí)突然改變負(fù)載,仿真比較曲線如圖4所示。
(a)改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)PID控制器轉(zhuǎn)速仿真曲線 (b)常規(guī)的PID控制器轉(zhuǎn)速仿真曲線
仿真實(shí)驗(yàn)結(jié)果表明:利用改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)PID控制的電機(jī)轉(zhuǎn)速響應(yīng)快、轉(zhuǎn)速波動(dòng)小、調(diào)節(jié)時(shí)間短,波形符合理論分析,系統(tǒng)能平穩(wěn)運(yùn)行,其性能明顯優(yōu)于常規(guī)PID控制,具有優(yōu)良的靜態(tài)和動(dòng)態(tài)性能。
本文結(jié)合神經(jīng)網(wǎng)絡(luò)超強(qiáng)的自學(xué)習(xí)和非線性逼近能力,提出了基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法。同時(shí),針對(duì)傳統(tǒng)BP算法的缺點(diǎn),提出了利用粒子群來(lái)對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行學(xué)習(xí),有效利用粒子群算法的收斂速度快,運(yùn)算簡(jiǎn)單,易于實(shí)現(xiàn),且可以解決大量的非線性,復(fù)雜的優(yōu)化問(wèn)題的優(yōu)點(diǎn),建立了PSO-BP神經(jīng)網(wǎng)絡(luò),通過(guò)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,找到最優(yōu)控制下的P、I、D 參數(shù),仿真結(jié)果驗(yàn)證了這種控制方法的有效性,表明該系統(tǒng)比普通控制器具有更好的動(dòng)、靜態(tài)特性。
[參考文獻(xiàn)]
[1] 李斌,唐永哲.模糊PID算法在無(wú)刷直流電機(jī)控制系統(tǒng)中的應(yīng)用[J].微電機(jī),2006,39(2):14-15.
[2] 李鐘明,劉衛(wèi)國(guó).稀土永磁電機(jī)[M].北京:國(guó)防工業(yè)出版社,1999:35-50.
[3] 謝富強(qiáng),唐耀庚.多層前向神經(jīng)網(wǎng)絡(luò)權(quán)值初始化的研究進(jìn)展[J].南華大學(xué)學(xué)報(bào),2006,20(3):98-101.
[4] 竇全勝,周春光,劉曉華,等.關(guān)于PSO方法中粒子運(yùn)行軌跡的修正[J].計(jì)算機(jī)科學(xué),2007, 34(8):141-143.
[5] 劉金錕.先進(jìn)PID控制MATLAB仿真[M].2版.北京:電子工業(yè)出版社,2004:96-103.
大慶師范學(xué)院學(xué)報(bào)2010年6期