0

我似乎把自己编入了一个角落,遇到了以下问题:我试图通过基于 RS485 的慢速总线连接来控制机器人上的电机。不幸的是,我无法访问电机上的固件,所以我坚持使用当前设置。

最大的问题是我只能控制电机的目标速度。虽然我可以通过内置编码器检索其绝对位置,但电机本身的固件中没有内置定位功能。

第二个问题是总线连接真的很慢,有点尴尬的协议需要 25 毫秒才能完成一个完整的周期——通过速度调整来控制位置是否可行?

我尝试了一种简单的方法,即估计前方 25 毫秒的位置,减去当前位置并除以 25 毫秒来计算下一个所需位置所需的速度。然而,当瞄准一个固定位置时,这在某些速度下会严重振荡,我认为这是由于高循环时间会产生大量超调。

也许 PID 控制器可以提供帮助,但我不确定目标值是多少——到目前为止我使用的每个 PID 都使用一个固定目标。一个完全移动的目标(即位置)很难想象,至少对我来说是这样。

处理这种情况的通常方法是什么?也许结合天真的方法并仅为额外的偏移项添加 PID 控制?还是我需要购买不同的电机?

4

1 回答 1

0

如果您想保留 rs485 的优势(它有一些非常好的优点),那么您可能需要重新考虑如何驱动这个引擎。更改电机控制可能更容易,因此您只需发送一些数字数据作为“结束位置”并将其留给您的智能控制来处理。在这种情况下,您的 rs485 通信很少。

我总是倾向于将“大脑”放在工业环境中需要它们的地方,这样你就可以降低 IO,否则有一天你会遇到工业以太网等庞然大物。

于 2017-07-21T06:43:06.923 回答