简介:这份文档面向制作智能小车、从事电子工程与机器人制作的读者,围绕有刷直流电机 H 桥驱动方案的选择展开,重点解答为何采用分立元件搭建 H 桥、为何不选 L298 集成桥、为何优先使用 MOS 管等常见困惑。文中先简述 H 桥正反转、刹车与惰行的基本原理,再以 2A 驱动电流、5~12V 供电为统一条件,对比 D772/D882 双极性晶体管、2301/2302 MOS 管与 L298 的桥臂压降和自身损耗,并给出效率估算与散热、供电电压方面的实际约束,还提醒注意 L298 逻辑电平与驱动电压的配合条件。资源包共 1 个 doc 文件,约 212KB,内容紧凑,适合作为选型对照与器件手册阅读的参考。目前已有 289 人学习,可帮助读者理解不同桥臂器件的性能差异,在小型低功耗项目中做出更合适的驱动方案取舍。
1. 从一次“电机只抖不转”说起:这套 H 桥选型方案要解决什么
小车调试到一半,电机不转,只有轻微抖动,供电明明写着 5V,代码也没问题。拆开一看,驱动板上焊的是 L298,电机是 4.5V 的 N20。这个场景在课程设计和毕设里出现频率极高,翻车点不在程序,而在驱动桥臂的压降把电机该拿到的电压吃掉了。关于直流电机 H 桥驱动方案的选择,本质上是一道效率账:同样 2A 电流,桥臂上多掉 1V,电机就少 2W,启动转矩直接塌下去。这套方案面向做小车、做毕设、要交一份完整驱动设计的人,把“为什么用分立 MOS 管、为什么不用 L298、桥臂怎么算”讲成一条能照着走的选型链路,从需求指标一路落到验收数据。
2. 需求先立住:H 桥要盯住的四个指标与工况界定
2.1 把效率、安全、电压、电流拆成可算的量
H 桥的原理不复杂,四个桥臂两两导通实现正反转,同侧导通做刹车,全断开做惰行。真正决定方案好坏的是四个指标:效率、安全性、耐压、通流。安全性(禁止同侧直通)通常归到控制逻辑和死区时间,属于驱动之外的事;耐压和通流靠选合适参数的器件就能覆盖,小车场景电压 5~12V、电流 2A 上下,可选范围很宽。剩下唯一由器件本身决定、且运行中持续起作用的,就是效率,也就是桥臂导通压降。我一般会把分析口径固定下来:驱动电流按 2A 算,供电 4.5~12V,只比较四个桥臂带来的损耗,不展开 PWM 实现和过流保护。口径固定了,后面三组器件的对比才有意义,否则拿 0.5A 的轻载数据去否定一个方案,结论是站不住的。
2.2 三种候选器件的定位差异
候选就三类:双极性晶体管 D772/D882、MOS 管 2301/2302、集成桥 L298。双极性管靠饱和压降说话,手册给的是 Vce(sat),基本是固定值,电流变化时压降变化不大;MOS 管靠导通电阻 Rds(on) 说话,压降等于电流乘电阻,小电流时优势明显,大电流时按线性涨;L298 是把两只双极性管串成一路桥臂,压降是上下桥臂之和,还要额外考虑逻辑供电。这三类的差别不是“先进与落后”,而是压降模型不同,选型就是把模型代进自己的工况算一遍。
2.3 2A 工况下的压降换算
以 4.5V 控制电压为基准,把手册参数换算成实际压降:
| 器件组合 | 上桥臂压降 | 下桥臂压降 | 合计压降 | 2A 时桥臂损耗 |
|---|---|---|---|---|
| D772 / D882 | 约 0.5V | 约 0.5V | 约 1.0V | 约 2W |
| 2301 / 2302 | 2×0.13=0.26V(最大) | 2×0.06=0.12V(最大) | 约 0.38V | 约 0.76W |
| L298 | — | — | 约 4.9V | 约 9.8W |
MOS 管的换算要写清楚:2301 在 4.5V 栅压下 Rds(on) 约 0.093Ω,2A 时压降 0.186V,取最大值 0.13Ω 则是 0.26V;2302 约 0.045Ω,2A 时 0.09V,最大 0.12V。这里用最大值是保守估计,实际板子散热好、栅压足,会更接近典型值。L298 那一行 4.9V 看着夸张,但它是上下桥臂串联压降的实测口径,不是笔误,后面 2.4 节会用它解释为什么 5V 供电带不动 2A 电机。
2.4 效率账算完,选型结论自己浮出来
驱动一台 4.5V、2A 的电机,电机本身要 9W。用 D772/D882,电源得给到 5.5V,效率 9/(5.5×2)=81%;用 2301/2302,电源 4.88V 就够,效率 92%;用 L298,电源要顶到 9.4V,效率只有 48%。这组数字同时解释了三件事:为什么早期用双极性管的小车只能配 3V 的 130 电机(4 节电池 4.8~5V,桥臂吃掉 1V,只剩 3.8V 余量);为什么换 MOS 管后敢直接上 4.5V 的 N20(压降不到 0.4V);为什么 L298 在 5V 供电、2A 启动电流的场合必然“只抖不转”。选型不是拍脑袋,是把压降代进供电电压减一遍,看剩下的够不够电机启动。
3. 总体方案设计:桥臂器件选型与驱动链路划分
3.1 分立 MOS 管方案的分工
方案主体是四只 MOS 管搭成分立 H 桥:上桥臂两只 P 沟道 2301,下桥臂两只 N 沟道 2302,电机架在中间。P 管做上桥臂的好处是栅极拉低即导通,配合 NPN 三极管做电平转换就能被 3.3V/5V 单片机直接控制,不需要自举电路;代价是 P 管 Rds(on) 通常比同规格 N 管大,所以上桥臂压降略高于下桥臂,这和 2.3 节表格里 0.26V 对 0.12V 的差异是对应的。如果换成全 N 管上桥臂,效率还能再压一点,但要多一路自举或隔离电源,课程设计阶段通常不划算,我一般建议先把 P/N 组合跑通,把效率账算明白,再谈升级。
3.2 控制侧与功率侧的边界
方案里要明确一条边界:H 桥只负责通断和换向,PWM 频率、死区、过流保护归控制侧。这样划分的好处是桥臂选型可以独立验证——拿直流电源直接给栅极加固定电平,测桥臂压降和温升,不用等程序调通。控制侧输出四路信号,经电平转换送到栅极,同侧上下管的信号在硬件上做互锁(一路经反相器取反),软件里再留死区,双保险。这条边界不写清楚,调试时很容易把“电机抖”归到程序上,实际是桥臂压降或栅极驱动不足。
3.3 关键参数表与器件替换规则
把选型依据固化成一张表,换器件时按表核对,不靠记忆:
| 参数 | 2301(P 上桥) | 2302(N 下桥) | 替换时看什么 |
|---|---|---|---|
| Vds 耐压 | ≥12V 档 | ≥12V 档 | 必须大于电池最高电压并留 1.5 倍余量 |
| Rds(on) @4.5V | 约 0.093Ω(最大 0.13Ω) | 约 0.045Ω(最大 0.06Ω) | 越小越好,直接决定压降 |
| 连续漏极电流 | 满足 2A 并留余量 | 满足 2A 并留余量 | 看封装散热,SOT-23 别硬扛持续大电流 |
| 栅极阈值 | 4.5V 栅压下充分导通 | 同左 | 3.3V 单片机直驱要选逻辑电平管 |
替换规则一句话:耐压够、4.5V 栅压下 Rds(on) 足够低、封装散热扛得住持续电流。三条缺一条,效率账就白算了。
3.4 刹车与惰行在方案里的位置
正反转之外,刹车和惰行也要在桥臂层面留出状态:刹车是下桥臂两只同时导通(或上桥臂两只同时导通),把电机惯性电势短路;惰行是四管全关,电势无处泄放。方案里通常把这两个状态做成控制侧的两个宏,桥臂硬件不用改,但要注意刹车时电流会灌进下桥臂,选管时下桥臂的通流余量要比上桥臂更宽一点,这也是 2302 参数比 2301 更“富余”的原因之一。
4. 模块实现:从栅极驱动到压降实测的落地细节
4.1 单路桥臂的栅极驱动写法
以一路半桥为例,P 管上桥臂需要一个 NPN 三极管做电平反相,N 管下桥臂直接由单片机引脚经限流电阻驱动。下面是一段用于验证桥臂通断的测试代码,跑在控制侧,只做静态电平输出,不涉及 PWM:
# 单路 H 桥静态测试:验证四只 MOS 管的通断与换向 # 引脚映射:左上、左下、右上、右下 PIN_LU, PIN_LD, PIN_RU, PIN_RD = 4, 5, 6, 7 def setup(): for p in (PIN_LU, PIN_LD, PIN_RU, PIN_RD): pin_mode(p, OUTPUT) digital_write(p, LOW) # 上电默认全关,防止直通 def forward(): # 左上 + 右下导通,电机正转 digital_write(PIN_LU, LOW) # P 管栅极拉低导通 digital_write(PIN_RD, HIGH) # N 管栅极高电平导通 digital_write(PIN_LD, LOW) digital_write(PIN_RU, HIGH) # P 管栅极高电平关断 def reverse(): digital_write(PIN_RU, LOW) digital_write(PIN_LD, HIGH) digital_write(PIN_LU, HIGH) digital_write(PIN_RD, LOW) def brake(): # 两只下桥臂同时导通,短路电机惯性电势 digital_write(PIN_LU, HIGH) digital_write(PIN_RU, HIGH) digital_write(PIN_LD, HIGH) digital_write(PIN_RD, HIGH) def coast(): for p in (PIN_LU, PIN_LD, PIN_RU, PIN_RD): digital_write(p, LOW if p in (PIN_LU, PIN_RU) else LOW)这段代码的关键不在逻辑,而在上电默认全关和换向时先关后开。P 管栅极低电平导通、高电平关断,N 管相反,写反一个电平就是直通。forward()里先把对侧上管拉高关断,再开本侧下管,顺序不能颠倒。实际产品里这层互锁会做到硬件反相器上,软件这层只是兜底。参数上,限流电阻一般取 100Ω~1kΩ,太大开关变慢、桥臂在切换瞬间损耗上升,太小则栅极电流冲击大,我一般从 470Ω 起调。
4.2 压降实测的接线与读数方法
算出来的压降要实测验证,方法很朴素:直流电源设 4.5V,电机换成大功率电阻或直接堵转,万用表直流电压档跨在整条桥臂两端(电源正到电机一端,电机另一端到地),两段相加就是总压降。测的时候让桥臂持续导通,读稳定值,别在切换瞬间读。2A 工况下 2301/2302 组合读到 0.3~0.4V 属于正常,读到 0.8V 以上先查栅极电压够不够、管子有没有焊反。这一步是后面验收数据的来源,别跳过。
4.3 散热与封装的选择依据
桥臂损耗 0.76W 听起来不大,但分摊到四只 SOT-23 封装上,每只接近 0.2W,持续跑起来壳温会明显上升。方案里通常按“损耗除以封装热阻”估温升,SOT-23 热阻在 200℃/W 量级,0.2W 就是 40℃ 温升,夏天车内环境很容易顶到限值。所以持续 2A 的场景,下桥臂建议换 SO-8 或更大封装,或者两只并联分流。L298 那 9.8W 的损耗更是必须上散热片,这也是它体积大、外围多的直接原因——不是设计者不想做小,是损耗逼着它做大。
4.4 与 L298 方案的接口对照
如果手头已有 L298 模块,方案里要留一条对照路径:L298 的逻辑供电 Vs 和电机供电分开,手册要求电机驱动电压比逻辑高电平高 2.5V 以上,逻辑 5V 时电机供电至少 7.5V,否则高电平无法保证。很多“5V 供电带 L298”的板子就是卡在这条上,电机只抖不转。对照实验可以这样做:同一台电机,先用 L298 在 9V 供电下跑,记录转速和电流;再换分立 MOS 桥在 4.8V 下跑,对比同样转速下的输入功率。数据摆出来,选型结论不用争。
5. 避坑与排查:五条最容易翻车的点
5.1 电机只抖不转,先查供电和压降
现象:上电后电机轻微抖动,不连续转。原因:供电电压减去桥臂压降后,落到电机上的电压低于其启动所需,L298 在 5V 供电、2A 启动电流下尤其典型。解决:先量桥臂压降,再核对电机额定电压,供电不够就抬电压或换低损耗桥臂,别急着改程序。
5.2 同侧直通烧管,查互锁和上电默认态
现象:一上电或换向瞬间管子发烫甚至炸管。原因:同侧上下管同时导通,或者上电时引脚处于浮空/默认高。解决:硬件加反相互锁,软件上电第一件事全关,换向严格“先关后开”,死区时间按管子开关时间留足。
5.3 栅极电压不足,MOS 管“半开”
现象:压降实测远大于手册换算值,管子温热。原因:3.3V 单片机直驱非逻辑电平 MOS 管,4.5V 栅压下的 Rds(on) 根本没达到,管子工作在放大区。解决:选逻辑电平管,或加一级栅极驱动把栅压抬到 4.5V 以上,实测栅极电压再下结论。
5.4 只看典型值不看最大值,批量翻车
现象:样机效率很好,做几块板子后有的发热严重。原因:手册 Rds(on) 有典型值和最大值,按典型值算余量,离散性一上来就顶不住。解决:压降和损耗一律按最大值算,散热按最坏情况留余量,这是血泪经验。
5.5 忽略逻辑供电约束,L298 带不动
现象:L298 方案电机不转,测电机两端电压很低。原因:电机供电没有比逻辑高电平高 2.5V 以上,芯片内部高边驱动打不开。解决:读手册的 ViH 与 Vs 关系表,逻辑 5V 就把电机供电抬到 7.5V 以上,或者降低逻辑电平,别在 5V 单电源上硬撑。
6. 验收与答辩:用一组压降数据把方案讲圆
验收这套 H 桥方案,不需要复杂仪器,一台可调直流电源、一块万用表、一个能堵转的电机就够。我一般按三步走:第一步,静态压降测试,电源设 4.5V,桥臂持续导通,分别测上桥臂、下桥臂和总压降,记录三组数据;第二步,效率换算,用实测总压降反推输入功率和电机功率,和 2.4 节的理论值对照,偏差超过 20% 就回去查栅压和焊接;第三步,温升测试,2A 持续跑 10 分钟,红外测温或手背试温(小心烫),记录壳温。三步数据填进下面这张表,答辩时直接投:
| 测试项 | 理论值 | 实测值 | 判定标准 |
|---|---|---|---|
| 总压降 @2A | 约 0.38V | 填实测 | ≤0.5V 合格 |
| 驱动效率 | 约 92% | 填换算值 | ≥85% 合格 |
| 连续 2A 温升 | 估 40℃ | 填实测 | 壳温不超器件限值 |
| 换向无直通 | — | 示波器看死区 | 同侧无重叠导通 |
答辩时最容易被问的是“为什么不用 L298”,别背结论,直接把 2A 下的压降和效率两组数摆出来,再补一句 L298 的逻辑供电约束,问题就闭环了。还有一个技巧:把“电机只抖不转”的排查过程做成一张流程图贴在 PPT 里,评委看到你从现象追到压降、再追到手册参数,比讲十句原理都管用。从那以后我每次带小车项目,都强制要求先测桥臂压降再写控制代码,压降账算不平,后面的调试全是玄学。希望帮到你。
本文还有配套的精品资源,点击获取