一 什么是梯形加减速
如下图所示,假设该装置使用步进电机实现物体X的移动,系统要求物体X从A点出发,到B点停止,移动的时间越短越好且系统稳定。
图1
使用梯形加减速
OA段为滑块的加速部分、AB则是匀速部分,BC则是减速部分。因其图像呈现梯形,所以我们把这种运动变化称之为梯形加减速。
图2
二 使用加减速的理由
为什么要使用加减速呢?步进电机有一个很重要的技术参数:空载启动频率,也就是在没有负载的情况下能够正常启动的最大脉冲频率,如果脉冲频率大于该值,步进电机则不能够正常启动,发生丢步或者堵转的情况;或者也可以理解为由于步进脉冲变化过快,转子由于惯性的作用跟不上电信号的变化。所以要使用加减速来解决启动频率低的问题,在启动时使用较低的脉冲频率,然后逐渐的加快频率。
三 梯形加减速算法特点
梯形加减速一共分为三个阶段,OA加速部分、AB匀速部分和BC减速部分。在OA加速过程中,由低于步进电机的启动频率开始启动(模型中由0启动),以固定的加速度增加速度到目标值;在AB匀速过程中,以最大速度匀速运动;在BC减速部分中,以加速度不变的速度递减到0;这种算法是一种在加速过程和减速过程中加速度不变的匀变速控制算法,由于速度变化的曲线有折点,所以在启动、停止、匀速段中很容易产生冲击和振动。
四 算法基础
图4
上图为步进电机与时间的示意图,其中:
图5
步进电机的转动需要控制器发送脉冲,如果控制器以恒定速度发送脉冲,那么步进电机就以恒定速度转动;如果控制器以加速度发送脉冲,那么步进电机就以加速度运动;所以只要改变脉冲的频率就可以改变速度的变化,也就是说调整脉冲之间的时间间隔就可以改变速度。
图6
五 梯形算法要求的变量
我们通过控制定时器输出PWM波形来描绘上述梯形,至少需要知道以下变量:
图7
一般情况下,电机加速度accel、减速度decel和总步数(即总脉冲数)是给定的,我们需要通过这3个变量推导出剩余的变量。知道以上变量,再推导出每步的定时器频率,结合脉冲数即可绘制完整的梯形图。
六 加减速算法推导过程
知道寄存器ARR的值后,我们就可以控制电机加速了,但是我们不知道电机应该加速到什么时候,即电机加速多少步以后开始匀速运行,多少步以后开始减速运行,接下来我们继续推导以上变量。
通过以上推导,我们求出了梯形算法要求的所有变量。
七 算法优化