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

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

3天内不再提示

通过H桥驱动感性负载的直流电机驱动设计方案

电子设计 来源:小麦大叔 作者:菜刀和小麦 2021-01-04 14:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是H桥?

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

o4YBAF_yuLGADKWWAAFMCSEaJF0031.png

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

开关状态

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

正转

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

● 打开Q1和Q4;

● 关闭Q2和Q3;

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

pIYBAF_yuMiAGQHiAALkFCgp9PM170.png

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

● 关闭Q1和Q4;

● 打开Q2和Q3;

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

o4YBAF_yuOGAPSD2AAKa-woOm9o671.png

反转

调速

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

● 关闭Q2,Q3;

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

具体如下所示;

pIYBAF_yuPWAAuzVAAKn0p3VA7g310.png

停止状态

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

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

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

这里有两种办法:

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

o4YBAF_yuQuAajoxAALfqpFc35I106.png

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

pIYBAF_yuR6AYpBsAAKyFSvuuxI258.png

应用

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

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

pIYBAF_yuS-ASMUtAAUR_yiHcXo434.png

L298N模块

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

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

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

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

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

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

o4YBAF_yuT-AJ_fKAALS-SVnUUM531.png

架构

#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桥的原理,并以直流电机为例简单介绍了驱动的状态,整体比较简单,适合新手玩家,最后给出了基于Arduino和L298N的驱动示例,仅供参考。

编辑:hfy

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

    关注

    24

    文章

    4892

    浏览量

    98761
  • 控制信号
    +关注

    关注

    0

    文章

    200

    浏览量

    12589
  • 驱动电机
    +关注

    关注

    9

    文章

    431

    浏览量

    31853
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SS6952A - 高耐压50V/7A 单H电流控制电机驱动芯片

    SS6952A-单通道H电流控制电机驱动SS6952A为电机一体化应用提供一种大电流单通道集成电机
    的头像 发表于 11-06 09:41 205次阅读
    SS6952A - 高耐压50V/7A 单<b class='flag-5'>H</b><b class='flag-5'>桥</b>电流控制<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>芯片

    SS6952T - 高耐压50V/7A 单H电流控制电机驱动芯片 适用于按摩椅、推杆、直流电机

    SS6952T-单通道H电流控制电机驱动SS6952T为电机一体化应用提供一种大电流单通道集成电机
    的头像 发表于 11-06 09:41 148次阅读
    SS6952T - 高耐压50V/7A 单<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>等

    HR9110单通道H直流电机驱动器芯片详解

    作为核心部件。HR9110作为专为直流电机方案设计的单通道H驱动器芯片,凭借其精心设计的电路结构与优异的性能参数,成为了这类应用场景中的理
    的头像 发表于 11-05 17:07 507次阅读
    HR9110单通道<b class='flag-5'>H</b><b class='flag-5'>桥</b><b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>器芯片详解

    HR8837:低压直流电机驱动的高效安全之选

    支撑。HR8837作为一款专为直流电机方案设计的单通道H驱动器芯片,正是为满足这些核心需求而生,凭借其出色的综合性能在众多应用场景中崭露头
    的头像 发表于 11-04 15:45 188次阅读
    HR8837:低压<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>的高效安全之选

    ‌DRV8814 直流电机驱动器芯片技术文档总结

    该DRV8814为打印机、扫描仪和 其他自动化设备应用。该器件具有两个 H 驱动器,旨在 驱动直流电机。每个的输出
    的头像 发表于 10-21 09:52 336次阅读
    ‌DRV8814 <b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>器芯片技术文档总结

    ‌DRV8840直流电机驱动IC技术文档总结

    该DRV8840为打印机、扫描仪和其他自动化设备应用提供集成电机驱动器解决方案。该器件具有一个 H
    的头像 发表于 10-20 14:50 376次阅读
    ‌DRV8840<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>IC技术文档总结

    ‌DRV8802直流电机驱动IC技术文档总结

    该DRV8802为以下产品提供集成电机驱动器解决方案 打印机、扫描仪和其他自动化设备应用。该器件有两个 H
    的头像 发表于 10-20 14:14 318次阅读
    ‌DRV8802<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>IC技术文档总结

    ‌DRV8834双步进/直流电机驱动器技术文档总结

    该DRV8834为玩具、打印机、相机和 其他机电一体化应用。该器件有两个 H 驱动器,旨在驱动 双极步进电机或两个
    的头像 发表于 10-20 10:52 456次阅读
    ‌DRV8834双<b class='flag-5'>桥</b>步进/<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>器技术文档总结

    ‌DRV8842-EP 直流电机驱动芯片技术文档总结

    DRV8842-EP 为打印机、扫描仪和 其他自动化设备应用。该器件具有一个 H 驱动器,旨在 驱动一个直流电机、一个步进
    的头像 发表于 10-17 11:41 497次阅读
    ‌DRV8842-EP <b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>芯片技术文档总结

    一款功率输出模块由N型功率MOSFET组成的H电流控制驱动

    SS6952T有一路H驱动,可提供较大峰值电流7A,可驱动一个刷式直流电机,或者螺线管或者其它感性
    的头像 发表于 08-13 09:25 590次阅读
    一款功率输出模块由N型功率MOSFET组成的<b class='flag-5'>H</b><b class='flag-5'>桥</b>电流控制<b class='flag-5'>驱动</b>器

    小型排爆机器人的直流电机驱动电路设计

    摘 要:根据小型排爆机器人在精确移动及可靠跨越障碍方面对电机驱动的特殊要求,提出一种基于BTS7970驱动芯片的直流电机驱动系统的
    发表于 07-16 18:59

    Analog Devices / Maxim Integrated MAX22212直流电机驱动器数据手册

    Analog Devices/Maxim Integrated MAX22212直流电机驱动器集成有大电流36V、~最大~ 7.6A半,可驱动一台有刷
    的头像 发表于 06-04 14:19 577次阅读
    Analog Devices / Maxim Integrated MAX22212<b class='flag-5'>直流电机</b><b class='flag-5'>驱动</b>器数据手册

    BDR6170T大功率直流电机驱动芯片中文手册

            BDR6170T 是一款大功率直流电机驱动芯片,用于驱动直流电机或步进电机的一个绕组,适用于打印机、扫地机、按摩椅等电器及工
    发表于 05-27 17:21 3次下载

    BDR6125大功率直流电机驱动芯片中文手册

          BDR6125 是一款直流电机驱动芯片,适用智能锁、小家电等领域。内部集成H驱动器,采用低导通电阻的 P/NMOS 功率管。
    发表于 05-26 17:45 0次下载

    HR9110玩具单通道直流电机驱动器中文手册

            HR9110是应用于直流电机方案的单通道H驱动器芯片。HR9110的H
    发表于 04-14 15:14 1次下载