什么是H桥?一篇很用心的H桥驱动扫盲文章
什么是H桥?
H桥是一个比较简单的电路,通常它会包含四个独立控制的开关元器件(例如MOS-FET),它们通常用于驱动电流较大的负载,比如电机,至于为什么要叫H桥(H-Bridge),因为长得比较像字母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整体的框架如下图所示;
架构
简单描述一下:首先我们需要定义程序所需的引脚和变量。
在setup()中,我们需要设置引脚模式和电机的初始旋转方向。
在loop()中,我们先读取电位器值,然后将从中获得的值从0到1023变化,线性映射到PWM信号的0到255的值,将其从0到100%的占空比。
然后使用analogWrite()函数将PWM信号发送到L298N板的Enable引脚,该引脚实际上驱动电动机。
接下来,我们检查是否按下了按钮,如果是的话,我们将输入1和输入2的状态反置,从而改变电动机的旋转方向。该按钮将用作切换按钮,每次按下该按钮都会改变电动机的旋转方向。
某宝上这种小车很多,如下图所示;主控可以换成51单片机或者STM32,当然Arduino也没问题,使用L298N就可以快速搭建一个小车了;
总结
本文简单介绍了H桥的原理,并以直流电机为例简单介绍了驱动的状态,整体比较简单,适合新手玩家,最后给出了基于Arduino和L298N的驱动示例,仅供参考。
#电机##科技曼曼谈##电流##元器件##半导体#
H桥电路原理
一、H桥原理
图1中所示为一个典型的直流电机控制电路。电路得名于“H桥式驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图1及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。
如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
图1 H桥式电机驱动电路
要使电机运转,必须使对角线上的一对三极管导通。例如,如图2所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。
图2 H桥电路驱动电机顺时针转动
图3所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。
当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。
图3 H桥电路驱动电机逆时针转动
二、使能控制和方向逻辑
驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。
基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。
图4所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了4个与门和2个非门。4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输人,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。(与本节前面的示意图一样,图4所示也不是一个完整的电路图,特别是图中与门和三极管直接连接是不能正常工作的。)
图4 具有使能控制和方向逻辑的H桥电路
采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机(如图4.16所示);如果DIR-L信号变为1,而DIR-R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。
图5 使能信号与方向信号的使用
实际使用的时候,用分立件制作H桥式是很麻烦的,好在现在市面上有很多封装好的H桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。
三、MOS管H桥
1、上臂PMOS,下臂NMOS
它由2 个P型场效应管Q1、Q2 与2 个N 型场效应管Q3、Q3 组成,所以它叫P-NMOS 管H 桥。
桥臂上的4 个场效应管相当于四个开关,P 型管在栅极为低电平时导通,高电平时关闭;N 型管在栅极为高电平时导通,低电平时关闭。场效应管是电压控制型元件,栅极通过的电流几乎为“零”。
正因为这个特点,在连接好下图电路后,控制臂1 置高电平(U=VCC)、控制臂2 置低电平(U=0)时,Q1、Q4 关闭,Q2、Q3 导通,电机左端低电平,右端高电平,所以电流沿箭头方向流动。设为电机正转。
图6 控制臂1高电平,控制臂2低电平,正转
控制臂1 置低电平、控制臂2 置高电平时,Q2、Q3 关闭,Q1、Q4 导通,电机左端高电平,右端低电平,所以电流沿箭头方向流动。设为电机反转。
图7 控制臂1低电平,控制臂2高电平,反转
当控制臂1、2 均为低电平时,Q1、Q2 导通,Q3、Q4 关闭,电机两端均为高电平,电机不转;
当控制臂1、2 均为高电平时,Q1、Q2 关闭,Q3、Q4 导通,电机两端均为低电平,电机也不转,
所以,此电路有一个优点就是无论控制臂状态如何(绝不允许悬空状态),H 桥都不会出现“共态导通”(短路)。
2、4 个 N 型场效应管的 H 桥
另外还有 4 个 N 型场效应管的 H 桥,内阻更小,有“共态导通”现象,栅极驱动电路较复杂,或用专用驱动芯片,如 MC33883,原理基本相似,不再赘述。
下面是由与非门 CD4011 组成的栅极驱动电路,因为单片机输出电压为 0~5V,而我们小车使用的 H 桥的控制臂需要 0V 或 7.2V 电压才能使场效应管完全导通, PWM 输入 0V 或 5V时,栅极驱动电路输出电压为 0V 或 7.2V, 前提是 CD4011 电源电压为 7.2V 。 切记!!
故 CD4011 仅做“电压放大”之用。之所以用两级与非门是为了与 MC33886 兼容。
两者结合就是下面的电路:调试时两个 PWM 输入端其中一个接地,另一个悬空(上拉置 1),电机转为正常。监视 MOS 管温度,如发热立即切断电源检查电路。
CD4011 的 14 引脚接 7.2V,7引脚接地。
使用时单片机 PWM 输出信号:1 路为 PWM 方波信号,另一路为高电平(置 1)。反转亦然。
相关问答
单片机 地址后的h是什么意思?H代表着HEX,hexdecimal,也就是16进制的意思也就是说30是16进制的30,也就是3*16+0,及十进制的48了。但在单片机或者微机原理中,地址一般都是以十六进...
单片机 程序是如何执行的?1、单片机复位。2、PC指向0000H,单片机从这里取第一条指令,开始执行。3、按指令PC逐次增加或跳转4、中断被触发时,PC指向中断向量,从这里取指令。5、中断服...
单片机 中(SP)=60H是什么意思?单片机汇编中#都是表示立即数,这里MOV的对象不同,前者是A即ACC是普通的寄存器,存放的数据没有特殊含义;后者SP是堆栈指针,存放的数据会被看做是堆栈栈顶的偏...
单片机 复位后sp值为多少?SP被赋值后单片机复位后其值应为:SP值为07H或0000H为确保设计出的电路系统稳定可靠的工作,必须在电路中加入复位电路——将电路恢复到初始状态。类似于我们...
单片机 的存储器ram的寻址范围?外部RAM的寻址范围是0000H~FFFFH。单片机则是根据单片机指令来区分内部与外部RAM的。使用MOVX命令就使用外部RAM,使用MOV命令就指向内部RAM,所以,尽管0~255...
51 单片机 和c语言关系?单片机和C语言的关系,可以比如你手中的电脑和你使用的高级编程语言的关系,当然,你用你的电脑加汇编语言也能编出你要的东西。它们的语法、运算符和变量规则都...
一个 单片机 的乘法指令?单片机乘法指令是MULAB,只能是累加器A和寄存器B相乘,结果低八位存入A,高八位存入B。比如题中,A=4EH,B=5DH,A*B=1C56H,所以A=56H,B=1CH单片机乘法指令是MULAB,...
如何利用 单片机 控制步进电机精确定位?步抽电机需要通过脉冲信号进行驱动,每施加一个脉冲,转子就会转动一个固定的角度,可以很好的进行转动定位控制,也不会产生累积误差。步进电机结构及原理步进...
单片机 中,程序是否从000H开始执行?单片机指令一开始是从0000h执行,程序在0000h这个位置写了个跳转指令,程序自然就跳到了main函数那里去执行;尔main函数在地址0030H开始之后的存储单元:0003h应...
当“SP被赋值后” 单片机 复位后其值应为多少?SP被赋值后单片机复位后其值应为:SP值为07H。复位期间不产生ALET和~PSEN信号。复位后PC值为0000H。P0---P3口值为FFH。一、单片机简介:SP被赋值后单片机复位...