基于PI控制的直流电机调速控制系统的研制

2018-01-25 01:34:40
宇航计测技术 2017年6期
关键词:直流电机编码器串口

黄 健

(西京学院, 西安 710123)

1 引 言

直流电机能够将电能转换为机械能,具有功率大、可靠性高、使用寿命长、噪声低等优点。因而在家用电器、数控机床、电动车、机器人、计算机外围设备等方面有广泛的应用。如何控制和调整电机的转速是工程和实验领域要解决的问题之一。通常采用PWM波控制电机的转速,根据PWM波的占空比调整电机的转速,当占空比从0%~100%逐渐增大时,电机的转速逐渐提高。但是在实验和实际应用中,经常会发现,给一个固定占空比的PWM波,由于受到各种客观因素的影响,比如空气阻力、机械摩擦,电机的转速并不能达到一个稳定的速度[1~3]。

因此,对电机的控制引入自动控制的原理,采用经典的PID控制,PID控制中P是比例系数,使得电机速度尽快到达设定值,但P值过大,将会使得系统发生震荡。I的值主要是消除静态误差,I值越小,积分作用越强。D反应系统偏差信号的变化率,能够预见偏差的变化趋势,具有超前的调节功能。D微分控制可有效抑制震荡,但引入D,系统的响应变慢,增大了系统的阻尼。这三个参数配合使用,能够解决常用的线性系统的控制问题。但P、I、D的参数变化范围很大,很难找到合适的参数[4,5]。

本文给出了电机调速的PI控制,不需要参数D,就可较好的控制电机的转速。并给出了具体的P和I参数选择的方法,通过大量的实验,借助串口数据传送和MATLAB进行数据分析,得到了合适的参数,完成了对电机恒速的控制。该研究为其它PID控制提供了方法和参数选择的具体实施步骤。

2 理论分析

2.1 速度PI控制器框图

速度PI控制器框图如图1所示。在进行速度控制时,首先设定一个速度值,直流电机驱动器给定控制信号和PWM波,控制直流电机旋转。PI控制器用软件实现,为了实现速度PI控制,必须测量电机的转速,可采用霍尔传感器或自带编码器的电机,建议采用编码器,测量精度高。将测得的速度进行反馈,设定的速度值减去测量的真实值,得到一个误差e。然后用PI控制器对速度误差进行修正,重新计算得到一个占空比,控制PWM波的占空比的增大或者减小,重新驱动电机旋转。当实际速度小于设定速度,PI控制器控制PWM波的占空比增大,提高电机转速;当实际速度大于设定速度,PI控制器控制PWM波的占空比减小,降低电机转速;直到误差e降低到最低为止[6~8]。最终使得电机的实际转速接近或者等于设定值。

2.2 增量式离散PID公式

增量式离散PID公式如式(1)所示。

PWM+=KP×[e(k)-e(k-1)]+Ki×e(k)
+Kd×[e(k)-2e(k-1)+e(k-2)]

(1)

式中:e(k)为本次误差;e(k-1)——上次误差;e(k-2)——上上次误差;PWM——PWM波占空比的增加量;Kp——比例系数P;Ki——积分系数I;Kd——积分系数D。若采用PI控制,式(1)演变为式(2),如下所示

PWM+=KP×[e(k)-e(k-1)]+Ki×e(k)

(2)

3 硬件电路设计

3.1 系统设计

系统设计如图2所示。图中主控采用STM32F103ZET6,基于Cortex-M3技术,是高性能微处理器,适合驱动直流电机,共有8个定时器,可用于PWM波的产生和编码器的测速。直流电机驱动采用TB6612,采用12V供电,控制信号为5V供电,可方便驱动小型直流电机,最高驱动电流1.2A。所驱动的直流电机为6V直流电机,自带编码器,电机每旋转一圈,产生390个脉冲,将其接入STM32F103ZET6的Timer2定时器,就可测得速度。在进行速度PI控制器设计时,可用按键实时修改Kp、Ki、Kd的值。对于每一组固定的Kp、Ki、Kd的值,采集500个数据,将其通过串口送给电脑,保存为TXT文件,导入MATLAB下进行分析。显示单元为TFT真彩屏,为提高刷屏速度,采用硬件SPI连接。可在显示屏上显示当前的设定速度值、测量速度值、Kp、Ki、Kd的值或者其它信息。在调试时,为了找到合适的Kp、Ki值,可用软件方法,每采集500个值后,让Kp、Ki自动加1,然后将所有数据通过串口传送给电脑保存起来,统一用MATLAB进行分析,找到最佳曲线。

3.2 TB6612直流电机驱动电路设计

TB6612是东芝公式推出的一款直流电机驱动芯片,集成度高,可同时驱动2路直流电机[9]。TB6612的硬件连接图如图3所示。

图3中PA0、PA11、PA12控制1路电机,PA0产生PWM波,控制电机的转速,PA11、PA12控制电机的方向。PA1、PB10、PB12控制另1路电机,PA1产生PWM波,控制电机的转速,PB10、PB12控制电机的方向。AO1、AO2连接1路电机,B01、B02连接另外1路电机。

3.3 TFT显示单元电路设计

TFT显示单元采用1.44寸SPI接口真彩屏,显示电路设计如图4所示。

为提高1.44 TFT真彩屏的刷屏速度,采用硬件SPI接口与STM32相连,其中SCLK连接到PB13(SPI2_SCLK),DI连接到PB15(SPI2_MOSI),CS连接到PB12(SPI2_NSS).其余RST为复位信号,GND要共地,VCC接3.3V。

4 软件设计

软件流程图如图5所示。在图5中首先对定时器1、定时器2、PWM波、硬件SPI进行初始化。定时器1初始化为10ms中断一次,在中断中主要进行电机测速和PI控制。定时器2初始化为计数方式,每隔10ms读取一次编码器的输出值,得到直流电机的实际转速。用按键设置电机的转速[9]。启动电机转动。10ms中断时间到,进定时器1中断,编码器测速,得到实际速度值,用设定值减去测量值,得到速度差e。用式(2)计算,得到PWM的增量,重新修改PWM值,调整电机转速。若测量值小于设定值,则PWM增大,提高电机转速;若测量值大于设定值,则PWM减小,降低电机转速。为了找到合适的P和I的系数Kp和Ki,对于每一个固定的Kp和Ki值,连续测量500次。然后修改Kp或Ki值,自动加1或者减1。在一定的范围内,连续测量多组Kp和Ki的值所对应的速度值。最后通过串口传送给计算机,保存为TXT文件,将其导入MATLAB下进行分析。确定最终的Kp和Ki的值。

5 调试

搭建的实验平台如图6所示。在KEIL下用C语言编写程序代码,通过串口将数据传送给计算机,保存为TXT文件,导入MATLAB下进行分析[10]。

调试步骤如下:

(1)设定合适的目标速度值。首先将PWM值从0%~100%逐渐增大,每隔10ms测得编码器的输出范围从0~70。目标值应该设置为最大值的60%~70%,选取为45。

(2)在进行PID调节时,首先将I和D的系数设置为0,用式(3)对电机进行调节,P的系数从0开始逐渐增大,直到出现震荡为止,图7中给出了部分曲线,从图中可以看出,Kp=80系统震荡,出现了2个震荡波形,选取此时的系数为P的系数,得到Kp=80。

PWM+=KP×e(k)

(3)

(3)确定I的系数,I首先选取一个最大值500,然后每次递减1,直到系统出现2个震荡波,且振幅比为4∶1时为止,此时的波形就是PI调节中的最佳波形。经过多个图形对比,得到如图8所示波形,I的系数Ki=152。

(4)若系统经过PI调节后,还不能得到满意的曲线,则用式(3)加入微分环节D,D的调节方法和P类似,逐渐增大,并根据波形适当的微调P和I的参数,直到得到满意的波形为止。

6 结束语

本文从理论上分析了PI调节的控制原理,给出了对应的增量离散式PI公式。搭建了对应的硬件平台,编制了相应的软件,对P和I的系数进行了多次实验,通过串口发送给计算机,借助MATLAB对波形进行了分析,最终得到了理想的曲线,确定了P和I的参数。详细论述了PID调节的步骤和过程,使得在PID调节过程中无需建模,通过实验并借助电脑分析就能够快速确定P、I、D的参数,具有一定的实用价值。

[1] 吕 毅,戚志东.一种基于分数阶PID直流电机调速的AGV控制系统[J]. 现代电子技术,2017,40(3):127~130.

[2] 武同昆,周超英,谢 鹏.基 于PWM的 远 程 控 制 新 型 变 量 喷 雾 系 统 设 计[J].农机化研究,2017(7):76~82.

[3] 陈 强.无刷直流电机系统的仿真研究[J].现代雷达,2011,33(7):56~59.

[4] 赵志涛,贾彦斌,赵志诚,何秋生.永磁无刷直流电机调速系统的改进型 IMC-PI 控制[J].火力与指挥控制,2016,41(9):70~79.

[5] 刘家兵,李志红,任艳锋.无刷直流电机模糊PI系统的建模及仿真[J].控制工程,2008,15(s1):125~133.

[6] 王军,冯能莲,张春强,张星宇.无刷直流电机模糊与PI双闭环调速系统的研究[J].安徽农业大学学报,2016,43(4):662~666.

[7] 温嘉斌, 麻宸伟.无刷直流电机模糊PI控制系统设计[J].电机与控制学报,2016,20(3):102~108.

[8] 郭伟,陈一帆,周丽,倪家健.无刷直流电机分数阶PI预测函数控制研究[J].武汉理工大学学报,2013,35(3):130~135.

[9] 姜文彪,吴坚.直流电机双闭环PI 控制技术研究[J].机床与液压,2012,40(11):21~24.

[10] 王霞,朱景伟. 基于模糊PI控制的无刷直流电机调速系统[J].电气传动,2014,44(1):63~67.

猜你喜欢
直流电机编码器串口
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
大电机技术(2022年5期)2022-11-17 08:12:56
浅谈AB PLC串口跟RFID传感器的通讯应用
基于FPGA的同步机轴角编码器
基于FPGA的双绕组无刷直流电机软件设计
电子制作(2017年1期)2017-05-17 03:54:12
基于PRBS检测的8B/IOB编码器设计
USB接口的多串口数据并行接收方法探索
JESD204B接口协议中的8B10B编码器设计
电子器件(2015年5期)2015-12-29 08:42:24
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
地矿测绘(2015年3期)2015-12-22 06:27:26
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法