关节驱动器用半桥拓扑,高边那颗 N 沟道 MOSFET 的栅极电压必须浮在母线之上,靠一颗自举电容和一只快恢复二极管就能解决。本文讲清 IR2110 的悬浮通道与电平移位原理、自举电容 Cbs 的四项电荷来源与计算、自举二极管选型、500V/±2A 关键参数与欠压锁定,附 STM32 TIM1 互补 PWM 死区代码和布板踩坑。
做 机器人关节 的驱动板,功率级几乎都是半桥:一个高边管、一个低边管,中间引出相线去驱动电机的某一相。高边管如果用 N 沟道 MOSFET(导通电阻低、便宜、型号多),它的源极跟着母线中点上下跳,栅极驱动电压就必须"浮"在这个跳动的源极之上——这是半桥驱动最容易翻车的地方。结论先给三条:第一,用一颗 IR2110 加一只自举二极管、一颗自举电容,就能把高边驱动做出来,不需要隔离电源;第二,自举电容的容量必须按"四项电荷"算,算小了高边会欠压关断、算大了充电时间不够;第三,自举方案天生不能 100% 占空比,低边必须周期性开通给电容充电,这条边界必须在软件里守住。下面按拓扑选型、悬浮通道、电容计算、二极管选型、参数边界、代码、布板七步讲透。
先看关节驱动器的实际约束。协作机器人和人形机器人的关节要正反转、要能制动、要能双向给电机灌电流,单向斩波做不到;而整机又希望母线电压尽量高——母线从 48V 到 300V 以上都有,因为同样的功率下电压越高、电流越小、线损和铜重越少,人形机器人为了压重量,正往 300V 级高压母线走。这就把方案逼到了半桥:能用 N 沟道高边管、能双向导通、能覆盖宽母线电压。
把三种常见的功率级实现放在一起比,选择就清楚了。
| 对比项 | 单管低边斩波 | 半桥(高边 + 低边) | 三相桥(3 个半桥) |
|---|---|---|---|
| 开关管数量 | 1 只 | 2 只 | 6 只 |
| 是否需高边驱动 | 不需要 | 需要(1 路悬浮通道) | 需要(3 路悬浮通道) |
| 能否双向驱动电机 | 不能,只能单向调速 | 能,正反转与制动 | 能,且能做 FOC 矢量控制 |
| 母线电压利用 | 受限于单向拓扑 | 宽压可用 | 宽压可用 |
| 典型场景 | 单向风机、简单制动 | 单相关节、有刷直流关节 | 无刷关节、伺服电机 |
| 成本量级 | 低 | 中 | 高 |
选定半桥之后,真正要解决的只有一件事:高边管的栅极参考点是它的源极,而源极电位等于母线中点,会在 0V 和母线电压之间来回跳。低边管好办,栅极对地驱动即可;高边管要么用 P 沟道(高压 P 管又贵又难找,导通电阻还高),要么用隔离电源,要么用自举。IR2110 走的是第三条路:用一颗电容把低边的 15V 电源"抬"到高边去,成本最低、器件最少,代价是不能 100% 占空比。
IR2110 内部有两条独立通道:低边通道以 COM 为参考,高边通道以 VS 为参考。VS 就是高边管的源极、也就是半桥中点,它可以被抬到 500V(IR2113 是 600V)。高边通道的供电是 VB,而 VB 和 VS 之间挂的就是自举电容 Cbs——所以 高边驱动电源是一个"骑"在中点上的浮动电源。
工作过程分两个阶段。低边管导通时,中点被拉到接近 COM,VCC(15V)经自举二极管 Dbs 给 Cbs 充电,电容两端电压接近 15V 减二极管压降;接着低边关断、高边开通,中点被高边管抬到母线电压,此时 Cbs 的下端跟着 VS 一起抬高,上端就自动变成 VS+15V,正好够驱动高边管的栅极。整个过程中,高边通道的输入信号由内部电平移位电路从低边的逻辑域"搬"到悬浮域,所以 HIN 可以用 3.3V 逻辑直接驱动,而 HO 输出却能浮在 500V 之上——这也是 IR2110 用 HVIC 工艺把高压侧和低压侧做在同一颗芯片上的关键。
自举电容的容量是这篇文章最需要算准的一个数。它要在高边持续导通的那段时间里,顶住四种电荷消耗而不让电压跌太多。按 IR 应用笔记 AN-978 的思路,把电荷来源列全:
Q总 = Qg + Qls + Iqbs × ton,max
Cbs ≥ 2 × Q总 / (VCC − Vf)
其中 Qg 是高边管开通一次需要的栅极电荷(查器件手册,别拿输入电容 Ciss 去套),Qls 是内部电平移位电路每周期消耗的电荷(AN-978 给出 500V/600V 级驱动 IC 约 5nC,1200V 级约 20nC),Iqbs 是高边通道的静态电流,ton,max 是高边一次连续导通的最长时间。公式里的"2"表示允许电容电压在最长导通期间跌落不超过 (VCC−Vf) 的一半。
把一组关节驱动的实际数字代进去:
| 参数 | 符号 | 取值 | 来源 / 说明 |
|---|---|---|---|
| 高边管栅极电荷 | Qg | 100 nC | 300V/50A 级 MOSFET 手册典型值 |
| 电平移位电荷 | Qls | 5 nC | AN-978,500V/600V 级驱动 IC |
| 高边通道静态电流 | Iqbs | 230 µA(取最大值) | IR2110 数据手册 |
| 最大连续导通时间 | ton,max | 47.5 µs | 20kHz、占空比上限 95% |
| 驱动电源 | VCC | 15 V | 推荐 10~20V 区间 |
| 自举二极管压降 | Vf | 1.0 V | 快恢复二极管典型值 |
算一遍:Iqbs × ton,max = 230µA × 47.5µs ≈ 10.9nC,Q总 ≈ 100 + 5 + 10.9 ≈ 116nC,代入公式得 Cbs ≥ 2 × 116nC / 14V ≈ 16.6nF。这个值是理论下限——它允许电容电压跌掉 7V,实际工程里我们不会允许这么大的跌落,而且 MLCC 电容在直流偏压下容量会明显衰减,所以要在理论值上再留 5~10 倍裕量,最终选 0.22µF / 25V X7R 这类规格。这样算下来,最长导通期间电容只跌约 0.5V,高边栅极电压始终在 13V 以上,安全。
一条经验边界:自举电容越大,抗跌落能力越强,但充电越慢。低边管的最小导通时间必须够长,才能把电容从"用掉的状态"补回来。工程上一般要求低边每次导通时间 ≥ 自举回路时间常数(Ron,low × Cbs)的 3~5 倍,这就是自举方案不能跑 100% 占空比的根本原因。
自举二极管看着不起眼,选错了会直接烧管或让高边随机掉驱动。它有三个硬要求:反向耐压要高于母线峰值(高边导通时它要顶住整个母线电压)、反向恢复要快(否则低边开通瞬间的尖峰会通过它倒灌进 VCC)、反向漏电要小(高温下漏电大,会在高边导通期间给电容"倒充",把 Cbs 电压顶高,严重时超过 VB 的绝对最大额定值)。三种常见管子的对比如下。
| 对比项 | 1N4007(普通整流) | UF4007(快恢复) | 超快恢复 / HEXFRED 类 |
|---|---|---|---|
| 反向耐压 | 1000 V | 1000 V | 600~1200 V |
| 反向恢复时间 trr | 约 2 µs | 约 75 ns | 约 25 ns |
| 额定电流 | 1 A | 1 A | 1 A 及以上 |
| 高温反向漏电 | 大 | 中 | 小 |
| 是否推荐用于自举 | 不推荐 | 可用 | 推荐 |
如果母线电压不高(比如 48V 关节),1N4148 这类小信号开关管在电流足够时也能用;但母线到 300V 以上,就必须上 600V 以上的快恢复或超快恢复管。另外,自举回路里可以在 VCC 到 Dbs 之间串一只小电阻(几欧姆到十几欧姆),作用是限制低边开通瞬间给 Cbs 充电的峰值电流、抑制 VCC 上的振铃,代价是充电变慢——这颗电阻要和低边最小导通时间一起权衡。
选型和排障时,下面这些数值得背下来。数据来自 IR2110 数据手册,测试条件为 VBIAS=15V、CL=1000pF、TA=25°C。
| 参数 | 符号 | 典型值 | 最大值 / 范围 | 单位 |
|---|---|---|---|---|
| 高边悬浮电源 | VB | VS+10 ~ VS+20 | 525 | V |
| 高边悬浮偏置电压(IR2110) | VS | — | 500 | V |
| 输出峰值电流 | IO+ / IO− | 2.5 | ≥2.0(脉宽 ≤10µs) | A |
| 开通延时 | ton | 120 | 150 | ns |
| 关断延时 | toff | 94 | 125 | ns |
| 保护关断延时 | tsd | 110 | 140 | ns |
| 两通道延时匹配 | MT | — | 10 | ns |
| 允许的中点电压瞬变 | dVS/dt | — | 50 | V/ns |
| VBS 欠压阈值(正/负向) | VBSUV+ / VBSUV− | 8.6 / 8.2 | 9.7 / 9.4 | V |
| VCC 欠压阈值(正/负向) | VCCUV+ / VCCUV− | 8.5 / 8.2 | 9.6 / 9.4 | V |
| 逻辑输入阈值 | VIH / VIL | 9.5 / 6.0 | — | V |
| 工作温度 | TA | — | −40 ~ 125 | °C |
几个边界要特别留意。第一,欠压锁定是双向的:VBS 低于约 8.2V 时高边通道会被锁死,VCC 低于约 8.2V 时低边锁死——所以自举电容电量耗尽的表现,就是高边"突然不工作",而不是输出畸变。第二,中点电压瞬变上限是 50V/ns,超过这个斜率,内部电平移位电路可能误触发。第三,逻辑地 VSS 相对 COM 允许 ±5V 偏移,并且数据手册注明 VS 在 −4V 到 +500V 之间逻辑仍可正常工作——这就是为什么 IR2110 能容忍中点在下管续流时的负过冲,但过冲幅度和持续时间仍要靠布板控制,这部分细节我们放在另一篇讲驱动 IC 瞬态保护的文章里。
半桥驱动最怕上下管同时导通(直通),所以 STM32 的高级定时器 TIM1 用中心对齐互补 PWM 加死区是最标准的做法:CH1 接 IR2110 的 HIN,CH1N 接 LIN,死区由硬件插入,不占 CPU。下面这段是寄存器级初始化,时钟按 168MHz 算,目标 20kHz、死区 500ns。
/* 机器人关节半桥:TIM1 中心对齐互补 PWM + 死区,直驱 IR2110 的 HIN/LIN
* TIM1 时钟 168MHz,目标 f_PWM = 20kHz,死区约 500ns
*/
void joint_hbridge_pwm_init(void)
{
/* 中心对齐模式:f_PWM = 168MHz / (2 * (ARR + 1)) */
TIM1->PSC = 0;
TIM1->ARR = 4199; /* 168e6 / (2*4200) = 20kHz */
/* CH1 主输出(接 HIN),CH1N 互补输出(接 LIN) */
TIM1->CCMR1 = (6u << 4) | (1u << 0); /* PWM 模式 1 + 预装载使能 */
TIM1->CCER = (1u << 0) | (1u << 2); /* CC1E + CC1NE,两路都开 */
TIM1->CCR1 = 2100; /* 约 50% 占空比 */
/* 死区:DTG = 0x54 → 84 × 5.95ns ≈ 500ns
* 死区大小 = 高边/低边管的关断时间 + 裕量,必须大于实际关断时间
*/
TIM1->BDTR = (0x54u << 0) | (1u << 15); /* DTG 死区 + MOE 主输出使能 */
TIM1->CR1 = (1u << 5) | (1u << 0); /* 中心对齐模式 1 + 计数器使能 */
}
再补一段自举跌落校验,把第三节的公式写成一个函数,改参数时顺手算一遍,避免拍脑袋选电容。
/* 校验自举电容在最长高边导通期间的电压跌落
* 返回单位:伏;一般要求跌落 < 1V
*/
float cbs_droop(float cbs_f, /* 自举电容,法拉 */
float qg_c, /* 栅极电荷,库仑 */
float iqbs_a, /* 高边静态电流,安 */
float t_on_s, /* 最长导通时间,秒 */
float qls_c) /* 电平移位电荷,库仑 */
{
float q = qg_c + iqbs_a * t_on_s + qls_c; /* 一个周期耗掉的电荷 */
return q / cbs_f; /* ΔV = Q / C */
}
/* 例:C=220nF, Qg=100nC, Iqbs=230µA, t_on=47.5µs, Qls=5nC
* Q = 100n + 230u*47.5u + 5n = 115.9nC
* ΔV = 115.9n / 220n ≈ 0.53V → 合格
*/
软件上还有三点必须守住:其一,PWM 输出使能前先确认 VCC 和 VDD 已建立,避免上电瞬间自举电容还没充满就开管;其二,SD(关断)引脚要接到过流比较器的输出,配合 IR2110 的逐周期边沿触发关断逻辑,实现硬件级过流保护,不要只靠软件中断;其三,任何会长时间保持某一相固定电平的控制策略(比如把占空比顶到 100%)都必须改成留出最小低边导通时间,否则自举电容一定掉电。
同样的原理图,布板不同结果能差出一个数量级。关节驱动板尤其要注意这几点:自举电容必须紧贴 IR2110 的 VB 和 VS 引脚,走线越短越好,回路面积越小越好;自举二极管也放在芯片旁边,别拉到板子另一头;VCC 去耦电容(10µF 电解 + 0.1µF 陶瓷)紧靠 VCC-COM;高边管源极到 VS 引脚的连线要短而粗,因为这里流过的是整个相电流的回路,寄生电感会在开关瞬间产生压降,直接冲击 VS 引脚的负过冲。
还有两个高频踩坑点。第一,VS 的负过冲:低边续流时,中点会被杂散电感拉到 0V 以下,幅度可能到几十伏,超过 −4V 就进入数据手册的临界区,所以要在 VS 到 COM 之间做限幅(快恢复二极管 + 小电阻)。第二,VB 过压:自举电容电压理论上不会超过 VCC,但如果二极管漏电大、或者中点负过冲把电荷泵进电容,VB 就可能被顶高,所以自举二极管要选漏电小的,必要时在 Cbs 两端并一只稳压管做钳位。这两类问题都和杂散参数有关,属于典型的"原理图看不出来、示波器一看就明白"的故障。
关节半桥驱动的自举方案,落地逻辑可以压成三步:先判断拓扑——要正反转、要宽母线电压,就上高边+低边的半桥;再算准自举电容——把栅极电荷、电平移位电荷、静态电流和最长导通时间四项加全,按公式算出下限,再留 5~10 倍裕量并考虑 MLCC 直流偏压衰减;最后守住边界——低边必须有最小导通时间、欠压锁定会突然掐掉高边、中点瞬变不能超过 50V/ns。
工程上再记三件事:自举电容和自举二极管紧贴芯片、死区由 TIM1 硬件插入、SD 引脚接硬件过流比较器。把这三件事做扎实,一颗 IR2110 加一只快恢复二极管、一颗 0.22µF 电容,就能把 300V 级关节的半桥驱动稳稳做出来,成本还比隔离电源方案低一大截。
自举不是"省一颗隔离电源"的小技巧,而是半桥高边驱动的一条完整设计路径——IR2110 用悬浮通道把电平移位做在芯片里,剩下的功课全在 Cbs 的容量、Dbs 的恢复速度、低边的最小导通时间和布板的杂散控制上。
本文基于《IR2110/IR2113 高边低边驱动器数据手册》《AN-978:MOS 栅极驱动集成电路的使用》等技术资料整理优化,并结合机器人关节驱动器半桥功率级与嵌入式开发的工程实践进行了系统化梳理。
沧州艾诺威电子 — 国家高新技术企业,20+项国家专利
嵌入式系统开发 · 物联网方案 · AI智能硬件 · 一站式交付
电话:13930711029 | 邮箱:tech@czinv.com | 24小时内响应