0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入浅出剖析H桥驱动电路

h1654155149.6853 来源:小麦大叔 作者:菜刀和小麦 2021-10-08 09:59 次阅读

什么是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等。接上电源、电机,通过输入控制信号就可以驱动电机了;

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

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

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

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

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

#defineenA9
#definein16
#definein27
#definebutton4

introtDirection=0;
intpressed=false;

voidsetup(){
pinMode(enA,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(button,INPUT);
//Setinitialrotationdirection
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}

voidloop(){
//Readpotentiometervalue
intpotValue=analogRead(A0);
//Mapthepotentiometervaluefrom0to255
intpwmOutput=map(potValue,0,1023,0,255);
//SendPWMsignaltoL298NEnablepin
analogWrite(enA,pwmOutput);

//Readbutton-Debounce
if(digitalRead(button)==true){
pressed=!pressed;
}
while(digitalRead(button)==true);
delay(20);

//Ifbuttonispressed-changerotationdirection
if(pressed==true&rotDirection==0){
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
rotDirection=1;
delay(20);
}
//Ifbuttonispressed-changerotationdirection
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的状态反置,从而改变电动机的旋转方向。该按钮将用作切换按钮,每次按下该按钮都会改变电动机的旋转方向。

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

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

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

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

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

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

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

编辑:jq


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5823

    浏览量

    171698
  • 元器件
    +关注

    关注

    112

    文章

    4676

    浏览量

    91759
  • 稳压器
    +关注

    关注

    24

    文章

    4188

    浏览量

    93454
  • 直流电机
    +关注

    关注

    36

    文章

    1705

    浏览量

    69996

原文标题:干货 | 深入浅出讲解H桥驱动电路

文章出处:【微信号:电子工程世界,微信公众号:电子工程世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    h驱动电路使电机正反转原理

    H驱动电路使电机正反转的原理是一个在电子和电机控制领域广泛应用的基础知识。 一、H
    的头像 发表于 10-06 14:53 445次阅读
    <b class='flag-5'>h</b><b class='flag-5'>桥</b><b class='flag-5'>驱动</b><b class='flag-5'>电路</b>使电机正反转原理

    深入浅出系列之代码可读性

    原创声明:该文章是个人在项目中亲历后的经验总结和分享,如有搬运需求请注明出处。 这是“深入浅出系列”文章的第一篇,主要记录和分享程序设计的一些思想和方法论,如果读者觉得所有受用,还请“一键三连
    的头像 发表于 08-09 16:00 212次阅读

    H电机驱动电路电路H电机驱动电路的工作原理和控制方式

    H电机驱动电路是一种广泛应用于电机控制领域的电子电路,其名称来源于其形状类似于英文字母“H”的
    的头像 发表于 06-21 16:34 6458次阅读
    <b class='flag-5'>H</b><b class='flag-5'>桥</b>电机<b class='flag-5'>驱动</b><b class='flag-5'>电路</b><b class='flag-5'>电路</b>图 <b class='flag-5'>H</b><b class='flag-5'>桥</b>电机<b class='flag-5'>驱动</b><b class='flag-5'>电路</b>的工作原理和控制方式

    为什么H逆变的驱动电路要用隔离电源?

    H逆变器是一种用于直流到交流转换的电力电子设备,广泛应用于电机驱动、电源转换、能量存储系统等领域。
    的头像 发表于 05-12 17:12 1633次阅读

    请问H电路和半电路一样吗?

    H电路和半电路是两种不同的电力电子电路,它们在结构、工作原理和应用方面都有所区别。
    的头像 发表于 05-11 16:59 2217次阅读

    H驱动电路用什么芯片

    H驱动电路是一种用于控制电机方向和速度的电路,它允许电流在两个方向上流动,从而实现对电机的正反转控制。
    的头像 发表于 05-11 16:52 2212次阅读

    H电路是如何工作的?H电路有何作用?

    将两个MOS管一上一下的方式放在一条直线上,叫做“半”,我们分别叫它上管和下管,而两个半组合一起,就是H电路,正中心就是负载电机。
    的头像 发表于 04-29 18:21 1808次阅读
    <b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>电路</b>是如何工作的?<b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>电路</b>有何作用?

    H驱动电路工作原理图

    H驱动电路在控制、能耗、功能以及适用性等方面都具有显著的优势,使其在电机驱动、控制系统等领域得到广泛应用。
    的头像 发表于 03-13 17:38 1779次阅读
    <b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>驱动</b><b class='flag-5'>电路</b>工作原理图

    直流电机h驱动方式有哪些

    在现代工业控制系统中,直流电机因其出色的速度和位置控制性能而得到广泛应用。其中,H电路作为一种常见的电机驱动方案,能够实现电机的正反转及速度调节。今天,我们就来
    的头像 发表于 02-16 09:41 921次阅读
    直流电机<b class='flag-5'>h</b><b class='flag-5'>桥</b><b class='flag-5'>驱动</b>方式有哪些

    H电机驱动器路图分享

    H电机驱动器是一种电子电路,用于控制直流电机的前进、后退、停止和调速等动作。H电机
    的头像 发表于 02-04 16:24 2098次阅读
    <b class='flag-5'>H</b><b class='flag-5'>桥</b>电机<b class='flag-5'>驱动</b>器路图分享

    深入剖析高速SiC MOSFET的开关行为

    深入剖析高速SiC MOSFET的开关行为
    的头像 发表于 12-04 15:26 855次阅读
    <b class='flag-5'>深入</b><b class='flag-5'>剖析</b>高速SiC MOSFET的开关行为

    javascript深入浅出介绍

    JavaScript是一种广泛使用的脚本语言,用于开发互联网应用程序。它非常受欢迎,因为它可以用于网页开发,服务器端开发以及移动应用程序开发。本文将深入浅出地介绍JavaScript的各个方面,包括
    的头像 发表于 12-03 11:09 5.7w次阅读

    H电路的基本结构和工作模式

    你也许通过线上-线下的资料对于搭建H-电路有所了解,毕竟这些电路相对比较简单。但有些资料介绍H-
    的头像 发表于 11-24 12:24 2529次阅读
    <b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>电路</b>的基本结构和工作模式

    H驱动电路的原理

    电子发烧友网站提供《H驱动电路的原理.zip》资料免费下载
    发表于 11-21 10:15 2次下载
    <b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>驱动</b><b class='flag-5'>电路</b>的原理

    javascript深入浅出

    JavaScript是一种广泛使用的编程语言,常用于Web开发。下面是对JavaScript的深入浅出的解释: JavaScript简介 JavaScript是一种解释型、动态类型、基于原型的语言
    的头像 发表于 11-16 10:34 2207次阅读