APP下载

基于STM32的直流电机PWM调速系统

2016-11-24刘松斌王海星李硕恒

化工自动化及仪表 2016年8期
关键词:微控制器直流电机控制算法

刘松斌 王海星 李硕恒

(东北石油大学电气信息工程学院,黑龙江 大庆 163318)

基于STM32的直流电机PWM调速系统

刘松斌 王海星 李硕恒

(东北石油大学电气信息工程学院,黑龙江 大庆 163318)

为实现对永磁直流电机转速准确、快速、稳定地控制,提出积分分离PID与变参数PID相结合的控制算法,设计并实现了直流电机PWM调速系统。详细阐述了直流电机调速的工作原理、积分分离PID与变参数PID控制算法和系统的软硬件设计。以STM32为主控芯片搭建控制平台验证调速系统的性能,实验结果表明:该系统达到了优良的调速性能,与经典PID控制算法相比有更快的响应速度和更好的稳定性。

直流电机调速系统 积分分离PID 变参数PID STM32

直流电机以良好的启动性能和调速性能著称[1],宜于在宽广的范围内平滑调速,在轧钢机、矿井卷扬机等需要高性能可控电力拖动领域应用广泛。虽然与交流电机相比成本较高且结构复杂,但从闭环反馈控制角度分析,直流电机控制是交流电机控制的基础,所以直流电机仍有一定的理论意义和使用价值[2]。对于电机的控制有调速控制、位置随动控制及张力控制等,本质上都是对转速的控制[3]。应用最广的是PWM调速,其优点是响应快、效率高、抗干扰能力强。

PID是最经典的闭环控制算法,随着微控制器和计算机控制技术的发展,控制算法在微控制器中实现比模拟PID更灵活、稳定[4]。于是产生了一系列的改进PID算法,如积分分离PID、变速积分PID及带死区的PID等。针对直流电机调速系统的控制目标,提出积分分离和变参数PID相结合的算法,实现电机对给定转速的快速稳定跟踪,实现稳态无静差。

1 调速原理

直流电机转速与电机其他参数的关系如下[5]:

(1)

式中I——电枢电流,A;

ke——电机结构决定的电动势常数;

n——转速,r/min;

R——电枢回路总电阻,Ω;

U——电枢电压,V;

φ——励磁磁通,Wb。

由此可知有3种方法可以改变直流电机的转速,即改变U、φ、R,分别称为调压调速、改变磁通调速、改变电枢回路电阻调速。对于需要无级平滑调速的系统来说,常用调压调速。PWM调速是调压调速的一种[6],即将PWM脉冲直接加在电枢的两端,通过调节脉冲的宽度来实现调压。

2 硬件设计

系统硬件由5部分组成:STM32最小系统作为主控单元、L298N和外围电路组成驱动模块、12V直流电机作为控制对象、起到速度反馈作用的霍尔码盘传感器、观察转速变化的上位机。系统的硬件组成框图如图1所示。

图1 系统硬件组成框图

STM32是基于Cortex-M3内核的32位ARM处理器,具有价格便宜、功耗低及性能优越等优点。内部还集成了高级定时器,可生成互补含有死区的PWM脉冲,特别适合电力电子变换和电机控制。STM32最小系统由电源电路、时钟电路、复位电路和程序下载电路组成。由于STM32输出PWM为3.3V电平,难以驱动12V直流电机,采用电机驱动芯片L298N来提高驱动能力。L298N内部内含两个H桥,是高电压大电流全桥式驱动器,可以用来驱动两个直流电机或步进电机[7,8]。因为L298N为5V逻辑电平,并且工作时功率电路和控制电路需要隔离,所以需要加一些必要的外围电路,如光耦隔离、电平转换等,L298N电路如图2所示,图中XPWM7连接STM32的PWM输出引脚,实现对电机M1的驱动。

图2 L298N电路

为了实现闭环控制必须将速度信号反馈回控制器,选用霍尔码盘传感器将速度信号以方波脉冲的形式反馈回控制器,STM32的捕获单元可以捕获这些脉冲的频率,从而根据脉冲频率与转速的关系计算出转速值。

3 软件设计

PID是一种线性控制算法,它是基于偏差的控制,将偏差e(t)的比例(P)、积分(I)、微分(D)通过线性组合构成控制量u(t),对控制对象进行控制,PID的控制规律为:

(2)

计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量,所以连续PID控制算法不能直接在微控制器中使用,需要采用离散化方法,常用的为增量PID,控制规律如下:

Δu(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)+

kd[e(k)-2e(k-1)+e(k-2)]

(3)

如果计算机控制系统采用恒定的采样周期,只要使用前后3次测量的偏差值,就可以由求出控制量。

PID控制中积分部分主要起到消除稳态误差的作用,在系统刚刚启动或者大范围改变给定时系统偏差往往很大,积分作用会产生积累,这时控制量达到最大或者最小的极限输出即饱和值,系统响应的超调量很大甚至振荡,因此积分分离PID应运而生。积分分离PID是在经典PID基础上改进实现的,即当偏差大于设定值ε时使用PD控制,偏差小于ε时使用PID控制。这样可以充分发挥比例环节提高系统响应的作用,从而快速减少偏差。当偏差进入很小的范围时再引入积分作用,消除稳态误差,提高控制精度。执行积分分离PID算法时,比例环节的选择尤为重要,比例系数太小系统无法进入积分区,太大则使系统有很大的超调甚至使系统不稳定。并且工程上常常在引入积分作用后改变比例系数使它变小,这样系统会更加稳定,这也就是变参数PID的思想。积分分离PID的算法公式如下:

u(k)=kpe(t)+kd[e(k)-e(k-1)]/T+

(4)

其中,β为是否引入积分作用的标志:

(5)

算法程序框图如图3所示。

图3 积分分离PID算法程序流程

为了更加直观地体现转速的变化和控制效果,将转速值通过串口发送到PC机中,使用图形化编程环境LabVIEW编写上位机显示软件[9],显示界面如图4所示。

图4 上位机界面

STM32系列微控制器的开发环境很多,常用的是MDK。Keil公司开发的ARM开发工具MDK,是用来开发基于ARM核的系列微控制器的嵌入式应用程序,可根据程序流程图在MDK中完成对控制算法的编写。

4 实验研究

结合以上对硬件设计和软件设计的描述,完成基于STM32的直流电机PWM调速系统设计。

电机转速从零到给定转速的启动过程类似一个阶跃响应。由自控原理可知,一个系统的性能可以通过单位阶跃响应的特征来定义,所以通过系统对给定转速的响应过程来分析调速系统的性能,图5为系统应用普通PID算法的电机启动过程,给定转速为6 000r/min。应用积分分离PID和变参数PID结合的改进PID算法电机启动过程如图6所示,给定转速也为6 000r/min。分析可知,采用传统PID算法系统虽然没有超调但响应慢;采用改进的PID算法时,系统的响应速度有显著提高,很快达到给定转速,稳态无静差。

图5 采用PID算法的电机启动过程

图6 采用改进PID算法的电机启动过程

对于电机调速系统来说,除了启动性能外,系统对给定转速的跟踪情况和抵抗负载扰动的能力也是衡量调速系统性能的重要指标。采用改进PID算法,给定转速由5 000r/min降到4 000r/min时的系统响应如图7所示,系统快速达到给定转速,且运行稳定。

图7 采用改进PID算法的转速下降过程

图8为施加负载扰动后系统的响应情况,从图中可以看到当受到负载扰动后系统转速下降,在控制算法的作用下,系统快速恢复给定转速,有效地抵抗了负载的扰动。

图8 采用改进PID算法施加负载扰动的响应过程

5 结束语

通过软硬件设计,实现了基于STM32的直流电机PWM调速系统设计。实验表明:积分分离PID算法和变参数PID结合的算法与经典PID算法相比,直流电机转速控制效果得到了很大的改善。系统有优良的启动性能,实现输出转速对给定转速的快速稳定跟踪,有效抑制外界扰动,系统运行稳定可靠。为直流电机速度控制系统的实现提供了一种新的解决方案。

[1] 陈伯时.电力拖动自动控制系统[M].北京:机械工业出版社,2007:1~2.

[2] 汤蕴璆.电机学[M].北京:机械工业出版社,2014:94~95.

[3] 何忠悦,周小红.基于PID算法的直流电机PWM调速控制器设计[J].计算机光盘软件与应用,2011,(20):80~86.

[4] 杨晓岚.PID算法在智能车中的应用[J].实验科学与技术,2010,(4):187~189.

[5] 杨晨阳,王舒憬,王刚.基于ARM的直流电机控制系统设计[J].自动化与仪器仪表,2013,(1):57~59.

[6] 赵庆松,苏敏.基于ARM的直流电机调速系统的设计与实现[J].微计算机信息,2007,23(2):173~175.

[7] 马瑞卿,刘卫国.自举式IR2110集成驱动电路的特殊应用[J].电力电子技术,2000,34(1):31~33.

[8] 张明,章国宝.IR2110驱动电路的优化设计[J].电子设计工程,2009,17(12):66~70.

[9] 刘松斌,王海星.基于LabVIEW的单片机与PC机串口通信显示系统设计[J].化工自动化及仪表,2015,42(7):806~808.

DesignofDCMotorPWMSpeedControlSystemBasedonSTM32

LIU Song-bin, WANG Hai-xing,LI Shuo-heng

(SchoolofElectricalEngineeringandInformation,NortheastPetroleumUniversity,Daqing163318,China)

In order to control PMDC(permanent magnet DC) motor’s speed accurately and rapidly and stably, a control algorithm which integrating integral separation PID with variable parameter PID was proposed and a PWM speed control system for the DC motor was designed. The working principle of this DC motor speed control system was elaborated, including the newly-proposed control algorithm and the design of the system’s hardware and software. Establishing a STM32 chip-cored control platform to verify speed control system’s performance shows that as compared to the classical PID, this speed control system has faster response speed and better stability.

DC motor speed control system, integral separation PID, variable parameter PID, STM32

2015-11-25(修改稿)

TH865

A

1000-3932(2016)08-0834-04

猜你喜欢

微控制器直流电机控制算法
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
纺织机械手专利瞄准控制算法
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
基于ARM+FPGA的模块化同步控制算法研究
物联网技术在微控制器实验教学中的应用
用于高品质电动汽车的分布式并行计算
基于FPGA的双绕组无刷直流电机软件设计
直流电机电源设计研究
基于航迹差和航向差的航迹自动控制算法