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

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

3天内不再提示

H桥的原理,并以直流电机为例简单介绍了驱动的状态

传感器技术 来源:传感器技术 作者:传感器技术 2021-01-21 14:19 次阅读

什么是H桥?

H桥是一个比较简单的电路,通常它会包含四个独立控制的开关元器件(例如MOS-FET),它们通常用于驱动电流较大的负载,比如电机,至于为什么要叫H桥(H-Bridge),因为长得比较像字母H,具体如下图所示;

b16639a8-4ed9-11eb-8b86-12bb97331649.jpg

这里有四个开关元器件Q1,Q2,Q3,Q4,另外还有一个直流电机M,D1,D2,D3,D4是MOS-FET的续流二极管

开关状态

下面以控制一个直流电机为例,对H桥的几种开关状态进行简单的介绍,其中正转和反转是人为规定的方向,实际工程中按照实际情况进行划分即可;

正转

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

打开Q1和Q4;

关闭Q2和Q3;

此时假设电机正转,这电流依次经过Q1,M,Q4,在图中使用黄色线段进行标注,具体如下图所示;

b1a2fba4-4ed9-11eb-8b86-12bb97331649.jpg

正转

反转

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

关闭Q1和Q4;

打开Q2和Q3;

此时电机反转(与前面介绍的情况相反),这电流依次经过Q2,M,Q3,在图中使用黄色线段进行标注,具体如下图所示;

b1c22696-4ed9-11eb-8b86-12bb97331649.png

反转

调速

如果要对直流电机调速,其中的一种方案就是;

关闭Q2,Q3;

打开Q1,Q4上给它输入50%占空比的PWM波形,这样就达到了降低转速的效果,如果需要增加转速,则将输入PWM的占空比设置为100%;

具体如下所示;

b1f2a0d2-4ed9-11eb-8b86-12bb97331649.png

停止状态

这里以电机从正转切换到停止状态为例;

正转情况下;Q1和Q4是打开状态;

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

这里有两种办法:

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

b22615d4-4ed9-11eb-8b86-12bb97331649.jpg

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

b27cf3ae-4ed9-11eb-8b86-12bb97331649.jpg

应用

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

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

b2a494f4-4ed9-11eb-8b86-12bb97331649.jpg

L298N模块

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

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

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

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

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

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

b2c46662-4ed9-11eb-8b86-12bb97331649.png

架构

#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的状态反置,从而改变电动机的旋转方向。该按钮将用作切换按钮,每次按下该按钮都会改变电动机的旋转方向。

某宝上这种小车很多,如下图所示;主控可以换成51单片机或者STM32,当然Arduino也没问题,使用L298N就可以快速搭建一个小车了;

某宝的小车

总结

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

责任编辑:lq

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

    关注

    35

    文章

    1622

    浏览量

    69432
  • 驱动电路
    +关注

    关注

    151

    文章

    1468

    浏览量

    107651
  • H桥
    +关注

    关注

    5

    文章

    89

    浏览量

    31440

原文标题:深入浅出H桥驱动电路

文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无刷直流电机驱动单元

    NEWUnitBLDCDriverUnitBLDCDriver是一款专为无刷直流电机(BLDC)设计的驱动单元,采用I2C通信接口,可同时挂载多路电机进行控制。适用于风扇、小型泵等小型无刷直流
    的头像 发表于 04-13 08:29 51次阅读
    无刷<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>单元

    使用PWM输出方式驱动有刷直流电机:PWM驱动的原理

    从本文开始,将介绍有刷直流电机的PWM驱动。近年来,直流电机的PWM驱动方式因其可以减少驱动器电
    发表于 03-26 13:57

    H桥驱动直流电机电路原理介绍

    H桥电路是一种广泛应用于直流电机驱动的电子电路,其名称源于电路结构形似字母“H”。该电路包括四个开关器件,通常由晶体管或MOSFET构成,分布在H桥的四个臂上。通过控制这四个开关的导通与关断,可以
    的头像 发表于 02-16 09:59 451次阅读
    H桥<b class='flag-5'>驱动</b><b class='flag-5'>直流电机</b>电路原理<b class='flag-5'>介绍</b>

    直流电机控制器电路图分享

    直流电机控制器是一种电子控制系统,用于控制直流电机的转速、转向和扭矩等参数,从而实现直流电机的自由控制。直流电机控制器的工作原理是通过改变电机
    的头像 发表于 02-04 15:52 1276次阅读
    <b class='flag-5'>直流电机</b>控制器电路图分享

    直流电机的励磁是直流电吗?直流电机励磁的作用?

    直流电机的励磁是直流电吗?直流电机励磁的作用?直流电机励磁方式的区分  直流电机的励磁是直流电
    的头像 发表于 01-18 16:07 934次阅读

    直流电机驱动电路结构组成

    直流电机驱动电路是一种将直流电源转换为直流电机所需的电流和电压的电路。它主要由电源模块、电流控制模块和速度控制模块组成。这些模块的功能和相互之间的关系是实现
    的头像 发表于 12-20 17:11 526次阅读

    什么是直流电机的工作特性和机械特性

    直流电机的工作特性和机械特性是电机学中的重要概念。直流电机作为一种常用的电机类型,其工作特性和机械特性对于理解其工作原理和应用具有重要意义。以下将详细
    的头像 发表于 12-19 14:15 1243次阅读

    直流电机emf怎么计算

    直流电机电动势(emf)的计算涉及到一系列的物理和数学原理。在这篇文章中,我将详细介绍直流电机电动势的计算方法,包括电源电动势、气隙电动势以及绕组电动势。希望这篇文章能帮助您深入了解直流电机
    的头像 发表于 12-15 15:30 761次阅读

    直流电机制动是电机抖动的原因吗

    直流电机制动是电机抖动的原因吗 直流电机制动是导致电机抖动的一个可能原因,但并不是唯一的原因。 1. 引言 直流电机在许多应用中被广泛使用,
    的头像 发表于 11-23 10:54 546次阅读

    他励直流电机的工作原理

    与其他类型的直流电机相比,他励直流电机励磁绕组和转子绕组分别供电,需要两个电源。其他直流电机只需要一个电源。
    的头像 发表于 10-17 14:36 1924次阅读
    他励<b class='flag-5'>直流电机</b>的工作原理

    改变直流电机的转速

    改变直流电机的转速 直流电机是一种非常重要的机电设备,现在广泛应用于各个领域中。但是在实际使用过程中,有时候需要改变其转速来满足不同的工作需求。接下来我们将详细介绍改变直流电机转速的原
    的头像 发表于 08-29 10:07 1067次阅读

    无刷直流电机中的门驱动

    电子发烧友网站提供《无刷直流电机中的门驱动器.pdf》资料免费下载
    发表于 07-24 15:44 0次下载
    无刷<b class='flag-5'>直流电机</b>中的门<b class='flag-5'>驱动</b>器

    有刷直流电机驱动电路及其优缺点

    直流电动机已经存在了近 200 年,在此期间进行了一系列稳定的改进。最近,无刷直流电机变得越来越流行,但对于许多应用来说,有刷直流电机仍然是正确的选择。有刷电机成本更低,
    发表于 07-12 09:13 889次阅读
    有刷<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>电路及其优缺点

    无刷直流电机32位MCU解决方案

    无刷直流电动机的工作原理:无刷直流电机是永磁式同步电机的一种,而并不是真正的直流电机。区别于有刷直流电机,无刷
    的头像 发表于 06-30 17:05 462次阅读

    直流电机测试方法

    直流电机测试方法有哪些,下面跟大家介绍几个方法。
    的头像 发表于 06-14 13:58 3232次阅读
    <b class='flag-5'>直流电机</b>测试方法