我有一些业余伺服器(Power HD 1501MGs),我希望能够(通过Arduino)对其进行控制,因此它们可以转到我设定的角度,或者将它们置于“自由运行”模式,无论负载在哪里,负载都会带到哪里。
这甚至有可能吗,还是我最终会剥离齿轮?
我的第一个想法是简单地切断伺服器的电源,但是在那种状态下移动它们所需的力比我想要的还要大。
如果有可能,我是在寻找硬件更改,还是可以在软件中更改?
我有一些业余伺服器(Power HD 1501MGs),我希望能够(通过Arduino)对其进行控制,因此它们可以转到我设定的角度,或者将它们置于“自由运行”模式,无论负载在哪里,负载都会带到哪里。
这甚至有可能吗,还是我最终会剥离齿轮?
我的第一个想法是简单地切断伺服器的电源,但是在那种状态下移动它们所需的力比我想要的还要大。
如果有可能,我是在寻找硬件更改,还是可以在软件中更改?
Answers:
您要问的是,使用标准RC伺服器将变得不那么容易。
您需要的是可反向驱动的伺服器。IE,您可以通过施加外部扭矩自由旋转。当然可以创建它们,并且它们已在许多机器人上使用,但是大多数RC伺服器都需要相当大的扭矩才能反向驱动它们。我将它们称为半反向驱动。
是什么阻止您后退驾驶?两件事情:
摩擦:首先是齿轮链和电机之间的摩擦。RC伺服总是减速。输出旋转比电动机慢。当然,这意味着当您尝试反向驱动它时,必须非常快速地旋转电动机。电机上的任何摩擦或齿槽效应都会在输出端产生数十倍的时间。
电流:关于电动机的令人惊讶的事情是,如果您将端子短路,它们将变得更难旋转。电动机的旋转会产生与旋转相反的电流。伺服器内部的电子设备即使在断电的情况下也可能允许足够的电流流过,从而明显防止了反向驱动。过去,我注意到一些大型步进电机,即使是无齿轮的,在插入无电设备时也几乎不可能反向驱动。但是当您拔下电源插头时,它们可以自由旋转。
因此,可以改善反向驱动性的一种方法是防止电流流动。这样做的明显方法是将电动机与电子设备完全断开。但这即使使用FET也很难做到,因为FET内部的二极管很可能会允许电流流过。但是,您可以使用继电器,这实际上会断开电动机的连接。您只需要在电动机的一个端子上使用它。
“适当的”伺服控制器(例如Maxon 的ESCON)实际上包含一个电流控制器,该电流控制器可以通过在电机端子上施加正确的电压来主动防止电流流动。更换具有电流控制功能的伺服器中的电子元件可能确实有帮助。
您应该执行的操作:打开伺服器,拆下电机的锡,然后重新组装。现在反向驱动有多容易?如果很容易,那么可能就可以做您想做的事。如果对于您的应用来说仍然太难了,那么您将不得不选择其他伺服器,或者自己制造。用一个齿轮级制作一个齿轮,以尽可能减小齿轮摩擦,并使用带有电流控制回路的驱动电子设备以确保零电流流动。
有趣的问题。
我要研究的第一个选项是按照您的建议切断电源(也许可以通过软件控制MOSFET来切换电源)。
另一种更复杂的方法可能是监视伺服器的电流消耗,以检测伺服器何时处于重负载下。当您想进入“自由运行”模式时,请让您的软件尝试将伺服器连续移动到电流消耗最小的位置。这将不会完全导致“自由运行”的伺服器,因为在软件尝试找到“正确”位置时,伺服器会产生一些抖动,但是它可能会根据您的应用而起作用。
您无需修改伺服器即可监控电流消耗。一块来自SparkFun的电路板将位于伺服器及其电源之间(每个伺服器需要其中之一),并将输出与电流相对应的模拟电压(您可以在微控制器ADC引脚上读取)。
图片来自SparkFun
通常,这些类型的业余伺服系统不是为了连续旋转而制造的,通常会包括机械止动装置。当心,我在下面概述的是一种绝对无法实现真正的闭环运行的可靠方法,而只会使伺服系统仅连续运行。
在大多数情况下,您可以在线快速搜索“ x伺服的连续修改”,但在此我将概述一般过程。
现在,向伺服器发送“中心”命令应使其停止运动,而向其发送正或负命令应使其沿一个方向或另一个方向连续旋转。旋转速度应与发送的命令中心的“距离”成正比。
如果要将伺服器操作恢复到新修改的伺服器,则可以添加某种编码器以重新闭合环路。
另外,您可能想看看Dynamixel系列伺服器,它既可以连续运行又可以进行伺服操作,并包含一些Arduino支持。