步进电机的位置控制

  位置控制,我的理解就是输入一个目标的位置,然后电机通过一个加减速的过程后到达目标位置.

  这个加减速的方法,目前了解的有'梯形'和'S形'.

  梯形:加速度固定,但是在启动,到达最大速度和停止这几个地方会出现加速度的'剧变',但是可以完全预知电机的速度和位置,并且这个计算也不会太复杂.

  S形:或者说是正弦波形,加速度在此法中不是固定的,而是按照正弦波的形状来改变.好处当然是加速度变化缓慢(加速度的微分没有突变).坏处当然就是变得复杂了,而且在此法中要预测电机的速度和位置就变得相对复杂很多.

  所以,加减速当然就选择梯形法了.

  怎么实现从当前位置(起点)按照梯形法走到目标位置(终点)呢?如下图所示:

  S是起点;E是终点;那么M就是(E-S)/2,也就是中点.

  在确定加速度的情况下,线段a,b的斜率就可以知道.然后假设电机从点S开始加速,越过点M(点c)后开始减速,最后刚好到达点E.因为加速和减速的加速度都是一样的,所以SM,ME两个线段的长度是一样,所以只要取得SE的中点M就可以保持目标位置的正确(理论上是这样)

  按照上述方法就可以实现加减速,并到达目标位置附近.

  为什么说是到达目标位置附近呢?

  现在还没测试程序对于位置控制的准确性,所以一下只是基于猜测:

  首先,在加减速过程中,可能会因为精度问题而使得实际的速度曲线有明显的'阶梯',而这个阶梯可能(或不可能)影响到逼近目标位置.

  其次,也是因为精度的问题,按照设定的加速度可能无法最大限度地逼近目标位置,而需要进行额外的操作(以很低的速度走过一个小角度)才能够最大限度地逼近目标位置.

  最大的可能就是上面第一个情况出现,而需要用额外操作来最大限度地逼近目标角度.

(0)

相关推荐