L293D 驱动电机:如何使用 Arduino 将其连接到直流电机
假设您打算设计机器人或玩具车,那么有关电机的知识至关重要。控制这些电机的一种非常经济且简单的方法是使用 L293D 驱动电机屏蔽。更好的是,在与 Arduino 等微控制器的接口中使用它。
其中,L293D 电机驱动器是同类中最受欢迎的芯片组之一。更重要的是,它在电子结构中的各种应用,如伺服系统、步进电机和直流电机。然而,它的关键属性似乎是它在两个独立的直流电机中的方向和速度控制。这就是您在本教程中进一步了解的内容。
1。什么是 L293D 电机驱动器?
这款 16 针芯片组是用于电机的双通道 H 桥驱动器。通常,它的主要功能是作为直流电机对或单个步进电机的控制接口。
默认情况下,L293D 电机驱动器屏蔽芯片组成对出现。因此,它能够驱动四个直流电机。因此,L293D 芯片组是四轮机器人的宝贵建筑资产。
总的来说,盾牌给你四个 H 桥。因此,每个 H 桥提供 0.6A 的电机电流。此外,74HC595 移位寄存器是一个安全特性。因此,该寄存器将双 L293D IC 的八个控制引脚扩展到 Arduino 的四位引脚。
(四路大电流H桥16针L293D电机驱动器)。
2。 l293D电机驱动器特点
使 L293D 电机驱动器成为 CNC 和机器人项目中如此出色的组件的一些特性包括:
- 它使您能够控制应用设备中的方向和速度级别。
- 更有趣的是,驱动器可以运行两个相似的双直流电机。
- 电机电压,Vs。 (Vcc2) 介于 4.5V 和 36V 之间。
- 此外,它的最大持续电机电流为 600mA。
- 另一方面,最大峰值电机电流为 1.2A。
- Vss(Vcc1) 电源电压范围在 4.5V 和 7V 之间。
- 在 5V 到 24V 之间的转换时间最多为 300ns。
- 通过热激活,可以进行自动关机。
- 最后,该 IC 提供 SOIC、DIP 和 TSSOP 封装。
3.L293D电机驱动屏蔽输出引脚配置
(双极L293D步进电机驱动器的引脚示意图)。
引脚编号 | 引脚名称 | 引脚说明 |
1 | 启用 1,2 | 此终端激活输入引脚:输入 1(2) 和输入 2(7)。 |
2 | 输入引脚 1 | 它用作输出 1 引脚的直接控制。通常,您会发现它适用于数字电路控制。 |
3 | 输出引脚 1 | 此引脚连接到一端,电机 1。 |
4 | 地面 | 在一端,此引脚连接到电路的接地 (0V)。 |
5 | 地面 | 我们在另一侧有另一个接地引脚 (0V)。 |
6 | 输出引脚 2 | 与输出引脚 1 一样,此端子连接到电机 1 的另一端。 |
7 | 输入引脚 2 | 它直接控制输出 2 引脚。它也适用于数字电路控制。 |
8 | 对比。 (Vcc2) | 额定电压为 4.5V-36V,连接到电压引脚并为电机供电。 |
9 | 启用 3,4 | 此终端仅启用输入引脚:输入 3(10) 和输入 4(15)。 |
10 | 输入 3 | 它提供对输出 3 引脚的直接控制。此外,它还可以作为另一个数字电路控制插座。 |
11 | 输出 3 | 此引脚连接到电机 2 的一端。 |
12 | 地面 | 这里,Ground引脚连接电路的地(0V) |
13 | 地面 | 又一个接地引脚连接到电路的地(0V) |
14 | 输出 4 | 与输出 3 一样,此引脚也连接到电机 2 的另一端。 |
15 | 输入 4 | 为此,它提供对输出 4 引脚的直接控制。它也可以用作数字电路控制。 |
16 | Vss (Vcc2) | 最后,引脚连接到负责为IC供电的+5V外部电压。 |
4. L293D电机驱动器工作原理
如前所述,L293D 电机驱动器可以控制双直流电机。因此,了解这款双通道 H 桥 IC 的工作原理至关重要。
(图为 5 伏单极电机与 L293D 连接)。
工作原理的第一阶段涉及建立 H 桥。换句话说,它使用双对达林顿晶体管,我们称之为 Q2/Q3 和 Q1/4。在每一个的对面,一个二极管与晶体管的集电极和发射极相连。因此,它可以防止电机产生的反电动势损坏晶体管。
因此,当晶体管 Q1/Q4 处于 ON 位置时,晶体管 Q2/Q3 关闭。因此,有电流从 Vcc 流过电机并流向地面。
该动作促使电机顺时针/逆时针方向旋转。综上所述,电机的极性和与电源的连接方式决定了旋转方向。
另一方面,当 Q1/Q4 晶体管关闭时,Q2/Q3 会自动开启。因此,流经电机的电流是反向的。所以,当这个反向电流流动时,电机的旋转方向也会交替变化。
5。我们如何使用 L293D 电机驱动器?
如前所述,L293D电机驱动器采用双向驱动电流约为600mA,范围为4.5V-36V。但是,这些功能涉及到将这款 16 针电机驱动芯片与 Arduino Uno 一起使用。
因此,我们介绍了一个将直流电机和 L293D 连接到 ARDUINO 的项目。因此,这里是一个逐步设置控制直流电机方向和速度的电路的过程。
第一步:组装项目所需的材料。
- 两个 10K 电位器。
- L293D 电机驱动芯片组。
- 两个小型直流电机。
- Arduino Uno 或 Arduino Pro Mini。
- 面包板。
- 跳线。
第二步:设置电路
该电路中涉及的连接非常简单。
但是,我们使用视频教程来设置电路以进行更精确的说明。
完全不同的电源通常会使电机更好。在这种情况下,我们为引擎使用 12V。另一方面,5V 电源为 L293D 和 Arduino 供电。
注意:外部电源连接到 L293D 的引脚 8。在进行这些连接时要采取预防措施。否则,您可能会损坏电机。
第三步:编写直流电机的代码
我们将这样做,并且需要两个基本步骤。
安装 AFMotor.h 库。
首先,我们需要一个与 L293D IC 的通信介质。为此,我们必须安装 AFMotor.h 库。
这个库使我们能够发出控制直流、螺线管和步进电机的命令。
要安装 AFMotor.h 库,首先,滚动到 Sketch。然后,找到“包含库”,然后找到“管理库”。当库管理器下载索引时,库管理器会更新已安装的库列表。
之后,使用搜索过滤器找到“Motor Shield”。在这些条目中,选择 Adafruit 的 Adafruit Motor Shield Library,然后点击安装。
运行 Arduino 代码
接下来,我们必须运行下面的 Arduino 代码:
#include
AF_DCMotor电机(4);
无效设置()
{
//设置电机的启动速度并停止
motor.setSpeed(200);
motor.run(RELEASE);
}
无效循环()
{
uint8_t i;
// 开启电机
motor.run(FORWARD);
// 从 0 加速到最大速度
对于 (i=0; i<255; i++)
{
motor.setSpeed(i);
延迟(10);
}
// 从最大速度减速到 0
对于 (i=255; i!=0; i-)
{
motor.setSpeed(i);
延迟(10);
}
// 然后,改变电机方向
motor.run(BACKWARD);
// 从 0 加速到最大速度
对于 (i=0; i<255; i++)
{
motor.setSpeed(i);
延迟(10);
}
// 从最大速度减速到 0
对于 (i=255; i!=0; i-)
{
motor.setSpeed(i);
延迟(10);
}
// 现在关闭电机
motor.run(RELEASE);
延迟(1000);
}
第 4 步:设置完成
在这个阶段,您的 DIY 电路设置已完成。您现在拥有使用此 L293D 芯片和 Arduino Uno 微控制器的任何直流电机设备的控制机制。
6.L293D等效双定时器IC
其他与L293D类似的IC包括ULN2003、SN754410、LB1909MC。
(PCB 上的 ULN2003 IC 显示标记的引脚和连接点)
7. L293D的应用
- 它可以帮助您驱动大电流 LED 设备。
- 也适用于机器人等数字电路驱动的大电流电机。
- L293D 驱动器通常是步进电机和电机的组成部分。
- 用于继电器驱动模块。因此,它使自锁继电器成为可能。
总结
还有其他不同的方法可以使用 Arduino 以多种方式控制直流电机。然而,最简单的方法之一是使用 L293D 电机驱动器 IC。 L293D IC 为同时控制两个独立直流电机的速度和方向提供了优势。
总之,我们已经学会了如何使用该 IC 设置和编程直流电机。但是,也许,您想尝试一些更具挑战性的事情。有关如何进行此操作的更多教程,请访问我们的联系页面以获取完整指导。
工业技术
- 使用 Arduino Uno 的人体检测机器人系统
- 使用 Arduino 读取 RC 接收器 PPM 信号
- 使用 Raspberry Motor Shield 的 Android 控制玩具
- 如何使用 Arduino 测量地球质量
- 如何使用 PHP 创建一个与 Arduino 通信的网站
- DIY Arduino 机械臂——由手势控制
- Arduino - 使用步进电机控制器通过 Web 绘图
- 如何在家里使用 Arduino Nano 制作迷你示波器
- 如何使用废旧 DVD 驱动器 L293D
- 有刷直流电机的工作原理
- 如何使用 Arduino 和 Processing IDE 制作指南针
- 如何检查直流电机