?

基于粒子群算法優化的步進電機轉速控制方法研究

2022-07-18 12:03賈蒙蒙胡東芳許啟躍葉樹亮
中國計量大學學報 2022年2期
關鍵詞:粒子控制器電機

賈蒙蒙,胡東芳,許啟躍,葉樹亮

(中國計量大學 計量測試工程學院 工業與商貿計量技術研究所,浙江 杭州 310018)

步進電機是一種將電脈沖信號轉變為直線位移或角位移的控制元件,在工業生產、醫療器械、航空航天等方面具有廣泛的應用。步進電機具有非線性、強耦合的特點,在開環位置控制下難以得到滿意的控制結果。因此,選擇一種合適的控制策略,可以有效提高步進電機的控制精度,實現電機的高效控制。林法正[1]介紹了基于數字信號處理器(digital signal processor, DSP)的永磁同步電機驅動系統,利用最小二乘法和實時比例積分位置控制器,實現了電機的基礎控制。該方法不依賴于電機的參數模型,但由于電機控制中未使用微分項,控制效果不佳。Rubaai A等[2]提出了一個集成環境的快速原型的魯棒模糊比例積分微分(proportional integral differential,PID)控制器,該模型在處理非線性和外部干擾方面具有更好的控制性能,缺點是該方法不具有普適性。蘭建武等[3]將自適應模糊推理算法運用在電機的旋轉控制中,優化其控制參數和性能,提高了電機運行的平穩性,但在使用過程中需要考慮并制定控制過程中的各參數模糊子集的隸屬度賦值表和各參數的模糊調整規則模型,使模糊規則的制定更加困難。

本文引入了粒子群算法優化模糊PID(PSO-fuzzy PID)[4-5]控制算法對步進電機進行轉速控制,PSO-fuzzy PID控制算法在機器控制、車輛控制、鍋爐控制等方面具有突出應用。該控制算法不僅可以實現對步進電機的高效控制,通過粒子群算法還可以實現對模糊控制器的在線迭代尋優,從而彌補了模糊規則難以制定的缺點。通過對模擬與實驗結果的分析研究表明,PSO-fuzzy PID的控制算法較之常規模糊PID和PID控制,解決了模糊規則難以制定的缺點并提高了系統控制的平穩性、快速性。

1 步進電機數學模型的建立

建立步進電機控制系統首先要對步進電機進行數學建模[6]。對于兩相混合步進電機,以A相為代表,其單相繞組的等效電路圖如圖1[7]。其中,Ra表示A相繞組的電阻;La表示A相繞組的電感;ea(θ)表示該電機的反電動勢;Ua表示A相繞組的電壓。

圖1 兩相混合步進電機單相等效電路

兩相混合步進電機的電壓平衡方程和電磁轉矩分別為式(1)(2)[8]

(1)

(2)

其中,Ua、Ub、ia、ib分別為A、B兩相的繞組電壓與繞組電流,L0為兩相間的互感,Zr為轉子齒數,Te為電磁轉矩,J為轉動慣量,D為粘性系數,TL為負載轉矩。當兩相勵磁處于平衡位置時,即轉子穩定在β/2時,平衡位置步進電機通電相的電壓方程式為:

(3)

其中,L為自感;M為互感;Kf為永磁體和相繞組的耦合系數。則步進電機的傳遞函數模型如下:

(4)

以單相勵磁為例,假設負載轉矩TL=0,可以得到步進電機的運動方程為

(5)

對式(5)作拉式變換處理,得到

(6)

式(6)中,θ0(s)為步進電機的理論轉動角度,θi(s)為步進電機的偏差轉動角度,Kp為步進電機阻尼系數,ωn為步進電機固有角頻率。兩相勵磁時在平衡位置擾動微小,在s=0時,振蕩值應恢復在平衡位置θi上,G(s)=1,兩相勵磁情況下的傳遞函數表示為

(7)

式(7)中,Lp=L-M,Kp為步進電機的阻尼系數,ωnp為步進電機固有角頻率。本文研究的步進電機參數如表1。

表1 步進電機參數

由步進電機的參數計算得到步進電機兩相勵磁傳遞函數為

(8)

2 粒子群算法優化的模糊PID

2.1 粒子群算法

粒子群算法(particle swarm optimization,PSO)[9-10]是通過模擬生物捕食的迭代優化算法。當其初始化后,每個隨機粒子為了得到最優目標解,會根據自身的歷史最優情況和整個種群的歷史最優情況來調整自己的行為模式,即速度更新策略。在經過多次迭代之后,尋找到目標函數的最優解。在每一次迭代[11]過程中,每個粒子的情況都會被評估,因此,速度更新策略[12]對粒子群算法的結果十分重要。粒子群算法的速度更新策略如圖2。

圖2 粒子速度更新示意圖

2.2 適應度函數

PSO優化包括設計優化目標,即適應度函數,然后對要搜索的參數進行編碼。PSO算法運行直到滿足停止條件。最佳粒子位置給出了優化的參數。時間乘以誤差絕對值積分(integrated time and absolute error,ITAE)[13-14]通常是一種評價工程實用性和選擇性的指標,因其具有快速、平穩、超調量小等特點,因而被廣泛應用于實際工程問題中,其表達式為[15]

(9)

式(9)中,tk是當前仿真的時間;e(t)為給定力矩與實際力矩之間的差值,k為加權系數,E(t)∈e(t),為e(t)中的任意值。

2.3 迭代尋優

粒子群算法最重要的步驟便是迭代尋優過程,在迭代尋優過程中,每個單獨的粒子都具有以下特性[16]:n為初始粒子個數,xi為粒子當前位置;yi為當前搜索范圍內的最佳位置;vi為粒子的速度;ybest為群體最優位置,通過不斷迭代尋找目標的最優解。

式子(10)及(11)描述了粒子的當前最優值和群體最優值的選取,假設粒子群中粒子數為n,i∈n:

(10)

ybest(t)=min{f(y),f(ybest(t))},y∈{y0(t),y1(t),…,yn(t)}。

(11)

在粒子的迭代過程中,其速度和位置更新步驟為:

vi,j(t+1)=ωvi,j(t)+2r1(t)[yi,j(t)-xi,j(t)]+
2r2(t)[ybest(t)-xi,j(t)],

(12)

xi(t+1)=xi(t)+vi(t+1)。

(13)

其中,r1,r2為[0,1]之間的隨機數,ω為慣性因子,慣性因子是根據以下方程決定的:

(14)

其中,λ為當前迭代次數,λmax為最大迭代次數。

2.4 粒子群算法優化的模糊PID

本文提出了一種基于粒子群算法優化的模糊PID控制器(PSO-fuzzy PID),結構框圖如圖3。

圖3 PSO-fuzzy PID結構框圖

由圖3可得,輸入步進電機目標轉速后,PID控制器輸出控制信號至步進電機,得到實際轉速,計算得到轉速誤差e與誤差變化率ec,改進的粒子群算法對模糊PID的隸屬度和規則庫進行優化,經由模糊PID控制器輸出增益變化ΔKp、ΔKi、ΔKd,增益變化與PID控制器結合運算得到輸出控制信號,完成對步進電機的轉速控制。

其中,設置粒子個數30個,學習因子c1=c2=2,維度151,速度最大值為1完成對粒子群算法參數設計的初始化。

粒子群算法的優化分為兩個部分:一是隸屬度函數,二是模糊控制規則庫。最優隸屬度函數的迭代尋優,以單個粒子為例,設置隸屬度函數的底寬為尋優目標,當初始化完成且粒子完成一次飛行后,更新粒子的速度與位置,將當前得到的隸屬度函數用于模糊控制器中。經過不斷的飛行迭代可以得到動態隸屬度函數并對步進電機進行控制,獲得該次迭代所得到的控制指標,例如超調量、轉速誤差、誤差變化率、調節時間等,計算并返回適應值得到并更新局部最優值和全局最優值,完成一次迭代。循環以上步驟直到循環結束得到最優隸屬度函數。

對于模糊控制的控制規則,將模糊控制規則表的成員函數{NB,NM,NS,Z,PS,PM,PB}對應十進制索引值數字{1,2,3,4,5,6,7}。反應過程中模糊PID的輸出為增益變化ΔKp、ΔKi、ΔKd,其對應十進制的編碼長度為3×7×7=147。反應開始的第一個粒子使用專家經驗所列寫的規則表進行初始化,降低尋優難度,初始化該粒子速度值,并隨機生成其余粒子的速度與位置,沿用隸屬度函數,將新生成的模糊控制規則與隸屬度函數相結合生成模糊PID控制,輸出增益變化ΔKp、ΔKi、ΔKd,計算PID參數并返回,輸出轉速完成轉速控制。

根據上文建立的基于兩相步進電機的傳遞函數作為被控對象,將式(7)作為被控對象,進行初步的仿真驗證?;诹W尤核惴▋灮哪:齈ID控制器仿真模型如圖4。

圖4 基于粒子群優化模糊PID的兩相步進電機控制器仿真模型

3 仿真結果

為測試粒子群算法優化的模糊PID算法的性能,使用MATLAB/Simulink對兩相步進電機進行建模,其中,PSO-fuzzy PID的模糊控制器隸屬度函數及規則庫經過粒子群算法在線迭代優化后粒子群算法的適應值如圖5。

圖5 粒子群算法適應值Figure 5 Particle swarm optimization algorithm fitness

由圖5可知,當迭代次數達到20次左右時,粒子群算法適應值趨于穩定,參數收斂,PSO算法的優化過程中經歷了8次迭代最后得到最優解。此時最優個體為優化后得到的模糊控制規則如表2—表4,隸屬度函數如圖6。

表2 粒子群算法優化后ΔKp規則庫

表3 粒子群算法優化后ΔKi規則庫

續表3

表4 粒子群算法優化后ΔKd規則庫

圖6 粒子群算法優化后的隸屬度函數

利用Simulink模塊進行仿真,以單位階躍信號作為輸入信號,分別在三種控制方法下進行系統仿真,輸入PID參數P=0.072 4;I=0.688;D=3.454,三種控制方法均使用此PID參數,仿真結果如圖7。分析圖7中的仿真曲線可得,PSO-fuzzy PID在三種控制方法的比較下,控制效果最為理想,滿足系統的穩態特性。

圖7 基于PID、模糊PID、粒子群算法優化模糊PID仿真曲線圖

4 步進電機轉速控制實驗

針對兩相步進的轉速控制要求,選用STM32作為主控芯片,建立一種基于STM32的粒子群算法優化模糊PID的步進電機轉速控制系統。系統包括主控模塊、驅動模塊、啟動模塊、電源模塊、光耦隔離、通訊模塊及上位機監控模塊,系統框圖如圖8。

圖8 步進電機轉速控制系統框圖

該控制系統以STM32作為主控芯片,啟動模塊完成對步進電機的啟動,電源模塊為步進電機與主控板其余模塊提供電壓,光耦隔離模塊可以防止外部電流倒灌,增強驅動能力,驅動模塊連接步進電機驅動器,實現對步進電機的細分控制。編碼器為轉速反饋元件,將檢測到的實際脈沖個數反饋給主控模塊,主控模塊根據檢測到的脈沖個數與目標脈沖個數的數量相比,計算e與ec,將模擬所得控制表存放在軟件內,軟件根據e與ec的實時更新,進行查表后可以得到實時輸出控制信號。STM32根據算法產生的控制信號輸出脈沖個數,完成對轉速的控制,具體的軟件流程如圖9。

圖9 粒子群優化模糊PID軟件控制流程圖Figure 9 Flow chart of PSO-fuzzy PID software control

通過硬軟件設計以及上位機監控模塊,可以對步進電機的轉速數據進行實時的讀取與保存。輸入目標轉速為10 rad/s,得到在PID算法、模糊PID算法和PSO-fuzzy PID控制下的步進電機轉速控制效果如圖10。

圖10 電機轉速實驗圖Figure 10 Motor speed experiment diagram

由圖10可以看出,在控制目標為10 rad/s的情況下,步進電機在粒子群優化的模糊PID算法的控制下,達到穩定速度的響應時間最短,超調量最小,在速度達到穩定狀態后不產生振蕩現象??梢宰C明PSO-fuzzy PID可以實現對兩相步進電機速度的高效控制,是一種優異的控制算法。

5 結 語

本文針對兩相步進電機的非線性控制,提出了一種基于粒子群算法優化的模糊PID控制器(PSO-fuzzy PID)。采用改進的粒子群算法在線迭代計算模糊PID控制器的隸屬度函數和控制規則,直到得到最優解。利用兩相步進電機的數學模型在Simulink仿真環境下,建立了電機的轉速控制系統,同時設計并搭建了基于STM32的兩相步進電機軟硬件控制平臺,測試了PSO-fuzzy PID的超調量、穩定時間、適應度函數等性能,結果表明,PSO-fuzzy PID的控制性能明顯優于其他控制器,該算法有望應用于對步進電機的轉速控制精度要求高的場合。

猜你喜歡
粒子控制器電機
《防爆電機》期刊
碘-125粒子調控微小RNA-193b-5p抑制胃癌的增殖和侵襲
工商業IC卡控制器改造為物聯網控制器實踐
泵用電機水潤滑軸承選擇與應用
關于電機滾動軸承的選擇與計算
瞻望電機的更新換代
基于膜計算粒子群優化的FastSLAM算法改進
PLC可編程控制器相關外置的選擇計算研究
Conduit necrosis following esophagectomy:An up-to-date literature review
問:超對稱是什么?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合