Arduino如何控制更高电流的设备(电机,螺线管,照明灯等)?


18

我正在寻找一种广泛适用的解决方案,该解决方案可以适应各种项目。

我目前正在进行多个项目,每个项目都需要从Arduino Uno控制800mA至2A的器件。一台控制步进电机,一台控制12vdc电磁执行器,一台控制12vdc气动阀。

例如:

Arduino监视一个按钮,每次按下按钮都会触发电磁执行器。由于Arduino无法提供螺线管所需的电流,因此需要使用单独的电源,并且Arduino控制允许较大电流通过的开关(继电器,晶体管等)。对于步进电机,布局更加复杂,因为将需要四个引脚来控制四个单独的开关(以保持电路的互操作性)。继电器控制空气阀,并且也需要12vdc。

我试图弄清楚如何使用单个电路,这些电路可用于这些应用程序(以及任何未来的项目)中,这些应用程序涉及控制比Arduino引脚能够处理的电流更高的设备。

原型设计速度,标准化的组件和低成本是驱动因素。开关速度,使用寿命和噪声也很重要。

是否有可以连接到Arduino引脚并用于控制大电流设备的分线板,电路或组件?理想情况下,使用软件控制的电位计,以便可以在草图本身中设置不同项目的电阻。


1
那么,该委员会将控制什么?电阻还是电压?还是设备本身?
hichris123 2014年

该板将控制设备本身。我已经为问题添加了细节。
jlbnjmn 2014年

定义“大电流”。
jippie 2014年

Answers:


13

为了驱动如此高的电流,您可能必须级联多个晶体管(也可以使用达林顿晶体管)。在芯片中安装了达林顿阵列(例如,ULN2803A具有8个达林顿晶体管,但限于500mA)。

您可能将不得不处理功率更高的晶体管。作为示例,我发现STMicroelectronics TIP110可以支持切换2A电流(峰值4A),但是可能需要一个散热器来散热。

请注意,我想知道您的步进器是否真的需要2A电流(它们那么大吗?)。对于步进器,通常可以找到可以轻松驱动它们的IC,例如L293D,但这种驱动器只能“驱动” 600mA。

结论是,恐怕您将找不到“一刀切”的解决方案,因为您的所有设备都不相同,应该由适当的电路驱动。

编辑:

由于在原型设计中尺寸过大不是问题,所以您可以使用MOSFET代替普通的双极晶体管。MOSFET将能够驱动比标准晶体管更高的电流和电压。

缺点是您只能将其用作开关(例如继电器),因此不能真正为设备驱动确切的功率。我想这对于步进电机或电磁阀都没关系,但是这对于例如驱动灯光可能很重要。

但是,好处是您仍然可以使用PWM,因为MOSFET的开关速度足以满足此目的。

关于价格,那里有许多种MOSFET,但我想您可以找到不到1美元就能满足自己需求的MOSFET(12V,2A)。

我建议您看一下有关此主题的出色文章


2A用于螺线管。我知道,适合所有人的尺寸是一个挑战,并不是理想的生产方式。在这种情况下,目的是更快的原型制作,可以接受过度构建。
jlbnjmn 2014年

1
请注意,即使使用TIP110,您可能也必须在其和Arduino输出引脚之间添加一个较小的晶体管,因为TIP110可以在其基极上汲取50mA电流,这对于Arduino引脚而言太大了。
jfpoilpret 2014年

我认为TIP 120非常适合这一点,根据数据表,它能够处理电流高达5A和6V - fairchildsemi.com/datasheets/TI/TIP120.pdf
Yasitha Chinthaka

7

有很多方法可以切换较高的负载,并且jfpoilpret描述了一些不错的选择。我将总结几个基于继电器的解决方案,这些解决方案主要适用于相对较慢的开关速度(即通常不适用于PWM)。

固态继电器
固态继电器(SSR)是有效的基于半导体的开关。它们具有多种配置,具体取决于您的要求,但是关键因素是它们没有活动部件。这意味着,如果使用得当,它们从长远来看会非常可靠。

在内部,它们通常由MOSFET和晶闸管或类似器件组成。从理论上讲,这可以使它们达到相当高的开关速度。但是实际上,它设计的功率越多,快速切换就越困难。这意味着高速+大功率可能会变得非常昂贵。

要记住的一个关键因素是,如果要切换交流而不是直流,则通常需要使用其他类型的SSR。还需要注意的是,有些将带有内置的光电隔离器或类似的隔离器,以使电源分开。

机电继电器
这是更“传统”的方法。机电继电器(EMR)是一个相当简单的组件,包含一个由电磁线圈控制的机械开关。如果开关通常是打开的,则在施加控制电流时,线圈会将其拉到闭合状态。相反,当施加控制电流时,常闭开关将被拉开。

与SSR相比,EMR具有许多优势。最明显的是成本-它们的简单性使其非常便宜,并且对于高功率版本,成本不会急剧上升。此外,控制和负载在本质上是隔离的,因此无论您要切换交流还是直流,它们都不在乎。

但是有几个缺点。机械方面意味着EMR通常比非机械开关解决方案要慢得多,并且会遭受触点弹跳的影响。此外,它们可能会物理磨损,并可能受到冲击,振动和(可能)其他磁场的影响。

在设计使用EMR的电路时,必须了解反电动势(电动势)。当施加控制电流时,线圈充当电感器,以电磁方式存储电荷。当控制电流停止时,存储的电荷会通过控制电路回弹,从而产生一个较大的负电压尖峰(可能比最初施加的电压大得多)。

不幸的是,该尖峰会损坏/破坏任何连接的组件或微控制器引脚。通常通过在继电器的控制触点两端接一个反向二极管来防止/缓解这种情况。在这种情况下,它有时被称为反激二极管,它允许EMF安全地消散。


您是否可以说,jfpoilpret链接的文章中所描述的MOSFET可以替代这些应用中的机电继电器?
jlbnjmn 2014年

是的,对于您描述的应用,我希望MOSFET就足够了。请记住,它们对静电很敏感,因此在处理它们时要采取适当的预防措施。
彼得·布卢姆菲尔德

3

正如jfpoilpret已经说过的那样,功率MOSFET非常适合导通和关断上拉至44 A的器件的12 VDC电源。有数十种此类功率MOSFET的价格低于1美元。有更昂贵的MOSFET可以处理更高的电流和电压。

原则上,可以用微控制器,少数晶体管和其他一些小零件来驱动步进电机。但是,许多人更喜欢使用“步进驱动器芯片”,因此软件错误不可能以使电源接地短路(通常会损坏至少两个晶体管)的方式意外地打开晶体管。许多最新的步进驱动器芯片还处理微步进,电流限制,热过载保护和其他出色的功能。

我听说过的所有步进驱动器芯片,以及使用这些芯片的一些现成的突破板,都列在 http://reprap.org/wiki/stepper_motor_driver上

特别是,我见过的许多RepRap 3D打印机都将Arduino连接到四个Pololu步进驱动器(每个不到15美元)来驱动五个步进电动机。


0

我制作了一个Arduino(Arduino Nano)电路,使用MTP3055V MOSFET 60V 12A晶体管为12V Peltier(也是大功率电源)供电。而且电路运行良好。

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.