趙鑫亮



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