0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用树莓派控制直流电机

454398 来源:工程师吴畏 2019-07-29 09:18 次阅读

通过使用Raspberry Pi成功控制直流电机,我们可以将它用于各种其他应用,如机器人,遥控(RC)汽车,风扇和其他相关的电机这个项目的目的是将电机安全地连接到Raspberry Pi并控制它,即使其向前或向后旋转。

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

在继续这个项目之前,先了解 如何设置没有监视器的Raspberry Pi和键盘

工作原理

使用Raspberry Pi控制直流电机的主要原理在于电机驱动器。电机驱动器是一种特殊电路或IC,可为电机提供必要的电源(或更确切地说是电流),以实现平稳安全的运行。

即使是小型5V直流电机也可以初始电流约为300 - 400 mA。当电机加速到大约时,该电流将下降150 - 200 mA。

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

电机驱动器在这种情况下起着重要作用。它们从Raspberry Pi获取控制信号,并通过电源为电机提供必要的驱动电流。

在这个项目中,电机驱动器(L293D)有两个通过GPIO引脚控制来自Raspberry Pi的信号。根据Python程序,电机将正向或反向旋转。

电路图

Fritzing Image

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

电路图

项目的电路接线图如下所示。您可以轻松配置此电路以及使用Raspberry Pi和L293D电机驱动器IC控制两个直流电机的程序。

必需的组件

Raspberry Pi 3 B型

L293D电机驱动器IC或模块

小型直流电机(5V)

连接线(跳线)

用于Raspberry Pi的5V - 2A电源

用于电机的5V电源

其他(计算机,以太网)电缆等。)

关于L293D电机驱动器IC的简要说明

我使用L293D电机驱动器IC来控制带Raspberry Pi的直流电机。它是一种非常常见的电机驱动器IC,能够驱动两个电机,单个电流高达600mA。

L293D电机驱动器IC的引脚图,以及引脚说明如下图所示。

电路设计

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

L293D上有四个接地引脚。将引脚4连接到电源的GND。另外,将L293D的接地引脚连接到Raspberry Pi的GND引脚。

最后,我们有使能和控制输入引脚。将L293D(1,2EN)的引脚1连接到Raspberry Pi的GPIO25(物理引脚22)。然后将控制输入引脚2和7(1A和2A)分别连接到GPIO24(物理引脚18)和GPIO23(物理引脚16)。

可选:如果要连接第二个电机,你需要连接的是启用(3,4EN)和第二个电机控制输入(3A和4A)到Raspberry Pi的三个不同的GPIO引脚。

还阅读这个简单的项目: 如何使用Raspberry Pi和Python使LED闪烁

Python程序用Raspberry Pi控制直流电机

项目工作和代码说明

如何操作项目?

打开电源之前供电,确保所有与电机,电源和Raspberry Pi相关的连接都是正确的。对于编程,我将使用Python。

现在,在Raspberry Pi中打开终端并使用Vim Editor和以下内容创建一个新的Python文件“dcmotorPi.py”命令。

sudo vim dcmotorPi.py

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

sudo python dcmotorPi.py

电机现在将向前旋转3秒钟,然后反向旋转3秒钟,最后停止。几秒钟后,该过程将继续,直到在终端中按下 CRTL + C 。

代码说明

如果您已经按照我之前关于如何使用Raspberry Pi闪烁LED并使用Raspberry Pi连接16 x 2 LCD的项目,您可以轻松理解此代码。

首先,我们需要使用Python访问GPIO引脚。因此,我们需要将模块RPi.GPIO导入到我们的程序中。同样,模块时间允许我们使用其功能睡眠暂停程序一段预定义的时间。

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

现在,所有引脚都被声明为输出。正向旋转时,使能引脚变为高电平,控制输入1A变为高电平,另一个控制输入1B变为低电平。

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

最后,在延迟三秒后,电机将停止旋转并停止。重复此过程,直到我们在终端中按CTRL + C.

应用程序

直流电机随处可见:机器人,无人驾驶飞机,遥控车等。通过使用Raspberry Pi控制直流电机,我们可以使用Raspberry Pi开发许多与电机相关的项目。

可用于基于Raspberry Pi的机器人应用,如线跟随机器人,障碍避免机器人,四轴飞行器,网络控制机器人等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    35

    文章

    1623

    浏览量

    69468
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104736
收藏 人收藏

    评论

    相关推荐

    直流电机是否可以用变频器控制

    突然想到一个问题,交流电机用变频器控制调速,那么直流电机用什么设备调速。根据电机原理,直流电机的转速和进线电压的大小有关,电压升高转速升高,
    发表于 02-10 17:36

    直流电机控制器电路图分享

    直流电机控制器是一种电子控制系统,用于控制直流电机的转速、转向和扭矩等参数,从而实现直流电机的自
    的头像 发表于 02-04 15:52 1498次阅读
    <b class='flag-5'>直流电机</b><b class='flag-5'>控制</b>器电路图分享

    直流电机的励磁是直流电吗?直流电机励磁的作用?

    直流电机的励磁是直流电吗?直流电机励磁的作用?直流电机励磁方式的区分  直流电机的励磁是直流电
    的头像 发表于 01-18 16:07 980次阅读

    直流电机片间短路怎么办

    直流电机片间短路是指直流电机内部的线圈或绕组之间发生短路现象,导致电流无法正常流动,从而影响电机的正常工作。直流电机片间短路是一种常见的故障现象,需要及时识别和处理,以保证
    的头像 发表于 12-30 14:48 403次阅读

    直流电机驱动电路结构组成

    直流电机驱动电路是一种将直流电源转换为直流电机所需的电流和电压的电路。它主要由电源模块、电流控制模块和速度控制模块组成。这些模块的功能和相互
    的头像 发表于 12-20 17:11 600次阅读

    直流电机控制电路的工作原理

    直流电机是一种将直流电能转化为机械能的装置,广泛应用于电动机、发电机等领域。直流电机控制电路是对直流电机
    的头像 发表于 12-20 14:39 694次阅读

    什么是直流电机的工作特性和机械特性

    直流电机的工作特性和机械特性是电机学中的重要概念。直流电机作为一种常用的电机类型,其工作特性和机械特性对于理解其工作原理和应用具有重要意义。以下将详细介绍
    的头像 发表于 12-19 14:15 1480次阅读

    直流电机emf怎么计算

    直流电机电动势(emf)的计算涉及到一系列的物理和数学原理。在这篇文章中,我将详细介绍直流电机电动势的计算方法,包括电源电动势、气隙电动势以及绕组电动势。希望这篇文章能帮助您深入了解直流电机
    的头像 发表于 12-15 15:30 793次阅读

    直流电机制动是电机抖动的原因吗

    直流电机制动是电机抖动的原因吗 直流电机制动是导致电机抖动的一个可能原因,但并不是唯一的原因。 1. 引言 直流电机在许多应用中被广泛使用,
    的头像 发表于 11-23 10:54 563次阅读

    直流电机是什么 直流电机有几种

    直流电机直流电机中还分为普通的直流电机直流减速电机,有刷和无刷,共分为: 直流有刷
    的头像 发表于 11-16 16:01 1028次阅读
    <b class='flag-5'>直流电机</b>是什么 <b class='flag-5'>直流电机</b>有几种

    他励直流电机的工作原理

    与其他类型的直流电机相比,他励直流电机励磁绕组和转子绕组分别供电,需要两个电源。其他直流电机只需要一个电源。
    的头像 发表于 10-17 14:36 1982次阅读
    他励<b class='flag-5'>直流电机</b>的工作原理

    直流电机的主要部件有哪些?直流电机有何作用?

    直流电机的定子是产生电机磁场的部分,由机座、主磁极、励磁绕组、换向极组成。
    发表于 08-16 14:49 1641次阅读
    <b class='flag-5'>直流电机</b>的主要部件有哪些?<b class='flag-5'>直流电机</b>有何作用?

    为什么直流电机需要控制器来控制电机速度和输出转矩?

    直流电机控制器是将电能转换为机械能的一种特殊类型的电气设备,直流电机通过利用直流电来接收电能,然后将这种能量转换为电机的自动旋转。
    的头像 发表于 07-19 16:51 497次阅读
    为什么<b class='flag-5'>直流电机</b>需要<b class='flag-5'>控制</b>器来<b class='flag-5'>控制</b><b class='flag-5'>电机</b>速度和输出转矩?

    使用Arduino来控制直流电机

    电子发烧友网站提供《使用Arduino来控制直流电机.zip》资料免费下载
    发表于 07-03 11:04 0次下载
    使用Arduino来<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    无刷直流电机32位MCU解决方案

    无刷直流电动机的工作原理:无刷直流电机是永磁式同步电机的一种,而并不是真正的直流电机。区别于有刷直流电机,无刷
    的头像 发表于 06-30 17:05 477次阅读