怎样用Arduino和L298N电机驱动器控制直流电机

电子说

1.3w人已加入

描述

概述

直流电机是初学者和业余爱好者遇到的最简单的电机。操作非常简单:将电机的两根导线连接到电池的两个端子即可!电机开始旋转。

如果切换引线,即反转极性,电机将反向旋转。就这么简单。

如果要控制简单直流电机的旋转速度,那么有一种称为PWM直流电机控制的技术。通过该技术生成的脉冲宽度调制或PWM信号将允许我们控制输送到直流电机的平均电压。

直流电机的速度控制使用PWM

使用PWM技术,通过打开和关闭非常高的电源来控制施加到直流电机的电压的平均值率。这种切换的频率将在几十千赫兹的数量级。

现在,施加到直流电机的平均电压将取决于所谓的“负载” PWM信号的周期。 PWM信号的占空比只不过是信号ON或HIGH的时间与信号总时间的比值,即ON时间和OFF时间的总和。

占空比通常以百分比表示,下图表示12V电源的不同PWM信号,不同的占空比分别为0%,25%,50%,75%和100%。

直流电机

现在我们已经控制了提供给直流电机的平均电压,我们如何应用这个电机电压?这里是晶体管的使用。

来自任何来源的PWM信号,如本例中的Arduino,可以提供给MOSFET的栅极,具体取决于占空比。 PWM信号,直流电机的速度会有所不同。

下图显示了一个简单的电路图,其中Arduino的PWM输出给MOSFET和12V DC电机通过MOSFET连接。

直流电机

此电路的代码如下所示。使用此代码,Arduino将以衰落的方式改变直流电机的速度,即逐渐将速度增加到峰值,然后逐渐降低速度以停止。

代码

此电路适用于控制电机速度,但不是改变方向的有效方法轮换。为了在不改变电机引线的情况下改变旋转方向,您需要使用称为H桥的特殊电路。

使用H的直流电机控制-Bridge

H桥是一个简单的电子电路,由四个开关元件组成,如晶体管(BJT或MOSFET),可以在两个方向上驱动电机没有切换引线。

名称“H-Bridge”是指由四个晶体管和一个形成字母“H”的中心的电机组成的连接外观。

使用四个晶体管和一个电机的简单H桥连接如下所示。通过同时激活两个特定的晶体管,我们可以控制通过电机的电流,从而控制旋转方向。

直流电机

上述电路中的两个控制输入A和B将决定电机的旋转方向。如果A为低电平且B为高电平,则晶体管Q1和Q4将导通并允许电流沿特定方向流过电机。

如果控制输入A为当HIGH为高电平且B为低电平时,晶体管Q2和Q3将导通,通过电机的电流将反转,从而反转旋转方向。

结合两种功能,即用于速度控制的PWM技术和用于方向控制的H桥连接,您可以对直流电机进行完全控制。

使用晶体管进行有效的H桥连接非常繁琐。为此,市场上有专用的H桥电机驱动器IC,两个常见的IC是L293D和L298N。

我们已经看到了如何控制速度在早期项目中使用L293D的直流电机。在这个项目中,我们将专注于更先进的L298N电机驱动器,并使用PWM技术使用L298N电机驱动器查看Arduino直流电机控制。

同时读取直流电机控制使用ARDUINO和L293D

关于L298N电机驱动器的简要说明

L298N电机驱动器IC是一款15引脚高压,大电流电机驱动器IC,带有两个全桥驱动器。 L298N IC的逻辑电平与标准TTL兼容,IC可用于驱动不同的电感负载,如直流电机,步进电机,继电器等。

下图显示采用多瓦封装(多引线电源封装)的L298N IC引脚图。

直流电机

由于L298N电机驱动器IC是双全桥驱动器IC,因此您可以通过单独输入同时控制两个电机。逻辑电源电压为5V,但电机电源电压可高达45V。每通道的峰值输出电流为2A。

通常,L298N驱动器可用作模块,其中包含用于控制两个直流电机的所有必要组件和连接器。一个这样的模块如下所示。我将解释该模块中的一些重要组件。

L298N电机驱动器模块由两个2针螺钉接线端子组成,用于连接两个电机。它还有六个引脚公头,用于连接两个使能输入和四个输入引脚(每个电机两个)。

有一个3针螺钉接线端子,通过它你需要给电机供电。如果使用的电机额定电压为12V或更低,则通过该螺钉端子提供12V电源,板载5V稳压器将为L298N IC提供5V逻辑电源。

直流电机

您也可以通过3针螺丝接线盒中的第三个引脚访问此稳压5V。在3针螺钉端子附近提供的跳线必须接通电源电压高达12V,因为该跳线将启用板载稳压器。只有当跳线接通即电源电压为12V时,才能使用3针螺钉端子的第三个引脚的5V输出。此5V输出可用于为Arduino板供电。

如果电源电压高于12V,则取下跳线,因为它可能会损坏稳压器。在这种情况下,L298N IC的5V逻辑电源通过3针螺钉端子的第三个引脚给出。

使用L298N的Arduino直流电机控制

我们现在将看到一个简单的电路,我们使用Arduino和L298N IC控制直流电机的速度和方向。您需要为此项目添加少量其他组件,完整列表如下所示。在使用L298N项目的Arduino直流电机控制中,我们将使用PWM信号和L298N(H桥)的组合来控制简单直流电机的功能,即速度和旋转方向。

电路图

直流电机

所需组件

Arduino UNO 

L298N电机驱动器模块

12V直流电机

100KΩ电位器

按钮

12V电源

面包板

连接线

代码

应用

使用L298N电机驱动器项目的Arduino直流电机控制可以是许多高级项目的开始步骤。

A几乎所有机器人都有轮子,我们需要控制连接到这些轮子的电机。因此,任何基于Arduino的机器人都可以使用L298N实现这种类型的电机控制。

L298N电机驱动器的一些机器人应用是手势控制机器人,线跟随器机器人,障碍物避免机器人等

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分