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