到目前为止,我已经建立了三个小机器人。

一个带有树莓派(6V电动机),一个带有arduino(12V电动机),另一个带有arduino但被黑的遥控车(7ish伏特电动机):



我遇到的所有问题是,电动机旋转得如此之快,汽车在几秒钟内撞上了东西。 (我有一间小房子)

我试图使用PWM来控制速度,但油门开度(255)略小于全油门,它们卡住了,无法承受我所承受的重量它们。

我应该购买这些底盘之一来降低电动机的速度,并用变速箱给它提供扭矩,还是我还能做些其他事情吗?

#1 楼


如果您永远不希望过快,齿轮箱可能是最好的选择。
如果以某种方式给它提供脉冲功率(PWM,但以足够低的速度脉冲),则可能会使齿轮箱更好地工作。电动机实际上会运转,然后每次都会减速。有关该技术的详细信息,请参见在存在摩擦和反冲的情况下控制电动机。
如果您设置某种闭环速度,几乎可以肯定会变得更好编码器是最好的,但您可以使用反电动势速度感测来做奇妙的事情。这两种技术都要求您使用不简单的闭环系统,而且它们都无法克服所有这些问题。除非使用变速箱(否则,如果使用闭环速度控制,则可以在保持平稳的情况下实现更高的最高和最低速度之比)会出现问题。


评论


$ \ begingroup $
谢谢您的回答。我尝试了(1),并获得了45 RPM的马达+变速箱。到目前为止工作还不错。关于第(3)点,我已经从流动站5平台上听说过这些编码器,我知道它可以帮助我扫描电动机的运行速度?原谅我的无知,但是这真的有帮助吗? arduino输出的速度控制和实际速度是否不同?另外,闭环是什么意思?
$ \ endgroup $
–基甸
13年7月3日,19:26



$ \ begingroup $
Wikipedia的旋转编码器很薄:en.wikipedia.org/wiki/Rotary_encoder。图片中的那些看上去很恐怖。是的,旋转编码器可以提供帮助。我不了解Arduino,但我敢打赌,他们的“速度控制”只是驱动电压。如果是这样,那么感测电动机速度并调整驱动电压将有很大帮助。感应速度并用它来驱动电动机速度是我所说的闭环控制-维基百科再次来了,尽管有一篇非常罗word的文章:en.wikipedia.org/wiki/Feedback
$ \ endgroup $
– TimWescott
13年7月3日在21:28



$ \ begingroup $
是的,在arduino上,我可以将PWM脉冲变慢或变快来控制速度。因此,基本上,您是说我应该发送PWM脉冲,然后扫描机器人的运行速度。流动站5具有霍尔效应编码器,因此,如果我购买其中之一,则可以尝试。非常感谢您的帮助。
$ \ endgroup $
–基甸
2013年7月4日15:56



#2 楼

当对电动机的电压进行PWM调制时,可以有效地控制与转矩(加速度)相关的电动机电流。您注意到的“堵塞”基本上是电动机无法克服摩擦的原因。

将PWM用作汽车的油门踏板,要保持恒定速度,可以一直向下推,直到达到目标速度后逐渐回退,然后对其进行调节以保持

以固定电压驱动的直流电动机会随着转矩的增加而损失转矩。这就是为什么它不能加速到无限远的原因。降低档位会有效限制您在输出端看到的最高速度。它为您提供了更大的输出扭矩,但您却在权衡速度。

正如Tim所言,您需要的是一个闭合的速度控制环,在该环上运行,以便您设定速度设定点和循环非常快地使PWM上下倾斜以保持速度。为此,您需要某种测量速度的方法。一旦有了,您就可以使用相对简单的PI控制器来实现。

评论


$ \ begingroup $
@MarkBooth:感谢您的评论!这是一个不太完美的类比,但重点是速度是自我限制的,这就是为什么在该系统上拍齿轮箱会导致最高速度降低的原因。在直流电动机中,它实际上受到反电动势的限制,而我不完美的类比就是“红线”。我会考虑一种扩大答案的方法。
$ \ endgroup $
– Guy Sirton
13年7月5日在17:54

$ \ begingroup $
@MarkBooth:变速箱并不能真正为您提供更多的可控性。如果您的反馈是在电动机上,则可以提高稳定性,因为现在反射的负载较小。它将始终降低系统的线性度和刚度。我会想一个更好的类比:-)
$ \ endgroup $
– Guy Sirton
13年7月5日在20:01

$ \ begingroup $
@MarkBooth:这实际上取决于您是否正在考虑控制负载或电动机。您控制负载的能力是一项功能,它与电机的耦合程度如何……
$ \ endgroup $
– Guy Sirton
13年7月5日在20:22

$ \ begingroup $
感谢您所做的编辑,盖伊,现在不能对您的回答提出疑问。我想我们对可控性有不同的想法。 * 8')
$ \ endgroup $
– Mark Booth♦
13年7月6日,0:35



#3 楼

您需要使用PID算法来控制电动机的速度,这样一来,您就可以在仍然获得转矩的情况下,使电动机尽可能慢地旋转。 PID算法需要以某种方式测量电动机的速度,典型的方法是在车轮上放置一些光学编码器,这对于任何流动站都是必须的,并且除了提供速度之外,还可以很好地估算位置,这有助于导航和转弯。

您可以从旧鼠标(带球的鼠标)中窃取光学编码。

评论


$ \ begingroup $
在答案中包括“莫名其妙”意味着需要更多细节...
$ \ endgroup $
–安德鲁♦
13年8月16日在13:38