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

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

3天内不再提示

如何用RaspberryPi Pico来控制直流电机?

电子设计 来源:EETOP 作者:EETOP 2021-04-28 10:09 次阅读

树莓派基金会刚刚发布的RaspberryPi Pico(树莓派Pico)是一个小巧而强大的板子,它可以为用户提供了创建大大小小的项目的机会。其中一个项目是机器人,为此我们需要用到马达。那么我们如何用RaspberryPi Pico来控制直流电机呢?我们可以把它们直接连接到GPIO吗?

答案是否定的。RaspberryPi Pico的GPIO引脚无法提供直流电机所需的电流,如果尝试连接,很可能会损坏Pico。为此我们需要一个电机驱动器,充当Pico和电动机之间的桥梁。我们打开/关闭两个PicoGPIO引脚,让它们控制电机驱动器,电机驱动器输出较大的电流来控制电机运动。

对于这个小项目,将需要以下准备

运行MicroPython的Raspberry Pi Pico安装在您的电脑上的Thonny4 x公对公跳线半尺寸或全尺寸面包板电机驱动板。在我们的案例中,我们使用了DRV8833芯片,但L298或L9110S芯片应该也可以。5V / 6V直流电机。我们使用了一个微型齿轮金属电机,电机需要2根公对公的跳线来连接到面包板上。

如何用RaspberryPi Pico来控制直流电机?

使用RaspberryPi Pico的直流电动机的硬件设置

我们在该项目中使用的芯片是DRV8833,选定的特定版本是为面包板制作的,但是还有许多其他版本,包括设计用于嵌入机器人的版本。市场上还有其他电机控制器,例如L298D和L9110S,所有这些电机控制器都有相同的输入/输出约定。

如何用RaspberryPi Pico来控制直流电机?

将Raspberry Pi Pico放入面包板,使微型USB端口挂在面包板的末端。将DRV8833电机控制器放入面包板,使插针位于中间通道的两侧。使用跳线将Raspberry Pi Pico的VBUS引脚连接到DRV8833的VCC引脚。这将直接通过USB提供的5V为电机控制器供电。将Raspberry Pi Pico的GND引脚连接到DRV8833的GND引脚。将Raspberry Pi Pico的GPIO 14连接到DRV8833的IN1。将Raspberry Pi Pico的GPIO 15连接到DRV8833的IN2。将OUT1和OUT2连接至电动机的引脚

如何用RaspberryPi Pico来控制直流电机?

Raspberry Pi Pico直流电动机的软件设置

1. 建立电路后,连接您的Raspberry Pi Pico并打开Thonny应用程序。用于设定拥有控制DRV8833电机控制器的输出的I/O管脚。

import utimefrom

machine import Pin

2.创建两个对象,motor1a和motor1b。这些将存储用作输出的GPIO引脚号,以控制DRV8833电机控制器。

motor1a = Pin(14, Pin.OUT)

motor1b = Pin(15, Pin.OUT)

3.创建一个使电动机“前进”的函数。为此,我们需要将一个引脚拉高,另一个引脚拉低。这继而将我们的预期方向传达给电机控制器,并且相应的输出引脚将紧随其后,迫使电机沿设定方向移动。

def forward():

motor1a.high()

motor1b.low()

4.创建一个向后移动的函数。这会看到GPIO引脚状态反转,从而导致电动机沿相反方向旋转。

def backward():

motor1a.low()

motor1b.high()

5.创建一个停止电动机的函数。通过将两个引脚都拉低,我们告诉电动机控制器停止电动机的所有运动。

def stop():

motor1a.low()

motor1b.low()

6.创建一个最终的“测试”函数,该函数将调用先前的函数并运行一个测试程序,该程序将使电动机“向前”旋转两秒钟,再“向后”旋转两秒钟。然后它将停止电动机。

def test():

forward()

utime.sleep(2)

backward()

utime.sleep(2)

stop()

7.创建一个for循环,该循环将连续5次运行此测试函数

for i in range(5):

test()

将代码作为motor.py保存到Raspberry Pi Pico,然后单击绿色箭头以运行代码。电机将双向旋转五次。
责任编辑:pj

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

    关注

    52

    文章

    8226

    浏览量

    146252
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177806
  • 直流电机
    +关注

    关注

    36

    文章

    1710

    浏览量

    70156
收藏 人收藏

    评论

    相关推荐

    控制直流电机的正转反转和PWM调速直流电机驱动,单片机...

    控制直流电机的正转反转和PWM调速直流电机驱动,单片机与L298之间如何用光耦隔离?
    发表于 12-06 15:54

    单片机控制直流电机

    何用单片机控制直流电机,需要准备什么?能发一下代码吗?我现在有51单片机的控制板和一个直流电机
    发表于 07-12 15:57

    何用dsp控制直流电机风扇散热达到恒温效果?

    何用dsp控制直流电机风扇散热达到恒温效果,基于pid控制原理
    发表于 05-12 09:38

    直流电机

    什么是直流电机 使用直流电源的电机叫做直流电机。因此只要把直流电机的端子接到直流电源上,就可以
    发表于 01-09 15:05 4037次阅读
    <b class='flag-5'>直流电机</b>

    直流电机PWM控制

    直流电机PWM控制设计:基于VHDL语言实现直流电机PWM控制设计,有仿真,有程序,有结论
    发表于 11-08 18:51 52次下载

    微型直流电机非常容易控制的原因

    电机的应用中,微型直流电机是非常容易控制的,为什么这么说呢? 对比交流电机,微型直流电机是通过直流电
    的头像 发表于 11-14 11:53 3053次阅读

    直流电机控制

    直流电机控制说明。
    发表于 05-19 09:45 36次下载

    直流电机PWM控制

    直流电机PWM控制(电源技术属于哪个期刊)-直流电机PWM控制,有需要的可以参考!
    发表于 09-15 15:29 142次下载
    <b class='flag-5'>直流电机</b>PWM<b class='flag-5'>控制</b>

    何用Arduino驱动直流电机

    电子发烧友网站提供《如何用Arduino驱动直流电机.zip》资料免费下载
    发表于 11-17 14:44 1次下载
    如<b class='flag-5'>何用</b>Arduino驱动<b class='flag-5'>直流电机</b>

    直流电机控制的基本方法

    直流电机是一种最基本的电动机类型之一,其速度和方向可以通过控制电流来实现。直流电机常常作为工业控制系统的主要组成部分,其他领域也广泛应用。
    发表于 03-26 22:21 7288次阅读

    arduino直流电机

    这一期我们学习如何控制直流电机。 需要材料:Arduino UNO 直流电机——本文以12V额定电机为例
    发表于 03-30 13:46 3次下载
    arduino<b class='flag-5'>直流电机</b>

    ros与arduino通信控制直流电机

    前言:在成功通过arduino开发板控制直流电机后,开始尝试用ros与arduino通信控制直流电机,为无人小车作准备 硬件 ardui
    发表于 03-31 11:45 4次下载
    ros与arduino通信<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    何用编码器控制直流电机

    电子发烧友网站提供《如何用编码器控制直流电机.zip》资料免费下载
    发表于 06-25 11:20 5次下载
    如<b class='flag-5'>何用</b>编码器<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    使用Arduino控制直流电机

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

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

    是指直流电机的励磁线圈直接与电机绕组相连,形成闭路,通过在绕组中产生磁场达到励磁的目的。根据励磁电源的不同,自励磁又可以分为磁场电源自励磁和电枢电源自励磁两种方式。 磁场电源自励磁是指通过将一定的
    的头像 发表于 01-18 16:07 2995次阅读