论文部分内容阅读
[摘 要 ]直流电机以其优良的调速性能等优势成为众多工业电气设备的驱动设备。本文应用增量式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.
[关键词]直流电机;增量式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.