ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

IR2104死区时间陷阱:实测门极波形揭示MOS管发热真因

IR2104死区时间陷阱:实测门极波形揭示MOS管发热真因 做电机驱动的人大部分都在IR2104上栽过跟头。这芯片便宜、耐压高、内部集成死区听着就是新手救星等你把板子焊好PWM一开MOS管烫得能煎鸡蛋时才会发现那个“集成死区”不一定靠谱。我因为这个坑在实验室里耗了整整一个周末最后用示波器把真实门极波形抓出来后才意识到问题根本不是PID参数、不是散热片、不是开关频率而是我们对Datasheet上“死区时间”的理解出了偏差。这篇文章就从我实测IR2104的经历讲起把死区时间到底怎么被“吃掉”、怎么测量、怎么修复说清楚。如果你正在做电机控制板子上用了IR2104、IR2184这类半桥驱动或者你正在用DSP、STM32调PWM控制电机那这篇内容应该能帮你少走好几天的弯路。1. 现象MOS管热得不讲道理1.1 一开始怀疑的全是散热和PID我当时调的是一个48V直流无刷电机驱动板三相半桥用了6颗IRF3205MOS管驱动芯片是3片IR2104。控制板最开始用的STM32F103后来又移植到DSP28379上做电机控制代码。空载测试的时候波形很干净三相输出也正常电机转起来没啥问题。结果一带负载就露馅低压侧和高压侧MOS管温度快速往上飙短短两分钟散热片就烫得不敢碰可电流才3A左右远没到芯片极限。我最初怀疑的方向很常规散热片面积不够换大散热片没用。PWM频率太低开关损耗大把16kHz调成24kHz发热更严重。PID参数太激进电流震荡于是把电流环调慢依然热。门极驱动电阻太大导致开关过程拉长把10Ω换成4.7Ω还是热。这些操作不能说没有道理但问题在于我始终没有怀疑IR2104“内部集成死区”这件事本身。因为Datasheet写得分明典型死区时间520ns看着是不小的一段安全窗口。可实际波形告诉我这个值根本不能直接当成MOSFET的真实死区时间用。1.2 转折点示波器看门极波形有一天我实在没招了把示波器探头接到高压侧和低压侧MOS管门极上。我原来以为会看到一高一低之间干干净净的空档谁知道看到的波形里高压侧Vgs还没降到关断阈值以下低压侧Vgs已经开始往上升了。两个管子中间的“安全距离”根本没有520ns而是出现了几十纳秒的重叠。那一刻我明白了两件事第一MOS管发热不是散热问题是换相瞬间上下桥直通第二直通窗口不是Datasheet上的那个死区时间而是Datasheet参数经过门极电阻、MOS管寄生电容、驱动传播延时等一系列“加工”之后的真实结果。前面所有换散热片、调PID的折腾都是在给错误的病根乱开药。2. 为什么Datasheet的死区时间会“缩水”2.1 tDT的Typ只是“安慰值”IR2104的Datasheet里死区时间一般会写成这样三行典型值520ns最小值400ns最大值800ns。很多人只看520ns认为只要IR2104内部有这段延时上下桥就一定不会同时导通。实际上Datasheet里的“typ”代表的是特定条件下测出来的“典型表现”不是你能依靠的设计下限。真正的设计要同时考虑min和maxmin要用来算上下桥会不会直通也就是死区会不会不够。max要用来算体二极管会续流多久死区会不会太长导致发热。我在实测中遇到的问题就是实际工况下的有效死区可能逼近的是min那一段甚至比min还要小。因为IR2104内部产生死区是一回事MOS管门极电压能不能在规定时间内真的掉下去又是另一回事。2.2 驱动输出到MOSFET栅极还有一道“RC”IR2104输出的HO、LO引脚最终要经过门极电阻给MOS管的栅极电容充电。MOS管不是纯电压开关它的栅极存在Ciss、Crss这些寄生电容。门极电压从0V升到开启电压需要时间从15V掉到关断阈值也需要时间。驱动芯片的引脚电平翻转得再快MOS管门极波形也会被这个RC网络拖慢。这里还包括MOS管最著名的“米勒效应”。关断过程中Vgs会先掉到米勒平台附近停住等Vds完成上升Cgd把门极电荷抽走之后Vgs才继续往下掉。也就是说HO引脚确实已经拉低了但MOS管要再过两三百纳秒才能真正截止。这段时间完全可能把IR2104的520ns内部死区吃掉一大半。2.3 高侧、低侧开关速度天然不对称我测量之后还发现一个容易被忽略的事实高侧MOS管和低侧MOS管的门极速度是不对称的。高侧驱动依赖自举电容。VB和VS之间的电压理论上接近VCC但自举电容容量小的时候或者占空比太大、没有机会持续补充电荷的时候高侧门极驱动能力会变弱。高侧电路里VS节点还有比较强的di/dt源极寄生电感会产生压降进一步拖慢门极电压变化。低侧LO直接对COM输出参考干净驱动路径短门极电压上升速度快得多。一快一慢叠加在一起就很容易出现高侧还没完全关断、低侧已经开始导通的危险窗口。我实测的数据里这个不对称性造成的“有效死区缩水”少则几十纳秒多则上百纳秒。如果要给一个粗略公式大概是这样的真实有效死区 ≈ IR2104内部死区 - (高侧关断总延时 - 低侧开通总延时)这里的高侧关断总延时指从HO脚拉低开始到高侧MOS管Vgs真正低于阈值的时间低侧开通总延时指从LO脚开始拉高到低侧MOS管Vgs真正高于阈值的时间。只要括号里这个值大于IR2104的死区最小值上下桥就会重叠导通MOS管温度自然压不住。3. 实测方法把真实死区时间抓出来3.1 设备与安全提醒要验证IR2104的死区时间陷阱最直接的办法就是测门极实际波形。但测这种波形有一个硬性要求示波器必须有隔离通道或者用隔离差分探头。绝对不能把普通探头的接地夹直接往高侧MOS管的源极上夹因为高侧是浮在母线电压上的一不小心就是短路放电。我用的方案是给示波器接隔离变压器再用两根高压差分探头分别测高压侧和低压侧的Vgs。没有差分探头的话至少要确保所有探头参考点都在同一个低电位点并且做好隔离否则安全无从谈起。3.2 操作步骤我当时的测量流程大概是这样先把交流输入断开只给控制板和IR2104的低压驱动部分供电确保母线电容放电完毕。用高压差分探头接高压侧MOS管的栅极和源极测量Vgs_HS。用普通探头测低压侧MOS管的栅极和源极测量Vgs_LS参考点就是功率地。触发源选高压侧Vgs的下降沿时基开到200ns/div左右采样率尽量拉高。上电后给一个低电压的小电流负载比如24V母线、电流限制在1A以内先观察波形再逐步加负载。把两个通道的10%到90%上升/下降沿时间、米勒平台位置、交叉重叠时间全部记录。对比时不要只看HO和LO引脚电平要看MOS管真正的Vgs。因为驱动引脚翻转和MOS管导通截止是两件事很多人死在中间这层差别上。3.3 实测数据与解读我手头这块实验板高侧和低侧MOS管都是IRF3205门极电阻10ΩVCC供电15V自举电容用2.2uF陶瓷电容并联0.1uF高频电容PWM频率16kHz。以HO下降沿作为时间零点测到的一组典型数据如下项目实测结果高侧Vgs从15V降到3V632nsIR2104内部死区典型值520nsIR2104内部死区最小值400nsLO开始上升按典型值计算520nsLO开始上升按最小值计算400ns低侧Vgs从0V升到3V198ns典型死区下的有效间隙86ns最小死区下的有效重叠34ns解释一下高侧Vgs要632ns才能降到3V附近而低侧Vgs在LO开始上升之后198ns就能达到3V。如果IR2104这次实际工作在典型的520ns死区低侧导通时高侧已经关闭还有86ns的余量但如果芯片批次温漂、供电电压波动死区只有400ns那么低侧Vgs到达开启阈值时高侧还差34ns才真正关断这个重叠窗口就是直通发热的来源。34ns听起来很短但在16kHz下每个开关周期都来一次MOS管开关损耗会急剧放大。如果负载电流再大一点母线电压再高一点这个重叠窗口还会更宽。发热不是玄学是实实在在的能量损耗。4. 对症下药怎么把死区重新找回来4.1 门极电阻不对称开慢关快不是玄学把高侧关断速度和低侧开通速度重新拉开是最直接的办法。既然高侧关断太慢那就让高侧关断电流更顺畅低侧开通太快就适当给低侧开通加一点阻力。实际操作中我常在门极电阻上并联一个快恢复二极管让关断电流走二极管开通电流继续走电阻。这样同一颗电阻等效出来的开通电阻和关断电阻不一样实现“开得稍慢、关得迅速”。用在低侧MOS管上可以稍微增大低侧的导通门极电阻让低侧Vgs上升斜率变缓一些但也不能加太多否则低侧本身的开关损耗会变大。改完门极电阻之后一定要重新测一遍波形。我的经验是目标是让高侧Vgs彻底降到3V以下之后低侧Vgs才开始爬升最好留出100ns左右的余量。4.2 调整MCU/DSP的PWM配置IR2104的输入方式是HIN和LIN两个独立输入。很多人会在MCU端先做一组互补PWM再设置一大段死区以为双重死区更安全。实际上这样会让总死区时间变得很长导致MOS管体二极管长时间续流低压侧反而更热电流波形也出现畸变。如果你的硬件设计是HIN和LIN并联让IR2104自己负责死区那么在DSP28379的EPWM模块里应该关掉DB子模块的死区设置只输出一路PWM。在C2000上大致是这样// 关闭EPWM的Dead-Band由IR2104内部产生死区 EPwm1Regs.DBCTL.bit.OUT_MODE 0; EPwm1Regs.DBRED.bit.DBRED 0; EPwm1Regs.DBFED.bit.DBFED 0;如果用的是STM32的互补PWM输出也要确认是否真的需要MCU侧死区。使用IR2104自带死区时DeadTime可以先设成0用示波器测完总死区再决定要不要加。这里没有统一答案因为不同IR2104批次、不同门极电阻、不同MOS管不一样必须实测后拍板。4.3 换用可调死区驱动如果项目对死区时间要求比较严格比如要做FOC或者高频PWM电机控制IR2104这种固定死区并不理想。可以考虑IR2184、IR2183这类带DT引脚、可以外接电阻调整死区的半桥驱动。死区电阻阻值和死区时间的关系在Datasheet里有曲线调整起来比“凑门极电阻”更可控。选驱动芯片时我一般会看三个参数是否有死区控制引脚、高低侧传播延时的匹配度、输出驱动电流大小。很多人只关心耐压和输出电流忽略了传播延时匹配结果高低侧一快一慢死区照样缩水。4.4 自举电容别省IR2104高侧供电靠自举自举电容太小会导致高侧驱动电压不足。驱动电压不够高侧Vgs上升慢、关断也慢整个高侧桥臂就像没睡醒一样死区时间被进一步压榨。我建议自举电容至少用1uF以上低ESR陶瓷电容并且并联一个0.1uF高频电容放在紧挨VB和VS引脚的位置。大电流电机控制器里自举电容不能随便用普通电解电容高频特性跟不上实际效果很差。5. Datasheet避坑指南与常见问题速查5.1 查Datasheet重点看什么很多朋友看Datasheet喜欢盯着最大电流、导通电阻却把时序参数忽略掉。IR2104的死区时间陷阱本质上就是时序问题。我整理了一下自己看Datasheet的顺序核心几项如下参数为什么看踩坑点tDT死区时间决定IR2104内部能提供多少死区typ值不等于设计下限一定要看mintON/tOFF传播延时决定输入信号到输出的延迟高侧和低侧延时不一致会吃掉死区高低侧传播延时匹配判断两路输出是否对称匹配差越大越容易出现有效死区为负输出驱动电流决定门极电容充放电速度电流小门极波形爬升慢真实死区缩水UVLO阈值判断VCC、VB电压过低时会不会关断输出电压不足时MOS管可能工作在放大区Datasheet里通常不会单独告诉你“PCB寄生电感和MOS管寄生电容会在哪个频率谐振”这需要你自己从开关节点振铃波形里找。振铃严重时门极电压会出现尖刺轻则影响死区重则击穿栅氧化层。这种数据只能靠实测不能指望Datasheet给你答案。5.2 常见问题速查表调试中我遇到过不少类似的症状这里整理成一张速查表方便后面排查时直接对号入座现象可能原因解决方法MOS管发热但没炸有效死区太小上下桥直通示波器测Vgs重叠调门极电阻和死区空载正常满载发烫负载电流越大门极速度和源极串扰影响越明显加大高侧关断速度检查自举电容上桥比下桥热自举电容不足高侧驱动电压太低换大容量低ESR自举电容限制过高占空比调PID怎么调都不稳死区太大电流波形过零畸变采样值污染减小总死区调整电流采样时刻用MCU互补PWM后发热更重MCU死区和IR2104死区叠加实测总死区只保留一层死区PWM直接接门极MOS发热驱动能力不足开关过程太慢MOS工作在放大区加IR2104类驱动芯片不能省略门极电阻5.3 一点玄学但真实的坑调试IR2104死区时我最大的体会是不要相信“看起来对”要相信“波形对”。你可以在逻辑分析仪上看到完美的PWM死区但高压侧和低压侧MOS管的栅极波形一旦叠到一起所有逻辑上的努力都会白费。我现在做电机控制板习惯是把“测死区”纳入硬件上电之后的必测项目。每次换MOS管、换门极电阻、换驱动芯片都要重新抓一次波形确认高侧关断和低侧导通之间真的存在安全间隙。这个过程第一次做会觉得麻烦但经历过MOS管连续发热炸管的痛苦之后就会发现这是最省钱、最省时间的习惯。
返回列表