王婷婷, 王宏志,, 劉清雪, 胡黃水, 王出航
(1. 長春工業(yè)大學 機電工程學院, 長春 130012;2. 長春工業(yè)大學 計算機科學與工程學院, 長春 130012;3. 吉林建筑科技學院 計算機科學與工程學院, 長春 130114; 4. 長春師范大學 計算機科學與技術學院, 長春 130032)
無刷直流電機(brushless DC motor, BLDCM)由于其高可靠性、 高效率、 無噪音運行、 使用壽命長和低維護等特點, 被廣泛應用于航空航天、 機器人定位執(zhí)行器、 電動汽車和工業(yè)自動化等領域[1-3]. 速度調節(jié)是BLDCM研究的一個重要方面, 用于精確的速度和位置控制應用, 這需要設計一個性能良好的控制器, 以在不同的運行條件下實現(xiàn)連續(xù)的控制性能. 目前已有許多不同的控制器用于提高BLDCM電機的性能. 文獻[4-5]提出了PI型控制器用于BLDCM的速度控制, 但對具體控制參數(shù)的選取未給出明確、 有效的方法, 且使用PID(比例-積分-微分)結構時存在各種不確定性和非線性, 難以確定適當?shù)腜ID增益, 從而降低了控制系統(tǒng)性能[6]. 因此, 模糊邏輯等智能算法被用于調整PID控制器增益, 以提高控制系統(tǒng)的魯棒性. 文獻[7-8]采用參數(shù)自整定模糊PID控制優(yōu)化BLDCM系統(tǒng), 但由于BLDCM系統(tǒng)的復雜性, 根據(jù)經(jīng)驗選取的隸屬度函數(shù)、 模糊規(guī)則及PID初始參數(shù)有較大的主觀性, 不能達到最優(yōu)控制的效果. 文獻[9-10]提出利用遺傳算法對模糊PID控制器的初始PID參數(shù)進行優(yōu)化, 但模糊規(guī)則仍根據(jù)專家經(jīng)驗定義, 很難實現(xiàn)最佳控制. 針對上述問題, 本文設計一種針對無刷直流電機的基于遺傳算法優(yōu)化的模糊PID控制器GFPC(genetic algorithm based fuzzy PID controller), 該控制器在PID參數(shù)自整定模糊控制器的基礎上, 通過改進的遺傳算法對模糊控制器的隸屬度函數(shù)和模糊規(guī)則進行優(yōu)化, 從而實現(xiàn)對無刷直流電機的最優(yōu)轉速控制.
把電機的三相電流作為狀態(tài)變量, 以無刷直流電機的基本原理為依據(jù), 則三相繞組電壓方程為
(1)
其中:ua,ub,uc為電機三相繞組的相電壓;Ra,Rb,Rc為電機三相繞組的相電阻;La,Lb,Lc為電機三相繞組的自感;Lab,Lac,Lbc,Lba,Lca,Lcb為三相定子繞組間的互感;ia,ib,ic為電機三相繞組的相電流;ea,eb,ec為電機三相繞組的相反電動勢. 在無刷直流電機中,Ra=Rb=Rc=R,R為繞組的相電阻;La=Lb=Lc=L,L為繞組的自感;Lab=Lac=Lbc=Lba=Lca=Lcb=M,M為定子繞組間互感. 則式(1)可表示為
(2)
在對稱的Y型連接三相繞組中:
ia+ib+ic=0,
(3)
則Mia+Mib+Mic=0. 式(2)可簡化為
(4)
定子繞組產(chǎn)生的電磁轉矩方程為
Te=(eaia+ebib+ecic)/ω,
(5)
其中:ω為電機機械角速度;Te為電磁轉矩. 定子繞組感應電動勢為
(6)
其中:p為電機極對數(shù);N為總導體數(shù);φm為主通磁. 令Ke=(pN/60)φm, 則e=Keω, 其中Ke為電勢系數(shù). 從而電機的電磁轉矩方程為
(7)
其中KT為轉矩常數(shù). 電機運動方程為
(8)
其中:TL為負載轉矩;B為阻尼系數(shù);J為轉動慣量[11-12].
圖1 GFPC結構框圖Fig.1 Structure diagram of GFPC
為克服無依據(jù)專家經(jīng)驗整定參數(shù)的缺點, 本文設計一種基于遺傳算法優(yōu)化的模糊PID控制器GFPC, 通過改進的遺傳算法對模糊控制器的隸屬度函數(shù)及模糊規(guī)則進行優(yōu)化, 圖1為其結構框圖. 由圖1可見, 將目標轉速ωref輸入GFPC, 控制器輸出控制信號, 再輸入到無刷直流電機, 得到實際轉速ωm. 改進遺傳算法對模糊控制器的隸屬度函數(shù)及模糊規(guī)則進行優(yōu)化, 模糊控制器采用兩輸入、 三輸出Mamdani控制器, 輸入為轉速誤差e及誤差變化率ec, 輸出為PID增益變化ΔKp,ΔKi,ΔKd. PID增益變化ΔKp,ΔKi,ΔKd輸入到PID控制器, 結合運算得出控制信號uPID為
(9)
Kp1=ΔKp×Kp,Ki1=ΔKi×Ki,Kd1=ΔKd×Kd,
(10)
其中:Kp為比例增益;Ki為積分系數(shù);Kd為微分系數(shù);e為調節(jié)器偏差輸入信號. 模糊PID控制原理為: 電機實際轉速ωm與設定目標轉速ωref進行比較并采樣, 得出采樣誤差e=ωm-ωref, 將采樣誤差e和誤差變化率ec作為模糊控制器的輸入量, 輸入數(shù)值量經(jīng)過比例因子和隸屬度函數(shù)映射為模糊量, 然后根據(jù)模糊規(guī)則庫得到相應的輸出模糊量, 再經(jīng)過清晰化得到輸出數(shù)值增量ΔKp,ΔKi,ΔKd, 在線與PID 初始參數(shù)累加, 最終輸出使系統(tǒng)有較好穩(wěn)態(tài)與動態(tài)性能的PID參數(shù). 在實際運行中, 每次采樣模糊控制器都會對PID參數(shù)進行一次在線調整, 直至達到穩(wěn)定狀態(tài). 模糊PID控制器仿真模型如圖2所示.
圖2 模糊PID控制器仿真模型Fig.2 Simulation model of fuzzy PID controller
遺傳算法基于進化理論, 為搜索大而復雜的解空間提供了一種接近最優(yōu)解、 避免局部極小值的有效方法, 因此廣泛應用于模糊控制器參數(shù)[13-14]優(yōu)化中. 針對模糊PID控制器的隸屬度函數(shù)和模糊控制規(guī)則無依據(jù)確定問題, 本文采用一種改進的遺傳優(yōu)化算法對模糊控制器的隸屬度函數(shù)和模糊規(guī)則進行在線迭代, 直至得到最優(yōu)隸屬度函數(shù)和模糊規(guī)則.
2.2.1 實數(shù)編碼 通常可用不同的編碼方法, 如二進制編碼或實數(shù)編碼定義優(yōu)化問題的搜索參數(shù)字符串. 在GFPC中, 選擇實數(shù)編碼, 將規(guī)則和隸屬度函數(shù)轉換為實數(shù)字符串, 并將這些字符串串聯(lián)成一個表示可能解的染色體, 對該染色體進行遺傳操作, 得到模糊邏輯控制器的最優(yōu)參數(shù). 在GFPC中, 用三角形隸屬函數(shù), 可表示為
(11)
其中:a,b為三角形底邊坐標;c為三角形頂點坐標.a,b,c三點決定了三角形的形狀, 因此選擇對其進行優(yōu)化. PID控制器的變量增益ΔKp,ΔKi,ΔKd及誤差e和誤差變化率ec的隸屬函數(shù)分布如圖3所示. 由圖3可見, -3 (12) 兩輸入、 三輸出模糊邏輯控制器的隸屬函數(shù)編碼長度為5×5=25. 采用這種編碼方法, 經(jīng)過交叉和變異操作后, 染色體可按遞增的順序排列, 避免了大量無效的編碼串. 此外,x1,x2,x3,x4,x5的值經(jīng)過遺傳處理后仍在寬度范圍內(nèi). 模糊控制規(guī)則的編碼也采用實數(shù)編碼, 每個模糊規(guī)則參數(shù)被編碼成一個實數(shù), 其范圍為1~5, 定義1=NB, 2=NS, 3=Z, 4=PS, 5=PB進行編碼, 本文考慮的規(guī)則有25個參數(shù), 將所有編碼參數(shù)串聯(lián)產(chǎn)生的編碼字符串形成一條染色體, 每條染色體在群體中指定一個個體編號, 染色體編碼示例如圖4所示. 每條染色體的評估都基于一個適應度函數(shù), 該函數(shù)允許評估、 鑒別和分類個體. 圖3 隸屬度函數(shù)Fig.3 Membership function 圖4 染色體編碼示例Fig.4 Example of chromosome coding 2.2.2 適應度函數(shù) 適應度函數(shù)(fitness)用于評估個體對解決方案的適合程度, 因此適應度值高的個體具有良好的性能及較高遺傳給下一代的概率. 為找到調整參數(shù)的最優(yōu)值, 將積分絕對誤差性能指標作為目標函數(shù), 從而將基于積分絕對誤差最小化的適應度函數(shù)描述為 (13) 其中e(t)為t時刻的速度誤差. 由于誤差時間積分(IAE)值相對較小, 因此對適應度值進行縮放, 以區(qū)分計算適應度值的個體. 2.2.3 遺傳算子 在遺傳算法中, 為生成最優(yōu)的下一代, 基于相關算子, 對當前代依次進行復制、 交叉和變異操作. 復制算子的作用是從當前一代中選出一些優(yōu)秀個體, 并將其復制到下一代. 本文提出一種基于種群多樣性評價和適應度函數(shù)值度量相結合的改進繁殖算子尋找最優(yōu)個體. 改進后的復制過程步驟如下: 1) 計算初始種群中每個個體的適應度值. 3) 第一批m/2個適應度高的個體直接復制給下一代. (14) 其中n表示個體的基因數(shù)量. 由適應度和歐氏距離可得 (15) (16) 其中β1t,β2t為從種群中選擇的雙親個體,β1t+1,β2t+1為應用交叉算子的兩個后代個體,α為系數(shù), 其值在(0,1)內(nèi)隨機產(chǎn)生. 用round( )函數(shù)對規(guī)則編碼進行修正, 只有當兩個待交換基因之間的差值絕對值小于2時, 才可以進行交換. 最后, 采用均勻雙向變異算子進行變異操作, 表示為 (17) 其中:βtt為從種群中選擇的親本個體,βtt+1為應用突變算子的后代個體,βtmax,βtmin分別為適應度值最大和最小的個體;ε為系數(shù), 其值在(0,1)內(nèi)隨機產(chǎn)生. 此外, mod( )函數(shù)用于糾正規(guī)則編碼, 以確保其值在[1,7]內(nèi); 特別地, 當所應用突變算子的基因值仍然小于其后續(xù)基因時, 才進行突變操作及隸屬函數(shù)編碼. 2.2.4 模糊控制器的參數(shù)優(yōu)化 遺傳算法復制、 交叉、 變異算子的參數(shù)如下: 編碼方法采用實數(shù)編碼, 染色體長度為100, 種群大小為10, 交叉率為0.8, 變異率為0.03. 對每一代染色體進行復制、 交叉和變異操作, 直至得到最優(yōu)解. 為測試GFPC的性能, 采用MATLAB/Simulink工具箱對無刷直流電機調速系統(tǒng)進行建模, 如圖5所示. 無刷直流電機基本參數(shù)[12]如下: 額定電壓為470 V, 額定電流為50 A, 額定轉速為1 000 r/min, 定子電阻相為3 Ω, 定子相電感為0.001 H, 電壓常數(shù)為0.146 6 V/(r·min-1), 轉矩常數(shù)為1.4 N·m, 轉動慣量為0.000 8 kg·m2, 阻力因子為0.001, 極對數(shù)為4. 對所考慮的無刷直流電機進行不同工況下的轉速響應測試和分析. 圖5 無刷直流電機調速系統(tǒng)模型Fig.5 Speed regulation system model of brushless DC motor 圖5中GFPC與圖2中模糊PID控制器建模結構相同. 模糊控制器隸屬度函數(shù)及規(guī)則庫經(jīng)過遺傳算法在線迭代優(yōu)化后, 其遺傳進化過程如圖6所示. 由圖6可見, 經(jīng)過7次迭代后得到最優(yōu)解, 此時最優(yōu)個體為{12467,13457,12347,12367,34567,11235,14131,13154,52255,43414,21251,54432,35224,51432,21431,12533,33534,22213,52142,51323}, 優(yōu)化后的隸屬度函數(shù)及其規(guī)則庫分別如圖7和表1~表3所示. 表1 遺傳算法優(yōu)化后ΔKp規(guī)則庫 表2 遺傳算法優(yōu)化后ΔKi規(guī)則庫 圖6 遺傳進化過程Fig.6 Process of genetic evolution 表3 遺傳算法優(yōu)化后ΔKd規(guī)則庫 圖7 遺傳算法優(yōu)化后隸屬度函數(shù)Fig.7 Membership function after genetic algorithm optimization 根據(jù)優(yōu)化后得到的隸屬度函數(shù)及規(guī)則庫建立GFPC, 給定優(yōu)化PID控制器初始值:Kp=20,Ki=3,Kd=0.1; 給定工況為: 設轉速為1 000 r/min, 負載為空, 運行無刷直流電機調速系統(tǒng)模型, 得到轉速響應曲線如圖8所示. 由圖8可見: PID-C有明顯的超調現(xiàn)象, 穩(wěn)定時間較長,t≈0.04 s, 且穩(wěn)態(tài)誤差較大,n=8 r/min, 有明顯的震蕩現(xiàn)象; FPID-C無明顯的超調現(xiàn)象, 但穩(wěn)定時間相對較長,t≈0.07 s, 穩(wěn)態(tài)誤差較大,n=11 r/min; GFIPC無明顯的超調現(xiàn)象, 穩(wěn)定時間t≈0.04 s及穩(wěn)態(tài)誤差n=6.2 r/min均比PID-C和FPID-C效果更好; GFPC的響應速度最快, 無超調現(xiàn)象, 穩(wěn)定時間最短,t≈0.01 s, 且穩(wěn)態(tài)誤差最小,n=2.2 r/min. 空載狀態(tài)下各控制器的性能指標列于表4. 對比結果表明, GFPC在各方面的控制效果均最佳. 圖8 空載狀態(tài)下轉速響應曲線Fig.8 Speed response curves under no-load condition 表4 空載狀態(tài)下的性能指標 改變工況條件為: 設轉速為1 000 r/min, 在0.1 s添加0~3 N變化的負載, 運行無刷直流電機調速系統(tǒng)模型, 得到轉速響應曲線如圖9所示. 由圖9可見: 在0.1 s負載發(fā)生變化時, PID-C有明顯的超調現(xiàn)象, 恢復時間最長,t≈0.01 s, 且穩(wěn)態(tài)誤差較大, 有明顯的震蕩現(xiàn)象; FPID-C無明顯的超調現(xiàn)象, 但恢復時間相對較長,t≈0.006 s, 且穩(wěn)態(tài)誤差較大; GFIPC無明顯的超調現(xiàn)象, 恢復時間t≈0.004 s及穩(wěn)態(tài)誤差均比PID-C和FPID-C效果更好; GFPC的響應速度最快, 恢復平穩(wěn)時間最短,t≈0.002 s, 且穩(wěn)態(tài)誤差最小. 負載狀態(tài)下各控制器的性能指標列于表5. 對比結果表明, GFPC在各方面的控制效果均最佳. 圖9 負載狀態(tài)下轉速響應曲線Fig.9 Speed response curves under load condition 表5 負載狀態(tài)下的性能指標 綜上所述, 針對無刷直流電機轉速響應易產(chǎn)生振蕩的問題, 本文提出了一種基于遺傳算法優(yōu)化的模糊PID控制器GFPC. 其采用模糊控制器對PID控制器的增益進行調整, 并對模糊控制器的隸屬函數(shù)和控制規(guī)則進行GA優(yōu)化. 在MATLAB/Simulink仿真環(huán)境下建立了無刷直流電機轉速控制系統(tǒng)模型, 測試了GFPC在空載、 負載工況下的超調、 欠調、 穩(wěn)定時間、 恢復時間及誤差等性能, 并與PID-C,FPID-C,GFIPC進行了比較, 結果表明, 在各種工況下GFPC的性能都明顯優(yōu)于其他控制器.3 仿真分析