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