鄒志軍, 遲長春
(上海電機學院 電氣學院, 上海201306)
由于PID控制簡單、方便,目前工業界在簡單的控制系統中還是使用傳統的PID控制。但是無刷直流電動機(Brushless Direct Current Motor,BLDCM)是一個復雜的控制對象,而且根據應用場合的不同,控制的要求也不同。傳統PID 控制的控制參數都在程序中固定設置,不能根據工作環境要求自動調整,控制性能有待提高。因此,對BLDCM 控制系統的調速性能進行研究有一定的現實意義。
為了實現BLDCM 調速參數的自整定,很多學者研究了基于現代智能控制算法的PID控制。文獻[1]針對汽車空調用BLDCM,對比了基于模糊控制單閉環和雙閉環PID方案;文獻[2]采用了自調節模糊PID控制;文獻[3]實現了一種基于深度學習神經網絡的模糊PID控制器。但是要確定模糊控制算法中模糊子集和隸屬度函數都存在一定困難,BP神經網絡的學習速度很慢,在一定程度上影響系統的上升時間;混合算法雖然優化了其中某個算法的優點,但同時不可避免引入新算法的缺點[4-7]。
本文利用慣性權重和Levy飛行優化了蝙蝠算法全局搜索過程中的位置更新方式和速度更新方式,且用蝙蝠算法優化了傳統PID 控制。利用Matlab/Simulink建立了BLDCM 仿真模型,仿真電動機的速度從0 r/min升至1 000 r/min,再升為3 000 r/min調速過程。仿真結果顯示基于蝙蝠優化算法的PID控制方法有效降低了電動機調速過程中的超調量,從而縮短了上升時間。
在分析BLDCM 的工作原理時需要做以下假設[8-10]:定子三相繞組相差在空間上對稱分布;鐵心處于非飽和狀態;忽略磁滯效應、電樞效應和齒槽效應,不計渦流損耗。因此,可以得到化簡后三相繞組的電壓平衡方程為

式中:Ua、Ub、Uc為三相繞組電壓;ia,ib,ic為三相繞組電流;ea,eb,ec為三相定子繞組相反電動勢;R為單相繞組電阻;L為單相繞組自感;M為繞組間互感。
圖1為BLDCM 換相電路和本體的數學模型。其中,U為直流電源,Q1~Q6為MOS管。

圖1 換相電路與電動機本體數學模型
BLDCM 的反電動勢方程、電磁轉矩方程和機械轉矩方程分別為

式中:Ke為反電動勢系數;ω為角速度;Pe為電磁功率;Te為電磁轉矩;TL為負載轉矩;J為轉動慣量;BV為阻尼系數。
蝙蝠算法是通過模擬蝙蝠利用回聲定位來捕捉獵物[11]。蝙蝠覓食過程中發出超聲的聲波頻率fri(t)、響度A i(t)和脈沖發射速度r i(t),并在飛行過程中不斷更新3個參數,蝙蝠算法的搜索過程如下[12-13]:
(1) 初始化。在搜索空間內定義N只虛擬的蝙蝠,在第t次迭代時,第i只蝙蝠所包含的所有信息表示為[x i(t),v i(t),fri(t),A i(t),r i(t)],其中,x i(t)為第i只蝙蝠在第t次迭代的位置信息,v i(t)為第i只蝙蝠在第t次迭代的速度信息。
(2) 全局搜索。在t+1次迭代時,蝙蝠在飛行時不斷更新自己的位置和飛行速度以及一個隨機產生的聲波頻率,更新方式如下:

式中:r1為[0,1]的隨機向量;frmax和frmin為聲波頻率上限和下限;p k(t)為前t次迭代中的蝙蝠種群里歷史飛行的最優位置。
(3) 局部搜索。在全局搜索得到的最優解的周圍隨機產生一個位置解,檢驗此解是否比當前解更優,當r2>r i(t)時,搜索方式為

式中:ε為一個符合均勻分布規律的隨機向量;為所有蝙蝠在t時刻的平均響度。
(4) 最優選擇。綜合比較全局搜索和局部搜索的所有蝙蝠在迭代完之后的結果。當r3<A i(t),且目標函數的第t+1次迭代值小于第t次迭代值,即當r3<A i(t),且F(x′i(t+1)<F(x i(t))時,選擇蝙蝠最優位置:

計算出蝙蝠聲波響度和脈沖發射頻率為

式中:α為響度;γ為脈沖發射速率增加系數。
(1) 標準蝙蝠算法在全局搜索過程當中,第i只蝙蝠的速度在t+1次迭代時主要由上一次的飛行速度和位置決定,此處引入慣性權重ω,以優化蝙蝠算法的速度更新公式,避免全局搜索和局部搜索不平衡問題。引入權重系數的蝙蝠速度更新公式為


式中:ωmax和ωmin分別為慣性權重的上下限,本文取上限為1.1,下限為0.4。
(2) 在蝙蝠算法中加入Levy飛行能夠擴大算法的搜索空間,避免蝙蝠算法在迭代中過早陷入局部最優。引入Levy飛行的全局位置搜索方式為


蝙蝠優化算法在全局搜索中,速度更新方式采用式(12),位置更新方式采用式(14),其余步驟與標準蝙蝠算法步驟相同。
將BLDCM PID控制中的3個調節參數看作優化目標,將蝙蝠算法輸出設置為三維,把蝙蝠算法在虛擬空間上的位置尋優過程轉化為3個參數的優化過程[14]。將BLDCM 的實際轉速與給定轉速的誤差送入蝙蝠算法,算法輸出新的控制參數對速度環進行控制,結合傳統PID 控制框圖得出基于蝙蝠算法的控制系統框圖如圖3所示。

圖3 基于蝙蝠算法的BLDCM PID控制框圖
設置傳遞函數

作為研究對象[15],分析其在基于蝙蝠優化算法的PID控制和基于遺傳算法PID控制的響應。將輸入設置為單位階躍信號,采樣時間設置為1 ms,優化目標函數設置為

式中:|e(t)|為誤差絕對值;ey(t)為控制對象的輸出;w i(i=1,2,3,4)為權值;tr為上升時間。
另外,還需要初始化遺傳算法和蝙蝠算法的參數,兩種算法的初始化參數設置如表1、表2所示。

表1 遺傳算法初始化參數

表2 蝙蝠算法初始化參數
基于遺傳算法的PID 控制參數優化結果為:KP=19.074 8,KI=0.231 3,KD=0.008 9,目標函數值J=24.282 3;基于蝙蝠優化算法的PID控制參數優化結果為:KP=18.625 3,KI=0.234 7,KD=0.176 9,目標函數值J=24.086 2。
傳遞函數在兩種PID控制算法下的階躍響應過程如圖4所示,目標函數優化過程如圖5所示。

圖4 兩種控制算法的階躍響應
由圖4可知,基于蝙蝠優化算法的PID 控制比基于遺傳算法的PID 控制的上升時間更短,即階躍響應更迅速。由圖5可知,基于蝙蝠優化算法的PID控制的目標函數值比基于遺傳算法的PID的目標函數值更小,綜合來說基于蝙蝠優化算法的PID的控制效果更優。
在Matlab/Simulink中利用工具箱中模塊搭建了BLDCM 的傳統PID控制模型。電源選擇直流電壓源,電壓大小設置為18 V;逆變器選擇三相全橋逆變器;開關管設置為MOSFET管。BLDCM 仿真參數如下:反電動勢波形為120°平頂波,定子單相電阻為0.56Ω,定子單相電感為0.39μH,轉動慣量為5.46 kg·mm2,極對數為2,仿真步長設置為5μs,仿真時間為0.6 ms。
利用S函數編寫了基于蝙蝠優化算法和遺傳算法的PID 控制函數,建立基于不同控制算法的PID控制仿真模型,其中,基于蝙蝠算法的PID BLDCM 仿真圖如圖6所示。基于3種不同控制方法下的BLDCM 轉速仿真結果如圖7所示。
由圖7可知,在給定速度為1 000 r/min時,基于遺傳算法的PID 控制和基于蝙蝠優化算法的PID控制在超調量上都有大幅度的降低,前者比傳統PID控制降低了約6.4%,后者超調量比前者的超調量低2%左右,將近于0%,且傳統PID控制、基于遺傳算法的PID控制以及基于蝙蝠優化算法的PID控制的上升時間依次減小。在0.2 s時突然將給定速度提升至3 000 r/min,在基于遺傳算法的PID 和基于蝙蝠優化算法的PID 控制下,電動機也能夠快速平穩地對外界的要求進行響應,同時超調量和上升時間都有所降低,控制效果較好。

圖6 基于蝙蝠算法的PID控制仿真模型

圖7 不同控制方法下的系統調速對比
本文對BLDCM 的控制系統進行研究,針對電動機調速過程中的不穩定和響應時間慢的問題,分別使用基于遺傳算法的PID和基于蝙蝠優化算法的PID對調速系統優化控制。由仿真結果可知,兩者都能降低超調量和縮短上升時間,提高系統的魯棒性,且基于蝙蝠優化算法的PID 的優化效果更佳,幾乎能達到無超調效果。