趙鑫亮
[摘? ? 要 ]直流電機以其優(yōu)良的調(diào)速性能等優(yōu)勢成為眾多工業(yè)電氣設備的驅(qū)動設備。本文應用增量式PID控制作為核心算法,應用STM32MCU輸出PWM控制信號驅(qū)動控制TB6612FNG直流電機驅(qū)動器??刂普{(diào)節(jié)直流電機的速度,從而提高電機控制系統(tǒng)的速度控制精度。
[關(guān)鍵詞]直流電機;增量式PID算法;直流電機驅(qū)動
[中圖分類號]F259.2;TP273 [文獻標志碼]A [文章編號]2095–6487(2020)08–00–03
Design of DC Motor Speed Control System Based on Incremental PID Algorithm
Zhao Xin-liang
[Abstract]DC motor has become the driving equipment of many industrial electrical equipment because of its excellent speed regulation performance. In this paper, incremental control is used as the core algorithm, and stm32mcu output PWM control signal is used to drive and control DC motor driver. In order to improve the speed control accuracy of motor control system.
[Keywords]DC motor; incremental PID algorithm; DC motor drive
現(xiàn)代工業(yè)控制技術(shù)的高速發(fā)展,電機成為工業(yè)控制系統(tǒng)中主要的運行與驅(qū)動控制設備。直流電機與交流電機相比成本較高且結(jié)構(gòu)復雜,但從閉環(huán)反饋控制以及實際應用的靈活性角度分析,直流電機往往比交流電機應用便利與廣泛。隨著控制技術(shù)的發(fā)展,以微控制器MCU為核心的PWM調(diào)速系統(tǒng)應用越來越多,但同一PWM脈沖下,直流電機空載和帶負載情況下產(chǎn)生的速度不同,因此需對直流電機進行速度調(diào)節(jié)。以微控制器為核心特點是通過軟件產(chǎn)生調(diào)制脈沖,使控制系統(tǒng)結(jié)構(gòu)更簡單,低速性能好,調(diào)速穩(wěn)定性高、范圍寬等。應用STM32設計開發(fā)直流電機調(diào)速系統(tǒng),可以簡化硬件電路結(jié)構(gòu),縮短開發(fā)周期,提高調(diào)速系統(tǒng)穩(wěn)定性,降低成本。
1 系統(tǒng)硬件
如圖1所示,控制系統(tǒng)硬件主要有4個部分組成:MCU系統(tǒng)控制單元、電機驅(qū)動模塊、直流電機、霍爾測速模塊。
STM32F103ZE為ARM Cortex-M內(nèi)核的32位微控制器,具有高性能、實時性強、低功耗、低電壓操作等優(yōu)點,同時還易于開發(fā)。內(nèi)部可以最多4路PWM輸出滿足系統(tǒng)控制需求。電機驅(qū)動芯片TB6612與其他電機驅(qū)動芯片相對比,外圍電路更簡潔,散熱要求更低,控制電源經(jīng)簡單濾波就可以直接驅(qū)動電機而無須增加其他元件等的特性。因此利用TB6612作為電機驅(qū)動與控制芯片更有利于縮小電路控制系統(tǒng)。
應用TB6612電機驅(qū)動芯片設計的電機驅(qū)動模塊電路,如圖2所示。使用STM32的定時器TIM3產(chǎn)生2路占空比可變的PWM脈沖控制信號作為PWMA和PWMB控制信號,控制2臺直流電機。應用 MCU內(nèi)部定時器控制輸出PWM脈沖與脈沖占空比,降低系統(tǒng)運算負擔。PA5口用于控制直流電機的啟停操作。
在此閉環(huán)控制系統(tǒng)中,應用霍爾碼盤將電機轉(zhuǎn)速以脈沖信號的形式返回MCU,應用STM32定時器的捕獲功能捕獲并計數(shù)脈沖的數(shù)量,并根據(jù)脈沖數(shù)量與時間關(guān)系計算電動機的實際轉(zhuǎn)速。
2 直流電機PID控制系統(tǒng)Simulink仿真
直流電機的數(shù)學模型計算是直流調(diào)速系統(tǒng)設計的重要環(huán)節(jié),利用傳統(tǒng)方法求解直流電機的數(shù)學模型。公式(1)和(2)為直流電機的電樞回路方程和轉(zhuǎn)矩平衡方程。
電樞回路平衡方程:
轉(zhuǎn)矩平衡方程:
(1)式中Ea為感應電動勢Cen,Ce=0.132為反電動勢常量,n為電機轉(zhuǎn)速;
(2)式中為折算到電動機軸上的轉(zhuǎn)動慣量,GD2為電力拖動系統(tǒng)部分折算到電動機軸上的飛輪慣量;
(3)為額定勵磁下的電磁轉(zhuǎn)矩;
(4)是包括電機空載轉(zhuǎn)矩在內(nèi)的負載轉(zhuǎn)矩,為負載電流;
(5)為電動機額定勵磁下的轉(zhuǎn)矩電流比。
對式(1)、式(2)進行拉普拉斯變換便可得到直流電機轉(zhuǎn)速相對于輸入電壓的傳遞函數(shù)為:
式(3)中,機械時間常數(shù);電氣時間常數(shù)。
將Ua=220V;Ia=53A;La=0.015H;Ra=0.5Ω;GD2=22.45;參數(shù)帶入式(3)得到220V直流電機傳遞函數(shù)式(4)
(4)
圖3為Simulink中繪制的應用公式(4)傳遞函數(shù)建立的直流電機PID仿真框圖,圖4為設置Kp=0.5,Ki=20,Kd=0.005經(jīng)過參數(shù)整定的仿真曲線。
3 PID控制原理與軟件設計
數(shù)字式PID算法可以分為位置式PID和增量式PID。在此控制系統(tǒng)中,由于是對PWM信號的脈沖數(shù)控制輸出達到速度調(diào)節(jié)的目的,因此使用數(shù)字式PID控制算法并且根據(jù)他們各自的特性選擇增量式PID方式。
位置式PID算法用到了過去所有誤差值的積分。每次輸出的值都與過去的狀態(tài)有關(guān),MCU需要對ek進行累加計算會加重系統(tǒng)的工作負擔。 如果計算機出現(xiàn)故障,有可能造成嚴果。在本系統(tǒng)中不需要測量控制機構(gòu)位置,故不對此控制方法進行分析。
增量式PID算法是控制輸出對象的增量?uk。增量PID算法公式通過式 (5)導出。由式 (5)可以導出第k-1個時刻的輸出式 (6)。
為得到連續(xù)采樣增量式PID控制算法式(7),需要將式(5)與式(6)相減。
鑒于連續(xù)PID控制算法不能直接應用于MCU控制系統(tǒng)中,因此需要將式(7)進行離散化處理,如式(8)所示。
圖5為本系統(tǒng)所使用PID算法流程圖,通過捕獲PWM的脈沖數(shù)計算測量調(diào)節(jié)電機速度。
圖5? 增量PID算法流程圖電路圖
簡化偽代碼如下:
ha_counter = hall_Read();? //讀取測速值(PWM脈沖數(shù))
err_k = V_set - ha_counter;//計算誤差值
PWM_inc =err_k1+ Kp*[err_k-err_k1]+Ki*err_K+Kd[err_k-2err_k1+err_k2];//計算PWM修改量
outPWM += PWM_inc;? ? //計算PWM輸出量
TIM_SetComp(TIM3 ,(uint16_t)PWM);? //計算PWM占空比
err_k1=err_k; err_k2=err_k1。
4 測試
根據(jù)系統(tǒng)動態(tài)特性與穩(wěn)態(tài)特性并應用實驗的方法逐個對PID控制器相關(guān)控制參數(shù)進行整定與微調(diào)。當PID控制參數(shù)為如下參數(shù)時(P=13,I=0.2,D=36),得到相對穩(wěn)定與理想的轉(zhuǎn)速與電壓的關(guān)系如圖6所示,具有良好的控制精度。
5 結(jié)束語
增量式PID控制PWM占空比進行調(diào)速控制,硬件電路結(jié)構(gòu)簡單,軟件開發(fā)周期短,提高調(diào)速系統(tǒng)穩(wěn)定性,控制效果好,降低生產(chǎn)成本。
參考文獻
[1] 湯蘊璆.電機學[M].北京:機械工業(yè)出版社,2014.
[2] 劉松斌,王海星,李碩恒.基于 STM32的直流電機 PWM調(diào)速系統(tǒng)[J].化工自動化及儀表,2016(5):50-54.
[3] 王建平,盧彬,武歡歡.TB6612FNG在直流電機控制設計中的應用[J].電子設計工程,2010(12):110-115.
[4] 楊曉嵐.PID算法在智能車中的應用[J].實驗科學與技術(shù),2010(8):33-36.