2. H桥基础概念与工作原理
H桥是一种经典的电机驱动电路,因其电路拓扑形状类似字母"H"而得名。它通过四个开关器件(如MOSFET、IGBT或继电器)的协同控制,能够实现电机的正转、反转、制动和自由停止四种基本工作状态。
2.1 H桥基本拓扑结构
典型的H桥电路由四个开关器件(Q1-Q4)和一个直流电机(M)组成:
VCC | Q1 Q3 | | +--M--+ | | Q2 Q4 | GND关键连接关系:
- Q1和Q2组成上半桥臂
- Q3和Q4组成下半桥臂
- 电机连接在Q1-Q3和Q2-Q4的中间点
2.2 四种基本工作模式
2.2.1 正转模式(Q1和Q4导通)
// 控制逻辑 Q1 = ON, Q2 = OFF Q3 = OFF, Q4 = ON // 电流路径 VCC → Q1 → 电机 → Q4 → GND此时电流从左向右流过电机,实现正转。
2.2.2 反转模式(Q2和Q3导通)
// 控制逻辑 Q1 = OFF, Q2 = ON Q3 = ON, Q4 = OFF // 电流路径 VCC → Q3 → 电机 → Q2 → GND电流方向反转,电机反向旋转。
2.2.3 制动模式(Q1和Q2或Q3和Q4同时导通)
// 快速制动 Q1 = ON, Q2 = ON // 或 Q3 = ON, Q4 = ON Q3 = OFF, Q4 = OFF将电机两端短接,利用反电动势产生制动力矩。
2.2.4 自由停止模式(所有开关断开)
// 控制逻辑 Q1 = OFF, Q2 = OFF Q3 = OFF, Q4 = OFF电机惯性滑行至停止,无主动制动。
2.3 关键技术参数
电压规格:
- 工作电压范围:通常5V-48V,根据电机需求选择
- 逻辑电压:3.3V或5V,用于控制信号
电流能力:
- 持续电流:由开关器件和散热设计决定
- 峰值电流:短时过载能力
开关频率:
- PWM频率:通常10kHz-100kHz
- 过高频率会增加开关损耗
- 过低频率会导致电机噪音和振动
3. H桥驱动芯片选型与比较
在实际项目中,我们通常不会直接用分立元件搭建H桥,而是选择集成驱动芯片。以下是常见H桥驱动芯片的比较:
3.1 常用H桥驱动芯片对比
| 芯片型号 | 工作电压 | 持续电流 | 峰值电流 | 控制接口 | 特点 |
|---|---|---|---|---|---|
| TB6612FNG | 2.5-13.5V | 1.2A | 3.2A | PWM+IN | 双通道,低功耗 |
| DRV8833 | 2.7-10.8V | 1.5A | 3.0A | PWM+IN | 双通道,过流保护 |
| L298N | 5-46V | 2A | 3A | TTL | 经典耐用,需散热 |
| BTS7960 | 5.5-27V | 43A | 75A | PWM | 大电流,半桥 |
3.2 TB6612FNG详细应用
TB6612FNG是小型直流电机驱动的理想选择,特别适合STM32等MCU控制。
引脚定义:
VM: 电机电压输入(2.5-13.5V) VCC: 逻辑电压(2.7-5.5V) GND: 地 AO1/AO2: 电机A输出 BO1/BO2: 电机B输出 AIN1/AIN2: 电机A控制 BIN1/BIN2: 电机B控制 PWMA/PWMB: PWM速度控制 STBY: 待机控制典型接线图:
// STM32与TB6612连接示例 // 电机A控制 GPIOA->AIN1 = PA0 GPIOA->AIN2 = PA1 TIM2->PWMA = PA2 // PWM输出 // 电机B控制 GPIOA->BIN1 = PA3 GPIOA->BIN2 = PA4 TIM2->PWMB = PA5 // PWM输出 // 使能控制 GPIOA->STBY = PA64. 原理图设计与元器件选型
4.1 核心元器件选型原则
MOSFET选型要点:
- 导通电阻Rds(on)要小,减少导通损耗
- 栅极电荷Qg要小,提高开关速度
- 耐压值至少为工作电压的1.5倍
- 连续电流能力要有足够余量
以IRF540N为例的参数分析:
- Vds = 100V(耐压充足)
- Id = 33A(电流余量大)
- Rds(on) = 0.044Ω(导通损耗小)
- Qg = 71nC(驱动要求适中)
4.2 原理图设计规范
4.2.1 电源部分设计
; 电源滤波电路 C1: 100uF电解电容(低频储能) C2: 100nF陶瓷电容(高频去耦) C3: 10uF钽电容(中频滤波) ; 稳压电路(如需要) U1: LM1117-3.3(3.3V稳压) C4: 10uF(输入滤波) C5: 10uF(输出滤波)4.2.2 驱动电路设计
; 半桥驱动芯片 U2: IR2104(高侧驱动) C6: 100nF(自举电容) D1: 1N4148(自举二极管) ; MOSFET配置 Q1, Q3: IRF540N(高侧) Q2, Q4: IRF540N(低侧) R1-R4: 10Ω(栅极电阻)4.2.3 保护电路设计
; 过流保护 R5: 0.1Ω/5W(电流采样) U3: LM393(比较器) R6, R7: 10kΩ(分压电阻) ; 续流二极管 D2-D5: MBR20100CT(肖特基二极管)5. PCB布局关键要点
5.1 电源路径布局优化
大电流路径设计原则:
- 使用足够宽的铜箔(1A电流对应1mm宽度)
- 避免90度直角转弯,采用45度或圆弧过渡
- 电源入口处集中放置滤波电容
- 高电流路径尽量短而直
具体实施:
电池接口 → 100uF电解电容 → 功率MOSFET → 电机接口 ↓ 100nF陶瓷电容 → 驱动芯片VCC5.2 热管理设计
散热措施:
- MOSFET使用大面积铜箔作为散热片
- 必要时添加散热孔(via)到内层或底层
- 大功率应用需外接散热器
- 热敏电阻监控温度
布局示例:
顶层:MOSFET(源极连接大面积铜箔) 内层:GND平面(通过过孔连接) 底层:散热焊盘+过孔阵列5.3 信号完整性考虑
PWM信号布线:
- 驱动芯片靠近MOSFET放置
- PWM走线远离大电流路径
- 使用地平面作为参考层
- 敏感信号加屏蔽保护
接地策略:
- 数字地(MCU、逻辑电路)
- 功率地(电机、MOSFET)
- 单点连接,避免地环路
6. 软件控制算法实现
6.1 PWM调速基础
占空比计算:
// PWM占空比与电机速度关系 #define PWM_MAX 1000 // PWM周期计数值 // 速度控制函数 void set_motor_speed(int speed_percent) { if (speed_percent > 100) speed_percent = 100; if (speed_percent < -100) speed_percent = -100; uint16_t duty_cycle = (abs(speed_percent) * PWM_MAX) / 100; if (speed_percent > 0) { // 正转 set_motor_direction(FORWARD); set_pwm_duty(duty_cycle); } else if (speed_percent < 0) { // 反转 set_motor_direction(REVERSE); set_pwm_duty(duty_cycle); } else { // 停止 set_motor_brake(); } }6.2 软启动与软停止
渐变调速实现:
// 软启动函数 void soft_start(int target_speed, int duration_ms) { int current_speed = 0; int step = (target_speed > 0) ? 1 : -1; int step_delay = duration_ms / abs(target_speed); while (current_speed != target_speed) { current_speed += step; set_motor_speed(current_speed); delay_ms(step_delay); } } // 软停止函数 void soft_stop(int duration_ms) { int current_speed = get_current_speed(); int step = (current_speed > 0) ? -1 : 1; int step_delay = duration_ms / abs(current_speed); while (current_speed != 0) { current_speed += step; set_motor_speed(current_speed); delay_ms(step_delay); } }6.3 死区时间控制
防止直通保护:
// 死区时间插入 void set_motor_direction(direction_t dir) { // 先关闭所有开关 set_all_mosfet_off(); delay_us(DEAD_TIME); // 死区时间,通常1-5us switch (dir) { case FORWARD: set_mosfet_q1_on(); set_mosfet_q4_on(); break; case REVERSE: set_mosfet_q2_on(); set_mosfet_q3_on(); break; case BRAKE: set_mosfet_q1_on(); set_mosfet_q2_on(); break; case COAST: // 保持关闭状态 break; } }7. 调试与故障排查
7.1 常见问题及解决方案
| 故障现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 电机不转 | 电源问题 | 测量电源电压 | 检查保险丝、接线 |
| 电机单向转动 | 驱动芯片故障 | 检查控制信号 | 更换驱动芯片 |
| 电机发热严重 | 过载或短路 | 测量工作电流 | 减小负载,检查绕组 |
| PWM控制不灵敏 | 频率设置不当 | 检查PWM频率 | 调整到合适频率 |
| 系统重启 | 电源波动 | 监控电源纹波 | 加强电源滤波 |
7.2 调试步骤指南
第一步:静态测试
- 不接电机,上电测量各点电压
- 检查逻辑电源(3.3V/5V)是否正常
- 测量MOSFET栅极驱动波形
第二步:动态测试
- 接小功率电机测试基本功能
- 逐步增加负载观察电流变化
- 测试正反转、制动功能
第三步:性能优化
- 调整PWM频率优化效率
- 优化死区时间减少损耗
- 测试温升情况完善散热
7.3 示波器测量要点
关键测试点:
- PWM控制信号(频率、占空比)
- MOSFET栅极波形(上升/下降时间)
- 电机两端电压(纹波情况)
- 电源电流波形(峰值电流)
正常波形特征:
- PWM信号干净无振铃
- 栅极驱动快速无过冲
- 电机电压平滑无尖峰
- 电流波形连续无断续
通过系统性的设计、实施和调试,H桥电机驱动项目可以稳定可靠地运行。关键在于理解原理、精心布局、规范编程和耐心调试。