Raspberry Pi L298N接口教程|用L298N和Raspberry Pi控制直流电机

让我们通过在Python脚本的帮助下将L298N电机驱动器与Raspberry Pi接口并控制DC电机,从而继续探索Raspberry Pi及其功能。在此项目中,我们将了解L298N电机驱动器以及Raspberry Pi L298N电动机模块接口的工作方式。

Raspberry Pi L298N电机驱动器界面图像

概述

与Raspberry Pi的接口L298N电机驱动器模块将使我们能够控制直流电动机(实际上,您可以控制两个直流电动机)。

当我说控制直流电动机时,我的意思是您可以启动电动机,停止它,使其向前方向旋转,向后方向,提高旋转速度并降低速度。

为此,我将使用L298N电动机驱动器模块。如果您还记得,我已经做了一个项目用覆盆子Pi控制直流电动机使用L293D电机驱动器。

使用L293D和L298N的Raspberry Pi控制直流电动机会有何不同?好吧,没有太大的区别,因为这两个模块都具有相同的目的。

但是,了解新事物并将其实施到项目中总是很高兴。因此,首先,让我带您简单介绍L298N电动机驱动器模块。

L298N电机驱动器模块

最近,L298N电动机驱动器模块在DC电机控制方面已成为业余爱好者和制造商最喜欢的选择。它变得如此受欢迎,以至于该模块现在以非常低的成本提供。

Raspberry Pi L298N电动机销钉图

L298N电机驱动器模块基于强大的L298N电动机驱动器IC。L298N电动机驱动器IC的销图如下图所示。该IC以及其他几个组件构成了L298N电动机驱动器模块。

覆盆子PI L298N电机驱动器模块

上图显示了L298N电动机驱动器模块,上面有所有组件的名称。仅举几例,它包含用于连接电动机和电源的螺钉端子,用于连接启用,In1,In2等不同引脚的男性标头。

笔记:

  • L298N电动机驱动器模块的电源端子附近有跳线。如果连接,它将启用板载5V调节器,该调节器为L298N IC提供 +5V逻辑供应。
  • 仅当电源电压小于或等于 +12V时,才必须使用此功能。如果它大于 +12V,则断开跳投连接以禁用调节器。

覆盆子PI L298N接口的电路图

下图显示了Raspberry PI L298N电机驱动器模块接口的电路图。电路图是在Fritzing应用程序的帮助下制成的。

Raspberry Pi L298N电机驱动器模块Emterface电路

需要组件

  • 覆盆子皮
  • L298N电机驱动器模块
  • 12V直流电动机
  • 电动机和电动机驱动器的12V电源
  • 覆盆子Pi的电源
  • 连接电线

电路设计

Raspberry Pi L298N电机驱动器接口电路的设计非常简单。首先将12V电源连接到L298N电动机驱动器模块。然后,使Raspberry Pi和L298N电动机驱动器模块的GND端子通用(将它们连接在一起)。

现在,由于我们控制了单个直流电动机,因此我们需要使用L298N的单个通道。为此,将L298N的ENA引脚连接到Raspberry Pi的物理引脚22(GPIO25)。

进入电动机的输入,将L298N模块的IN1和IN2连接到物理引脚16和18(GPIO23和GPIO24)。而已。其余的工作是由Python脚本完成的。

代码

下面给出了用于与Raspberry Pi接口L298N的Python脚本。我们将在工作部分中看到代码的解释。

项目的工作

如果您仔细查看代码,则可以轻松理解项目的工作。使用上述代码创建Python脚本后,运行脚本。

您将收到有关电动机的默认速度和方向的消息。接下来是您必须使用的命令列表来控制电动机。这些命令在下面给出。

  • R - 运行(运行或启动电动机)
  • S - 停止(停止电动机)
  • F - 向前(向前方向运行电动机) - 默认方向
  • B - 向后(扭转旋转方向)
  • L - 低(将速度降低到25%) - 默认速度
  • M - 中型(以中速50%运行电动机)
  • H - 高(将速度提高到75%)
  • E - 退出(停止电动机和出口Python)

我认为这些命令是不言自明的。

申请

  • Raspberry Pi L298N电机驱动器模块接口的目的只是了解使用Raspberry Pi控制简单的直流电动机的概念。
  • 通过理解这个概念,您可以使用Raspberry Pi实施几个相关的运动项目:
    • Raspberry Pi机器人
    • 使用Raspberry Pi的Web控制机器人
    • 基于物联网的门锁监控

4个回应

  1. 请说明PWM操作。另外,在切换指示之前,是否应该在避免使用“ 1”和“ In2”之前将“ EN”带到低位?

  2. 您好,谢谢您与我们分享。While following your instructions, i get a “syntax error – there’s an error in your program: unident does not match any outer indentation level” under if x ==’r’ print(“run”) … … Else:.. Here is highlighted with red the entire empry roq. What did i do wrong ?

  3. 电路的每一侧都会支撑多少电流?电路的每一侧都可以连接在一起以增加单电动机的负载能力吗?

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map