3、H桥驱动原理:四种开关状态、电流路径与逻辑控制真值表
H桥(H-Bridge)是直流电机驱动中最经典、最核心的功率变换拓扑。它由四个开关管(MOSFET或IGBT)构成,外形类似字母“H”,电机绕组横跨在桥臂中间。理解H桥的四种开关状态——正转、反转、制动、滑行,是设计可靠驱动电路、分析电流路径、编写控制逻辑以及排查故障的基础。本节将从开关组合出发,深入剖析每种状态下的电流流向、续流路径和电气特性,并给出可直接用于固件编程的逻辑控制真值表。
3.1 核心原理:H桥拓扑与开关组合逻辑
H桥电路由四个功率开关管(通常为N沟道MOSFET)组成,分别标记为Q1(左上)、Q2(右上)、Q3(左下)、Q4(右下)。电机绕组连接在左右桥臂的中点(A点和B点)之间。通过控制四个开关管的导通与关断组合,可以在电机两端施加不同极性的电压,或者将电机绕组短路,或者使电机处于开路状态。这四种组合对应电机的四种工作模式:正转、反转、制动和滑行。
从电路原理来看,H桥本质上是一个“四象限”变换器:
- 第一象限(正转电动):Q1和Q4导通,电流从V+经Q1→A点→电机绕组→B点→Q4→GND,电机两端电压为V+,电机正转。
- 第三象限(反转电动):Q2和Q3导通,电流从V+经Q2→B点→电机绕组→A点→Q3→GND,电机两端电压为-V+,电机反转。
- 制动模式(能耗制动):Q1和Q3导通(或Q2和Q4导通),电机两端被短路,旋转产生的反电动势(Back-EMF)在绕组中形成短路电流,产生制动力矩。
- 滑行模式(惯性运行):四个开关全部关断,电机绕组开路,电机依靠惯性自由旋转,反电动势通过体二极管续流。
3.2 四种开关状态的详细电流路径分析
3.2.1 正转状态(Q1/Q4导通)
当Q1和Q4导通,Q2和Q3关断时,电流路径为:电源正极V+ → Q1(D-S)→ A点 → 电机绕组 → B点 → Q4(D-S)→ 电源负极GND。此时电机两端电压为V+,电流从A流向B,电机正转。
在实际运行中,电机绕组是感性负载,电流不能突变。当PWM斩波时,Q1/Q4关断的瞬间,绕组中的电流需要续流路径。此时电流通过Q2的体二极管(从B点→Q2体二极管→V+)和Q3的体二极管(从GND→Q3体二极管→A点)形成续流回路,保证电流连续。
3.2.2 反转状态(Q2/Q3导通)
当Q2和Q3导通,Q1和Q4关断时,电流路径为:V+ → Q2(D-S)→ B点 → 电机绕组 → A点 → Q3(D-S)→ GND。电机两端电压为-V+,电流从B流向A,电机反转。
同样,在PWM关断期间,电流通过Q1和Q4的体二极管续流。值得注意的是,反转状态下的续流路径与正转状态完全对称,这保证了H桥的对称性设计。
3.2.3 制动状态(Q1/Q3导通或Q2/Q4导通)
制动状态有两种实现方式:同侧制动(Q1/Q3导通)和对侧制动(Q2/Q4导通)。以Q1/Q3导通为例,此时电机两端A点和B点都被连接到地(通过Q3)或电源(通过Q1),实际上是将电机绕组短路。电机旋转产生的反电动势(Back-EMF)在短路回路中产生电流,该电流与旋转方向相反,产生制动力矩。
制动电流的大小取决于反电动势和绕组电阻:I_brake = E_back / R_winding。如果电机转速很高,制动电流可能非常大,需要限制或采用PWM制动方式。
3.2.4 滑行状态(全部关断)
当四个开关管全部关断时,电机绕组与外部电路断开,电机依靠惯性自由旋转。此时,如果电机仍在旋转,其反电动势会在绕组两端产生电压。由于没有外部回路,电流为零,电机处于“自由滑行”状态。
但需要注意的是,如果电机绕组中存在残余电流(例如刚关断时),该电流会通过四个体二极管中的一个或两个续流,直到能量耗尽。滑行状态下,电机的减速完全依靠机械摩擦和风阻,减速曲线较平缓。
| 状态 | 导通开关 | 电流路径 | 电机端电压 | 特性 |
|---|---|---|---|---|
| 正转 | Q1, Q4 | V+ → Q1 → A → 绕组 → B → Q4 → GND | +V+ | 正向驱动,电流从A到B |
| 反转 | Q2, Q3 | V+ → Q2 → B → 绕组 → A → Q3 → GND | -V+ | 反向驱动,电流从B到A |
| 制动 | Q1, Q3 或 Q2, Q4 | 绕组两端短路,反电动势产生短路电流 | 0(短路) | 能耗制动,快速减速 |
| 滑行 | 全部关断 | 无外部回路,仅体二极管续流 | 开路 | 惯性运行,自由减速 |
3.3 逻辑控制真值表与固件实现
在数字控制系统中,H桥的四个开关管由MCU的GPIO或专用栅极驱动器控制。逻辑真值表定义了开关管控制信号与电机状态之间的映射关系。以下是标准的H桥逻辑真值表(1表示导通,0表示关断):
// H桥控制真值表(以GPIO输出为例)
// Q1 = GPIO_PIN_1, Q2 = GPIO_PIN_2, Q3 = GPIO_PIN_3, Q4 = GPIO_PIN_4
// 正转:Q1=1, Q2=0, Q3=0, Q4=1
#define MOTOR_FORWARD {1, 0, 0, 1}
// 反转:Q1=0, Q2=1, Q3=1, Q4=0
#define MOTOR_REVERSE {0, 1, 1, 0}
// 制动:Q1=1, Q2=0, Q3=1, Q4=0
#define MOTOR_BRAKE {1, 0, 1, 0}
// 滑行:Q1=0, Q2=0, Q3=0, Q4=0
#define MOTOR_COAST {0, 0, 0, 0}
// 禁止状态:Q1=1, Q2=1, Q3=0, Q4=0(直通短路!)
#define MOTOR_FORBIDDEN {1, 1, 0, 0}
3.4 实战场景:PWM调速与换向控制
在实际电机驱动系统中,很少直接使用恒定的正转或反转信号,而是通过PWM(脉冲宽度调制)实现调速。PWM信号可以施加在高边开关管(Q1或Q2)上,低边开关管保持常通,这种方式称为“高边PWM”。也可以采用“低边PWM”或“互补PWM”方式。
典型应用场景:假设一个直流有刷电机额定电压12V,额定电流2A,需要实现0-100%的PWM调速和正反转切换。控制策略如下:
- 正转调速:Q4常通,Q1接收PWM信号(频率20kHz,占空比可调),Q2/Q3关断。当PWM占空比为D时,电机平均电压为D×12V。
- 反转调速:Q3常通,Q2接收PWM信号,Q1/Q4关断。电机平均电压为-D×12V。
- 快速制动:在正转过程中需要急停时,先将PWM占空比设为0,然后立即切换为制动状态(Q1/Q3导通),电机反电动势被短路,产生制动力矩。
- 滑行停止:如果希望电机自然减速,则切换为滑行状态(全部关断),电机依靠摩擦阻力缓慢停止。
3.5 常见误区与设计要点
误区一:忽视死区时间
在PWM切换过程中,由于MOSFET的开关延迟(开通延迟、关断延迟),如果同一桥臂的上下管(如Q1和Q2)同时导通,就会发生直通短路。解决方法是插入死区时间(通常为100ns-2μs),确保一个管子完全关断后再开通另一个管子。
误区二:混淆制动与滑行
制动状态(短路)和滑行状态(开路)对