最全H桥电机驱动模块L298N原理及应用

这篇具有很好参考价值的文章主要介绍了最全H桥电机驱动模块L298N原理及应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

H 桥 - 基础知识

通常,H 桥是一个相当简单的电路,包含四个开关元件,负载位于中心,采用类似 H 的配置。

最全H桥电机驱动模块L298N原理及应用

开关元件 (Q1…Q4) 通常是双极或 FET 晶体管,在某些高压应用中为 IGBT。也存在集成解决方案,但开关元件是否与其控制电路集成与本讨论的大部分内容无关。二极管 (D1…D4) 称为钳位二极管,通常为肖特基类型。

桥的顶端连接到电源(例如电池),底端接地。

一般来说,所有四个开关元件都可以独立打开和关闭,尽管有一些明显的限制。

尽管理论上负载可以是您想要的任何东西,但到目前为止,如果 H 桥带有有刷直流或双极步进电机(步进电机每个电机需要两个 H 桥)负载,则最普遍的应用。在下文中,我将专注于作为有刷直流电机驱动器的应用。

H 桥的静态操作

H 桥的基本工作模式相当简单:如果 Q1 和 Q4 导通,电机的左引线将连接到电源,而右引线连接到地。电流开始流过电机,电机正向(比方说)通电,电机轴开始旋转。

最全H桥电机驱动模块L298N原理及应用

如果 Q2 和 Q3 接通,则会发生反转,电机反向通电,轴将开始反向旋转。

最全H桥电机驱动模块L298N原理及应用

在桥梁中,您永远不应该同时关闭 Q1 和 Q2(或 Q3 和 Q4)。如果你这样做了,你只是在电源和 GND 之间创建了一个非常低电阻的路径,有效地短路了你的电源。这种情况称为“击穿”,几乎可以保证快速破坏您的电桥或电路中的其他东西。

最全H桥电机驱动模块L298N原理及应用

由于对四种可能状态的限制,A 侧开关可能只有三种有意义:

Q1 Q2
open open
close open
open close

同样对于 B 面:

Q3 Q4
open open
close open
open close

故全桥可以有 9 种不同的状态:

Q1 Q2 Q3 Q4
close open open open
close open open close
close open close open
open close open open
open close open close
open close close open
open open open open
open open open close
open open close open

也有一些组合模式,是不向电机供电。比如当四个晶体开关都断开,此时电机负载相当于两端悬空。如果电机此时在运动,其转子的动能就会在摩擦力的作用下逐步消耗,电机慢慢停止。

下图所示的两种情况:H桥电路的上半部(或者下半部)的两个晶体管闭合,对应的另外两个晶体管断开。此时电机两端被桥电路实际上是短接在一起。电机两端电压为0。如果此时电机在运动,那么它转子的动能会通过所产生的反向电动势(EMF)在外部短路桥电路回路中形成制动电流,电机会快速制动。

最全H桥电机驱动模块L298N原理及应用

同边桥臂短路情况有时是控制信号不好(没有给足死区时间),有时是功率器件不够坚强(耐压不够被击穿)。但由于关系到H桥电路的生死,所以需要精细避免。

H-桥控制电机

下面以控制一个直流电机为例,对H桥的几种开关状态进行简单的介绍,其中正转和反转是人为规定的方向,实际工程中按照实际情况进行划分即可。

电机正转控制

通常H桥用来驱动感性负载,这里我们来驱动一个直流电机;

Q1 Q2 Q3 Q4
open close close open

此时假设电机正转,这电流依次经过 Q1 , M , Q4 ,在图中使用黄色线段进行标注,具体如下图所示:

最全H桥电机驱动模块L298N原理及应用

电机反转控制

另外一种状态则是电机反转;此时四个开关元器件的状态如下;

Q1 Q2 Q3 Q4
close open open close

此时电机反转(与前面介绍的情况相反),这电流依次经过 Q2 , M , Q3 ,在图中使用黄色线段进行标注,具体如下图所示:

最全H桥电机驱动模块L298N原理及应用

电机调速

如果要对直流电机调速,其中的一种方案就是;

关闭 Q2 , Q3 ;

打开 Q1 , Q4 上给它输入 50% 占空比的PWM波形;

这样就达到了降低转速的效果,如果需要增加转速,则将输入PWM的占空比设置为100%;具体如下所示

最全H桥电机驱动模块L298N原理及应用

电机停止

这里以电机从正转切换到停止状态为例,正转情况下; Q1 和 Q4 是打开状态;

这时候如果关闭 Q1 和 Q4 ,直流电机内部可以产生等效成电感,也就是感性负载,电流不会突变,那么电流将继续保持原来的方向进行流动,这时候我们希望电机里的电流可以快速衰减,这里有两种办法:

第一种:关闭 Q1 和 Q4 ,这时候电流仍然会通过反向续流二极管进行流动,此时短暂打开 Q1 和 Q3 从而达到快速衰减电流的目的。

最全H桥电机驱动模块L298N原理及应用

第二种:准备停止的时候,关闭 Q1 ,打开 Q2,这时候电流并不会衰减地很快,电流循环在Q2,M,Q4之间流动,通过MOS-FET的内阻将电能消耗掉。

最全H桥电机驱动模块L298N原理及应用

H-桥应用

实际使用的时候,用分立元件制作H桥是很麻烦的,市面上已经有很多比较常用的IC方案,比如常用的L293D、L298N、TA7257P、SN754410等。接上电源、电机,通过输入控制信号就可以驱动电机了。

下面是某宝上的L298N模块,比较常见,对于新手玩家非常友好,接线也十分简单。

最全H桥电机驱动模块L298N原理及应用

L298N模块这个模块有一个板载5V稳压器,该稳压器可使用跳线的方式进行使能。

如果电机电源电压高达12V,我们可以启用5V稳压器,并且5V引脚可以用作输出,例如给Arduino板供电。

但是,如果电动机电压大于12V,则必须断开跳线,因为这些电压会损坏板载5V稳压器。

在这种情况下,5V引脚将用作输入,因为我们需要将其连接到5V电源,以使IC正常工作。

我们在这里可以注意到,该IC的电压降约为2V。因此,如果使用12V电源,则电动机端子上的电压约为10V,这意味着我们将无法从12V直流电动机中获得最大速度。

这里使用Arduino为例,这是网上找的一个Demo整体的框架如下图所示:

最全H桥电机驱动模块L298N原理及应用

主要代码

#define enA 9
#define in1 6
#define in2 7
#define button 4
 
int rotDirection = 0;
int pressed = false;
 
void setup() {
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(button, INPUT);
  // Set initial rotation direction
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
}
 
void loop() {
  // Read potentiometer value
  int potValue = analogRead(A0); 
  // Map the potentiometer value from 0 to 255
  int pwmOutput = map(potValue, 0, 1023, 0 , 255); 
  // Send PWM signal to L298N Enable pin
  analogWrite(enA, pwmOutput); 
 
  // Read button - Debounce
  if (digitalRead(button) == true) {
  pressed = !pressed;
  }
  while (digitalRead(button) == true);
  delay(20);
 
  // If button is pressed - change rotation direction
  if (pressed == true  & rotDirection == 0) {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    rotDirection = 1;
    delay(20);
  }
  // If button is pressed - change rotation direction
  if (pressed == false & rotDirection == 1) {
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    rotDirection = 0;
    delay(20);
  }
}

代码讲解

简单描述一下:首先我们需要定义程序所需的引脚和变量。

在setup()中,我们需要设置引脚模式和电机的初始旋转方向。

在loop()中,我们先读取电位器值,然后将从中获得的值从0到1023变化,线性映射到PWM信号的0到255的值,将其从0到100%的占空比。

然后使用analogWrite()函数将PWM信号发送到L298N板的Enable引脚,该引脚实际上驱动电动机。

接下来,我们检查是否按下了按钮,如果是的话,我们将输入1和输入2的状态反置,从而改变电动机的旋转方向。该按钮将用作切换按钮,每次按下该按钮都会改变电动机的旋转方向。

某宝上这种小车很多,如下图所示;主控可以换成51单片机或者STM32,当然Arduino也没问题,使用L298N就可以快速搭建一个小车了;

最全H桥电机驱动模块L298N原理及应用

总结

虽然我们不能够确认原文作者所有的结论、公式都是正确的。但看到他清晰的话语、生动的插图、详尽的公式分析反映了他从一个需要设计小型电机H桥电路驱动工程出发 ,不停的在思索桥电路工作的各环节的原理和一些控制细节,并最终后总结成博文。可以体会到他内心在整个知识增长过程中的喜悦。

参考资料文章来源地址https://www.toymoban.com/news/detail-483015.html

  • H-Bridges – the Basics | Modular Circuits
  • https://blog.csdn.net/tiandiren111/article/details/112130898
👇点击下方公众号卡片获取资料👇

到了这里,关于最全H桥电机驱动模块L298N原理及应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • L298N驱动电机+pwm

    目录 一、L298N驱动电机 二、pwm波输出——电机转动 pwm参数 pwm参数计算 输出比较 pwm基本结构:运行控制 → 时基单元 →捕获/输出比较通道 时基单元 捕获/输出通道的输出 STM32F103c8t6定时器:TIM1、TIM2、TIM3、TIM4 基本定时器 通用定时器 PWM输出  L298N驱动 :输入:12V 12V供电 :

    2023年04月19日
    浏览(36)
  • 直流减速编码电机的使用(STM32f103c8t6)L298N电机驱动模块

    直接减速电机就是在直流电机上加上霍尔编码器,霍尔编码器可用于电机转动的测速,A、B相会产生相位相差90°的方波信号。stm32可以使用硬件资源或者软件模拟来捕获编码器信号。这里我介绍的是stm32自带的编码器模式来使用直流减速电机。 以下是直流减速电机的商品图 ​

    2024年02月13日
    浏览(61)
  • L298n电机驱动+stm32+pwm

    7V~12VVCC:接入7V—12V的电源。 GND:接地。 注:当单片机与驱动不是同一电源时要供地。 5V输出:可以输出5V的电源。 电机A/B:接入电机。 IN1~IN4:控制电机正反转,转速信号接口。 电机A/B使能:通过跳帽控制是否使能电机。 通过引脚的高低搭配,控制电机的正反转和停止,

    2024年02月16日
    浏览(41)
  • L298N电机驱动板的使用说明

    目录 一、为什么要用L298N驱动板来驱动电机 二、L298N引脚功能图 三、供电方式 1、接入5V电源 2、接入7~12V电源 3、接入大于12V电源 四、L298N的驱动方式 你可能有这个疑惑,电机是4-6V供电的,单片机的输出也是5V输出,为什么不直接用单片机来供电驱动电机呢?这是因为单片机

    2024年02月02日
    浏览(32)
  • L298N驱动俩路电机按键控制正反转

    一个L298N是带有俩路驱动电路的,就是可以驱动俩个电机同时去转动,在硬件部分因为以前弄小车的时候已经组装好了,一路驱动去控制俩个电机,俩路驱动就是控制四个电机,做的是四轮四驱的小车,嫌麻烦就没有去拆改装了。 博主主页里面有介绍过L298N的使用了,为了避

    2024年02月03日
    浏览(34)
  • ESP32设备驱动-直流电机与L298N电机驱动器

    在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。 L298N 电机驱动器模块非常易于与微控制器一起使用,而且相对便宜。 它被广泛用于控制机器人,因为我们可以一次连接多达四个电机,但如果我们还想控制速度和方向,那么它允许连接两个电机。 因此,

    2024年02月13日
    浏览(44)
  • Arduino驱动L298N控制直流电机的正反转和调速

    本模块使用ST公司的L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。LN298N可以用来驱动直流电机和步进电机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响下允许或禁止器件工作有一个逻辑电源

    2024年02月06日
    浏览(45)
  • 【STM32】cubeMX配置HAL库驱动L298N控制直流有刷电机

    目录 1.电机为什么需要驱动板呢?为什么不能用控制器直接控制电机呢? 2.H桥电路介绍 3.L298N原理介绍 4.实物接线图 5.CUBEMX配置 6.代码 7. 演示视频 L298N是常用来驱动小型直流有刷电机(两个)和步进电机(一个)的电机驱动板,其电路原理就是两个H桥电路,控制原理是使用

    2024年02月16日
    浏览(52)
  • STM32之L298N控制130电机+PWM调速

    左右两边的OUT0~OUT4接130电机两端; 中间蓝色端口接电源, 注意:两个电源口和一个接地口都要接上!!!!!!!! 偏左一些的排针用杜邦线接上io口,如果需要PWM控速的话,ENA和ENB的跳线帽需要拔掉, 然后用两根杜邦线分别连到一个io口,给高电平使能,如果是低电平则

    2024年02月04日
    浏览(42)
  • L298N模块详细使用教程

    一.L298N芯片         L298是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路;是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。 L298N引脚定义: Pin9: Vss,即逻辑电路供电电压。电

    2023年04月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包