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