☰
IGBT死区时间与自然换流、强迫换流详解及补偿实践
2026/10/6 5:05:47 网站建设 项目流程

干这行久了你会发现一个有意思的现象:很多工程师对死区时间这四个字并不陌生,真到了调机、炸管、波形畸变找原因的时候,能一次说清楚它到底怎么取值、为什么会有自然换流和强迫换流之分的人,其实并不多。死区时间这个参数在IGBT应用里,看着只是PWM波形里那不起眼的几微秒缝隙,但它直接决定了逆变桥是否直通、电流过零时波形是否畸变、电机低速时会不会抖,甚至决定了你的功率模块在满载工况下的使用寿命。这篇文章,我想把死区时间和IGBT换流这堆事从头到尾捋一遍,包括它是什么、为什么要设、设多少合适、怎么根据电流方向做补偿,以及我在实际项目中踩过的那些和死区相关的坑。

1. 死区时间到底是什么:从半桥直通说起

1.1 一个IGBT关断后到底要多久才能彻底“绝缘”

想理解死区时间,得先回到IGBT实际关断的物理过程。你给IGBT一个关断信号,发射极电流不会立刻变成零,它要先经历关断延迟时间(td(off))、电流下降时间(tf),然后还有一个非常特殊的IGBT“拖尾电流”阶段。双极性器件的少数载流子存储效应决定了,关断后那段时间里管子内部还有大量载流子在复合,电流会拖着一条长长的尾巴慢慢消失。

这个拖尾时间,不同厂商不同型号差异很大。同规格的IGBT,有的拖尾可能只有几十纳秒,有的却要几百纳秒甚至超过一微秒。更麻烦的是,拖尾电流时间还跟温度有直接关系——结温升高,载流子寿命变长,拖尾时间也跟着变长。这也是为什么你不看datasheet查这些参数,直接用计数器随便填一个死区值,夏天可能没事,冬天一上冷机反而炸管率飙升。

1.2 桥臂直通:死区存在的根本理由

IGBT在逆变电路里基本都是半桥或者全桥结构。以最典型的半桥为例,上管VT1和下管VT2串联在直流母线上。如果VT1还没完全关断、VT2就被拉开,直流母线正负极之间等于直接短路,这个状态叫“桥臂直通”。直通的后果不必多说,电流瞬间飙高,IGBT跟着那个大电流在微秒级时间内烧毁,甚至炸开模块封装。

死区时间(dead time)就是你在互补PWM波形里故意插入的那段时间,让上管的关断和下管的开通之间留一段“空窗期”,确保先关闭的管子真正关断之后,另一只管子才允许导通。硬件上可以用专用的死区时间生成电路,也可以用CPU/FPGA在PWM比较寄存器里填数值实现。标准做法是在下降沿触发后延迟Td_e再由对管的上升沿开始。

1.3 衡量与单位

死区时间常用单位是微秒(μs),小功率IGBT驱动一般设置在1μs到3μs之间,超大功率模块(比如3300V以上压接式IGBT)有的要设置到10μs甚至更长。曾经有同事问:那我直接把死区时间设成0.5μs,让系统跑得“更顺滑”不行吗?答案是不行。死区时间不是随意加点延迟就完事,它是你在“桥臂直通风险”和“波形失真代价”之间走钢丝的结果。取值太小会炸管,取值太大电压利用率下降、波形畸变,电机电流谐波急剧增加。

2. 自然换流和强迫换流:两个被混为一谈的换流概念

2.1 先搞明白换流到底换的是什么

换流,简单说就是电流从一个导通支路“挪”到另一个支路的过程。在电力电子电路里,绕组电流不会凭空消失,它总得有个回路。比如逆变器同一相桥臂上,上半部分导通时电流从母线正极流过负载,移相到下一阶段后,上半部分关断、下半部分或二极管接过电流——这个交接过程就是换流。

很多人把自然换流、强迫换流这几个词归到晶闸管(SCR)时代去,觉得现在全是IGBT了,换流方式早不重要了。这个理解不太对。换流概念不仅没有过时,反而是理解IGBT死区效应的一把钥匙。

2.2 自然换流:靠外部电压自然地“逼”走电流

自然换流(natural commutation)指的是,电流转移并不依赖额外辅助电路,而是靠电网电压或者负载电压本身的极性变化,让正在导通的器件自动受到反向电压而关断。

最典型的场景是电网换流的晶闸管整流器。当三相交流电的线电压反向时,当前导通的晶闸管承受反向电压,电流自然转移到下一相,晶闸管自己就关断了。整个过程不需要额外触发关断电路,所以叫“自然换流”。这类电路天然有一个特点:换流点完全由交流电网相位决定,可控性有限,适合低频、大功率的工频整流场景,比如电解整流、直流电机调速。

2.3 强迫换流:由驱动信号强制“切换”电流

强迫换流(forced commutation)则是在需要关断时,通过外部电路或门极驱动电压主动“压掉”电流。IGBT之所以能广泛应用在逆变器里,核心就在于它是自关断器件——你给它门极一个低电平,它就强行切断电流通路,不管外部电压极性如何都照做不误。

在自关断器件时代,所谓强迫换流在IGBT桥臂里的体现是:控制级主动关断上管,同时把电流迫移到下管或续流二极管上。硬开关逆变器的每次开关,本质上都是一次强迫换流。正是因为IGBT具备强迫换流能力,我们才可能在中高频PWM下自由调压调频。

2.4 两种换流一字之差,应用逻辑完全不同

特性自然换流强迫换流
关断触发源外部电压(电网/负载)反压门极驱动信号主动控制
典型器件晶闸管、整流二极管IGBT、MOSFET
换流时刻由外部电压相位决定由PWM调制决定,实时可控
电路复杂度无需辅助换流电路需可靠驱动和保护
IGBT场景电机定子反电势辅助换流、二极管续流换流逆变桥桥臂开管关管、PWM斩波

3. IGBT桥臂里,自然换流和强迫换流其实同时存在

3.1 死区时间内发生的其实是“自然换流”

这点非常关键,看起来很简单,但真有人理解反了。在IGBT逆变器中,当你在死区时间内强制关断上管后,负载电流不会乖乖等在那里,它需要一个路径继续流动。如果负载电流方向是流出桥臂的(假设是正向电流),上管关断后电流会立刻换流到下管的续流二极管(FWD)上,由下管二极管和负载构成回路。

这个换流过程中,下管IGBT并没有被触发导通,它的门极还是低电平。电流是靠负载电感上感应出的电压极性,自然地把二极管正向导通压降后的续流通路给顶出来。严格说,这就是一种自然换流——电流被转移到二极管,和门极信号无关。

3.2 死区结束后发生的则是强迫换流

死区时间结束后,下管IGBT收到开通信号。此时如果二极管还在导通,下管IGBT一开通,它和并联的二极管之间会发生电流转移。二极管由于显存正向导通的载流子,在电压反向时不会立刻截止,会产生反向恢复电流,这个电流要经过刚刚开通的IGBT,导致开通损耗增加。

这种由门极主动触发产生的电流转移,就是强迫换流。你可以把理解方式简化为:在IGBT桥臂上,一个开关周期里,死区内是二极管自然续流换流,死区后是IGBT主动接管电流的强迫换流。两者交替出现,共同决定了死区效应的本质。

3.3 电流过零附近:到底谁在导通变得模糊

死区时间为什么会引起电流畸变?根源在于,当负载电流方向固定的时候,死区时间导致输出电压平均值发生了偏离——要么多出一块电压,要么少了一块电压。但当负载电流接近零时,二极管续流的方向不再明确,死区时间内输出电压的方向和理想方向相反,甚至可能来回荡。

一旦电流过零,换流模式就从“确定方向”变成“不确定状态”,这时候死区时间引起的误差电压极性随机变化,电流波形会出现一个“零电流钳位效应”:本来平滑的正弦电流曲线在过零处出现一段平坦台阶,电流幅值越低,这个台阶的作用越明显。这个现象在电机轻载、伺服静止保持、光伏并网逆变器轻载时都会遇到,处理不好就是电流THD超标、电机运转抖动。

4. 死区时间给波形带来的麻烦:电压损失和过零畸变

4.1 死区时间导致的平均电压损失计算公式

很多搞PLC和电机控制的人都知道死区对波形有影响,但具体影响多大,其实可以算出来。假设PWM周期为Tsw,死区时间为Td,直流母线电压为Vdc,负载电流方向为正时,死区累计造成的输出电压误差平均值为:

ΔV = (Td / Tsw) × Vdc

换句话说,在一个PWM周期里,有Td这么长一段时间,桥臂输出电压被“架空”了,丢掉了本应该有的电平。如果开关频率是10kHz,Tsw就是100μs,Td取2μs,那ΔV不是2%的损失,而是Vdc的2%。看起来不算大,但折算到基波电压上,在低调制比工况下可能占比到5%~10%,电机转矩波动和噪声马上就能感觉到。

4.2 更准确的物理认识:误差电压方向取决于电流极性

上面的公式是个简化。实际死区造成的电压误差,方向跟电流极性强相关:电流为正时,死区造成桥臂输出电压被往下拉(下管二极管续流),等效于输出端损失一个正向电压脉冲;电流为负时,情况反过来,死区导致输出电压被往上托,等效于多出一个正压脉冲。

这就是死区补偿的基本物理依据:知道了电流极性,我们就可以估算出补偿电压的大小和方向。控制算法里通常把它当作一个与电流极性符号相同的恒定电压叠加项,加入到电压指令里。有些FOC实现里把死区补偿做成几个电压阶梯,再配合离线测量的误差表,效果比单一补偿值好很多。

4.3 谐波与控制性能恶化

死区时间不只降低基波电压利用率,它所造成的误差电压呈方形波,含有大量低次谐波,尤其是5次、7次、11次、13次。对于电机控制来说,这些谐波电流会带来转矩脉动,低频时特别明显;对并网逆变器来说,谐波不达标会导致并网电流波形变差;对伺服系统来说,零电流钳位直接导致静止转轴上出现“轻杆振动”一样的顿挫感。

我见过有人为了解决电机低速抖动,把电流环PID调了一个月没效果,最后发现是死区时间取得太大,占空比修正又没做,低速轻载时死区误差占了指令电压的30%以上,PID再怎么调也是白搭。

5. 死区时间设多少才合理:手把手计算

5.1 最小死区时间的基本算式

死区时间的最小值由这几个部分组成:

Td_min = td(off) + tf + trr + t_drive + t_margin

  • td(off)是IGBT从驱动信号翻转开始到集电极电流开始下降的延迟时间
  • tf是电流下降时间
  • trr是同一桥臂对管并联二极管的二极管反向恢复时间
  • t_drive是驱动电路本身的传输延迟,包括光耦/磁隔离器的传播时间、栅极电阻Rg带来的充放电延迟
  • t_margin是温度、批次、参数漂移的余量

注意一点:你数出来的td(off)和tf不能直接照抄datasheet,datasheet里的值是在特定电压电流和栅极电阻Rg条件下测出来的。你换了栅极电阻,这些参数全部会变。Rg越大,充放电越慢,关断延迟也越长。老工程师常干的事,是先按数据手册典型值算出一个基础死区,再留足50%~100%的余量上到样机,靠温升和短路测试往下压。

5.2 实际算一个600V/几十A级别的IGBT

举个常见例子。某600V、75A规格的IGBT单管,datasheet给td(off)=280ns,tf=110ns,二极管trr=350ns,栅极驱动光耦的传播延迟典型值是300ns、最大可能到550ns。如果按这些参数算:

Td_min = 280 + 110 + 350 + 550 + 200 = 1490ns

取整,驱动设置成1.5μs以上,如果还要考虑结温上升导致参数劣化,直接取2μs。实际不少通用变频器在10kHz载频下就是设2μs左右,高速H桥电源或车载应用也许压到1μs左右,但这是用更快的驱动、更小的Rg、更短恢复的二极管换来的。

5.3 死区时间过长也不行

越长越安全?这个想法很危险。死区时间过大,直接的后果是:输出电压能力下降、电流谐波畸变加大、电机噪音变大,低速性能严重变差。此外,过大的死区还会给电流环引入滞后,影响系统动态响应,某些工况下甚至会引起控制环路振荡。

所以死区不是越大越好,更不是越小越强,它是在安全余量和性能损耗之间折中出来的参数。成熟的商业变频器,除了基础死区,往往还有对死区时间的在线调节功能,从而兼顾安全和波形质量。

6. 死区补偿到底怎么做:从原理到实操

6.1 死区补偿总思路:往电压指令里扎一个补偿项

如果控制系统知道死区造成误差电压的大小和方向,那就在指令电压里反方向加一个电压来抵消。方向判断的核心就是电流极性:

  • 电流正方向流出桥臂,死区时段把输出拉低,需要人为把指令电压抬高
  • 电流负方向流入桥臂,死区时段把输出抬高了,需要人为把指令电压压低

补偿电压大小取ΔV = (Td / Tsw) × Vdc,有的算法还考虑压降损耗(IGBT通态压降和二极管通态压降之差),在高精度伺服系统里做更细的补偿表。

6.2 电流过零的判断才是真正难点

听起来很简单,实际操作最麻烦的就是电流过零判断。因为电流传感器有直流偏置、噪声和量化精度问题,在过零区域你根本判断不了“正”还是“负”,强行判断反而会引入更大的畸变。常见思路有这么几种:

  • 通过脉冲施加小电压,观察电流变化率来估测方向,这叫脉冲注入式极性判断
  • 增加一个滞回区间,在零点附近一定范围内把补偿值平滑过渡到零,避免补偿极性忽然翻转
  • 软件锁存上一次确定的电流方向,在低电流区间不更新方向,靠控制系统的鲁棒性撑过去

还有一种做法,把每次PWM周期内的电流采样点和PWM脉冲的相位对齐,采样时刻避开开关开关瞬间,这样能得到一个更干净的电流值,对方向判断也有帮助。

6.3 在MCU/DSP里如何实现死区补偿

具体实现时,如果你用的是STM32、TMS320或者瑞萨MCU,通常做法是:每个PWM周期读一次三相电流,映射到SVPWM扇区判断电流方向,然后把补偿电压换算成占空比的增减量,直接修改定时器比较寄存器的值。

补偿的方向和占空比修正关系可以归纳为:电流为正时,实际开通时间减少,要加回去;电流为负时,实际开通时间增加,要扣回来。我当时调FOC时用到的偏移量大概是:

Adj = Td / Tsw(归一化到载波周期)

然后根据电流符号决定是加还是减这个量,叠加到A/B/C三相的占空比上。开环补偿很快见效,电流波形在那个过零处的平台会被明显消除。

6.4 实测验证:用电流探头看波形

补偿有没有做好,最有说服力的就是拿电流探头实测。打开电机的电流波形看,在未补偿前,正弦电流过零处会有一截明显的平坦带,电流越小越明显;加上补偿之后,平坦带变窄、消失,正弦连续性明显改善。更专业的做法是同时看桥臂输出对直流母线的线电压波形,发现每个开关周期里死区形成的缺口大小和方向都变了,就说明补偿在起作用。

同步还要关注补偿量是不是过大,导致过零处出现反向尖刺。补偿方向和大小需要和硬件实际一致,否则就是“补反了”,波形只会变得更差。所以调试时先固定一个方向,从小到大逐步加补偿量,观察波形是否改善,再切换方向对比。

7. 选驱动芯片和布局时,容易忽略的死区相关细节

7.1 驱动芯片传播延迟的对称性比绝对时间更重要

有些型号栅极驱动芯片自带死区生成功能。注意,自带死区功能不等于你可以完全高枕无忧。驱动芯片的传播延迟包括上升沿和下降沿两个方向,通常不对称。芯片手册里一般会给出tPLH(低到高传播延迟)和tPHL(高到低传播延迟),两者差异叫传播延迟失配。

对于上下管来说,如果上管和下管用的驱动芯片延迟有差异,实际管子上的死区就不等于你设置值。好的驱动方案,这一对延迟误差可以控制在几十纳秒以内;差的方案几百纳秒都有可能。那怎么办?优先选用延迟差小的驱动光耦或隔离驱动,实在不行就在硬件上做延迟校准,软件里也摸清楚实际边缘偏移量。

7.2 栅极电阻Rg对死区有效性的影响

栅极电阻选大了,IGBT开关变慢,关断延迟和下降时间变长,你原来留的死区时间可能就不够了。尤其一些小功率变频器喜欢为了EMI把Rg加大,结果死区还是按默认值设置,导致的后果就是某些工况下发生微小直通,模块慢慢劣化,最终在某个冷启动瞬间炸机。

反过来,Rg太小,关断速度过快,IGBT集电极过压尖峰又来了,di/dt太大对负载也不友好。所以Rg、死区和吸收电路(snubber)要一揽子调,不能孤立看待。

7.3 死区时间和温度的关系要留余量

IGBT在低温时导通压降特性、电流拖尾和高温时都不一样。很多datasheet参数标的是25℃、125℃两个温度点。设计的时候要按125℃,甚至150℃条件下的参数来核算最小死区时间。否则24小时满载老化跑完后,芯片温度上到110℃以上,拖尾时间变长,你原来按常温算的死区可能就临界了。

我现在做新项目时,都是先按datasheet最差条件算出理论死区,再乘上一个1.2~1.5的安全系数,先在常温烤机验证没直通,再上到高温老化,如果老化过程正常,再尝试往下降一点,直到逼近临界值附近留半档。整个过程用记录表记下来,形成这个项目自己的参数库。

8. 我在几个项目里踩过的死区实坑

8.1 大功率模块并管不均流导致死区异常

有个项目用两个IGBT模块并联跑50kW级的DC-DC,结果一边模块总烧。一开始怀疑是布局不对称,后来示波器钳住两路门极波形,发现两路驱动信号之间存在接近200ns的延迟差,死区在并联的其中一路几乎被“吃掉”了,栅极信号关断还没完成,另一路已经提前开管,直通电流走了极端。最后同步了驱动信号走线长度,并给并联的两路分别加带延迟补偿的独立死区,问题才算解决。

8.2 电机空载电流波形出现“毛刺”

另一个伺服项目,空载运行电流波形在过零那个位置出现特别明显的毛刺,客户投诉噪音太大。我一开始怀疑编码器安装问题,排查一圈后锁定在死区补偿。原来的控制代码只有基础死区,没有处理过零极性误判,导致补偿电压不停跳符号。后来加了一个过零滞回区间,把0.5A以内的电流不参与补偿极性判断,波形立马恢复正常。

8.3 IGBT栅极电阻换了批次,没重测死区

还有一次是被物料批次坑了。同一个型号IGBT换了采购批次,封装一样、型号一样,但内部芯片来源换了,拖尾特性差了不少。因为没重测死区,产线偶发炸管,查了半天才发现新批次在高温下拖尾时间变长了,原来1μs的死区到了极限。后来把死区抬到1.3μs,同时跟供应商锁定了芯片批次,问题才消失。

9. 一些实用的工程经验和项目建议

  • 新板子上电之前,用示波器同时看上下管门极波形,量一下实际的死区时间,不要让软件里的死区数值停留在“我以为”的状态。测试点要提前留在半桥驱动输出端。
  • 短路保护动作时间和死区时间是两个维度的参数,前者管故障,后者管正常开关,很多人混为一谈。一个开关周期内要有死区保障,而短路保护要在微秒级内关断栅极。
  • 芯片内部自带的死区发生器也有分辨率限制,有的以10ns为单位、有的以100ns为步进,选型时注意你需要的死区精度到底要多高。
  • 非对称死区或者动态死区(满载时调大、轻载时自动减下去)在高端变频器里已经很常见。如果你做的是低成本项目,至少要学会一个固定的最优死区值,不要随便沿用模板代码里的默认值。
  • 测试死区是否过小,可以用短路脉冲测试法:把负载断开,给桥臂发一个一个很窄的互补脉冲,逐步收窄死区,用电流探头观察母线电流有没有出现短时尖峰。做的时候一定要在低压小电流状态下调,安全第一。

关于IGBT的死区时间、自然换流和强迫换流,我的个人经验总结下来其实就是一句话:死区不是软件里一个拍脑袋填的延时数字,它是整个桥臂安全的核心阀门,背后连着IGBT的关断物理过程、二极管的反向恢复、驱动电路的延迟甚至温度变化。做一次完整的死区设计和验证,胜过通电后反复炸管再找原因。希望这篇内容能帮你在设计逆变器、伺服驱动器或开关电源时,少走几段弯路。

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

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

立即咨询