0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:工程师吴畏 2019-07-29 09:02 次阅读

概述

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

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

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

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

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

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

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

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

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

来自任何来源的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电机驱动器的一些机器人应用是手势控制机器人,线跟随器机器人,障碍物避免机器人等

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

    关注

    35

    文章

    1623

    浏览量

    69464
  • L298N
    +关注

    关注

    19

    文章

    224

    浏览量

    78136
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184810
收藏 人收藏

    评论

    相关推荐

    无刷直流电机驱动单元

    NEWUnitBLDCDriverUnitBLDCDriver是一款专为无刷直流电机(BLDC)设计的驱动单元,采用I2C通信接口,可同时挂载多路电机进行控制。适用于风扇、小型泵等小型
    的头像 发表于 04-13 08:29 73次阅读
    无刷<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>单元

    【原创】51单片机PWM波控制直流电机转速,仿真、原理图和代码

    单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。 该直流电机PWM控制
    发表于 03-13 00:33

    直流电机是否可以变频控制

    突然想到一个问题,交流电机变频控制调速,那么直流电机什么设备调速。根据
    发表于 02-10 17:36

    直流电机驱动器电路图分享

    直流电机驱动器是一种电子设备,用于控制驱动直流电动机。其工作原理是将来自控制器的步进和方向输入
    的头像 发表于 02-04 16:51 1318次阅读
    <b class='flag-5'>直流电机</b><b class='flag-5'>驱动器</b>电路图分享

    直流电机控制器电路图分享

    直流电机控制器是一种电子控制系统,用于控制直流电机的转速、转向和扭矩等参数,从而实现直流电机的自
    的头像 发表于 02-04 15:52 1456次阅读
    <b class='flag-5'>直流电机</b><b class='flag-5'>控制</b>器电路图分享

    直流电机的励磁是直流电吗?直流电机励磁的作用?

    直流电机的励磁是直流电吗?直流电机励磁的作用?直流电机励磁方式的区分  直流电机的励磁是直流电
    的头像 发表于 01-18 16:07 964次阅读

    直流电机驱动电路结构组成

    直流电机驱动电路是一种将直流电源转换为直流电机所需的电流和电压的电路。它主要由电源模块、电流控制模块和速度
    的头像 发表于 12-20 17:11 586次阅读

    L298N驱动电机顿卡是什么原因?

    L298N驱动电机顿卡是什么原因
    发表于 11-01 06:56

    如何用51单片机控制L289N实现直流电机调速?

    51单片机控制L289N实现直流电机调速的程序怎么编
    发表于 10-24 07:03

    无刷直流电机中的门驱动器

    电子发烧友网站提供《无刷直流电机中的门驱动器.pdf》资料免费下载
    发表于 07-24 15:44 0次下载
    无刷<b class='flag-5'>直流电机</b>中的门<b class='flag-5'>驱动器</b>

    如何控制无刷直流电机

    本文将探讨驱动无刷直流电机的多种不同技术、传感器方案以及使用的流行算法。此外,还将介绍一些来自领先供应商的电机驱动器IC以及合适的开发和原型设计资源。
    的头像 发表于 07-23 16:05 517次阅读
    如何<b class='flag-5'>控制</b>无刷<b class='flag-5'>直流电机</b>

    如何控制无刷直流电机

    本文将探讨驱动无刷直流电机的多种不同技术、传感器方案以及使用的流行算法。此外,还将介绍一些来自领先供应商的电机驱动器IC以及合适的开发和原型设计资源。
    的头像 发表于 07-14 15:12 750次阅读
    如何<b class='flag-5'>控制</b>无刷<b class='flag-5'>直流电机</b>

    使用Arduino控制直流电机

    电子发烧友网站提供《使用Arduino控制直流电机.zip》资料免费下载
    发表于 07-03 11:04 0次下载
    使用<b class='flag-5'>Arduino</b>来<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    使用Arduino直流电机MOSFET控制速度

    电子发烧友网站提供《使用Arduino直流电机MOSFET控制速度.zip》资料免费下载
    发表于 06-27 15:13 0次下载
    使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>直流电机</b>MOSFET<b class='flag-5'>控制</b>速度

    使用单个N沟道MOSFET的直流电机驱动器电路

    这是使用单个N沟道MOSFET的直流电机驱动器电路。在该电路中,直流电机继续沿一个方向运行,直到按下开关时它的方向反转。该电路可在不同项目中用作电机
    发表于 06-18 11:14 559次阅读
    使用单个N沟道MOSFET的<b class='flag-5'>直流电机</b><b class='flag-5'>驱动器</b>电路