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

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

    关注

    36

    文章

    1710

    浏览量

    70183
  • L298N
    +关注

    关注

    21

    文章

    224

    浏览量

    78687
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187049
收藏 人收藏

    评论

    相关推荐

    有刷直流电机是什么?有刷直流电机的工作原理是什么?

    有刷直流电机是一种常见的直流电机,它通过电刷和换向来实现电流方向的改变,从而驱动电机旋转。有刷直流电机
    的头像 发表于 10-22 16:03 530次阅读

    直流电机的应用原理及控制原理是什么?

    直流电机(Direct Current Motor,简称DC Motor)是一种将直流电能转换为机械能的电机。它广泛应用于各种工业和民用设备中,如电动车辆、机床、起重机、电梯、家用电器等。 一
    的头像 发表于 10-22 14:23 332次阅读

    直流电机有哪些型号?如何分类的?

    直流电机按照结构可以分为以下几种类型: a) 有刷直流电机:有刷直流电机是指电机内部有碳刷和换向
    的头像 发表于 10-22 14:20 677次阅读

    直流电机是什么?具有什么特点?

    直流电机是一种利用直流电能来驱动电机,其主要特点是具有较高的启动转矩、良好的调速性能和较高的效率。直流电机广泛应用于各种工业、交通、航空、
    的头像 发表于 10-22 14:10 554次阅读

    无刷直流电机驱动器注意事项和选择指南

    电子发烧友网站提供《无刷直流电机驱动器注意事项和选择指南.pdf》资料免费下载
    发表于 09-09 10:00 0次下载
    无刷<b class='flag-5'>直流电机</b><b class='flag-5'>驱动器</b>注意事项和选择指南

    如何为直流电机驱动器选择栅极驱动器

    电子发烧友网站提供《如何为直流电机驱动器选择栅极驱动器.pdf》资料免费下载
    发表于 09-02 11:50 0次下载
    如何为<b class='flag-5'>直流电机</b><b class='flag-5'>驱动器</b>选择栅极<b class='flag-5'>驱动器</b>

    使用L293D电机驱动器控制直流电机

    直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机
    的头像 发表于 06-21 15:55 1561次阅读
    使用<b class='flag-5'>L</b>293D<b class='flag-5'>电机</b><b class='flag-5'>驱动器</b><b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    硬件模块---L298N电机控制模块实现方法

    第一:L298N模块的介绍           L298N是ST公司生产的一种高电压、大电流电机驱动芯片,该芯片采用15脚封装。 主要特点是: 工作电压高,最高工作电压可达46V;输出
    的头像 发表于 05-11 09:20 7375次阅读
    硬件模块---<b class='flag-5'>L298N</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>模块实现方法

    无刷直流电机驱动单元

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

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

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

    如何使用Arduino UNO和TIP120晶体管驱动控制直流电机的速度

    在本 Arduino 电机指南中,您将学习如何使用 Arduino UNO 和 TIP120晶体管驱动控制
    的头像 发表于 02-11 10:08 1474次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO和TIP120晶体管<b class='flag-5'>驱动</b>和<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>的速度

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

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

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

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

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

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

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

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