解决方案
控制器(NI 73xx运动控制器系列)将其控制信号与反馈信号进行比较,从而验证电机是不是正按照所给定的命令在运行。控制命令中给定的值与反馈值之间的差值便是
跟踪误差(following error)。
跟踪误差在MAX中的显示
当我发指令执行一次运动时,为什么应用程序会报告超出了跟踪误差(following error)的极限值?
在执行某一次运动时,跟踪误差(following error)的极限值是可以调整的。当实际误差超过设定的极限值时,便会出错,并报告超过极限值的错误。由多种因素都由可能导致
跟踪误差(following error)超限,如机械系统方面的缺陷、不合适的输入输出、控制回路缺陷等。虽然跟踪误差(following error)问题不大容易调试,但大多数情况下都是由下面所列的原因导致的。
为了提高反馈精度,NI的运动控制卡对编码器反馈脉冲信号的每一个边沿都会读取。对于正交编码器来说,编码器的每一组正交脉冲都对应有四个脉冲边沿(A项和B项的上升沿河下降沿)。因此,如果您所用的编码器没转一周输出2000组正交脉冲,那么,控制卡实际每周将读到8000个边沿——并且,每一个边沿将会被作为一次“计数”来对待。
当在MAX 中设置“Encoder counts per revolution(编码器计数每转)”参数时,大家往往会错误地输入编码器的物理分辨率。而事实上,这里需要输入的是控制卡实际会读到计数值,即,四倍的物理分辨率。
当发送一个顺时针方向运动的命令时,得到的反馈信号表明确实是在做顺时针方向的运动吗?如果反馈信号表明是在做反向的运动,则很有可能是输出给电机的模拟信号极性接反了或者编码器的A项和B项接反了。可以检查一下可能的连线错误来弥补这一错误。
如果确认是编码器的极性接反了,那么也可以在MAX 中将二者改正过来。如果确实需要改变编码器的极性,选择有问题的轴,并找到窗口中相应的编码器设置位置。在编码器选项卡上改变A、B两项中任意一项的极性,注意,不是两项都改,如果使用了索引,那么相应的索引也要改。
- 原因3:在伺服电机控制系统中所用的PID环没有调到合适的参数
由于NI的伺服电机控制板卡是针对各种应用方案设计的,所以,针对某一特定的应用场合,板载的PID控制环都需要进行有针对性的配置。在
MAX 中合适地调节PID环(设置
Kp、Kd、Ki等参数)对于确保电机按照设定的方案运行是有必要的。如果系统对振动、不确定性运动等产生的命令作出相应,那么控制环有可能会偏离原定的轨迹。在调节电机系统时的一些注意事项可以参考
Understanding Servo Tune
高速的运动要求运动控制系统有高的相应速度。如果高速或高加速度的指令频繁地导致跟踪误差(following error)超限情况发生,那么,电机或工作台很有可能无法达到所给定的目标速度和加速度。(可能的原因很多,比如过大的摩擦力、机械部件不在同一直线上或者电机扭矩太小等。)可以考虑调整机械结构或者使用更小的速度或加速度来解决这个问题。I