陳偉松,王劍平,張 果,楊曉洪 (昆明理工大學(xué)信息工程與自動化學(xué)院,云南昆明650500)
無刷直流電機(jī)由于具有結(jié)構(gòu)簡單、體積小、重量輕、效率高、調(diào)速性能好等特點,在農(nóng)業(yè)領(lǐng)域得到了日益廣泛的應(yīng)用[1]。但是由于無刷直流電機(jī)是一種多變量、非系統(tǒng),強(qiáng)耦合的控制系統(tǒng),如電樞反應(yīng)的非線性、轉(zhuǎn)動慣量和相電阻的變化等,采用常規(guī)的PID控制并不能提供很好的控制性能[2-3]。因此,將模糊 PID,模糊神經(jīng)網(wǎng)絡(luò) PID,PSO 自適應(yīng)PID等應(yīng)用在無刷直流電機(jī)上的控制算法不斷被提出。模糊PID復(fù)雜度低,應(yīng)用在實際控制中比較多,但像模糊神經(jīng)網(wǎng)絡(luò)、PSO優(yōu)化等這些復(fù)雜度遠(yuǎn)高于常規(guī)PID,且計算量大,導(dǎo)致軟硬件成本提高,現(xiàn)有的控制無刷直流電機(jī)的單片機(jī)及DSP難以支撐這樣的運(yùn)算量,所以在無刷直流電機(jī)實際應(yīng)用上有所限制[4]。
為此,該文在結(jié)合常規(guī)PID的基礎(chǔ)上,研究了改進(jìn)方式,結(jié)合理論分析和實際驗證,采用專家PID算法進(jìn)行無刷直流閉環(huán)轉(zhuǎn)速控制,專家PID算法運(yùn)算量比常規(guī)PID只有少量增加。試驗證明,專家PID具有良好的控制效果。
無刷直流轉(zhuǎn)速控制系統(tǒng)采用帶3個霍爾傳感器的無刷直流電機(jī)。3個霍爾傳感器連接單片機(jī),可根據(jù)3個霍爾傳感器的電平狀態(tài),獲得電機(jī)轉(zhuǎn)子的位置信息,然后根據(jù)位置信息進(jìn)行電機(jī)換相,從而帶動電機(jī)轉(zhuǎn)動。與此同時,通過定時器檢測換一次相所需時間秒數(shù)△T,根據(jù)公式RPM=60/6×△TN(△T-時間,S;N-磁極對數(shù))計算出電機(jī)速度[5]。無刷直流電機(jī)轉(zhuǎn)速控制系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,通過STM32處理器采集霍爾傳感器信號進(jìn)行換相并檢測運(yùn)行速度。把獲取的轉(zhuǎn)速與給定速度產(chǎn)生的偏差進(jìn)行專家PID處理,處理后產(chǎn)生6路PWM進(jìn)行無刷直流電機(jī)轉(zhuǎn)速控制。
整個無刷直流電機(jī)轉(zhuǎn)速控制系統(tǒng)程序設(shè)計如圖2所示。在啟動無刷直流電機(jī)后,通過檢測霍爾傳感器信號來計算實時運(yùn)行速度和位置信號,每間隔50 ms執(zhí)行一次專家PID處理并更新PWM值來調(diào)整電機(jī)轉(zhuǎn)速。
2.1 專家PID控制規(guī)則 專家控制的實質(zhì)是基于受控對象和控制規(guī)律的各種認(rèn)識,并以智能的方式利用這些知識來設(shè)計控制器。利用專家經(jīng)驗來設(shè)計PID參數(shù)便構(gòu)成專家PID控制。針對無刷直流電機(jī)閉環(huán)轉(zhuǎn)速控制,令r(k)為給定速度值,y(k)為實測速度,e(k)表示離散化的當(dāng)前采樣時刻的誤差值。e(k-1),e(k-2)分別表示前一個和前兩個采樣時刻的誤差值,△e(k)為速度誤差變化值,則有
e(k)=r(k)-y(k)
△e(k)=e(k)-e(k-1)
△e(k-1)=e(k-1)-e(k-2)
專家PID控制器主要由專家判斷組成,根據(jù)誤差e(k)及其變化Δe(k),可設(shè)計專家PID控制器,該控制器可分為5種情況進(jìn)行設(shè)計[6-7]。實際應(yīng)用在無刷直流電機(jī)的專家PID程序也是按這種5種情況進(jìn)行設(shè)計的,這5種情況作分別如下:
(1)當(dāng)|e(k)|>M1時,說明誤差的絕對值已經(jīng)很大,控制器輸出應(yīng)按照最大(小)輸出,以迅速調(diào)整誤差,使誤差絕對值以最大速度減小。此時,他相當(dāng)于實施開環(huán)控制。
(2)當(dāng)e(k)Δe(k)>0時,說明誤差正朝絕對值增大方向變化,或者誤差為某一常值;此時,如果|e(k)|≥M2,說明誤差也較大,可考慮實施較強(qiáng)的控制作用,以達(dá)到使誤差絕對值朝減小方向變化,并迅速減小誤差的絕對值,控制器輸出為:
u(k)=u(k-1)+k1{kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2e(k-1)+e(k-2)]}
此時,如果|e(k)|<M2,說明盡管誤差朝絕對值增大方向變化,但誤差絕對值本身并不很大,考慮實施一般的控制作用,控制器輸出為:
u(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)+kd[e
(k)-2e(k-1)+e(k-2)]。
(3)當(dāng)e(k)Δe(k)<0且e(k)Δe(k-1)>0,或e(k)=0時,說明誤差絕對值朝減小方向變化,或已達(dá)到平衡狀態(tài),可考慮保持控制器輸出不變。
(4)當(dāng)e(k)Δe(k)<0且 e(k)Δe(k-1)<0時,說明誤差處于極值狀態(tài),如果此時誤差絕對值較大,即|e(k)|≥M2,可實施較強(qiáng)的控制作用:
u(k)=uv(k-1)+k1kpem(k)
如果|e(k)|<M2,可實施較弱的控制作用:
u(k)=u(k-1)+k2kpem(k)。
(5)當(dāng)|e(k)|≤ε時,說明誤差絕對值很小,此時加入積分,減少穩(wěn)態(tài)誤差。
u(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)
上述規(guī)則u(k)為第k次控制器的輸出;u(k-1)為第k-1次控制器的輸出;k1為增益放大系數(shù),k1>1;k2為抑制系數(shù),0 <k2<1;M1,M2為設(shè)定的誤差界限,M1>M2;ε—任意小的正整數(shù);em(k)—誤差e的第k個極值。
2.2 專家PID實際應(yīng)用 由于專家PID的使用是建立在增量式PID的基礎(chǔ)上,同時設(shè)置微分環(huán)節(jié)kd=0,因此此次無刷直流電機(jī)轉(zhuǎn)速專家PID控制系統(tǒng)采用的是增量式專家PI調(diào)節(jié)器。令a為轉(zhuǎn)速相對誤差,a=|e(k)|/r(k),r(k)為給定轉(zhuǎn)速,e(k)為給定轉(zhuǎn)速與實測轉(zhuǎn)速的誤差,并且在STM32處理器中采取每50 ms計算一次e(k)和一次專家PID。整個轉(zhuǎn)速閉環(huán)專家PID控制器結(jié)構(gòu)如圖3所示。
根據(jù)理論分析,結(jié)合無刷直流電機(jī)特性設(shè)置5條專家PID規(guī)則,這5條規(guī)則分別如下:
(1)假設(shè)轉(zhuǎn)速相對誤差a>0.2的情況下(這里的0.2對應(yīng)上文專家PID理論中的M1),說明誤差的絕對值已經(jīng)很大,可以進(jìn)行速度開環(huán)控制,此時增量式專家PID控制控制器的輸出公式為:
△u(k)=e(k)×PWM_PERIOD/max
其中:PWM_PERIOD為PWM周期,在STM32微處理器中則對應(yīng)PWM周期脈沖數(shù),max為占空比為1時電機(jī)最大轉(zhuǎn)速的2倍。由于實際獲取電機(jī)轉(zhuǎn)速最大值時可能會出現(xiàn)一些危險情況比如過電流這種情況發(fā)生,因此如果不知電機(jī)最大轉(zhuǎn)速的情況下,可以用這種類似方法估計max值,在開環(huán)轉(zhuǎn)速控制下把PWM占空比調(diào)至0.5,獲得此時的電機(jī)轉(zhuǎn)速,并把此時電機(jī)的轉(zhuǎn)速乘以4估計出max值,之后若發(fā)現(xiàn)運(yùn)行規(guī)則1時出現(xiàn)轉(zhuǎn)速超調(diào)情況,可調(diào)大max值,若沒出現(xiàn)超調(diào)情況但開環(huán)效果控制較弱,可調(diào)小max。
(2)如果滿足e(k)Δe(k)>0或者△e(k)=0的話,說明誤差正朝絕對值增大方向變化,或者誤差為某一常值。可接著進(jìn)行判斷,如果轉(zhuǎn)速相對誤差a≥0.1(這里的0.1對應(yīng)上文專家PID理論中的M2)的情況下,可考慮較強(qiáng)的控制作用,此時增量式專家PID控制控制器的輸出公式:
△u(k)=k1×kp×e(k)(k1>1)
否則a<0.1則輸出公式為:
△u(k)=k2×kp×e(k)(0<k2<1)
在此次無刷直流電機(jī)轉(zhuǎn)速控制中,k1、k2值分別設(shè)置為k1=1.3,k2=0.98。
(3)如果滿足e(k)Δe(k)<0且e(k)Δe(k-1)>0或e(k)=0的話,說明上次專家PID運(yùn)算時采用的規(guī)則(即采用上面的規(guī)則(1)、(2)或下面的(4)、(5))起到轉(zhuǎn)速誤差減小或為零的作用,此時依然采用上次運(yùn)行的規(guī)則,以助轉(zhuǎn)速誤差繼續(xù)減小或繼續(xù)保持為零。舉例來說,當(dāng)滿足條件e(k)Δe(k)<0且e(k)Δe(k-1)>0或e(k)=0時若上次專家PID運(yùn)算采用的規(guī)則為規(guī)則(2),那么繼續(xù)調(diào)用規(guī)則(2)。
(4)如果滿足e(k)Δe(k)<0且e(k)Δe(k-1)<0的話,說明誤差處于極值狀態(tài),可接著進(jìn)行判斷,如果轉(zhuǎn)速相對誤差a≥0.1,可考慮較強(qiáng)的控制作用,此時增量式專家PID控制控制器的輸出公式為:
△u(k)=k3×kp×e(k-1)(k3>1)
否則a<0.1則輸出公式為:
△u(k)=k4×kp×e(k-1)(0<k4<1)
在無刷直流電機(jī)轉(zhuǎn)速控制中,k1、k2值分別設(shè)置為k3=2,k4=0.4。
(5)如果a≤0.004(這里的0.004對應(yīng)上文專家PID理論的ε)的話,說明誤差絕對值很小,此時采用增量式PI調(diào)節(jié)器。
△u(k)=kp×△e(k)+kie(k)
為了檢驗專家PID在無刷直流電機(jī)實際應(yīng)用中的控制效果,利用現(xiàn)有硬件和軟件進(jìn)行驗證,硬件平臺采用額定功率為60 W,額定電壓為24 V的帶霍爾傳感器無刷直流電機(jī),控制器為STM32處理器。軟件為采用QT工具編寫的一款通過串口實時采集電機(jī)速度并描繪速度曲線的上位機(jī)軟件,描繪出的曲線圖Y軸為電機(jī)速度單位r/min,X軸對應(yīng)時間s。
首先進(jìn)行傳統(tǒng)增量式PID與專家PID在無刷直流電機(jī)閉環(huán)轉(zhuǎn)速應(yīng)用中的比較,設(shè)置增量式PID和專家PID中的比例參數(shù)和積分參數(shù)都為kp=0.2,ki=0.005,kd=0。給定速度均為2 500 r/min。
圖4為增量式PID控制下的速度曲線,響應(yīng)時間0.3 s,超調(diào)量為0,可見設(shè)置的比例積分參數(shù)為理想?yún)?shù)。
圖5為專家PID的速度曲線,響應(yīng)時間0.2 s,超調(diào)量為0,響應(yīng)時間比增量式PID快0.1 s。同樣設(shè)置另一組參數(shù),設(shè)置增量式PID和專家PID中的比例參數(shù)和積分微分參數(shù)都為 kp=0.5,ki=0.03,kd=0。給定速度均為2 500 r/min。
圖6為增量式PID控制下的速度曲線,響應(yīng)時間3.45 s,超調(diào)量為96.72%,出現(xiàn)嚴(yán)重超調(diào)現(xiàn)象。
圖7為專家PID控制下的速度曲線,響應(yīng)時間0.25 s,超調(diào)量為0。
可以看出,在比例、積分微分參數(shù)設(shè)置理想的情況下,增量式PID與專家PID均實現(xiàn)無超調(diào),但專家PID響應(yīng)時間比增量PID響應(yīng)短。在比例,積分微分參數(shù)設(shè)置不理想的情況下,增量式PID響應(yīng)時間長,且超調(diào)量大,但專家PID在相同比例積分參數(shù)情況下,卻能有效抑制超調(diào),且響應(yīng)時間短。由于篇幅有限,未能繼續(xù)展現(xiàn)更多不同比例積分微分參數(shù)下增量式PID與專家PID的速度波形圖。但多次試驗發(fā)現(xiàn),類似圖4~7的對比情況,若要實現(xiàn)速度曲線無超調(diào)且響應(yīng)時間短,增量式PID比例積分微分參數(shù)調(diào)節(jié)難度大,局限于某個數(shù)值,適合的參數(shù)范圍窄。但專家PID的比例積分微分參數(shù)調(diào)節(jié)難度小,并不局限某個數(shù)值,只要設(shè)置在一定范圍內(nèi)都能實現(xiàn)無超調(diào)且響應(yīng)時間短。例如從圖4~7可以看出,增量PID只有在參數(shù)理想情況下,才能實現(xiàn)無超調(diào)且響應(yīng)時間短,但專家PID在參數(shù)相對增量PID理想與不理想情況下,都能實現(xiàn)無超調(diào)且響應(yīng)時間短。
同時進(jìn)行驗證專家PID在無刷直流電機(jī)轉(zhuǎn)速閉環(huán)控制系統(tǒng)的轉(zhuǎn)速跟隨能力。在STM32處理器中設(shè)置0~2 s期間電機(jī)的給定速度為2 500 r/min,到2 s時電機(jī)給定轉(zhuǎn)速變?yōu)? 500 r/min。
從圖8轉(zhuǎn)速跟蹤曲線,可以看出,電機(jī)無超調(diào)且快速上升至2 500 r/min,在2 s時,電機(jī)轉(zhuǎn)速迅速降落到1 500 r/min,過渡時間短,大概為0.2 s。這反映出在專家PID的控制下,電機(jī)的實際轉(zhuǎn)速能在較大范圍內(nèi)實現(xiàn)良好的給定轉(zhuǎn)速跟蹤性能。
該文介紹了專家PID在農(nóng)用無刷直流電機(jī)的應(yīng)用,對增量式PID和專家PID在無刷直流電機(jī)轉(zhuǎn)速閉環(huán)控制應(yīng)用效果進(jìn)行了對比,同時驗證了專家PID在無刷直流電機(jī)轉(zhuǎn)速閉環(huán)控制系統(tǒng)的轉(zhuǎn)速跟隨能力。試驗結(jié)果表明,專家PID在無刷直流電機(jī)轉(zhuǎn)速控制中能夠有效抑制超調(diào),響應(yīng)時間短,具有良好的轉(zhuǎn)速跟隨性能。同時比例積分微分參數(shù)的數(shù)值調(diào)節(jié)難度小,并不局限于某個數(shù)值,只要設(shè)置在一定范圍內(nèi)都能實現(xiàn)無超調(diào)且響應(yīng)時間短,在農(nóng)業(yè)機(jī)械電機(jī)控制方面有著良好的應(yīng)用。
[1]李軍偉,崔師,李連強(qiáng),等.基于模糊PID的無刷直流電機(jī)控制系統(tǒng)設(shè)計開發(fā)[J].機(jī)械設(shè)計與制造,2013(2):77 -79.
[2]夏長亮,劉丹,王迎發(fā),等.基于模糊規(guī)則的無刷直流電機(jī)免疫PID控制[J].電工技術(shù)學(xué)報,2007,22(9):68 -73.
[3]任晶瑩,姚緒梁,蔡晶,等.基于神經(jīng)網(wǎng)絡(luò)控制器的直流無刷電機(jī)控制研究[J].農(nóng)機(jī)研究化,2012(6):226-229.
[4]史敬灼,劉玉.超聲電機(jī)簡單專家PID速度控制[J].中國電機(jī)工程學(xué)報,2013,33(36):120 -125.
[5]郭清,王元昔.霍爾傳感器在直流電機(jī)轉(zhuǎn)速測量中的應(yīng)用研究[J].傳感器與微系統(tǒng),2011,30(7):54 -56.
[6]袁碧金,吳雷,李鵬程.基于專家PID控制三相交流斬波調(diào)壓系統(tǒng)[J].電力電子技術(shù),2010,44(5):82 -83.
[7]楊立秋,宋立忠.船用起重機(jī)消擺系統(tǒng)的專家PID控制[J].計算機(jī)仿真,2011(10):161-164.