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