ARTICLE DETAIL

资讯详情

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

MOS管发热别只怪导通损耗,米勒效应才是真凶

MOS管发热别只怪导通损耗,米勒效应才是真凶 1. 发热问题排查实录从误判导通损耗到发现波形异常上个月调一块同步Buck电源24V输入、5V/3A输出选的管子是手头库存量最大的AO4406A。轻载1A时MOS管摸着只是温热我当时心想问题不大。结果把负载拉到2.5A上管表面温度十分钟就到了105℃风扇对着吹都压不住这种Heat-up速度明显不正常。我脑子里冒出来的第一个念头是导通损耗太大。AO4406A的Rds(on)标称13mΩ2.5A时导通损耗按下管算P_con I² × Rds(on) ≈ 2.5² × 0.013 ≈ 81mW上下管加一起也就160mW就算把死区里体二极管续流损耗算进去撑死几百毫瓦不可能把管子干到105℃。这个数字一出来基本可以排除稳态导通损耗的问题。我怀疑是散热铜皮面积不够于是给PCB上管焊盘区域加了一整块补焊铜皮温度确实降了一点从105℃降到92℃左右但治标不治本。真正让我意识到方向错了的是拿示波器去测Vgs波形。探头夹在栅源之间上升沿在一个约4V的位置出现了一段明显的“台阶”宽度拉到300ns以上。对照规格书里同类管子的正常表现平台宽度应该在50ns左右这个差距已经不能用“寄生参数差异”来敷衍了。1.1 第一版判断导通损耗在这个场景里根本不占主导很多朋友一看到MOS管发热第一反应就是换低导通电阻的管子或者拼命加大散热片这个思路不算错但前提是发热主要由导通损耗贡献。Buck电路里只要电感电流没有断续、占空比不是极端值正常工作时导通损耗其实非常小大多数情况下占总损耗的比例不到两成。我当时做了一次简单的热损耗拆分用热成像看整板温度分布发现发热最严重的是上管控制管下管温度反而还好。如果是导通损耗为主上下管温度应该差不多因为电感平均电流基本一致。这个不对称现象让我开始怀疑开关损耗。再加上负载变重、开关频率不变每个周期开关次数相同但电流峰值变大开关过程中电压电流交叠的能量就成比例上升——这完全符合“轻载温热、重载热爆”的特征。还有一个隐藏线索把开关频率从100kHz降到50kHz同样的负载和散热条件下管子温度明显下降。如果是导通损耗为主频率降一半损耗不会有太大变化但实际温度变化非常显著这就等于明说问题出在“每个开关周期消耗掉的能量太多”。1.2 看到米勒平台的那一刻我确认了根因方向示波器探头的接法在这里极其重要。我第一次直接用探头自带的接地夹子夹在源极引脚上结果波形一团糟振铃巨大甚至看不出完整的米勒平台。后来换成接地弹簧针直接在源极引脚旁边的铺铜上接触波形立刻干净了。探头地线那个金属夹子看着不起眼本身带着几十纳亨到几百纳亨的寄生电感在开关边沿的高频分量下会产生明显的振铃和过冲容易让人误判成“驱动振荡”。实际很多所谓“Vgs振荡问题”换个探头接法就消失了。接好之后测出来的波形Vgs上升沿大约在4.2V的位置停住形成一个清晰的平台持续300ns以上。对照规格书里的Cgd、Qg参数估算正常应该在50ns左右。这个平台就是米勒平台平台越宽说明MOS管在“既承受大电压又流过大部分电流”的线性区停留时间越长这个状态下的瞬时功耗是极其可观的。2. 米勒效应如何让MOS管变成“缓慢的开关”米勒效应这个词经常被人提起但真正理解它怎么导致发热的人不多。我尽量用最直白的方式讲清楚。2.1 寄生电容与米勒电容Cgs、Cgd、Cds的关系MOS管三个引脚之间存在天然的寄生电容栅源电容Cgs、栅漏电容Cgd、漏源电容Cds。厂家数据手册里最常给三个参数参数定义电路中的位置Ciss输入电容约等于Cgs Cgd决定栅极驱动电路需要充的总电量Crss反向传输电容就是Cgd决定米勒平台宽度最关键的参数Coss输出电容约等于Cds Cgd影响开关瞬态和振铃频率其中Cgd就是“米勒电容”。这个命名来自真空管时代米勒的发现跨接在放大器输入和输出之间的电容等效到输入端时会变成一个比自身大得多的电容。MOS管里Cgd跨在栅极和漏极之间而漏极电压的摆幅远大于栅极栅极要为Cgd充电实际上就必须为漏极电压变化付出同样的电荷量相当于栅极“看到”的电容被放大了很多倍。生活化的类比想象你在推一扇带齿轮连杆的旋转门你手推的是门把手栅极但门板漏极又通过连杆米勒电容反作用于你的手。你每推一点门板都在反向拖拽你最终结果是你推得很慢门也转得慢。2.2 米勒平台的物理本质栅极电压为什么被“钉住”MOS管从关断到开通大致分三步第一阶段栅极电压从0往上升但还没达到导通门限VGS(th)MOS管没有导通漏极电压维持在高位不动此时栅极电流只需要给Cgs充电Vgs电压上升很快波形是一段陡峭的斜线。第二阶段Vgs超过门限管子开始导通漏极电流从0往上爬同一时刻漏极电压开始从高压往下降。电容Cgd跨接在栅极和漏极之间漏极电压的快速变化会通过Cgd向栅极注入电流这个电流与驱动电流方向相反抵消了栅极电压的上升势头。于是Vgs被“钉”在平台电压附近看起来像电压卡住不动了。实际上此时栅极驱动电流全被Cgd“吸走”用于维持漏极电压的变化MOS管本身处于线性放大区既走大电流又扛大电压。第三阶段漏极电压下降完成Cgd充好电平台结束Vgs继续上升到驱动电压管子完全进入深线性区导通损耗才降到最低。所以米勒平台的持续时间就等于MOS管待在危险区的时间。危险区的特征是电流大、电压也大二者的乘积换算成功率是稳定导通状态的几十倍甚至上百倍。2.3 开关损耗的数学本质电压电流交叠面积开关损耗的本质是电压和电流在切换过程中的交叠。管子完全导通时电流很大但电压接近0完全关断时电压很大但电流接近0这两种稳态都不可怕。可怕的是过渡区里电流已经起来了但电压还没掉下去在这个区间管子同时承担高电压和大电流瞬时功率极高。每次开关动作交叠的“面积”决定了每个周期损耗多少能量。米勒平台越长交叠面积越大单位时间内浪费在过渡区的能量就越多。Buck电路里控制管每个开关周期都要经历一次硬开关如果过渡区从几十纳秒变成几百纳秒损耗不是线性增加而是成倍往上翻。3. 实测波形对比健康波形和米勒拖尾波形的差异我要直接放实测波形分析。这里用文字加简化图表还原当时示波器上看到的内容。3.1 测试条件与探头接法测试对象24V输入、5V/3A输出的同步Buck上管AO4406A驱动芯片UCC27524栅极电阻初始值47Ω开关频率100kHz。示波器100MHz带宽10x无源探头。测上管Vgs时我不建议用普通探头做浮地测量上管源极电压不是系统地直接夹参考地会短路或产生巨大振铃容易烧探头。当时我手头没有差分探头就测下管同步管的Vgs来分析米勒效应效果完全足够因为米勒效应在两只管子上都有体现只是换流方向不同。如果是新设计的板子最好预留测试点上管栅极、下管栅极、开关节点SW各自有独立的测试焊盘和就近的地孔。这能让调试效率大大提高否则探针在引脚之间找接地点都要花掉半小时。3.2 波形图Vgs上升沿上的平台宽度对比下面这个简化图表示Vgs上升过程正常波形和异常波形的区别主要在平台区宽度Vgs 10V ┤ ______________ ______________ │ /| \ /| \ │ / | \ / | \ │ / | \ / | \ │ / | \ / | \ 5V ┤____/ | \___/ | \ │ | | 0V ┤ | | └─────────┴──────────────────────────┴────────────── 异常时平台宽度300ns 正常时平台宽度≈50ns图中箭头的平直段就是米勒平台。正常管子在这个区间“钉”住的时间非常短Vgs几乎直接冲上去异常波形则拖着一条长长的尾巴Vgs在平台电压附近徘徊几百纳秒。对应的Vds波形差异更直观健康情况下Vds从24V下降到接近0V是一条接近垂直的直线下降时间60ns左右异常情况下Vds先缓慢下滑一段中间出现一个类似“台阶”的拐点然后才迅速跌落整个下降时间拉到500ns以上。这个缓慢下降的过程就是米勒拖尾开关损耗的核心所在。3.3 用波形数据估算开关损耗一个可复算的示例以我的实际电路条件为例Vin24VI_load2.5A开关频率100kHz。Vds从24V降到0Id从0升到2.5A假设过渡期间两者近似线性交叠每次开关过程的损耗能量可用简化公式估算E_sw ≈ V × I × t / 6这个公式的来源是三角形交叠面积的平均值近似工程上足够用。逐个算正常情况下t60ns E_sw ≈ 24 × 2.5 × 60ns / 6 600nJ 每个周期包含一次开通一次关断总开关损耗功率 P_sw ≈ 2 × 600nJ × 100kHz 0.12W异常情况下t500ns E_sw ≈ 24 × 2.5 × 500ns / 6 5000nJ P_sw ≈ 2 × 5000nJ × 100kHz 1W从0.12W涨到1W约8倍。1W的功耗在SOP-8封装里足以让结温超过100℃。而且这只是开关损耗一项还没算栅极驱动损耗和体二极管损耗。发热的原因到这里就非常清晰了不是管子选小了是米勒平台把它拖死在开关过渡区。4. 触发米勒效应的诱因驱动电阻、驱动芯片与寄生参数米勒效应本身一直存在但不一定导致严重发热。真正把问题放大的是驱动电路设计不合理。我总结了几条最常见的诱因都是实际项目中反复踩过的坑。4.1 栅极驱动电阻RG对米勒时间有定量影响米勒平台的持续时间可以近似写成t_plateau ≈ Qgd / I_gate其中I_gate是米勒平台期间的有效栅极驱动电流约等于(V_drive - V_plateau) / RG_total。RG_total包含驱动芯片输出内阻、外部栅极电阻和回路寄生电阻的总和。从这个式子可以直观看到RG越大栅极充电电流越小平台时间越长。这里的关键是Qgd即米勒电荷厂家数据手册里都会给。以AO4406A为例Qgd约15nC左右如果驱动电压和平台电压之差为6VRG_total47Ω则I_gate 6V / 47Ω ≈ 128mA t_plateau ≈ 15nC / 128mA ≈ 117ns如果把RG压到10Ω I_gate 6V / 10Ω 600mA t_plateau ≈ 25ns看到没有只改一个电阻平台时间缩短近5倍。我当时就是随手选了47Ω栅极电阻想“稳妥一点”结果反而把管子坑惨了。很多工程师有个习惯为了抑制栅极振铃随手串一个10Ω到100Ω的电阻。这个做法不是不行但要清楚代价栅极电阻是开关速度的“刹车片”你为了稳定而加的每一欧姆都在增加开关损耗。4.2 驱动芯片峰值电流不足标称3A不等于真能输出3A驱动芯片选型时很多人只看“峰值3A”这个参数却没看数据手册里的输出阻抗曲线。输出阻抗越大实际的峰值电流越低米勒平台期间栅极电压被钉住驱动芯片要持续输出电流如果实际能输出的电流只有标称值的一半甚至更低平台时间照样拉长。以UCC27524为例标称峰值输出4A但这是在一定供电电压和测试条件下得到的。实际应用时如果驱动供电电压偏低、输出级压降大有效驱动电流会打折。所以选驱动芯片时我习惯直接看“在某栅极电荷条件下的上升/下降时间”曲线这比看峰值电流数字有参考价值得多。低成本方案里有人用逻辑门直接驱动MOS管比如用74HC系列这类芯片峰值输出能力通常只有几十毫安用来驱动Qg几十nC的功率管平台时间必然以微秒计。这种方案只适合驱动小电流负载或者极低开关频率的场合放在Buck主功率级里发热是必然的。4.3 同步Buck里容易被忽略的体二极管反向恢复发热很多工程师解决了上管发热结果发现下管又开始发烫这往往是同步整流特有的体二极管问题。同步Buck上下管之间的死区时间里负载电流经过下管体二极管续流。死区结束时下管体二极管还处于导通状态上管开通瞬间需要先把下管体二极管的反向恢复电荷抽走才能建立正向压降。如果上管开通速度很快这个反向恢复电流可能非常大表现为尖峰电流进入上管同时加剧下管的开关损耗。换句话说栅极电阻调小以后上管米勒时间短了、发热降了但下管体二极管反向恢复电流引起下管发热加剧甚至出现烧管。同步Buck的双管发热问题不一定是同一个原因要分别分析上下管的波形和温度变化不能只盯着发热最严重的那一颗。4.4 栅极驱动回路的寄生电感走线越长米勒效应越被放大PCB布局对米勒效应的影响也很大。驱动芯片到MOS管栅极的走线如果太长、太细回路电感就大栅极电压上升沿会出现振铃。有人会因为振铃而加大栅极电阻这又反过来拉长米勒平台形成一个恶性循环。源极走线的寄生电感同样关键。上管源极是开关节点高频电流变化大源极寄生电感会在米勒平台期间产生一个额外的电压降改变栅极看到的实际驱动电压让平台区停留更久。这也是为什么很多高性能驱动方案专门强调开尔文源极连接让功率回路和驱动回路的分开避免功率回路的高di/dt干扰驱动。5. 对症下药五步解决MOS管发热问题找到根因之后解决思路就清晰了。整个优化过程我按以下顺序做每一步都验证波形和温度。5.1 重新选型用导通电阻换栅极电荷先看Qg。有些管子Rds(on)很低但Qg巨大比如大电流功率模块级别的高性能管子轻载时效率确实好看但硬开关频率100kHz以上时反而发热更严重。选型顺序不能只看导通电阻而是先确认电流和耐压余量再比较Qg和米勒平台电压最后看Rds(on)。我实测对比过相同封装的两颗管子一颗Rds(on)从13mΩ降到8mΩ但Qg从30nC涨到70nC换上以后重载发热反而更严重了。原因很简单导通损耗确实降低了但开关损耗增加得更快。做Buck硬开关时栅极电荷和米勒电荷是比导通电阻更优先的指标只有在极低开关频率或轻载为主的场景Rds(on)才应该排在前面。如果管子发热已经确定是米勒效应导致换一颗Qgd更小、米勒平台电压更低的管子效果立竿见影。比如从一颗Qgd15nC的管子换成Qgd5nC的管子其他条件不变米勒时间直接缩到原来的三分之一。5.2 压低栅极电阻但要警惕振铃实践推荐的做法先用10Ω起步测波形逐步降到4.7Ω、2.2Ω每换一档看一次Vgs振铃和Vds关断尖峰。如果降到某个值之后Vgs出现明显振铃或Vds尖峰超过管子耐压的80%就停止降阻用RC吸收来处理振铃而不是回头加大栅极电阻。栅极电阻米勒平台宽度Vgs振铃幅度电路表现47Ω约280ns几乎无振铃开关损耗大发热严重10Ω约80ns轻微振铃可接受损耗大幅下降发热改善2.2Ω约40ns振铃增大尖峰升高损耗最小但EMI风险增大实测下来Buck功率级的栅极电阻我通常落在2.2Ω到10Ω之间。低于1Ω时如果PCB布局不好振铃就会很严重这个时候优化布局比继续降电阻更有价值。5.3 驱动芯片选型看源灌电流和输出阻抗而不是只看峰值驱动芯片的选择要满足两个指标足够的峰值电流让米勒平台快速通过以及驱动回路阻抗足够低。常见的优秀驱动芯片包括UCC27524、TC4427、IXDN609等峰值输出能力在4A到9A之间驱动一个Qg几十nC的管子绰绰有余。如果是自己做分立驱动比如用三极管推挽要注意上管和下管的导通压降差异导致开通过快、关断过慢或相反。更好的做法是选集成驱动芯片内部上下管对称源灌电流一致方便单独调整开关速度。驱动芯片的供电电压也很重要。驱动电压越高栅极驱动电流越大米勒平台越短。很多Buck控制器内置驱动输出电压可能只有5V这时就要确认5V驱动下管子的米勒平台电压和Qg是否匹配。如果平台电压太高5V驱动下栅极裕量不足管子可能进入不了深线性区导通损耗也会增加。5.4 PCB布局优化缩小换流回路驱动回路远离Cgd布局上这件事做了能额外降低损耗和振铃第一驱动芯片尽量靠近MOS管栅极引脚栅极走线控制10mm以内宽度不小于0.5mm这样驱动回路寄生电感最小。第二功率回路特别是输入电容到上管漏极、上管源极到下管漏极的换流回路要短而宽使用大面积铺铜。这个回路的寄生电感直接影响开关关断时的尖峰电压尖峰越大越容易击穿管子。第三源极采用开尔文连接把驱动参考地单独走回驱动芯片的GND不要把驱动地直接接在功率地汇流点上。这样栅极驱动电压不会被功率电流的di/dt干扰波形更干净。第四栅极电阻放在靠近MOS管栅极的位置并且不要在地上打过孔再绕回来电阻两端走线不要形成环路。5.5 死区时间与散热方案的最后平衡同步Buck的死区时间也需要重新校核。死区太长体二极管续流时间增加反向恢复损耗变大死区太短上下管直通短路直接烧管。很多控制器支持死区自适应调节在保证不直通的前提下尽量缩短死区对下管发热有明显改善。散热层面MOS管下方的PCB铜皮和过孔阵列要足量热过孔不要只打在焊盘边缘而是均匀分布在焊盘下方。铜皮面积和过孔数量对结温的影响很大这是散热设计的基本盘别指望只有焊盘的常规尺寸去扛几百毫瓦以上的损耗。这五步走下来我那块板的实测结果栅极电阻从47Ω降到10Ω米勒平台从约280ns收到80ns上管表面温度从105℃降到63℃加上改善散热铜皮之后最终稳定在55℃左右。频率还是100kHz负载还是2.5A只改了驱动和布局问题解决。6. 再遇到MOS管发热我建议按这个思路排查发热问题排查多了以后我总结出一套自己的顺序省时省力。6.1 先看温度分布再测关键波形第一步看热像仪或用手摸判断发热集中在哪个管子、什么位置第二步测Vgs波形看米勒平台宽度和振铃情况第三步测Vds波形看开关沿的陡峭程度和尖峰高度第四步算损耗占比区分开关损耗还是导通损耗主导。如果Vgs平台明显偏长优先检查栅极电阻和驱动芯片如果Vgs振铃严重优先检查探头接法和PCB布局如果Vds尖峰过高优先检查换流回路寄生电感和吸收电路。不要一上来就换管子加散热片先定位问题在哪一层。6.2 个人测试技巧和工具心得测波形时把示波器的采样率调高带宽限制关掉时基放到开关周期的1/10到1/20这样才看得清米勒平台细节。普通10x无源探头测量时务必用接地弹簧针不要用长地线夹这是最容易忽略的细节。计算开关损耗时不要只算额定负载要在最小负载和最大负载之间各测一次。轻载时开关损耗占比会更高重载时导通损耗占比上升两者的交叉点往往决定管子选型是否合理。最后分享一个选型习惯如果手头有示波器新管子到手先测它的米勒平台宽度和Qg数据确认与驱动电路匹配再批量用。这一点时间和测试投入比后面反复修改PCB省得多。我这块板子调完以后同样的电路结构后来用在一款12V转3.3V的模块上驱动电阻直接沿用10Ω波形干净温度正常。经验的复用价值就在于第一次把原理搞清楚后面就不会再被同类问题绊住。
返回列表