亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

如何将Raspberry Pi Pico与直流电动机一起使用

发布时间:2021-02-16
分享到:

如何将Raspberry Pi Pico与直流电动机一起使用

发布时间:2021-02-16
分享到:

如何使用Raspberry Pi Pico控制直流电动机呢?我们可以将它们直接连接到GPIO吗?答案是不。

Raspberry Pi Pico的GPIO引脚无法提供直流电机所需的电流,如果尝试尝试,很可能会损坏Pico。相反,我们需要一个电动机控制器,充当Pico和电动机之间的桥梁。我们打开/关闭两个Pico GPIO引脚,它们控制马达控制器,马达控制器依次打开/关闭两个输出以使马达运动。

对于此项目,您将需要

  • 运行MicroPython的Raspberry Pi Pico
  • Thonny安装在您的计算机上
  • 4 x公对公跳线
  • 半面包板或全尺寸面包板
  • 电机控制器板。在我们的案例中,我们使用了DRV8833芯片,但是L298或L9110S芯片也应该工作。
  • 5V / 6V直流电动机。我们使用了微型齿轮金属电动机,但是标准的直流业余电动机也可以使用。请注意,电动机将需要2根公对公跳线来连接到面包板。

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

我们在该项目中使用的芯片是DRV8833,我们的特定版本是为面包板制作的,但是还有许多其他版本,包括设计用于嵌入机器人的版本。市场上还有其他电机控制器,例如L298D和L9110S,它们是机器人技术的简单且价格合理的组件。所有电机控制器共享相同的输入/输出约定。

  1. 将Raspberry Pi Pico放入面包板,使微型USB端口挂在面包板的末端。
  2. 将DRV8833电机控制器放入面包板,使插针位于中央通道的两侧。
  3. 使用跳线将Raspberry Pi Pico的VBUS引脚连接到DRV8833的VCC引脚。这将直接通过USB提供的5V为电机控制器供电。
  4. 将Raspberry Pi Pico的GND引脚连接到DRV8833的GND引脚。
  5. 将Raspberry Pi Pico的GPIO 14连接到DRV8833的IN1。
  6. 将Raspberry Pi Pico的GPIO 15连接到DRV8833的IN2。
  7. 将OUT1和OUT2连接至电动机的引脚,对于该测试而言,这无关紧要。

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

建立电路后,连接您的Raspberry Pi Pico并打开Thonny应用程序。

import utime
from 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循环,该循环将运行测试功能五次。

for i in range(5):
test()
将代码作为motor.py保存到Raspberry Pi Pico,然后单击绿色箭头以运行代码。电机将双向旋转五次。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论