首页

用树莓派控制直流电机

在闪烁一个LED并将一个16 × 2的LCD显示屏与树莓派连接之后,下一个重要的项目涉及到用树莓派控制直流电机。

通过成功地用树莓派控制直流电机,我们可以将其用于各种其他应用,如机器人,遥控汽车,风扇和其他电机相关的应用。

这个项目的目的是安全连接电机到树莓派和控制它,即使它向前或向后旋转。

请注意:我将在这个项目中使用一个电机驱动器,它可以处理最多两个电机。因此,有一个单独控制两个电机的规定。

在继续这个项目之前,先了解一下如何安装没有显示器和键盘的树莓派

操作原理

用树莓派控制直流电机的主要原理在于电机驱动器。电机驱动器是一种特殊的电路或集成电路,为电机的平稳和安全运行提供必要的电源(或更确切地说是电流)。

即使是一个小的5V直流电机也能产生大约300 - 400毫安的高初始电流。这个电流将下降150 - 200毫安,因为电机的速度增加到左右。

这对于微控制器、Arduino、树莓派等设备来说是一个巨大的潮流。因此,我们不应该将电机直接连接到树莓派(或任何其他微控制器)。

在这种情况下,汽车驾驶员扮演着重要的角色。它们从树莓派接收控制信号,并从电源为电机提供必要的驱动电流。

在本项目中,电机驱动器(L293D)通过GPIO引脚提供来自树莓派的两个控制信号。根据Python程序,电机将向前或反向旋转。

线路图

弗里茨形象

正如我之前所说,使用L293D电机驱动IC,我们实际上可以控制两个电机。为了简单起见,我将演示用树莓派控制单个直流电机的电路、工作和程序。下图是项目的Fritzing图。

用树莓派滚边图控制直流电机

线路图

本项目电路接线图如下图所示。使用树莓派和L293D电机驱动IC,您可以轻松配置此电路和程序来控制两个直流电机。

用树莓派电路图控制直流电机

组件的要求

  • 树莓派3 B型
  • L293D电机驱动IC或模块
  • 小型直流电机(5V)
  • 接线(跳线)
  • 5V - 2A树莓派电源
  • 5V电机电源
  • 杂项(电脑、以太网线等)

L293D电机驱动IC简介

我用L293D电机驱动IC控制树莓派直流电机。它是一种非常常见的电机驱动IC,能够驱动两个电机的单独电流高达600mA。

L293D电机驱动IC的引脚图,以及引脚描述如下图所示。

用树莓派L293D控制直流电机

电路设计

用树莓派控制直流电机的电路设计非常简单。首先,将L293D的引脚8和16 (VCC2和VCC1)连接到外部5V电源(假设您正在使用5V电机)。

L293D上有四个接地引脚。将引脚4连接到电源的GND上。同时,将L293D的接地引脚与树莓派的GND引脚连接。

最后,我们有使能和控制输入引脚。将L293D (1,2 en)的pin 1连接到树莓派的GPIO25 (Physical pin 22)上。然后将控制输入引脚2和7 (1A和2A)分别连接到GPIO24(物理引脚18)和GPIO23(物理引脚16)。

可选:如果您想连接第二个电机,所有您需要连接的是Enable (3,4en)和第二个电机控制输入(3A和4A)到树莓派的三个不同的GPIO引脚。

也可以阅读这个简单的项目:如何使用树莓派和Python闪烁LED

用树莓派控制直流电机的Python程序

项目工作和代码解释

如何运营项目?

在接通电源之前,请确认电机、电源和树莓派的所有连接正确。对于编程,我将使用Python。

现在,打开树莓派的终端,使用Vim编辑器和以下命令创建一个新的Python文件“dcmotorPi.py”。

sudo vim dcmotorPi.py

在编辑器中复制并粘贴上述程序并保存文件。请注意:我已经将Python程序保存在树莓派桌面的Python_Progs文件夹中。现在,为了运行程序,在终端中输入以下命令。

sudo python dcmotorPi.py

电机现在将向前旋转3秒,然后向反方向旋转3秒,最后停止。几秒钟后,这个过程继续,直到CRTL + C压在终端上。

代码的解释

如果你跟随了我早期的项目如何使用树莓派闪烁LED和接口与树莓派16 × 2液晶,你可以很容易地理解这段代码。

首先,我们需要使用Python访问GPIO引脚。因此,我们需要导入模块RPi。GPIO输入到我们的程序中。类似地,模块time允许我们使用它的sleep函数在预定义的时间内暂停程序。

现在,我已经为L293D电机驱动IC分配了引脚(使能和两个控制输入)。此外,引脚模式设置为GPIO编号格式。

现在,所有的引脚都声明为输出。对于正向旋转,使能引脚设为高,控制输入1A设为高,另一个控制输入1B设为低。

延时三秒后,控制输入1A为低,控制输入1B为高,同时保持使能引脚高。这将使电机向相反的方向旋转。

最后,经过三秒钟的延迟,电机将停止旋转,并来到停止。这个过程一直重复,直到我们在终端中按下CTRL+C。

应用程序

  • 直流电机随处可见:机器人、无人机、遥控汽车等。通过用树莓派控制直流电机,我们可以用树莓派开发许多电机相关的项目。
  • 能不能用在基于树莓派的机器人应用中呢行追随者机器人、避障机器人、四轴飞行器、网控机器人等。

7反应

留下一个回复

您的电邮地址将不会公布。

Electronicshub图标
Baidu
map