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

    文章

    196

    浏览量

    22790
  • L293D
    +关注

    关注

    4

    文章

    50

    浏览量

    20050
  • 树莓派
    +关注

    关注

    116

    文章

    1686

    浏览量

    105439
收藏 人收藏

    评论

    相关推荐

    直流电动机基本构造是什么?分类有哪些?

    直流电动机是一种将直流电能转换为机械能的装置。它广泛应用于各种工业、交通、家庭等领域。直流电动机的基本构造和分类如下: 基本构造 直流电动机主要由以下几部分组成: a) 定子:定子是
    的头像 发表于 10-22 10:15 151次阅读

    无刷直流电动机调速的实现

    无刷直流电动机(Brushless DC Motor, BLDC)的调速实现是一个复杂而精细的过程,它依赖于先进的电子技术和控制策略。以下将从无刷直流电动机的基本原理、调速方法、控制
    的头像 发表于 08-26 14:44 591次阅读

    直流电动机的工作特性

    直流电动机作为现代工业中广泛应用的重要设备,其工作特性直接关系到设备的性能和使用效果。直流电动机的工作特性主要包括额定工作状态下负载电流、电压、功率因数、效率等参数的变化情况,以及电机的启动、调速、制动等操作特性。本文将对直流电动机
    的头像 发表于 06-21 11:18 698次阅读

    直流电动机定子的作用及其重要性

    在电机技术领域,直流电动机以其独特的运行方式和广泛的应用场景,成为了工业、交通、家电等领域不可或缺的重要动力源。而在直流电动机中,定子作为其关键组成部分,发挥着至关重要的作用。本文将深入探讨直流电动机定子的作用,以及其对于
    的头像 发表于 06-14 11:50 1551次阅读

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

    直流电动机作为电力传动的重要组成部分,广泛应用于各种工业、交通和家用电器中。其性能的稳定性和运行效率直接影响到整个系统的运行效果。而直流电动机的励磁方式,作为影响其性能的关键因素之一,一直以来都是
    的头像 发表于 06-14 11:02 1744次阅读

    直流电动机的构造与特点

    直流电动机,作为一种将直流电能转换为机械能的装置,在现代工业、交通和家用电器等领域有着广泛的应用。其独特的构造和优异的性能特点,使其成为电动机领域中的重要一员。本文将详细探讨直流电动机
    的头像 发表于 06-14 11:00 872次阅读

    并励直流电动机励磁绕组与什么并联

    并励直流电动机是一种常见的直流电动机类型,其励磁绕组与电枢绕组并联。在这篇文章中,我们将详细探讨并励直流电动机的工作原理、励磁绕组与电枢绕组的并联方式以及并励直流电动机的应用。 一、并
    的头像 发表于 06-13 16:42 1293次阅读

    无刷直流电动机的故障模式

    无刷直流电动机(Brushless DC Motor, BLDC)作为一种高效、低噪音的电动机类型,在工业自动化、电动汽车、航空航天等领域得到了广泛应用。然而,由于其复杂的结构和运行机制,无刷
    的头像 发表于 06-12 17:00 762次阅读

    直流电动机降低转速常用哪几种方法

    直流电动机是一种常见的电动机,广泛应用于工业、交通、航空等领域。在实际应用中,有时需要根据需要调整直流电动机的转速。本文将详细介绍降低直流电动机转速的几种常用方法。 改变电枢电压 改变
    的头像 发表于 06-12 15:45 1586次阅读

    有刷直流电动机的转子类型有哪些

    有刷直流电动机(Brushed DC Motor)是一种常见的直流电动机,其主要特点是在电机的转子和定子之间通过电刷和换向器实现电流的切换。有刷直流电动机的转子类型主要有以下几种: 波绕组转子
    的头像 发表于 06-12 15:42 602次阅读

    无刷直流电动机故障模式仿真及试验验证研究

    无刷直流电动机是一个由电动机本体、电子换向电路以及转子位置传感器组成的系统,其中电子换向电路由逆变电路和控制电路组成。
    的头像 发表于 04-28 15:48 753次阅读
    无刷<b class='flag-5'>直流电动机</b>故障模式仿真及试验验证研究

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

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

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

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

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

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

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

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