实时步进电机
仅通过加法和乘法实现线性斜坡
1.运动基础线性加速度(斜坡)公式为:s = v0 · t + a·t²/2 [1] v = v0 + a·t [2] 其中 S -加速距离,在步进电机的情况下- 步数, v0 -初始速度,基本速度(步每秒), v -目标速度,回转速度(步每秒), a - 加速度(步每秒秒), t - 加速时间,爬坡周期(秒)。 通过重新排列[2] 并把它放在[1]我们有 和 这可以表示 为一个步骤的递归计算形式: 其中 i - 步数(1 < i < S)。 2.控制基础知识为了产生步进电机的速度曲线,我们需要提供步进脉冲之间的实时延迟:其中 pi -延迟周期用于第i个步骤(定时器节拍), F - 计时器频率(每秒定时器的节拍数), 所以根据[6]的精确的延迟值将是: 要么 3.逼近使用泰勒级数当-1 < n < 1时,我们可以近似为[9] 我们来检查-1 < n < 1的条件。我们 n 是 或者通过速度, 在第一个计算的步骤中, 最大 n值将处于最小速度,其中 i = 2 因为最小 v 0 是0,从[6]我们有 所以 n 将始终 小于或等于1,因为我们的计算是前向的,所以我们在减速(负加速度)情况下也没有限制 4.实施给定的参数为:v 0 - 基本速度, v - 回转速度, a - 加速度, F - 定时器频率 和计算出的参数为: S - 加速/减速距离 p 1 - 初始步骤的延迟时间 p S - 摆动速度步长的延迟时间 R - 恒定乘数 将为每个下一步重新计算 的可变延迟周期 p (初始 p = p 1)为: 其中 m -变量乘数取决于所述运动相: m = - R 时在加速阶段, m = 0 在加速和减速阶段之间 m = R 时,在减速阶段。 为了精确的目的,让我们设定 Ps = Ps , 如果 P < Ps 或者加速和减速阶段之间 P = P1 , 如果 p > p 1 。 5.可选的增强使用泰勒级数的高阶逼近1 / (1 + n)1/2 ~ 1 - n / 2 + 3 . n2 / 8 [21] 我们可以得到更准确的结果替代[20] 其中 q = m . p . p 通过[22]我们有出色的精度,但具有两个额外的乘法和一个额外添加VS [20]的良好 精度的方法。最后让我们 用一个额外的乘法和一个额外的加法构建一个非常好的折中: 而且,我认为好的方法([20])不仅好,而且对于大多数步进电机应用来说也足够好。 对于步进/方向控制的伺服驱动器来说,增强功能非常重要,该功能可以从零速下降到零速。 6.编程说明这个算法是为浮点 数学设计的,在这种形式下它的工作速度要快于 需要划分的整数形式。 |