当前位置:首页 > 新型工业化 >直流电机h桥驱动电路原理(h桥直流电机控制电路工作原理)

直流电机h桥驱动电路原理(h桥直流电机控制电路工作原理)

什么是H桥?

H桥是一个相对简单的电路。它通常包含四个独立控制的开关元件(如MOS-FET)。它们通常用于驱动电流较大的负载,例如电机。至于为什么叫H桥(H-bridge-Bridge),因为它看起来更像字母H,如下图所示;

直流电机h桥驱动电路原理(h桥直流电机控制电路工作原理)

有四个开关元件Q1、Q2、Q3、Q4和直流电机M。D1、D2、D3、D4为MOS-FET续流二极管;

开关状态

下面以直流电机的控制为例,简单介绍一下H桥的几种开关状态。正转和反转是人为规定的方向。实际项目中可以根据实际情况进行划分;

向前

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

打开Q1和Q4;

关闭Q2、Q3;

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

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

关闭Q1、Q4;

打开Q2和Q3;

此时电机反转(与之前介绍的情况相反),电流依次经过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桥是非常麻烦的。市场上常用的IC方案有很多,比如常用的L293D、L298N、TA7257P、SN754410等。连接电源和电机,然后输入控制信号来驱动电机;

下面是某宝上的L298N模块,比较常见,对新手玩家很友好,接线也很简单;

L298N模块

该模块具有一个板载5V 稳压器,可以使用跳线启用。

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

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

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

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

这里我们以Arduino为例。这是网上找到的一个Demo。整体框架如下图所示;

建筑学

#定义enA 9

#定义在1 6

#定义在2 7

#定义按钮4

int rotDirection=0;

int 按下=false;

无效设置(){

pinMode(enA, 输出);

引脚模式(输入1,输出);

pinMode(输入2,输出);

pinMode(按钮,输入);

//设置初始旋转方向

digitalWrite(in1, 低);

digitalWrite(in2, 高);

}

无效循环(){

//读取电位器值

int potValue=AnalogRead(A0);

//将电位计值从0 映射到255

int pwmOutput=地图(potValue, 0, 1023, 0, 255);

//发送PWM 信号到L298N 使能引脚

AnalogWrite(enA, pwmOutput);

//读取按钮- 去抖

if (digitalRead(button)==true) {

按下=!按下;

}

while (digitalRead(button)==true);

延迟(20);

//如果按下按钮- 改变旋转方向

if (pressed==true rotDirection==0) {

digitalWrite(in1, 高);

digitalWrite(in2, 低);

旋转方向=1;

延迟(20);

}

//如果按下按钮- 改变旋转方向

if (pressed==false rotDirection==1) {

digitalWrite(in1, 低);

digitalWrite(in2, 高);

旋转方向=0;

延迟(20);

}

}

简单说明:首先我们需要定义程序所需的引脚和变量。

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

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

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

接下来,我们检查按钮是否被按下,如果是,则反转输入1 和输入2 的状态,从而改变电机的旋转方向。该按钮将充当切换按钮,每次按下时都会改变电机的旋转方向。

傲宝上有很多这样的车,如下图;主控可用51单片机或STM32代替。当然,Arduino没问题。使用L298N可以快速打造一辆汽车;

某辆车

总结

本文简单介绍了H桥的原理,并以直流电机为例简单介绍了驱动器的现状。整体比较简单,适合新手玩家。最后给出一个基于Arduino和L298N的驱动示例,仅供参考。

编辑:hfy

最新资讯

推荐资讯