锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

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

时间:2023-02-20 18:30:01 h连接器端子电位器l0给电机加电阻可以降低转速么in5934b二极管1n4007快速二极管

H桥整的H桥电机驱动模块L298N原理及应用

    • H 桥 - 基础知识
      • H 桥梁静态操作
    • H-桥控制电机
      • 电机正转控制
      • 电机反转控制
      • 电机调速
      • 电机停止
    • H-桥应用
      • 主要代码
      • 代码讲解
    • 总结

H 桥 - 基础知识

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

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

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

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

虽然理论上负载可以是你想要的任何东西,但到目前为止,如果 H 桥上有刷直流或双极步进电机(每个步进电机需要两个) H 桥)负载是最常用的应用。下面,我将专注于作为刷直流电机驱动器的应用。

H 桥梁静态操作

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

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

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

由于对四种可能状态的限制,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桥电路的生死有关,需要仔细避免。

H-桥控制电机

以控制直流电机为例,简要介绍了H桥的几种开关状态,其中正反转是人为指定的方向,可根据实际情况进行划分。

电机正转控制

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

Q1 Q2 Q3 Q4
open close close open

此时假设电机正转,电流依次通过 Q1 , M , Q4 ,图中标注黄色线段,如下图所示:

电机反转控制

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

Q1 Q2 Q3 Q4
close open open close

此时,电机反转(与上述情况相反),电流依次通过 Q2 , M , Q3 ,图中标注黄色线段,如下图所示:

电机调速

如果要调速直流电机,方案之一就是;

关闭 Q2 , Q3 ;

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

这达到了降低速度的效果。如果需要增加速度,则输入PWM占空比设定为100%;如下所示

电机停止

以电机从正转切换到停止状态为例,正转时; Q1 和 Q4 是开放状态;

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

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

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

H-桥应用

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

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

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

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

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

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

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

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

主要代码

#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桥电路驱动工程出发 ,不停的在思索桥电路工作的各环节的原理和一些控制细节,并最终后总结成博文。可以体会到他内心在整个知识增长过程中的喜悦。

参考资料

  • H-Bridges – the Basics | Modular Circuits
  • https://blog.csdn.net/tiandiren111/article/details/112130898
👇点击下方公众号卡片获取资料👇
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章