我似乎已将自己编码到一个角落,出现以下问题:我正试图通过基于RS485的慢速总线连接来控制机器人上的电机。不幸的是,我无法访问电机上的固件,所以我坚持使用当前的设置。
最大的问题是我只能控制电机的目标速度。虽然我可以通过内置编码器检索其绝对位置,但电机本身的固件中没有内置定位功能。
第二个问题是总线连接速度很慢,有点笨拙的协议需要25毫秒才能完成一个完整周期 - 通过速度调整控制位置甚至可行吗?
我尝试了一种简单的方法来估计前方25毫秒的位置,减去当前位置并除以25毫秒来计算下一个所需位置所需的速度。然而,当针对固定位置时,这在某些速度下会剧烈振荡,我认为由于高周期时间会产生大量过冲。
也许PID控制器可以提供帮助,但我不确定目标值是什么 - 我到目前为止使用的每个PID都使用了固定目标。一个完全移动的目标(即位置)很难想象,至少对我而言。
处理这种情况的常用方法是什么?也许结合天真的方法并仅为额外的偏移项添加PID控制?或者我需要购买不同的电机吗?
答案 0 :(得分:0)
如果你想保留rs485的好处(它有一些很好的积极的东西),那么你可能需要重新考虑如何驱动这个引擎。 更改电机控制可能更容易,因此您只需发送一些数字数据作为"结束位置"并留给你聪明的控制来处理。在那种情况下,您的rs485通信很少。
我总是倾向于认为保持"大脑"在工业环境中需要它们的地方,这样你就可以保持你的IO,或者有一天你最终会遇到像工业以太网这样的庞然大物。