☰
微型双路H桥驱动板设计实战:从MOS管选型到堵转保护
2026/10/22 8:08:46 网站建设 项目流程

有刷直流电机(Brushed DC Motors)的驱动绕不开一个名字:H-Bridge。这个概念看着简单,真正做一块“Tiny”级的双路驱动板时,体积、发热、死区、堵转保护全都会找上门。我最近一直在折腾一个小型双轮机器人,电机选的是N20减速电机,供电是单节锂电加升压到6V,底盘留给驱动板的位置只有两个拇指甲盖大小。起初以为买两块现成模块焊上去就行,结果被模块的排针高度和杜邦线接触电阻折磨得够呛,干脆自己画了一块双路H桥驱动板。这篇文章从方案选型、器件参数、PCB布局到控制策略、故障复盘,完整记录我踩过的坑和最终跑通的方案,给同样喜欢从零焊板子的朋友做个参考。

1. 设计指标怎么定:微型双路H桥到底要“多小才算小”

很多人一上来就找驱动芯片、画原理图,结果板子画到一半发现电机接口、电源输入、控制排针怎么都塞不下。我第一版就是吃了这个亏。所以先别急着画图,第一步是明确:这块驱动板到底要放进什么样的空间、驱动什么样的电机。

1.1 缩小体积的真正瓶颈是什么

体积这个指标不是由芯片封装决定的,而是被“发热”和“接线”卡死的。集成H桥芯片本身可以做得很小,比如4mm×4mm的QFN封装;但如果你在板子上排了四个大电流接线端子、两个电解电容、一个逻辑电源稳压器,那板子再怎么优化也小不到哪去。

我最初的目标是整块板不超过22mm×25mm,双路电机接口用2.54mm间距的插针,电源和控制信号从同一侧引出。这个尺寸下,所有电容必须用贴片封装,电解电容只能放在侧面,或者干脆用聚合物钽电容。接线端子更是要砍到最少:一路电源输入、一路正负极电机输出,控制信号直接用软排线或插针接MCU,不要再加防反接插座。

1.2 从电机参数反推电路指标

设计驱动板之前,必须先拿到电机的真实参数,不能只看额定电压和空载转速。我用的N20 6V电机,官方标称空载电流约60mA,但堵转电流能到1A以上。这个堵转电流才是设计H桥时真正的“锚点”。

电机的等效模型是电感串联电阻,再串联一个反电动势源。电机静止时反电动势为零,启动瞬间输入电压几乎全加在绕组电阻上,所以堵转电流大概等于供电电压除以绕组电阻。比如6V供电、绕组电阻5Ω,堵转电流就是1.2A。电机反转时情况更恶劣,因为要先克服原有反电动势,电流峰值往往比堵转电流还高。所以驱动板的热设计和限流保护都得按2A这个量级准备,而不是按额定电流算。

1.3 把指标写下来,后面所有选型才不会跑偏

我最后定下的指标是这样的:

参数设计指标备注
输入电压3.7V ~ 8.4V兼容单节/双节锂电
单路持续电流0.8A按电机正常负载留余量
单路峰值电流2A对应堵转和启动
PWM频率20kHz避开音频,兼顾开关损耗
待机电流< 20uA电池供电必须考虑
保护功能过流、堵转、欠压软件+硬件配合
板面积22mm × 25mm双路完整驱动

这个表格是我在Excel里反复调出来的,不是拍脑袋。持续电流0.8A是因为N20正常工作时电流大概在100mA到300mA,但地面对轮子的阻力变化会带来瞬态负载;峰值2A则覆盖了堵转和反向冲击。有了这个表,后面选芯片、画PCB、写固件都有了依据。

2. 分立MOS管方案:Vgs(th)才是低压选型的第一道门槛

第一版我其实没有直接用集成驱动芯片,而是想“既然是微型H桥,那自己搭四个MOS管应该最可控”。这个想法本身没错,但低压小尺寸场景下,分立MOS管的选型坑远比你想象得多。

2.1 低压H桥的拓扑选择

H桥有几种常见搭法:全N沟道、全P沟道、P+N混合。全N沟道导通电阻最低,但上管需要自举电路或者电荷泵把栅极电压抬到比电源高,低压系统里这本身就占不少面积和成本。全P沟道倒是驱动简单,但P沟道MOS的同电压等级下导通电阻普遍比N沟道大,发热更明显,而且可选的低压小封装型号少。

P+N混合是比较实际的方案:上管用P沟道MOS管,下管用N沟道MOS管。这样栅极不需要电荷泵,输入高电平就能关断下管、通过反相逻辑控制上管。我最初选的是AO3401A做上管、AO3400A做下管,都是SOT-23封装,最大漏极电流在4A左右,看起来足够2A峰值。

2.2 低压选型先看Vgs(th),再看Rds(on)

很多人选MOS管第一眼看最大电流和导通电阻,但在3.3V到5V这种低压控制系统里,最关键的参数是栅极阈值电压Vgs(th)和栅极驱动电平下的通态电阻Rds(on)。

以AO3400A为例,它的Vgs(th)典型值在0.7V左右,在Vgs=4.5V时Rds(on)约40mΩ;AO3401A P沟道在Vgs=-4.5V时Rds(on)约55mΩ。这两个值听着不错,但如果你用3.3V单片机直接驱动,实际Vgs只有3.3V,Rds(on)可能上升到70到90mΩ,甚至更高。如果选了一颗Vgs(th)标称2.5V的“逻辑电平MOS”,3.3V驱动它就非常危险,可能工作在放大区,MOS管变成电阻,一通电就烫手。

2.3 Rds(on)和Qg对小型化的影响怎么算

MOS管的导通损耗公式很简单:P = I² × Rds(on)。以一个H桥为例,上管和下管各有一个导通电阻,电流1A时,上下管合计按100mΩ算,损耗就是1²×0.1=0.1W。听起来不多,但堵转2A时损耗变成0.4W,集中在两个SOT-23封装里,热量就明显了。

开关损耗容易忽略。MOS管栅极电荷Qg决定了开关需要的驱动能力,AO3400的Qg大概在10nC量级,20kHz频率下平均栅极驱动电流只有0.2mA,似乎很小。但开关瞬间需要在几十纳秒内把栅极电荷充满,MCU的GPIO灌电流能力通常只有几毫安到十几毫安,这会让开关时间拉长到几百纳秒,MOS管长时间工作在放大区,开关损耗急剧增加。实际表现就是板子能转,但驱动IC或者MCU发热严重,波形一塌糊涂。

2.4 体二极管续流能用,但别让它“过度加班”

有刷直流电机是强感性负载,PWM关断瞬间电流不能突变,必须给电流一个续流回路。分立H桥里通常靠MOS管的体二极管续流。体二极管压降大,反向恢复时间也不算理想,但低压小电流场景下确实能用。

问题是死区时间如果不够,两个管子同时导通,电源直接短路,那电流根本不是流过电机,而是流过MOS管沟道。我在测试中出现过上下管同时导通,板子上的铜箔都能看见颜色变暗。所以自己搭分立方案,死区处理非常关键,而这个问题在集成驱动芯片里基本被内部逻辑解决了。

3. 转到集成双H桥芯片之后:最小外围电路与旁路电容的摆放

被分立方案折腾了两版之后,我决定把H桥部分交给集成芯片。这不是“认输”,而是“Tiny”尺寸下最务实的做法:集成芯片把两个H桥、死区时间、过流保护都封装在一个小封装里,外围元件能少到极致。

3.1 为什么集成芯片最终胜出

我对比了市面上几款常用的小型双H桥驱动芯片,重点候选是DRV8833和TB6612。DRV8833支持2.7V到10.8V,每通道能到1.5A RMS、2A峰值,内部自带防直通和过流保护;TB6612电压范围更高,但待机电流稍大,外围也多一点。对于我的项目,DRV8833系列的QFN封装尺寸和低待机特性更合适,所以第一版集成方案就选了它。

后来做堵转保护时,我换成了带电流镜像输出的驱动芯片。这类芯片会在芯片内部采样低边MOS管的电流,通过IPROPI引脚输出一定比例的电流,外部接一个电阻就能转成电压给ADC。相比外置采样电阻加运放,这种方式省掉了一个运放和一堆反馈电阻,板面积和BOM都大幅下降。这就是集成方案在“Tiny”项目里最有价值的地方:你不是在买一个功能,而是在买一个已经替你处理好工程细节的模块。

3.2 最小外围电路具体长什么样

集成双H桥芯片的外围电路非常精简。以一颗带电流输出的双H桥芯片为例,我会列出这几颗元件:

元件作用选型建议
芯片VM引脚旁路电容吸收开关瞬间脉冲电流10uF X7R 0805 + 100nF C0G 0402
逻辑电源去耦电容滤除逻辑电源毛刺100nF 0402
电源输入大电容吸收电机启动/反转浪涌100uF 聚合物电容或钽电容
IPROPI采样电阻把镜像电流转换成ADC电压按目标限流值计算
TVS管吸收电源尖峰按最高工作电压选择
IN/EN下拉电阻防止MCU未上电时引脚悬空10kΩ 0402

IPROPI电阻的计算方式不算复杂:芯片数据手册会给出电流镜像比例K,采样电阻Rsense上的电压等于I_motor × K × Rsense。如果你希望1.2A时ADC读到1V,而比例是1/1000,那么Rsense就是1V / (1.2A / 1000) ≈ 833Ω。实际取820Ω或910Ω,再在固件里做校准。

3.3 VM引脚旁的旁路电容不是随便放的

这是我在集成方案里踩过最隐蔽的坑。原理图画对了,芯片型号也没问题,但PWM一跑起来,VM电压就出现明显的振铃,严重时能砸到芯片内部稳压器的极限。原因就是10uF旁路电容离VM引脚太远,中间走线形成的寄生电感在开关瞬间产生了谐振。

旁路电容的摆放原则是:电容靠近芯片电源引脚,连线要短而粗,并且VM电容的接地端要直接回到芯片的PGND引脚附近,而不是先绕到远处的地平面。芯片每一次PWM开关都要从VM电容抽取脉冲电流,如果回路电感太大,电容就像没有一样。实际布局中,10uF电容放在芯片VM引脚同一侧,距离不超过1.5mm,100nF小电容贴着VM引脚放置,这两个电容共同组成宽带去耦。逻辑电源和VM电源建议分开走,避免功率开关噪声串进逻辑部分。

4. 20mm见方PCB的功率回路、地平面与散热铜皮

确定用集成芯片后,PCB布局成了决定成败的关键。20mm×25mm的板子不大,但要把双路H桥、采样、控制信号都装进去,每一毫米走线都值得斟酌。

4.1 让功率回路面积最小

H桥的功率电流回路是:VM引脚进入,经过高边MOS管,从OUT1流出到电机,再从OUT2回到低边MOS管,最后经过PGND回到电源负极。这个回路面积越小,寄生电感越小,开关尖峰就越低。

我在布局时把VM走线放在板子一侧,GND走线在另一侧,中间穿过两条电机输出线,方向和电流方向尽量平行,避免让功率回路绕过MCU区域。如果板子上同时有两路电机,两路的功率回路最好相互对称,不要你走上面我走下面,否则会形成超大的差分环路,不仅EMI难看,还会通过地平面相互干扰。

4.2 地平面不是铺块铜就有用

双层板底层铺大面积地是最常见的做法,但铺地也要讲究。驱动芯片的PGND是功率地,承载的是电机的大电流;逻辑地和采样地是小信号地,承载的是模拟电压。如果功率地电流经过采样电阻旁边的模拟地,ADC读数就会跟着电机电流波动,堵转保护完全没法用。

我的处理方式是:底层大面积铺GND,但把芯片的PGND引脚、VM电容地、TVS地、电流采样地都单独画一小块功率地铜皮,功率地和逻辑地通过板子电源入口处的一个点连接。这样功率电流只在功率地平面流动,不会串进模拟信号。样引脚采用开尔文连接,也就是采样电压的两根细线直接从采样电阻两端引出,尽量不要经过其他功率走线。

4.3 热设计:没有散热片,铜皮就是散热片

集成H桥芯片的热量主要是MOSFET的导通损耗和开关损耗。以持续0.8A、上下管总电阻约0.8Ω计算,单路导通损耗约0.5W,双路同时跑就是1W。这个功耗对4mm×4mm的封装来说不小,必须靠PCB散热。

芯片底部的散热焊盘(PowerPad)要焊接到PCB,焊盘下方打一排过孔到背面铜皮。过孔孔径我用了0.3mm,孔间距1mm,一共打了8个,背面整片铺铜。实测下来,持续负载5分钟,芯片表面温度稳定在62℃左右,比第一次没打过孔散热时的85℃好了很多。如果板子空间允许,还可以在芯片侧面多留一点铜皮,因为热量会先沿着PCB平面扩散,再通过空气对流散掉。

5. PWM频率、死区与堵转保护:让驱动板聪明地活下来

硬件能转只是第一步。驱动板要真正可用,控制策略要跟上,尤其是PWM频率、死区设置和堵转保护这三件事。

5.1 有刷电机里的电流纹波与PWM频率选择

有刷直流电机由电阻、电感和反电动势组成。PWM频率越高,电流纹波越小,但开关损耗越大;频率过低,电机会发出尖锐的啸叫,而且电流会断续,换向火花也大。

工程上常选16kHz到20kHz,正好超过人耳敏感上限。计算依据是电机的电气时间常数τ=L/R。N20电机绕组电感大约几十微亨,电阻5Ω,τ大概在10μs量级。20kHz的PWM周期是50μs,电流已经能维持在连续模式,纹波不会过大。如果电机更小,电感更低,可以把频率提高到32kHz,但要确认驱动芯片的开关能力和死区时间是否跟得上。

5.2 死区到底谁来管

如果是全分立MOS管方案,死区必须自己做,否则上下管直通。集成驱动芯片内部已经处理了这一点,但你仍然需要了解外部输入信号的含义。以最常见的双输入逻辑为例,IN1=1、IN2=0是一个方向转,IN1=0、IN2=1是另一个方向,IN1=0、IN2=0是滑行,IN1=1、IN2=1可能是刹车,不同芯片定义不同。

我自己写固件时,会让PWM和方向分开:一个引脚负责PWM占空比,另一个负责方向。这样不会出现两个输入同时跳变的情况,而且从“正转PWM”切到“反转PWM”之前,软件里要先把这个通道的输出置为滑行状态,延时几十微秒再反转。这个软件延时能显著减少反转瞬间的电流尖峰,虽然牺牲了一点响应速度,但对电池和驱动芯片都很友好。

5.3 堵转保护:电流采样加上分级动作

堵转是微型电机驱动最危险的场景。电机被卡住时,反电动势消失,电流直奔堵转电流而去,如果只靠芯片的过流保护,容易在恢复后继续冲击。我的方案是用采样电阻和ADC实时监测电机电流,固件做分级处理:

if (adc_current > OVER_CURRENT_HIGH) { high_count++; if (high_count > 200) { disable_driver(); // 持续大电流超过200ms,直接关闭 } else { set_pwm(0); // 短时过流,先切断PWM } } else if (adc_current > OVER_CURRENT_LOW) { low_count++; if (low_count > 50) { set_pwm(max_duty / 2); // 中等过流持续50ms,先降半速 } } else { low_count = 0; high_count = 0; }

这个状态机看起来简陋,但避免了一个常见错误:一检测到过流就立刻关断。因为电机启动瞬间也会有短暂的大电流,如果保护太敏感,机器人一动就保护,完全没法跑。必须区分“瞬态过流”和“持续性过流”,瞬态可以容忍,持续才判定为堵转。

5.4 待机与休眠:电池供电必须抠细节

小车用电池供电,驱动芯片即使空载也会有静态电流。让H桥进入睡眠模式能把静态电流从毫安级降到微安级。我的板子利用MCU的一个GPIO控制驱动芯片的EN/睡眠引脚,平时所有电机通道都置为高阻,只有需要运动时才唤醒。

有一点容易踩坑:电机停止时不要直接让芯片休眠,要先把两个输入都拉成滑行状态,再让芯片进入睡眠。如果带着电机的反电动势进入休眠,外部电动势可能通过体二极管反向灌进芯片的电源脚,时间长了会损坏驱动器。正确顺序是先停PWM、确认输出为高阻、再休眠。

6. 实测波形复盘:从直通炸管到反转尖峰的三次教训

前前后后烧了七八块板子,每次故障都有不同的“病根”。下面按顺序梳理三次最典型的故障,给遇到类似问题的朋友一个排查参照。

6.1 直通炸管:第一次上电发烫的根因

第一版分立MOS板子上电后,电机没转,板子却开始烫手。我用示波器同时测量上管和下管的栅极电压,发现开关切换的几十纳秒窗口里,两个管子同时处于导通状态。这就是典型的直通故障,电源通过两个MOS管直接短路,电流瞬间很大,管子迅速发热,后来直接把一颗AO3401击穿了。

排查过程不是直接换芯片,而是先确认驱动信号时序。用逻辑分析仪查看MCU输出的两路信号,发现固件里只是简单地把两个GPIO写成反相,没有做死区延时。修正方法是在固件里加入切换延时,或者在MCU定时器里使用带死区插入的互补PWM输出。对于集成驱动芯片,芯片内部已经做了死区插入,所以后续版本没有再出现这个问题。

6.2 栅极振铃:示波器探头的地线也别太长

分立方案优化完死区后,栅极波形看起来还是很糟糕:上升沿有一串振铃,幅度接近Vgs阈值的振荡。一开始以为是布局问题,后来接了一根“地线弹簧”在探头尖端,振铃幅度立刻降了不少。原来一部分振铃来自示波器探头接地夹的长引线电感,属于测量伪像。

真正的栅极振铃来自驱动环路的寄生电感。解决方法是给栅极串联一个10Ω到22Ω的电阻,阻尼LC谐振。串联电阻会增大开关时间,所以要用示波器观察上升沿,找到一个振铃消失但开关速度还能接受的值。我用的是18Ω,开关时间大约120ns,20kHz下完全没有问题。

6.3 电机反转瞬间的尖峰:TVS和电容的配合

有一次测试时发现,电机正转急停再快速反转,驱动芯片的VM脚电压能冲到输入电压的1.5倍以上。这是因为电机是感性负载,反电动势通过H桥的续流二极管向电源电容充电,如果电源电容不够大、TVS反应速度不够,尖峰就会直接打在芯片上,最终把芯片的稳压器打坏。

解决方案有三层:第一,在VM引脚附近增加足够容量的储能电容,比如100uF聚合物电容,吸收一部分反向能量;第二,在电源输入端加一个TVS管,选击穿电压比最高工作电压高一点、但比芯片绝对最大额定电压低很多的型号;第三,软件上在正反转切换时加入短暂的滑行时间,让电机电流先衰减再反向。这三层配合下来,反转尖峰从8V多降到了6.5V以内,芯片再也没有因为这个坏过。

6.4 热成像带来的最后一轮优化

最后版本用热成像检查双路同时满载的温升,发现芯片旁边一小块铜皮温度特别高。原因不是铜皮面积不够,而是芯片散热过孔打得太少,热量堆积在PowerPad附近,无法有效导到背面。后来把过孔数量从4个加到8个,孔径保持0.3mm,铜皮加宽到覆盖整个底层,温升下降了20℃以上。这件事告诉我,热设计不能只看热阻公式,要看实际铜箔面积和过孔导热能力。

最后说一个我自己养成的习惯:每次板子回样,先不焊电机驱动部分,只焊电源和逻辑电路,用信号发生器给PWM,测量所有关键点位的默认电平,确认无误后再焊功率管。这个流程已经帮我拦下至少三次原理图笔误,也让后续故障定位快了很多。微型双路H桥控制这件事,真正难的不是“转起来”,而是“转得稳、坏不了”。希望上面的过程能给想在同样方向上做尝试的人省下几块烧掉的板子。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询