伺服电机的曲线运动

时间:2015-06-04 06:23:12

标签: embedded microcontroller

我正在尝试使用我的XE166设备控制工业交流伺服电机。

控制器使用PULSE和DIRECTION控制与伺服控制器连接。

为了实现无冲击运动,我一直试图创建一个S曲线运动曲线(电机速度v / s时间)。

计算瞬时速度没有问题,因为我知道电机每脉冲移动的距离和脉冲持续时间。

我需要了解如何得出一个我可以使用的数学方程式,这将告诉我第n个脉冲持续时间应该是什么样的速度曲线作为S曲线。

由于这些必须是任何需要运动控制的领域(机器人,CNC,工业)的共同要求,因此必须有一些标准参考来实现它

1 个答案:

答案 0 :(得分:0)

步进周期是运动曲线上相隔一步的两个位置之间的时间差。如果位置由X(T)定义,则步进时间需要反函数T(X),并且任何给定的步长周期是P = T(X + 1)-T(X)。在处理能力有限的微控制器上,通常用近似值求解 - 对于二阶恒定加速度运动,Atmel has a fantastic example using a Taylor series approximation for inter-step time (Application note AVR446)

另一种适用于高阶曲线的解决方案涉及根求解。要求解T(x0),设U(T)= X(T) - x0并求解U(T)= 0.

对于恒定加速度曲线,二次公式很好(但需要平方根运算 - 通常在微控制器上很昂贵)。对于加加速度限制的运动(最小三次多项式),可以使用iterative root solving algorithm找到根。