我正在使用2个相同的直流电动机和脚轮。电机连接到L293D电机驱动器,并由RPi控制。

机器人没有直行。它向右转向。我两个电机都以100%PWM运转。 %,但机器人只是转向另一侧;
我调整了机器人的重量,问题仍然存在。

我曾经尝试在没有负载的情况下运行电动机。后来我被告知,这是导致直流电动机空载运行的原因吗?任何用于控制它的传感器。

评论

在我所用的差动驱动器配置中,您很可能会发生这种情况。两个电动机之间的微小差异会导致机器人旋转。

欢迎使用开环控制。您需要自己(您的眼睛)的传感器来自己检测问题,您如何看待机器人无需附加传感器就能检测到问题?用传感器闭合控制回路是必须的方法。

如果要避开传感器,步进电机可能会起作用。

@bdares-如果没有传感器,机器人如何知道何时进行航向校正?如果一个轮子碰到摩擦力低的区域(例如灰尘)并打滑,机器人将转弯,并且永远无法校正。
当您说没有传感器时,这是否意味着没有外部感应,还是您还排除了车轮上的编码器?因为这是解决此问题的典型方法。

#1 楼

我将其发布为答案,因为它是答案。

你不能。

如@ BendingUnit22所述,您正在尝试“开环”控制。杂讯和变化将意味着您的机器人将永远不会驱动完美的直线。

电动机的绕组电阻(驱动电流/转矩不同)可能不同,车轮可能具有不同的尺寸,车轮可能具有不同的牵引特性,脚轮轴承可能是“硬”的,脚轮可能会车辆起步时不是很平直,地板的表面摩擦特性可能会发生变化(请阅读:灰尘或地毯)-清单不胜枚举。

解决超出您控制范围的事情的唯一方法(我在上面提到的内容以及更多内容)是使用反馈传感器。通过纠正我列出的问题来提高性能,但还有更多问题,您根本无法控制一切。

评论


$ \ begingroup $
没错!问题出在“我正在使用2个相同的直流电动机”语句中。它们永远不会完全相同,正如@Chuck所提到的,还有很多其他注意事项。机器人技术中唯一可以确定的是错误和噪音都会出现。
$ \ endgroup $
– Ryan Loggerythm
16年1月26日在20:27

$ \ begingroup $
在同一轴上使用两个轮子仍会比仅使用两个相同电动机产生更好的结果,不是吗?
$ \ endgroup $
– John Dvorak
16年1月27日在12:31

$ \ begingroup $
@JanDvorak-当您说“两个轮子在同一轴上”时,我不完全确定您的意思,但我相信可以理解/暗示这两个轮子在同一几何轴上。如果您指的是相同的控制轴(如一台电动机)或车轴(再次暗示一台电动机),那么我要指出的是,不可能在锁轴的情况下执行差速驱动转向。要使一台电动机将两个车轮控制到不同的速度,就需要一个差速器(和其他设备),并且差速器有效地将车轴分为两部分,而您又回到了平方。
$ \ endgroup $
–卡盘
16年1月27日在13:38

$ \ begingroup $
对不起,我的意思是一个轴。我不知道有不能走直线路的要求吗?
$ \ endgroup $
– John Dvorak
16 Jan 27 '13:41

$ \ begingroup $
@JanDvorak-我相信OP的机器人是微型鼠标式车辆。即使只需要直行并使用一个轴,其他所有错误源仍然适用。如果一个车轮的直径比另一个车轮大0.1%,则它每转一圈的路径长度将比较小的轮胎长0.1%。举例来说,标称车轮尺寸为10cm,车轮间距为10cm。较大的轮胎为10.01厘米,每转更远移动0.0314厘米。对于轴距,机器人每转一圈旋转0.12度。一根轮胎上的灰尘很容易产生0.01厘米的灰尘。
$ \ endgroup $
–卡盘
16 Jan 27 '13:48



#2 楼

由于已经提到了开闭环问题,因此我将对“我曾经尝试在无负载的情况下运行直流电动机”进行评论。
是的,这样做可能会损坏电动机,但也可能带负载损坏或破坏电动机。破坏来自电流和由此产生的温度。如果没有烟,并且电动机发出一些明显的气味,则很可能没有损坏。根据我的经验,我可以说爱好级直流电动机在超过100°C的温度下将开始退化。然后您将明确地注意到这样的温度

编辑:有一种特殊的交流电动机。这些是非励磁同步电动机。基本上,它们是为自我毁灭而建造的。如果您给它们加电,它们将开始加速直到它们自行分解。但是,如果您对它们施加沉重的负载,则由于它们必须施加大量负载,它们无法达到此状态。因此,您可以出于合理目的使用它们。无论如何,您在应用程序中绝对不会使用这种电动机。

评论


$ \ begingroup $
我也认为,尤其是对于业余爱好电机,当您将其加热到足以察觉它发烫或闻起来很怪的时候,您可能已经在绕组上烧掉了绝缘层。像许多电气设备一样,它工作正常或损坏。中间没有很多案例。
$ \ endgroup $
–卡盘
16年1月27日,0:19

$ \ begingroup $
没有这种烟雾或任何可见的损坏。因此,当我运行不到半分钟时,它可能没有受到损坏。
$ \ endgroup $
–鼠标
16年1月28日在15:25

#3 楼

您所描述的被称为开环控制,为此您需要两个完全相同的电动机,两个完全相同的轮子,机器人的重心位于两个轮子之间的中心,完美的对称电路,最后要在其上运行一个完美的均匀水平面。

为此,通常需要订购数十或数百个零件,然后进行大量测试以找到两个最接近的电动机功率和速度与电压和PWM的关系。对车轮,电动机控制器和其他零件执行相同的操作。与更改为闭环模型相比,正常运行在时间和资源上都比昂贵得多,甚至不考虑恶劣的地面条件。没有附加传感器的要求。

#4 楼

尽管它永远不会是完美的,但是可能有一种简单的方法可以使它更直。

如果在100%-100%的情况下,汽车始终向左转,而在100%-99%的情况下,汽车始终会向右转,您应该可以通过尝试介于两者之间的值来改善这一点。

从100%-99.5%开始,再从100%-99.75%或100%-99.25%继续结果。这应该很快会收敛到您将“平均”直线前进的情况。

#5 楼

好吧,如果问题不是出在每个车轮的硬件或软件上的差异,那么在构建机器人的方式或电动机的生产方式上,自然缺陷就是一个问题。连接可能不牢固,或者RPI可能没有输出相同的电流。您可能想使用速度控制器。请先尝试。

如果这不起作用,则您的制造商可能没有制造相同的电动机,您可能只需要校准电动机即可。这可能意味着缩放强电机的值,以便强电机的100%功率与弱电机匹配。

评论


$ \ begingroup $
使用相同的电机控制器不能解决当前的问题。问题是机器人技术的核心,即“如何纠正错误?”
$ \ endgroup $
– Ryan Loggerythm
16年1月26日在20:29

$ \ begingroup $
我听说直流电动机的前进速度会稍慢一些。同样,重量的任何不平衡都可能导致向一侧移动。更不用说摩擦等其他事情了。做“相同”的事情是行不通的。步进器可能会做得更好,但是您不应该开车太快或其他任何事情。
$ \ endgroup $
– Paul
16年2月10日在19:46

#6 楼

带直流电动机的车轮应在前面b。而后侧的成本轮。然后它只会向前移动直线

评论


$ \ begingroup $
欢迎来到Arslan Robotics。在Stack Exchange上,我们正在寻找提供一些解释和上下文的全面答案。很短的答案不能做到这一点,因此,请编辑您的答案以解释为什么它是正确的,最好是引用。不包含解释的答案可能会被删除。
$ \ endgroup $
– Mark Booth♦
17 Mar 8 '17 at 9:20