|
如果你打算组装一台机器人,你最终会想学习如何控制直流电机。控制直流电机的最简单且经济实惠的方法是使用L298N电机驱动器和Arduino连接。它可以控制两个直流电机的速度和旋转方向。
控制直流电机 为了完全控制直流电机,我们必须控制它的速度和旋转方向。这可以通过结合这两种技术来实现。 ● PWM - 控制速度 ● H桥 - 控制旋转方向
让我们了解一下。
PWM - 控制速度 直流电机的速度可以通过改变其输入电压来控制。执行此操作的常用技术是使用 PWM(脉冲宽度调制)。
PWM是一种通过发送一系列ON-OFF脉冲来调整输入电压平均值的技术。平均电压与称为占空比的脉冲宽度成正比。
占空比越高,施加到直流电机的平均电压越高(导致速度更高),占空比越短,施加到直流电机的平均电压越低(导致速度降低)。
下图显示了具有不同占空比和平均电压的 PWM 技术。
H桥 – 控制旋转方向 直流电机的旋转方向可以通过改变其输入电压的极性来控制。执行此操作的常用技术是使用H桥。
H桥电路由四个开关组成,电机位于中心,形成H形排列。一次关闭两个特定开关会反转施加到电机的电压极性。这会导致电机的旋转方向发生变化。
以下动画显示了H桥电路的工作。
L298N电机驱动芯片 模块的中心是一个带有厚实散热器的黑色大芯片 - L298N。
在L298N芯片内部,您会发现两个能够驱动一对直流电机的标准H桥。这意味着它最多可以单独驱动两个电机,非常适合构建两轮机器人平台。
L298N电机驱动器的电源范围为5V至35V,每个通道能够提供2A的连续电流,因此它与我们的大多数直流电机配合得非常好。
L298N电机驱动模块引脚排列 L298N模块共有11个引脚将其与外界连接。引脚如下:
让我们一一熟悉所有引脚。
电源引脚 L298N电机驱动模块通过3针3.5mm螺钉式接线端子供电。
L298N电机驱动器实际上有两个输入电源引脚 - VS和VSS。 VS 引脚为IC的内部H桥供电以驱动电机。您可以将5到12V之间的任何输入电压连接到该引脚。 VSS 用于驱动L298N IC内部的逻辑电路,其电压可以为5至7V。 GND 是公共接地引脚。
输出引脚 L298N电机驱动器的输出通道OUT1和OUT2用于电机A,OUT3和OUT4用于电机B,通过两个3.5mm螺钉式接线端子将其引出到模块边缘。您可以将两个5-12V直流电机连接到这些端子。
该模块的每个通道可以为直流电机提供高达2A的电流。然而,提供给电机的电流量取决于系统的电源。
方向控制引脚 通过使用方向控制引脚,您可以控制电机是正转还是反转。这些引脚实际上控制着L298N芯片内部H桥电路的开关。
该模块的每个通道都有两个方向控制引脚。IN1和IN2引脚控制电机A的旋转方向;而IN3和IN4控制电机B 旋转方向。
可以通过对这些输入应用逻辑高电平 (5V) 或逻辑低电平(接地)来控制电机的旋转方向。
速度控制引脚 速度控制引脚ENA和ENB用于打开/关闭电机并控制其速度。
将这些引脚拉高将导致电机旋转,而将其拉低将停止它们。使用脉冲宽度调制 (PWM),您实际上可以控制电机的速度。
该模块通常在这些引脚上带有一个跳线。当这个跳线就位时,电机以最大速度旋转。如果您想以编程方式控制电机的速度,您需要移除跳线并将它们连接到Arduino上启用PWM的引脚。
板载5V稳压器和跳线 该模块有一个板载5V稳压器 – 78M05。它可以通过跳线启用或禁用。
当这个跳线就位时,5V稳压器被启用,它从电机电源 (VS) 获得逻辑电源 (VSS)。在这种情况下,5V输入端作为输出引脚,提供5V 0.5A。您可以使用它为需要5V电源的Arduino或其他电路供电。
当跳线被移除时,5V稳压器被禁用,我们必须通过VSS引脚单独提供 5V。
L298N的电压降 L298N的压降约为2V。这是由于H桥电路中开关晶体管的内部电压降造成的。
因此,如果您将12V连接到电机电源端子,电机将收到大约10V的电压。这意味着12V直流电机永远不会以最大速度旋转。
为了从电机获得最大速度,电机电源的电压应略高于电机的实际电压要求(+2V)。考虑到2V的压降,如果您使用的是5V电机,则需要在电机电源端提供7V。如果您使用12V电机,那么您的电机电源电压应为14V。
将L298N电机驱动器模块连接到Arduino开发板 现在我们了解了有关模块的所有信息,可以开始将它连接到Arduino!
首先将电源连接到电机。在实验中,我们使用的是两轮驱动机器人中常见的直流变速箱电机(也称为“TT”电机)。它们的额定电压为3至12V。因此,我们将外部12V电源连接到VS端子。考虑到L298N IC的内部电压降,电机将接收10V电压并以略低的RPM旋转。
接下来,我们需要为L298N的逻辑电路提供5V电压。本文将使用板载5V稳压器从电机电源获得5V,因此请保留5V-EN跳线。
现在将L298N模块的输入和启用引脚(ENA、IN1、IN2、IN3、IN4 和 ENB)连接到六个Arduino数字输出引脚(9、8、7、5、4 和 3)。请注意,Arduino输出引脚9和3都启用了PWM。
最后将一台电机连接到端子A(OUT1和OUT2),将另一台电机连接到端子B(OUT3 和 OUT4)。完成后,您应该有一些类似于下图所示的内容。
|