【单片机】步进电机梯形加减速算法
所谓梯形加减速,指的是一种步进电机的加减速算法。图中,Y轴表示的是步进电机当时的转速,X轴是时间。
当步进电机到达一定转速的时候,停止加速,并在快要到达结尾的时候减速。
图中的这个梯形被很多竖线分为了不同的块。其中每个块的面积是一样的(虽然图上画的不是很像)。
这个面积,就是步进电机的“1步”的单位。
而每一条竖线,相当于在当前时间,步进电机进行一次步进。
如图所示,因为步进电机可以进行匀速的加减速,步进电机可以由低速平稳过渡到高速,并平稳减速。这样可以保证步进电机在不丢步的同时进入高速转动的状态。是3D打印机或者激光雕刻机等依赖的重要功能。
梯形的腰的斜率,决定了步进电机加减速时的加速度大小。梯形的高,决定步进电机的最大速度。
设每一步的时长为T,当前初始速度为V0,结束速度为V1,加速度(梯形腰斜率)为a,T的值应当如此计算:
T = 解一元二次方程(a, V0 * 2, -2).解1
其中,一元二次方程应该是如下所示的算式:
Ax^2 + Bx + C = 0
其中:
A = a(加速度、梯形腰斜率)
B = V0 * 2
C = -2
一元二次方程解法:
Delta = B^2 - 4AC
解1 = (-B + Sqrt(Delta)) / 2A
解2 = (-B - Sqrt(Delta)) / 2A
计算出T的值后,我们就可以在单片机上通过使用定时器来精确地控制步进电机进行运动了。通常可以先预先生成时间间隔序列,然后使用TIM+DMA+中断来一气呵成。 俺看懂了:loveliness: watermelon 发表于 2020-8-7 18:48
俺看懂了
不错哦
页:
[1]