这是否有可能,还是我最终要剥离齿轮?
我的第一个念头是简单地杀死伺服器的功率,但是在那种状态下移动它们需要的力比我想要的还要大。在软件中?
#1 楼
使用标准的RC伺服器,您要的不是一件容易的事。您想要的是可反向驱动的伺服器。即可以通过施加外部扭矩自由旋转的一种。当然可以创建它们,并且它们已在许多机器人上使用,但是大多数RC伺服器都需要相当大的扭矩才能反向驱动它们。我将它们称为半后退驾驶。
是什么阻止您后退驾驶呢?两件事:
摩擦:首先,齿轮链和电机之间存在摩擦。 RC伺服器总是减速。输出旋转比电动机慢。当然,这意味着当您尝试反向驱动它时,必须非常快速地旋转电动机。电动机中的任何摩擦或齿槽效应都会在输出端产生数十次的影响。 ,他们变得更难转。电动机的旋转会产生与旋转相反的电流。伺服器内部的电子器件即使在断电的情况下也可能允许足够的电流流过,从而明显防止了反向驱动。过去,我已经注意到,即使插入无电的情况下,某些大型步进电机也几乎不可能在插入无电设备后退。但是,当您拔下电源插头时,它们可以自由旋转。
因此,改善反向驱动能力的一种方法是防止电流流动。这样做的明显方法是将电机与电子设备完全断开。但是,即使使用FET也很难做到这一点,因为FET内部的二极管很可能会允许电流流过。但是,您可以使用继电器,这实际上会断开电动机的连接。您只需要在电动机的一个端子上使用它即可。
“适当的”伺服控制器(例如Maxon的ESCON)实际上包含一个电流控制器,该电流控制器可以通过在电机端子上施加正确的电压来主动防止电流流动。更换具有电流控制功能的伺服器中的电子元件可能确实有帮助。
您应该做什么:打开伺服器,拆下电机的锡,然后重新组装。现在反向驱动有多容易?如果很容易,那么可能就可以做您想做的事。如果对于您的应用来说仍然太难了,那么您将不得不选择其他伺服器,或者自行制造。用单个齿轮级制作一个齿轮,以尽可能减小齿轮摩擦,并使用带有电流控制回路的驱动电子设备以确保零电流。
评论
$ \ begingroup $
SimpleCoder的答案也很好。
$ \ endgroup $
–赫罗布
2012年10月26日16:20
#2 楼
有趣的问题。我研究的第一个选择是按照您的建议切断电源(也许可以通过软件控制MOSFET来切换电源)。
另一种更复杂的方法可能是监控伺服器的电流消耗,以检测伺服器何时处于重负载下。当您想进入“自由运行”模式时,请让您的软件尝试将伺服器连续移动到电流消耗最小的位置。这不会完全导致“自由运行”的伺服器,因为在软件尝试找到“正确”位置时,伺服器会产生一些抖动,但是它可能会根据您的应用程序起作用。 />您无需修改伺服器即可监控电流消耗。一块来自SparkFun的电路板将位于伺服器及其电源之间(每个伺服器需要其中之一),并将输出与电流相对应的模拟电压(您可以在微控制器ADC引脚上读取)。
图片来自SparkFun
评论
$ \ begingroup $
@Khrob:请看我的编辑
$ \ endgroup $
–克里斯·拉普兰特(Chris Laplante)
2012年10月23日在20:31
$ \ begingroup $
不错-我现在点了一堆!
$ \ endgroup $
–赫罗布
2012年10月23日在20:34
$ \ begingroup $
@Khrob:好的,让我们知道它们的工作原理! (如果它不起作用,请不要怪我;))
$ \ endgroup $
–克里斯·拉普兰特(Chris Laplante)
2012年10月23日在20:42
$ \ begingroup $
@Khrob:另外,请注意,根据要测量的电流大小,您可能需要一块更敏感的电路板:sparkfun.com/products/8883
$ \ endgroup $
–克里斯·拉普兰特(Chris Laplante)
2012年10月23日在20:43
$ \ begingroup $
我会便宜地开始工作!
$ \ endgroup $
–赫罗布
2012年10月23日在20:44
#3 楼
通常,这些类型的业余伺服器不是为了连续旋转而制造的,通常会包括机械止动装置。请注意,我在下面概述的方法是永远无法实现实际闭环操作的一种可靠的方法,而只会使伺服器仅连续运行。大多数时候,您可以在线快速搜索“ x伺服器的连续修改”,但我将在此处概述其一般过程。
确定伺服器是否具有物理停止。如果是这样,则必须打开伺服器并将其卸下(我建议使用Dremel工具)。
然后您要找到反馈机构的“中心”。伺服器到您的Arduino并发送“中心”命令(通常为PWM 127)。
找到反馈机制(通常是电位计),并对其进行修剪,直到伺服器完全不移动。
电位计就位,或测量电阻并用设定值电阻器替换电位计。
重新组装伺服器。伺服器应停止其运动,而发送正或负命令应使其沿一个方向或另一个方向连续旋转。旋转速度应与发送的命令中心的“距离”成正比。关闭循环。
或者,您可能想看看Dynamixel系列伺服器,它既可以连续运行,也可以进行伺服操作,并包含一些Arduino支持。
评论
$ \ begingroup $
我对运动有机械上的限制很好,但是这将是一种很好的扩展方式,可以进一步扩展它以在倒立摆的情况下产生裂缝!我看过Dynamixel的东西,它很酷,但是比我希望花费的更多。
$ \ endgroup $
–赫罗布
2012年10月23日在20:49
$ \ begingroup $
我的印象是,OP希望通过驱动伺服器来开始运动,然后让它在没有动力的情况下“自由旋转”,直到它自然地从惯性停止为止。我不知道任何伺服设计(连续或不连续)都会使这种效果发生。
$ \ endgroup $
–Crake
2012年10月23日20:52
$ \ begingroup $
@Crake,我同意,我相信我回答了错误的问题,但是由于我已经完成了:p的工作,因此我将其保留。 IIRC,Dynamixel伺服器应具有“惯性运动”设置。
$ \ endgroup $
–mjcarroll
2012年10月23日在20:56
$ \ begingroup $
@mjcarroll是的,我认为提及如何修改伺服器以实现连续旋转很有用,因为这是廉价机器人项目的常见任务。我很好奇,如果Dynamixel伺服器使用SimpleCoder答案中描述的电流测量算法,通过调整PWM来不断寻求最小化电流,或者它们是否具有物理离合器以将伺服电机与驱动轴分离。
$ \ endgroup $
–Crake
2012年10月23日21:11
评论
业余爱好伺服器并不真正适合强大的机器人,而改良型业余爱好伺服器甚至更糟。如果执行此操作,您将不喜欢所得到的。购买价格适中的减速机直流电动机和小型H桥来驱动它,它将更加坚固耐用,并且您将更加快乐。您可以以非常低的成本从L298电路构建H桥。我想我的下一个问题是“什么是H桥?” (但我会先尝试Google!)