这覆盆子π皮科是一个诱人的小,但强大的董事会,为用户提供机会创建伟大和小的项目。一种类型的项目是机器人,为此我们需要马达。那么我们如何用树莓派皮科来控制直流电机呢?我们能把它们直接连接到GPIO吗?简短的回答是否定的。
Raspberry Pi Pico的GPIO管脚无法提供直流电机所需的电流,如果我们尝试,很有可能会损坏Pico。相反,我们需要一个电机控制器作为Pico和我们的电机之间的桥梁。我们打开/关闭两个Pico GPIO管脚,它们控制电机控制器,反过来,打开/关闭两个输出,使电机移动。
对于这个项目,您将需要
- 覆盆子π皮科运行Micropopthon(见如何设置覆盆子pi pico)
- 托尼安装在你的电脑上
- 4 x男性对男性跳线电线
- 半或全尺寸面包板
- 电机控制器板.在我们的例子中,我们用了DRV8833.芯片,但L298或L9110S芯片也应该工作。
- 5V / 6V直流电动机.我们使用微型齿轮金属电机,但标准的直流业余电机也会工作。请注意,电机需要2个公对公跳线来连接接线板。
树莓派皮科直流电机的硬件设置
我们在该项目中使用的芯片是DRV8833,我们的特定版本用于面包板,但还有许多其他版本,包括用于嵌入机器人的版本。市场上还有其他电机控制器,如L298D和L9110,这是机器人的简单且价格实惠的组件。所有电机控制器共享相同的输入/输出约定。
- 将覆盆子pi pico放入面包板因此,微USB端口悬挂在面包板的末端。
- 将DRV8833电机控制器放入面包板因此,引脚是中央通道的两侧。
- 将Raspberry Pi Pico的VBUS引脚连接到VCC引脚DRV8833的一个跳线。这将直接从USB提供的5V供电电机控制器。
- 连接树莓派皮科GND引脚到GND引脚DRV8833。
- 连接GPIO 14.覆盆子pi pico到In1.DRV8833。
- 连接GPIO 15.覆盆子pi pico到In2.DRV8833。
- 将OUT1和OUT2连接到电机的销钉,这项测试并不重要。
用覆盆子PI Pico软件设置DC电机
电路建立后,连接你的树莓皮皮和打开桑尼应用程序。
从机器进口引脚
2。创建两个对象,电机1a和motor1b。这些将存储用于控制DRV8833电机控制器的输出的GPIO管脚号码。
MOTOR1A = PIN(14,PIN.OUT)MOTOR1B = PIN(15,PIN.OUT)
3.创建一个函数使电机“前进”。要做到这一点,我们需要告诉一个引脚拉高,另一个拉低。这,反过来,沟通我们的预期方向电机控制器和相应的输出引脚将遵循suit迫使电机在一个设定的方向移动。
Def forward(): motor1a.high() motor1b.low()
4。创建一个移动“向后”的功能。这看到GPIO引脚状态反转,导致电机在相反的方向旋转。
def后退():motor1a.low()motor1b.high()
5。创建一个函数来停止电机。通过将两个引脚拉低,我们告诉电机控制器停止电机的所有移动。
Def stop(): motor1a.low() motor1b.low()
6。创建一个最终的“测试”函数这将调用以前的函数并运行一个测试序列,将电机“向前”旋转两秒钟,然后“向后”两秒钟。然后它停止电机。
Def test(): forward() utime.sleep(2) backward() utime.sleep(2) stop()
7。为循环创建一个运行测试功能的循环五次。
对于I系列(5):test()
将代码保存到Raspberry Pi Pico为motor.py,并单击绿色箭头运行代码。电机将向两个方向旋转五次。