2. H桥驱动原理:H桥拓扑结构、4个开关管的工作状态(正转、反转、刹车、滑行)、死区时间概念
各位同学,今天我们来聊聊H桥驱动。说实话,H桥这个名字听起来挺唬人的,但说白了就是四个开关管搭成一个「H」形状的电路。我当年刚入行时,第一次看到这个拓扑结构,心里想:这不就是个桥式电路嘛,怎么起了个这么形象的名字?
2.1 H桥拓扑结构
先看最基本的拓扑。四个开关管——我习惯用MOSFET,当然也可以用IGBT或者BJT——分别放在左上、右上、左下、右下四个位置。负载(也就是车窗电机)接在桥的中间,像一座桥横跨在两条竖臂之间。
你想想看,这个结构像不像字母「H」?两个竖杠是左右两列开关管,横杠就是电机。嗯,名字就是这么来的。
我一般把四个开关管编号为:
- Q1:左上管(高侧左)
- Q2:右上管(高侧右)
- Q3:左下管(低侧左)
- Q4:右下管(低侧右)
每个开关管旁边都并联一个续流二极管——这个细节千万别漏了。电机是感性负载,电流不能突变,续流二极管就是给电流提供回路的。我在项目中见过有人把二极管省掉,结果一关断,MOSFET直接击穿,那叫一个惨。
关键点:H桥的核心就是通过控制四个开关管的通断组合,让电流以不同方向流过电机,从而实现正反转、刹车和滑行。
2.2 四个开关管的工作状态
H桥有四种基本工作状态。我建议你把这四种状态记牢,因为后面讲PWM调制、电流检测,全都基于这四种状态。
2.2.1 正转状态
正转时,电流从左向右流过电机。怎么做?导通Q1和Q4,关断Q2和Q3。电流路径:电源正极 → Q1 → 电机左端 → 电机右端 → Q4 → 电源负极。
电机正转,车窗上升。嗯,这个逻辑很直观。
2.2.2 反转状态
反转时,电流从右向左。导通Q2和Q3,关断Q1和Q4。电流路径:电源正极 → Q2 → 电机右端 → 电机左端 → Q3 → 电源负极。
电机反转,车窗下降。
2.2.3 刹车状态
刹车,也叫主动短路。把电机两端短接,利用电机的反电动势产生制动转矩。怎么做?导通Q3和Q4(两个下管),或者导通Q1和Q2(两个上管),关断另外两个。
我习惯用下管刹车,因为下管驱动电路简单,不用自举电容。当然,上管刹车也可以,但要注意驱动电压问题。
刹车时电流会很大,我曾经在测试时没注意散热,MOSFET直接冒烟了。嗯,刹车时间不能太长,否则热积累很严重。
2.2.4 滑行状态
滑行,也叫续流状态或高阻状态。四个开关管全部关断,电机两端悬空。电流通过续流二极管自然衰减,电机自由转动。
滑行时电机没有制动力矩,车窗可以靠惯性继续运动。这个状态在防夹功能中很常用——检测到障碍物后,先滑行一小段,再反转。
| 状态 | Q1 | Q2 | Q3 | Q4 | 电机行为 |
|---|---|---|---|---|---|
| 正转 | ON | OFF | OFF | ON | 正向转动 |
| 反转 | OFF | ON | ON | OFF | 反向转动 |
| 刹车 | OFF | OFF | ON | ON | 快速停止 |
| 滑行 | OFF | OFF | OFF | OFF | 自由转动 |
我的经验:实际项目中,正转和反转切换时,一定要先进入刹车或滑行状态,停留一段时间(比如1ms),再切换到目标状态。直接切换的话,上下管直通的风险极高。
2.3 死区时间概念
死区时间,这是H桥驱动中最容易出问题的地方,没有之一。
什么叫死区时间?说白了,就是防止上下管同时导通的那段「空白期」。你想想看,如果Q1和Q3同时导通,电源正极直接对地短路,电流瞬间飙升,MOSFET秒秒钟烧掉。
为什么会同时导通?因为开关管有导通时间和关断时间。关断需要时间,导通也需要时间。如果关断信号和导通信号同时到达,可能上管还没完全关断,下管就已经开始导通了——这就是直通(shoot-through)。
我个人的习惯是:在切换上下管状态时,先关断当前导通的管子,等待一段时间(死区时间),再导通另一个管子。这个等待时间就是死区时间。
死区时间设多长?这取决于你用的MOSFET的开关特性。一般来说:
- 低压MOSFET(30V-60V):死区时间100ns-500ns
- 高压MOSFET或IGBT:死区时间1μs-3μs
我曾经在一个项目中,死区时间设得太短(只有50ns),结果MOSFET的关断延迟比预期长,导致上下管直通。那次烧了三个驱动板才找到原因。嗯,从那以后我养成了一个习惯:死区时间宁长勿短,多出来的几十纳秒不会影响性能,但少了就会炸管。
警告:死区时间不是越长越好。太长的死区时间会导致电机电流波形畸变,产生谐波,增加损耗。一般建议在保证不直通的前提下,尽量缩短死区时间。
实现死区时间的方法有两种:
- 硬件死区:用RC延时电路或专用死区时间芯片(如IR2104自带死区)。适合对时序要求不高的场合。
- 软件死区:在MCU的PWM输出中,通过定时器配置插入死区时间。STM32的TIM高级定时器就支持这个功能,非常方便。
我个人更倾向于软件死区,因为灵活。你可以根据不同的工况动态调整死区时间——比如温度升高时MOSFET开关速度变慢,可以适当增加死区时间。
好了,H桥的基本原理就讲到这里。下一章我们聊聊PWM调制和电流检测,这两个才是车窗电机控制的核心难点。到时候我会分享一些我在实际项目中踩过的坑,希望对你有帮助。