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

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

3天内不再提示

树莓派和L293D的直流电动机控制

454398 来源:wv 作者:快科技 2019-09-26 10:44 次阅读

步骤1:材料和工具

树莓派和L293D的直流电动机控制

材料

Raspberry Pi 3(RPi)

L293D控制IC

面包板

跳线电线,公对公(M/M)和母对公(F/M)

直流电动机

9v电池

**在此项目中,必须访问Raspberry Pi桌面。可以通过将监视器,键盘和鼠标插入RPi或使用SSH连接来完成。**

该项目无需任何工具,因为这些连接都不是永久性的,无需使用跳线和面包板。如果要制作永久的,更耐用的版本,只需用烙铁和一些导线进行相同的连接即可。

步骤2:背景信息

**这是所有背景信息。如果您不关心如何完成此操作,而只是想在不学习的情况下进行操作,请跳至第3步。**

在此项目中,我们使用的是python脚本Raspberry Pi可将GPIO输出设置为L293D电机控制器IC,并以任意速度在任一方向上运行DC电机

首先, Raspberry Pi是具有40个GPIO引脚的开源信用卡大小的计算机。 GPIO代表“通用输入/输出”,这意味着这些引脚可以发送电信号来驱动硬件或接收它们并读取传感器数据。我们将它们用作输出,以将信号发送到L293D IC芯片,该芯片只是用于控制直流电动机的芯片。没什么特别的。

Python是一种计算机编程语言,可与Javascript或C ++相提并论。我们将使用非常简单的python命令,不需要任何计算机编程知识。

控制电动机速度的方法是使用称为PWM的python模块。代表脉冲宽度调制。 PWM的意思是通过在高电平和低电平之间切换设定的时间量来控制电压接通的时间量。电压高的时间称为“占空比”或“占空比”,无论该百分比是电动机运行的功率百分比。

要查看PWM作为输出的外观,请参考上图。

L293D电机IC使用两个引脚(称为输入)感测所需的输出方向,以及另一个引脚(使能)感测开/关。因此,在我们的代码中,在使能引脚为ON的情况下,如果我们希望电动机正转,则将输入1设置为“ True”或“ HIGH”,将输入2设置为“ False”或“ LOW”。如果希望它向后旋转,我们将输入1设置为“ False”或“ LOW”,将输入2设置为“ True”或“ HIGH”。如果两个输入均为True或均为False,则电动机将不会运行。

这就是我们控制方向的方式,但是速度呢?我们说的是PWM对吗?因此,我们将仅对两个输入进行脉宽调制,对吗?我们可以,但是太复杂了。由于IC具有一个使能引脚来控制其开/关状态的Enable引脚,因此我们可以将两个输入都保持为运行状态,而仅调制Enable引脚,并且IC只会根据我们在Enable引脚中设置的占空比来输出功率。这样,我们可以简化代码,减少出错的地方。

因此,在Raspberry Pi上,我们将在GPIO板上使用3个GPIO输出引脚,一个3.3V电源和一个一根接地针。输出引脚中的2个用于IC上的输入,一个用于使能。

现在我们知道会发生什么,现在该开始进行接线了。

步骤3:硬件设置

上面的图片可能看起来像是混乱的电线,但不要担心。

首先要做的是将L293D芯片放在试验板上。面包板的中间应有一个缝隙,如一个缝隙,并且IC芯片应将其一半左右的引脚很好地跨在上面,因此它与板平行。

接下来,这很重要将电线插入正确的面包板插槽,因此我建议对电线进行颜色编码。我将红色用于正极电源连接,将黑色用于负极电源连接(接地),将蓝色用于RPi的输入,将橙色用于电动机的输出。

您可能会注意到有两套电源线。这是因为直流电动机应至少在9V和400mA的电流下运行,而电动机控制IC的电压应在5V或3.3V且小于20mA。因此,在这种设置中,IC芯片需要3.3V的电源,并通过接地(负电源插头)连接到RPI。然后它还具有9V的电源和来自电池的接地,然后通过芯片将其路由到电动机。 重要提示:请勿尝试从RPi汲取9V和400mA电流或通过IC芯片运行9V。这可能会损坏RPi和/或L293D。为确保将电压路由到正确的引脚,请使用上图。

要知道IC芯片的哪一端,请在与上图相对应的一端寻找一个小半圆缺口。

现在,您拥有L293D IC在面包板上,首先我们将M/F跳线连接到RPi。因此,在面包板上,将跳线的公端放入旁边的插槽中:Vss,Enable 1,Input 1,Input 2和左侧的GND引脚。应该有5根电线准备连接到RPi。有关引脚号,请参见上图。现在,将电线从Vss(我希望您将其变成红色)连接到Pi或1号针上的5V电源。接下来,将GND跳线(再次希望是黑色的)连接到GND引脚或引脚6。之后,将输入1跳线连接到GPIO2或引脚#3。然后将跳线从输入2连接到GPIO3或引脚5。最后,将Enable 1跳线连接到GPIO4或引脚7。到了,再也没有M/F跳线了!到一半了!

所以,现在抓住M/M跳线。其中之一应从IC的Vs引脚到9V的正端。有很多方法可以将其保留在电池上,但是只要金属两端牢固接触,胶带就可以使用。用黑色M/M跳线将电池的负极端连接到IC的另一个GND引脚。最后,只需将IC上的两个输出引脚连接到电动机的两端即可!而已!现在,一切都按照所需的方式进行了布线,不再需要任何硬件工作。上软件。

步骤4:软件设置

首先,我们需要在Pi上打开一个程序来编写代码。我们将使用IDLE 2,因此请转到桌面的左上角,依次单击“菜单”,“编程”和“ Python 2(IDLE)”。您应该看到带有未命名文档的空白文本编辑器。

我们需要做的第一件事是导入GPIO模块。因此,在第一行中,准确键入对CaSe敏感的

import RPi.GPIO as GPIO

这将导入GPIO模块

下一步,我们需要一个名为“ sleep”的命令,因此编写

from time import sleep

下一步,我们需要命名所有引脚,因此通过写入设置命名模式

GPIO.setmode(GPIO.BOARD)

,这会将名称设置为电路板模式,从而只需根据上图中间的数字命名引脚。

现在我们需要将引脚设置为输出,所以现在写

GPIO.setup(03, GPIO.OUT) GPIO.setup(05, GPIO.OUT) GPIO.setup(07, GPIO.OUT)

现在设置pwm命令类型

pwm=GPIO.PWM(07, 100)

下一步以0占空比启动脉冲宽度调制,因此它尚未运行

pwm.start(0)

其余代码根据我们想要的方式而变化运行马达。对于第一遍,我们将在代码中设置预定义的指令。稍后,我将说明如何编写代码,让您输入所需的方向,任务和持续时间。

因此,到目前为止,我们将编写一个代码,该代码以50%的功率向前运行2秒,然后以75%的功率向后运行3秒。

首先,要设置向前写入的方向

GPIO.output(03, True) GPIO.output(05, False)

现在,我们将PWM占空比设置为50%。写入

pwm.ChangeDutyCycle(50)

然后打开使能引脚

GPIO.output(07, True)

然后将代码休眠2秒钟,以便电动机运行

sleep(2)

现在关闭使能引脚

GPIO.output(07, False)

然后反转输入以将其设置为反转

GPIO.output(03, False) GPIO.output(05, True)

然后将PWM占空比更改为75%

pwm.ChangeDutyCycle(75)

,然后重新启用启用功能

GPIO.output(07, True)

使代码休眠3秒钟

sleep(3)

然后再关闭使能引脚

GPIO.output(07, False)

停止脉冲

pwm.stop()

并清除所有GPIO通道。

GPIO.cleanup()

就是这样!现在,您有了一个代码,它将使电动机以50%的速度向前运转2秒,然后以75%的速度向后运转3秒。按F5,然后保存以测试您的代码!

*注意:您可能会收到一条错误消息,指出所选的GPIO通道已在使用中。这不会影响您的项目,您可以通过在代码中写入“ GPIO.setwarnings(False)”来使警告停止出现。*

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

    关注

    7

    文章

    181

    浏览量

    22615
  • L293D
    +关注

    关注

    4

    文章

    50

    浏览量

    19867
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104734
收藏 人收藏

    评论

    相关推荐

    如何改变直流电动机的转向呢?

    直流电动机旋转方向由其电枢导体受力方向来决定。
    的头像 发表于 02-26 11:24 544次阅读
    如何改变<b class='flag-5'>直流电动机</b>的转向呢?

    直流电动机的励磁方式介绍

    复励式直流电动机既有并励绕组又有串励绕组,两种励磁绕组套在同一主极铁心上。这时,并励和串励两种绕组的磁动势可以相加,也可以相减,前者称为积复励,后者称为差复励。
    发表于 02-26 10:47 508次阅读
    <b class='flag-5'>直流电动机</b>的励磁方式介绍

    小型永磁直流电动机如何计算它的启动转矩多大呢?

    小型永磁直流电动机(0.1-0.5KW)如何计算它的启动转矩多大呢?再有启动转矩和它的启动电流是什么关系呢?谢谢了
    发表于 01-01 07:36

    请问直流电动机上连接的测速机如何检测、修理?

    直流电动机轴的端头连接一个测速机,因为运行时间长久,发生损坏。更新一个不是很容易(位置、几何形状)如何判断测速机的好坏呢。
    发表于 12-13 08:21

    直流电动机调速系统+变频器和交流调速系统应用

    涵盖晶闸管直流电动机系统、变频器和交流调速系统、不间断电源、开关电源
    的头像 发表于 11-22 16:04 613次阅读
    <b class='flag-5'>直流电动机</b>调速系统+变频器和交流调速系统应用

    直流电动机的基本原理

    直流电动机具有良好的启动、调速性能和过载能力,主要用于交通、起重、轧钢和自动控制领域。直流电机由于有换向器,与交流电机相比有结构复杂、制造成本高、运行维护工作量大等缺点,使
    的头像 发表于 10-11 10:36 1369次阅读

    无刷直流电动机SIMULINK仿真模型资料

    无刷直流电动机SIMULINK仿真模型,欢迎大家下载~
    发表于 10-09 09:03

    他励直流电动机的能耗制动介绍

    直流电动机的能耗制动具有制动平稳、准确、能量消耗小等优点,被广泛用于电动绞盘。电动绞盘需要用电,依靠车辆自身的电力系统即电机驱动绞盘,而根据直流电动机能耗制动的平稳性等优点,所以研究
    发表于 09-26 07:10

    电动机的单片机控制介绍

    电动机的数字控制电动机控制的发展趋势,用单片机对电动机进行控制是实现
    发表于 09-22 07:05

    电动机的分类方法

    电动机是把电能转换成机械能的一种设备,它利用通电线圈产生旋转磁场,作用于转子形成磁电动力旋转扭矩。电动机的分类方法有如下几种。 一、按照工作电源分类 电动机按照工作电源可分为
    的头像 发表于 09-20 16:56 1422次阅读

    直流电动机的启动与调速

    一、直流电动机的启动 1、对直流电动机启动的基本要求 1)启动转矩要大于额定转矩,但不宜过大; 2)启动电流不宜大大; 3)启动时间要短,以提高生产率; 4)启动设备要求简单,经济可靠,操作方便
    的头像 发表于 09-18 10:36 2240次阅读

    直流电动机/单相异步电动机/步进电机课件下载

    电子发烧友网站提供《直流电动机/单相异步电动机/步进电机课件下载.zip》资料免费下载
    发表于 09-13 16:25 1次下载

    直流电动机的励磁方式有哪几种

    常见的直流电动机励磁方式有以下几种: 恒励磁:在这种励磁方式下,直流电动机的磁场是由恒定的电源提供的。这种励磁方式的特点是磁通密度稳定,转矩恒定,适用于对转矩要求较高的工作负载,如起动重载、低速
    的头像 发表于 09-05 16:48 3277次阅读

    直流电动机的调速方法有哪三种

    常见的直流电动机的调速方法主要包括以下三种: 电压调速法:通过改变直流电动机的输入电压,来达到调节电机转速的目的。在电压调速法中,输入电压与输出电机转速成反比例关系。控制电压的方式有模拟控制
    的头像 发表于 09-05 16:43 7557次阅读

    开发一种由光伏阵列供电的直流电动机模型

    印度奥迪沙科技大学的研究人员开发了一种由光伏阵列供电的直流电动机模型。
    发表于 08-28 16:11 317次阅读