肖宜輝, 宋保業, 許 琳
(山東科技大學電氣與自動化工程學院,青島 266590)
無刷直流電機是現代電子技術和現代控制理論融合的產物,它是伴隨著半導體技術出現的一種機電一體化產品。由于其調速性好、功率密度高、可靠性好且易于控制而備受關注[1-2]。但是,其轉速調節精度不高的問題,使其在一些精度要求較高場合下的應用受到限制。
模糊控制是建立在人工經驗規則和隸屬度基礎上的自適應控制方法[3]??梢栽谖唇⒈豢刂茖ο缶_數學模型情況下,基于專家經驗對非線性對象進行控制[4]。其具有較強的魯棒性,被控制對象參數變化對系統影響較小,因此在無刷直流電機控制系統中得到了廣泛應用。例如,文獻[5]設計了一種模糊比例積分(PI)控制器,使用模糊控制器調節PI控制器參數,從而實現無刷直流電機轉速的實時控制,但其PI控制器初始參數仍需要人工調試。文獻[6-7]設計了模糊自適應比例-積分-微分(PID)控制器,使用模糊控制器對PID中3個參數進行自整定,能夠實現無刷直流電機轉速的平穩快速響應,但模糊控制器論域無法調節,使其在小誤差時的參數調節存在粗糙性。文獻[8]設計了一種結合PID控制器和PID自整定模糊邏輯控制器的混合控制器對無刷直流電機進行控制,可以結合兩種控制器的優點有效提升控制器性能,但實現方法較為復雜。文獻[9]設計了一種變論域模糊參數自適應PID控制無刷直流電機,具有良好的靜態性能,但其校正因子一直在累積變化,電機轉速波動不能滿足高精度控制。
近些年來,出現了許多啟發式智能優化算法。如,粒子群算法(PSO)、引力算法(GSA),遺傳算法(GA)和蟻群算法(ACO)等[10],并用于控制器設計和優化。如文獻[11]提出了一種改變量化因子的方法來優化模糊PID控制器,該控制器有較大的動態調整范圍,但其量化因子取值需要人工對比調試,無法快速找到合適的量化因子。文獻[12]采用了PSO算法來尋優模糊控制器的量化因子,進一步提高了控制器的魯棒性和穩定性,但因其算法探索能力不足而容易陷入局部極小點。文獻[13]提出了一種基于改進遺傳算法的模糊PID控制器,對于無刷直流電機能夠縮短階躍響應時間,降低控制誤差,但其只對PID控制器的初始參數進行尋優,無刷直流電機控制的穩定性還有待提高。
針對這些問題,提出一種基于PSO-GSA算法的無刷直流電機模糊PI控制器設計方法。首先,建立了無刷直流電機控制系統的數學模型。然后,提出一種結合PSO和GSA的PSO-GSA智能優化算法。PSO-GSA算法融合了PSO算法的全局開發性能和GSA算法的局部探索性能,具有更加優異的最優值搜索能力。進一步,將PSO-GSA算法用于模糊PI控制器的量化因子和比例因子的優化,能夠得到性能更加優越的模糊PI控制器。最后,通過仿真實驗驗證基于PSO-GSA算法的無刷直流電機模糊PI控制器設計方法的有效性和優越性。
無刷直流電機控制系統模型如圖1所示,假定定子繞組各相參數相同,且繞組自感、互感為常數,則無刷直流電機的電壓的平衡方程為[1]

圖1 無刷直流電機控制系統模型Fig.1 Model of brushless direct current motor control system

(1)
式(1)中:Ux(x=A、B、C)為定子三相繞組電壓,V;ix(x=A、B、C)為定子三相繞組電流,A;ex(x=A、B、C)為定子三相繞組電動勢,V;R為每相繞組的電阻,Ω;L為每相繞組的自感,H;M為每兩相繞組間的互感,H;n為參考電位點。為了簡化計算,式(1)中的L-M統一用LM來表示,則電機等效電路的電壓平衡方程可以改寫為
(2)
粒子群(particle swarm optimization,PSO)算法由社會學家James Kennedy提出,該算法的思想來源于鳥類的覓食活動規律[14]。它使用大量的粒子在搜索空間中隨機自由運動,并在達到終止條件或在迭代規定次數后輸出當前的最優值。其中,粒子速度和位置的計算公式如下:
vi(t+1)=wvi(t)+c1rand[pbest,i-xi(t)]+
c2rand[gbest-xi(t)]
(3)
xi(t+1)=xi(t)+vi(t+1)
(4)
式中:vi為第i個粒子速度;w表示慣性權重,主要用來繼承之前運動速度,平衡算法的全局搜索和局部探索能力;pbest,i是第i個粒子在第t次迭代的最好位置;gbest則是粒子群體目前為止最好的位置;rand為[0,1]之間的隨機數;c1、c2是學習因子,是控制自我歷史經驗和群體最優個體學習的因子;xi(t)是第i個粒子在t時刻的位置。
粒子群算法搜索速度快,擁有較強的全局開發能力,且群體的歷史最好位置可以記憶并傳遞給其他粒子,但是尋優不精確,缺乏局部探索能力。
引力算法(gravitational search algorithm,GSA)是使用一群粒子在萬有引力定律作用下不停地運動更新來尋找最優解的智能算法[10]。通過在迭代中更新粒子受到的合力、加速度、引力常數來計算粒子的速度和位置,基于萬有引力定律,各個粒子會向個體大的粒子移動并最終停留在其周圍,從而找到最優解。
為了保持GSA算法的收斂速度,重力常數G在開始時由一個初始化值G0并且必須隨著時間逐漸減少而保持收斂,算法更新方程為
(5)
式(5)中:t為迭代次數,tmax為最大迭代次數,α則為減小函數的系數。
各個粒子的加速度、速度和位置根據式(6)、式(7)進行更新:
vi(t+1)=randivi(t)+aci(t)
(6)
xi(t+1)=xi(t)+vi(t+1)
(7)
式中:vi是粒子的在t次迭代的速度;aci是粒子在迭代t次加速度;xi是粒子在t時刻的位置。
然而,在GSA算法中粒子的運動方向取決于周圍粒子所產生的引力,粒子的質量越大產生的引力越大,重的粒子會將周圍較輕的粒子吸引到其周圍,因此全局探索范圍有限,并且該算法沒有記憶因子不能儲存之前產生的最優解。
PSO-GSA算法結合了兩種算法的優勢,將PSO算法中的全局開發能力和GSA的局部探索能力相結合能夠更好地跳出局部最優解,且收斂速度比標準GSA算法和PSO算法快。同時彌補了GSA算法迭代過程中缺乏的記憶性和信息交換能力,顯著提高了算法性能。其粒子運動更新方程為
vi(t+1)=wvi(t)+r1randaci(t)+
r2rand[gbest-xi(t)]
(8)
式(8)中:rj是加速度常數;w是慣性權重函數;當學習因子w=0時,基本粒子群算法失去對粒子本身的速度記憶;r2=0時為自我認知性粒子群算法,完全沒有信息的社會共享,導致算法收斂緩慢;當r1=0時,為無私型粒子群算法,只有社會沒有自我,迅速喪失群體多樣性,易陷入局優而無法跳出。在每一次迭代中更新粒子位置方程為
xi(t+1)=xi(t)+vi(t+1)
(9)
PSO-GSA算法流程如圖2所示。首先隨機初始化所有粒子,每個粒子都被視為一個候選最優解。初始化后,分別評估各個粒子的適應度,開始根據粒子迭代次數更新引力常數和更新到目前為止最好的解。然后根據以上參數計算出粒子所受的合力以及加速度,并通過式(8)計算出所有粒子的速度,最后將粒子的位置定義為式(9),更新速度和位置滿足標準后將結束,若不滿足條件則重復以上過程直至達到最大迭代次數輸出當前最優解。

圖2 PSO-GSA算法流程圖Fig.2 Flow chart of PSO-GSA algorithm
為測試算法性能,選擇使用文獻[15]中四個測試函數對三個算法的性能進行對比,測試函數的表達式如式(10)~式(13)所示。其中式(10)的維數是30,上下限為[-100, 100];式(11)的維數是4,上下限是[0, 10];式(12)的維數是4,上下限為[-5, 5];式(13)的維數是3,上下限為[1, 3]。四個例子的適應度函數值如圖3所示。通過四個測試函數的對比驗證,PSO-GSA算法比PSO算法和GSA算法收斂速度更快,適應度函數值更小,性能更好。

圖3 測試函數的適應度Fig.3 Fitness of test functions
(10)
(11)
(12)
(13)
模糊自適應PI控制器的思想是針對模糊控制器根據系統誤差e和誤差變化率ec的大小進行模糊化,通過模糊規則確定ΔKp、ΔKi的變化程度再使用反模糊化輸出ΔKp、ΔKi,從而調節PI控制器參數來快速達到穩定的預期值。模糊PI控制器的結構框圖如圖4所示。

圖4 PI控制器結構框圖Fig.4 Block diagram of PI controller
Ke、Kec分別是誤差和誤差變化率的量化因子,Ku是輸出ΔKp、ΔKi的比例因子。模糊控制器中的e、ec使用的是鐘形隸屬函數如圖5所示,ΔKp、ΔKi使用的是三角形隸屬函數如圖6所示。

圖5 e和ec的隸屬度函數Fig.5 Membership function of e and ec

圖6 ΔKp和ΔKi的隸屬度函數Fig.6 Membership function of ΔKp andΔKi
確定好輸入輸出的隸屬度函數之后,開始編寫模糊控制規則工作,其中模糊規則取7個語言變量:{負大,負中,負小,零,正小,正中,正大}[16],輸入輸出變量的模糊子集均為{NB,NM,MS,ZO,PS,PM,PB},論域均為{-3,3}。模糊控制規則由一系列的條件連接詞組成,使用最頻繁的條件語句是if_then語句,經過大量電機實驗積累得到模糊控制規則模糊規則,總共49條。圖7、圖8分別為ΔKp、ΔKi輸入模糊規則后獲得模糊控制面,不同顏色用于區分不同e、ec對應不同ΔKp、ΔKi的值。

圖7 ΔKp的輸出空間曲面Fig.7 Output space surface of ΔKp

圖8 ΔKi的輸出空間曲面Fig.8 Output space surface of ΔKi
這里使用的模糊PI控制器是二維模糊控制器,其數學模型為
(14)
式(14)中:非線性函數f是模糊控制器內部的運算;量化因子Ke和Kec分別為模糊控制器輸入誤差的比例量和微分量的系數;Ku則為輸出變量的放大系數。由于模糊控制器的敏感度對于控制器性能有很大影響,所以合適的量化因子和比例因子可以使其有更好的自適應能力[17]。
圖9為使用PSO-GSA算法尋優量化因子和比例因子的系統框圖。通過調節量化因子和比例因子的大小來控制輸出的ΔKp、ΔKi,從而調節PI控制器的參數使模糊PI控制器有更好的穩定性和魯棒性。根據無刷直流電機的控制性能要求選用的積分性能指標為

圖9 模糊控制器優化Fig.9 Optimization of fuzzy controller
(15)
將上面所討論的自適應模糊控制算法設計的自適應模糊控制器應用到無刷直流電機調速系統控制中,代替傳統的 PI 速度調節器。仿真時采用實際無刷直流電機參數,即:定子相繞組電阻R=0.9 Ω,定子相繞組自感L=0.25 mH,轉動慣量J=0.008 kg·m,給定轉速為1 000 r/min,極對數p=4,使用500 V直流電源供電,電機為帶載啟動,起始轉矩為3 N,在啟動0.05 s后施加2 N的突變負載?;贛ATLAB/Simulink建立了無刷直流電機控制系統的仿真模型,對BLDCM 調速系統分別采用自適應模糊控制和傳統 PI 控制,通過仿真比較PI控制器、模糊PI控制器和PSO-GSA算法優化過的模糊PI控制器,測試兩者抗負載突變的能力優劣。其中圖10為三種控制器負載啟動后轉速調節的比較,圖11是負載啟動后負載突變的轉速變化曲線。

圖10 三種控制器轉速比較Fig.10 Speed comparison of three controllers

圖11 三種控制器轉速在突變負載情況下比較Fig.11 Speed comparison of three controllers under the condition of abrupt loading
仿真結果對比可知,在給定轉速1 000 r/min時,傳統PI控制器和模糊自適應PI控制器要比經過PSO-GSA算法優化后的模糊自適應PI控制器精度低、響應慢,并且抗擾能力弱。
在此仿真模型的基礎上,又進行了相應的半實物仿真實驗研究,實驗系統硬件組成如圖12所示。將檢測到的電機實際轉速通過串口輸送到仿真模型中,經過模型的運行計算得到輸出控制量傳送給單片機,接著單片機將控制量轉換為PWM信號,通過PWM換向調壓來控制轉速使電機保持運行狀態。

圖12 電機實驗系統硬件Fig.12 Hardware of the motor experiment system
實驗中用到的電機額定電壓12 V、額定電流0.55 A、極對數為4、最大空載轉速為9 550 r/min、空載電流0.15 A。優化前后的PI控制器對該電機轉速控制跟蹤曲線如圖13所示。顯然,經過實驗驗證經過優化的模糊PI控制器性能有顯著提高。

圖13 優化前后PI控制器轉速響應Fig.13 Speed response of PI controller before and after optimized
針對傳統的電機控制器調速慢,精確度低,穩定性差等問題,提出了一種基于PSO-GSA算法優化模糊自適應PI控制器的量化因子和比例因子來實現對無刷直流電機轉速的精確控制。該算法既有PSO中的全局開發能力,又有GSA的局部探索能力。通過仿真和實驗驗證了使用該算法優化的模糊自適應PI控制器對無刷直流電機控制有著很強的自適應能力和抗負載擾動能力。這一新穎的控制方法為運動控制領域中復合智能算法控制策略的研究與發展提供了新的思路。