使用传感器和电机时,可以同时使用还是应该使用电机屏蔽罩?


11

更新:我目前正在对该项目进行一些更改。我接受了一些建议。我已经从步进电机更改为RC伺服(通过PWM控制),如果遇到任何问题并且无法解决它们,我会问。谢谢您的帮助!

我正在与一个朋友一起进行项目,这是我们第一次使用Arduino。我们正在使用Arduino从传感器(加速度计)中获取数据,然后打开电动机(6V,直流)。

我一直在进行挖掘,看来Arduino的电源可能不足以满足同时用于电机和传感器的需求。也许可以进行一些延迟(这可能吗?)。

我正在考虑使用电动机护罩。我还能与电动机一起控制加速度计吗?

我正在尝试使用单个外部电源(最多:6节AA电池;由于我们试图使其保持便携性,所以我试图限制电池的数量),因此有一种方法可以使用一个电源Arduino和电机护罩需要两个不同的电源(据我了解)。


您仍然应该能够使用其他引脚。该电动机护罩将像一个强大的兄弟一样工作,听针脚所说的话,并且确实可以做到这一点,当然,有了很大的力量,他就是哥哥!您可以编辑您的问题,以便更清楚地了解要使用的AA电池数量吗?
Abdullah kahraman 2013年

好的,我更新了电池数量。您是否认为步进电机会是更好的替代品,因为我听说它们可以与Arduinos一起很好地工作。
2013年

@ Om23步进电机,伺服电机,有刷DC或无刷DC的选择将取决于电机需要满足的目的,以及(例如,对于BLDC电机而言)用于控制电机的可用硬件。这可能会引起一个有趣的新问题,即要确定哪种电动机最适合您想到的几种可能目的中的哪一种。不确定这样的问题是否适合Arduino站点,也许其他人可以对此提出意见。
Anindo Ghosh

Answers:


12

问题1:直接从Arduino驱动电机

不建议直接从Arduino引脚上驱动电机,原因有以下几种:

  • 负载电流,尤其是在电动机启动和失速条件下。正如问题中正确指出的那样,Arduino引脚可能根本无法提供足够的电流。持续的高电流消耗可能会导致Arduino发热甚至损坏。
    虽然用于基于ATmega的Arduino的每个Arduino引脚的额定电流为40 mA,但我个人更愿意将任何持续负载保持在30 mA以下,但您的风险承受能力可能会有所不同。如果不查看相关电机的数据表,就不可能估算出电机需要多少电流
  • 在电动机关闭过程中以及可能在电动机换向过程中,来自电动机的反电动势 -直流电动机旋转时,至少在传统类型的有刷直流电动机中,接触电刷在换向环之间“换向”,产生的电流很小每次都会火花。
    反电动势基本上是由电动机线圈(或关断时的任何电感性负载)产生的反向电压,瞬态(尖峰),其瞬时可能远远超过微控制器引脚可以承受的可接受电压范围。
    即使将快速二极管反向偏置连接在电动机的导线上,反电动势仍然存在风险,尽管这种现象有所减轻,但强烈建议您这样做。
  • 因此,强烈建议在Arduino和电机驱动器之间进行某种隔离。为了简化实施,这将是电动机罩。
    如果您对基本的电子设备不满意,也可以通过直接连接合适的电动机驱动器IC和反激二极管来实现。(编辑:这在Manishearth的回答中得到了很好的描述
    电动机驱动器,无论是屏蔽板还是IC,都应独立于Arduino供电,但应将两条电源地线连接在一起。进一步查看。

问题2:同时控制加速度计和电动机护罩

  • 是的,通过确保选择用于访问加速度计的针脚实际上没有被电机屏蔽罩使用,可以在安装了电机屏蔽罩的情况下控制和从Arduino读取加速度传感器。它们都将连接到屏蔽层,但是屏蔽层内部没有内部功能或连接。所选屏蔽的文档通常会提供此信息。
    为了方便起见,请寻找具有可堆叠接头的电动机屏蔽罩即在电动机屏蔽罩上复制Arduino接头插针,以连接其他硬件(在您的情况下为加速度计)。并非所有的防护罩都提供可堆叠的接头。因此,使用没有被屏蔽层使用的插脚变得复杂,需要将导线焊接到PCB上的相关插头焊盘或某种此类布置。
    如果您选择的电动机屏蔽罩用尽了所有GPIO引脚的机会,就像驱动多个电动机的屏蔽罩一样,可能会出现问题。由于仅要驱动1个电动机,请避免使用多电动机屏蔽罩,因为它们不会留下足够的未使用GPIO引脚。

问题3:Arduino和电机护罩之间的功率分配

  • 建议的6 x AA布置(最大标称9伏)的问题在于,它为许多Arduino(通常额定为7至12伏输入)上的DC输入插孔提供了足够的电压,但对于电动机来说太高了被直接赶下。
  • 但是,有几个电动机屏蔽罩接受直接的电源输入(例如7到25伏),然后向与其连接的Arduino提供调节良好的5伏。因此,Arduino根本不需要单独供电,也不应该同时供电。这绝对是唯一应购买的电动机防护罩类型
  • Kludgier的替代方案包括在6个AA单元中的4个单元上抽头为电动机供电,并在所有6个单元上为Arduino的DC插孔(PWRIN)供电,或在供电9伏特的同时使用单独的6伏降压稳压器来提供电动机功率直接连接到Arduino DC插孔。
  • 尝试使用电池组为Arduino供电,然后从Arduino的Vin引脚为电机供电是一个坏主意,因为
    • 在多个Arduino参考设计上的DC插孔和Vin引脚之间的M7二极管的额定电流为1安培,可以想象到,电动机可能至少在瞬间消耗更多电流
    • 除非实现非常强的去耦,否则电动机产生的所有电磁噪声,换向噪声和反激瞬变将反馈到Arduino板上,这不是一件简单的事情。这种EMI反馈将导致Arduino操作的间歇性,难以调试的问题。

10

大多数屏蔽占用少量引脚,剩下的留给您使用(这就是为什么许多屏蔽使用堆叠式接头在其顶部都具有Arduino引脚系统的副本)的原因。它们的设计尽可能避免麻烦,因此获得防护罩是解决此问题的最简单方法。

我个人不直接从开发板上为电机供电;相反,我为此使用了L293D之类的电机驱动器。引脚并不是真的很适合提取电流,通常最好直接给传感器供电而不是通过Arduino引脚供电。请记住,引脚有电流限制,如果过载,它们会烧毁。

使用L293D很容易:

在此处输入图片说明

将引脚1,9,16连接到您的Vcc源(您为Arduino供电的任何5V源的正极端子。对我来说,通常是从LM7805拉出的线)。现在将引脚4,5,13,​​12连接到GND(负极)。现在,将引脚8连接到更高电压的源(6V,12V或任何想要馈入电动机的电压)。请注意,所有电压源的负极都需要短接到GND。

现在,将您的电动机跨接到一个站点(左侧的3,4)的两个输出引脚上。将输入引脚(2,7)连接到Arduino上的两个不同的引脚。当您向两个引脚提供相同的信号(高或低)时,电动机将停止。如果您从一个引脚提供高电平而从另一引脚提供低电平,则电动机将顺时针或逆时针旋转,具体取决于哪个引脚获得了哪个信号。

如果要使用单向电机并希望节省引脚,则将输入引脚之一短接到GND。现在,当另一个输入引脚为LOW时,电动机将关闭,而当其为HIGH时,电动机将接通。

如果需要,可以使用相同的步骤在芯片的另一端连接另一个电动机。

L293D从Arduino汲取少量电流,并通过通过引脚8汲取的电流为电动机供电,通常是这种情况的理想选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.