ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MOS管选型与驱动设计实战:从米勒效应到热设计避坑指南

MOS管选型与驱动设计实战:从米勒效应到热设计避坑指南 1. 从“导通”到“发热”MOS管选型时最容易被忽略的隐性成本很多人第一次接触MOS管都是从“栅极给高电平就导通、给低电平就关断”这个最简单的认知开始的。这个理解本身没错但它只覆盖了MOS管工作状态中极小的一部分。真正让硬件工程师头疼的从来不是“怎么让它导通”而是“导通之后它到底在干什么”。我在早期做电源项目时踩过一个非常典型的坑选了一颗导通电阻只有几毫欧的MOS管看数据手册觉得损耗应该很低结果板子跑起来不到十分钟管子烫得没法用手碰。后来用热像仪一看问题根本不在导通电阻上而是开关过程中的米勒平台拖得太久导致开关损耗远超预期。这个经历让我意识到MOS管的“正确打开方式”不是记住几个参数就完事而是要理解它在不同工作阶段的行为逻辑。这篇文章想聊的就是围绕MOS管从选型、驱动、损耗计算到实际电路设计的一整套思路。不管你是刚接触MOS管的学生还是已经在做电源、电机驱动、电平转换的工程师下面这些内容应该都能帮你少走一些弯路。我不会只讲教科书上的原理更多会结合实测数据和常见设计误区把那些数据手册不会告诉你的细节摊开来说。2. MOS管三个极的真实角色别被“开关”两个字骗了2.1 栅极不是理想电容米勒效应才是驱动设计的核心矛盾很多人把MOS管的栅极当成一个简单的电容觉得只要驱动电流够大充放电就快开关速度就快。这个思路在低频场合没问题但一旦频率上去或者母线电压升高米勒效应就会跳出来教你做人。米勒效应的本质是栅极和漏极之间的寄生电容Cgd在开关过程中被放大。当漏极电压快速变化时Cgd会通过米勒平台把栅极电压“钳位”住导致栅极电压在一段时间内几乎不上升。这段时间里MOS管同时承受着高电压和大电流瞬时功耗可以轻松超过稳态导通损耗的几十倍。我实测过一颗常见的N沟道MOS管在母线电压48V、负载电流10A的条件下如果没有针对米勒平台做优化驱动开关一次的损耗大约是稳态导通损耗的15倍左右。这意味着如果你的开关频率是100kHz开关损耗会直接主导整个热设计。解决米勒效应的思路有几个方向一是降低驱动回路的阻抗让栅极电荷更快地注入和抽出二是在栅极串联电阻和驱动能力之间找平衡不能一味追求快因为太快会带来振铃和EMI问题三是选择Cgd更小的MOS管但这通常意味着导通电阻会变大需要做取舍。2.2 源极接衬底的逻辑体二极管是朋友也是敌人MOS管的结构里源极和衬底通常是短接的。这个设计不是随便定的而是因为只有源极和衬底同电位沟道才能正常形成。如果衬底和源极之间有压差阈值电压就会漂移器件行为变得不可预测。但源极接衬底带来一个副产品体二极管。这个二极管在大多数应用里是反向偏置的不影响正常工作。但在桥式电路里比如H桥或者同步整流Buck电路体二极管会在死区时间里导通续流。如果死区时间设置不当体二极管导通时间过长反向恢复损耗会非常可观。我见过一个案例某工程师做同步Buck电路时死区时间设了500ns结果下管的体二极管在死区里导通反向恢复电流导致上管开通时出现明显的电流尖峰效率比预期低了将近8个百分点。后来把死区时间压缩到80ns左右效率立刻回来了。所以死区时间的选择不是拍脑袋决定的要结合MOS管的体二极管反向恢复电荷Qrr和驱动能力来算。2.3 开尔文接法把驱动回路和功率回路分开开尔文接法在电流检测和驱动设计里经常被提到但真正用好的人不多。它的核心思想是把源极的功率回路和驱动回路分开走线让驱动信号参考的“源极电位”不受功率回路寄生电感上的压降影响。在大电流场合源极键合线和PCB走线的寄生电感可能在几纳亨到十几纳亨之间。当电流快速变化时这个电感上的压降会直接叠加在栅极驱动电压上导致实际Vgs偏离设计值。轻则开关速度变慢重则误导通。开尔文接法的实现方式是从MOS管的源极引脚单独拉一根走线到驱动芯片的地这根走线不承载功率电流。这样驱动回路看到的源极电位就是真实的芯片内部源极电位不受功率走线压降干扰。我在做几十安培的电机驱动时用了开尔文接法之后开关波形的振铃明显减小EMI测试也更容易过。3. 驱动电路设计从“能导通”到“导得好”之间差了什么3.1 驱动电流不是越大越好栅极电阻的取舍逻辑选驱动芯片的时候很多人第一眼看的是峰值驱动电流觉得越大越好。但实际上驱动电流过大带来的问题是振铃和EMI。栅极回路的寄生电感加上MOS管的输入电容构成一个LC谐振回路。驱动电流越大di/dt越高振铃幅度就越大。我在实际项目里通常会用栅极电阻来调节开关速度。开通电阻和关断电阻可以分开设置因为很多应用里希望开通慢一点、关断快一点或者反过来。比如在Buck电路里上管开通太快会导致续流二极管的反向恢复电流尖峰增大所以开通电阻会适当加大而关断电阻可以小一些减少关断损耗。具体阻值的选取没有万能公式我的经验是从10欧姆左右开始试用示波器看栅极电压波形和漏极电压波形逐步调整。目标是让开关波形干净、没有明显振铃同时开关损耗在可接受范围内。如果驱动芯片支持可编程驱动电流那就更方便了可以直接通过寄存器调节不用改硬件。3.2 自举电路里的隐藏陷阱占空比和电容选择半桥驱动里自举电路是标配但自举电容的选择和占空比限制经常被忽略。自举电容的作用是在上管导通期间给上管驱动供电它通过自举二极管从VCC充电。如果占空比接近100%上管长时间导通自举电容得不到充电机会电压就会慢慢掉下来最终导致上管驱动不足。我遇到过一个问题某项目占空比最大到95%自举电容选了100nF结果在高温下上管驱动电压从12V掉到了8V左右MOS管进入线性区发热严重。后来把自举电容加大到1uF同时确保最小关断时间足够自举电容充电问题才解决。自举电容的容量计算要考虑几个因素上管栅极电荷Qg、驱动芯片的静态电流、以及最小关断时间。一般来说自举电容上的电压跌落不要超过10%否则驱动能力会明显下降。公式可以简化为Cboot ≥ Qg / ΔV其中ΔV是允许的电压跌落。但实际选型时还要留余量因为电容有直流偏压效应实际容量可能只有标称值的一半。3.3 隔离驱动和非隔离驱动的选择边界什么时候需要隔离驱动这个问题没有绝对答案但有几个判断依据。如果功率地和控制地之间存在较大压差或者需要满足安规要求那就必须隔离。另外在高共模干扰场合隔离驱动能显著提高可靠性。非隔离驱动成本低、电路简单适合低压小功率场合。但要注意非隔离驱动里驱动芯片的地和MOS管的源极是同一个参考点如果源极电位波动大驱动芯片可能误动作。我在做48V电机驱动时一开始用了非隔离驱动结果电机换向时源极电位跳变驱动芯片输出异常MOS管直通炸了。后来换成隔离驱动问题消失。所以选隔离还是非隔离关键看源极电位的稳定性和共模干扰的幅度。4. 损耗计算与热设计数据手册之外的实战算法4.1 导通损耗只是冰山一角开关损耗才是大头导通损耗的计算很简单Pcond I² × Rds(on) × D其中D是占空比。但Rds(on)会随结温升高而增大数据手册里的Rds(on)通常是25°C下的值到了100°C可能增加50%甚至更多。所以热设计时要用高温下的Rds(on)来算否则算出来的损耗偏乐观。开关损耗的计算就复杂多了。开通损耗和关断损耗分别对应电压电流交叠区的积分。工程上常用的估算公式是Psw 0.5 × Vds × Id × (tr tf) × fsw其中tr和tf是上升和下降时间。但这个公式假设电压电流是线性变化的实际波形可能更复杂。我一般会用示波器实测开关波形然后用积分的方式算一次开关的能量再乘以频率。这种方法更准确但需要示波器有足够的带宽和采样率。如果条件不允许也可以用MOS管数据手册里的Qg和Coss来估算但误差会大一些。4.2 热阻网络从结温到环境温度的完整链路热设计不是简单算个功耗就完事关键是要把结温控制在安全范围内。热阻网络从内到外依次是结到壳的热阻RthJC、壳到散热器的热阻RthCS、散热器到环境的热阻RthSA。总热阻RthJA RthJC RthCS RthSA结温Tj Ta P × RthJA。RthJC是数据手册给的RthCS取决于导热垫或导热硅脂的质量RthSA取决于散热器的大小和风冷条件。我见过很多设计只关注RthJC忽略了RthCS和RthSA结果实测结温远超预期。一个实用的经验是如果总功耗是P目标结温是Tj_max环境温度是Ta_max那么需要的总热阻RthJA ≤ (Tj_max - Ta_max) / P。然后根据这个总热阻去分配RthCS和RthSA。导热垫的热阻通常在0.5到2°C/W之间散热器的热阻可以从几°C/W到几十°C/W不等取决于尺寸和风速。4.3 瞬态热阻抗短时过载下的救命稻草数据手册里除了稳态热阻还会给瞬态热阻抗曲线。这条曲线描述了在短时间脉冲功率下结温的上升情况。如果MOS管只是短时过载比如电机启动时的几秒钟大电流用稳态热阻去算结温会过于保守导致散热器选得过大。瞬态热阻抗曲线的用法是根据脉冲宽度和占空比从曲线上读出对应的ZthJC然后用Tj Ta P × (ZthJC RthCS RthSA)来估算结温。这样可以在保证可靠性的前提下减小散热器尺寸和成本。我在做电瓶车控制器时电机启动电流是额定电流的3倍持续时间大约5秒。如果用稳态热阻算需要非常大的散热器但用瞬态热阻抗曲线算发现5秒对应的ZthJC只有稳态热阻的30%左右散热器可以小很多。当然这要求MOS管的SOA安全工作区能覆盖这个脉冲条件不能只看热阻。5. 典型电路里的MOS管实战从电平转换到RS485自收发5.1 电平转换电路MOS管做双向电平转换的巧妙之处MOS管做电平转换的经典电路是用一个N沟道MOS管栅极接低压侧电源源极接低压侧信号漏极接高压侧信号。当低压侧输出高电平时Vgs低于阈值电压MOS管关断高压侧被上拉电阻拉到高电平当低压侧输出低电平时Vgs高于阈值电压MOS管导通高压侧被拉到低电平。这个电路的精妙之处在于它是双向的。如果高压侧主动拉低体二极管会先导通把低压侧拉低然后MOS管导通完成双向传输。但要注意体二极管导通时有一个压降大约0.7V所以低压侧的低电平会被抬高一点。如果低压侧的VIL要求很严格这个压降可能导致误判。我在用这个电路做I2C电平转换时发现低压侧的VOL比预期高了0.3V左右后来换了Vf更小的肖特基二极管并联在MOS管两端问题缓解。但更根本的解决办法是选一颗阈值电压更低的MOS管让体二极管导通时间更短。5.2 RS485自收发电路230400波特率下的MOS管表现RS485自收发电路里MOS管常用来做方向控制替代传统的DE/RE引脚控制。基本思路是用发送数据线来控制MOS管的栅极发送时MOS管导通把DE拉高空闲时MOS管关断DE被下拉电阻拉低。在230400波特率下位宽大约是4.3微秒。MOS管的开关延迟和上升下降时间必须远小于这个值否则方向切换会滞后导致数据丢失或总线冲突。我实测过一颗小信号MOS管开通延迟大约50纳秒关断延迟大约80纳秒上升下降时间在100纳秒左右完全能满足230400波特率的要求。但要注意RS485总线上有较大的容性负载方向切换时MOS管的漏极波形可能会有振铃。如果振铃幅度超过DE引脚的阈值可能导致误触发。解决办法是在MOS管漏极加一个小电容滤波或者选择Coss更小的MOS管。5.3 恒流源电路运放加MOS管的经典组合运放加MOS管做恒流源是模拟电路里的经典拓扑。运放的同相输入端接参考电压反相输入端接采样电阻上的电压运放输出驱动MOS管栅极形成负反馈。当采样电阻上的电压低于参考电压时运放输出升高MOS管导通增强电流增大反之则减小。这个电路的精度取决于运放的失调电压、采样电阻的精度和温漂、以及MOS管的跨导。MOS管的跨导越高环路增益越大稳态误差越小。但跨导太高也可能导致环路不稳定需要加补偿电容。我在做LED恒流驱动时用这个拓扑实现了1%以内的电流精度。关键点是采样电阻用了低温漂的金属膜电阻运放选了低失调的精密运放MOS管选了跨导适中的型号。如果MOS管跨导太高环路容易振荡表现为LED亮度闪烁。6. 仿真与实测的差距LTspice里创建MOS模型时要注意什么6.1 自己创建MOS参数从数据手册到仿真模型LTspice自带的MOS模型库有限很多时候需要自己根据数据手册创建模型。这个过程不是简单填几个参数就行关键是要让仿真结果和实际波形对得上。我通常从数据手册里提取几个核心参数Vth阈值电压、Kp跨导参数、Cgs、Cgd、Cds、Rds(on)。然后把这些参数填入LTspice的MOS模型语句里。但数据手册给的Cgd通常是非线性的随Vds变化而LTspice的简单模型用的是固定电容所以仿真出来的开关波形会和实测有差距。更准确的做法是用子电路模型把Cgd的非线性用行为源模拟出来。但这需要更多的工作量适合对仿真精度要求高的场合。如果只是做趋势分析简单模型也够用但要知道它的局限性。6.2 仿真和实测对不上的常见原因仿真和实测对不上最常见的原因是寄生参数没考虑进去。PCB走线的寄生电感、MOS管封装的引线电感、驱动回路的环路电感这些在仿真里通常被忽略但在实际电路里会影响开关波形。我在仿真一个Buck电路时仿真效率是96%实测只有92%。后来在仿真里加了10纳亨的源极寄生电感和5纳亨的漏极寄生电感效率降到了93%左右和实测接近了。所以做仿真时不要只看理想情况要把寄生参数加进去否则仿真结果会过于乐观。另一个常见原因是温度。仿真通常在27°C下进行但实际工作时MOS管结温可能到100°C以上Rds(on)增大损耗增加。如果仿真里没有温度模型效率会被高估。7. 那些年我踩过的MOS管坑从炸管到波形振铃7.1 栅极振铃导致MOS管误导通栅极振铃是MOS管电路里最常见的问题之一。当驱动回路的寄生电感和MOS管的输入电容形成LC谐振时栅极电压会在开关瞬间出现高频振铃。如果振铃幅度超过阈值电压MOS管就会误导通导致直通炸管。我遇到过最严重的一次是半桥电路里上管的栅极振铃幅度达到了4V而阈值电压只有2V。结果上管在关断期间被振铃触发和下管同时导通瞬间炸管。后来在栅极串联了10欧姆电阻振铃幅度降到了1V以下问题解决。解决栅极振铃的思路一是加大栅极电阻降低驱动电流二是在栅极和源极之间加一个小电容吸收高频能量三是优化PCB布局缩短驱动回路减小寄生电感。7.2 体二极管反向恢复导致电流尖峰在桥式电路里体二极管的反向恢复特性经常被忽略。当MOS管从续流状态切换到阻断状态时体二极管里的存储电荷需要被抽走形成反向恢复电流。这个电流会叠加在对面MOS管的开通电流上导致电流尖峰。我实测过一颗MOS管的反向恢复电荷Qrr大约是50纳库仑在100kHz开关频率下反向恢复损耗大约是0.5W。如果散热设计没考虑这部分损耗结温会偏高。解决办法是选择Qrr更小的MOS管或者用肖特基二极管并联在MOS管两端让续流电流走肖特基不走体二极管。7.3 散热设计不足导致热失控热失控是MOS管最危险的失效模式之一。当结温升高时Rds(on)增大损耗增加结温进一步升高形成正反馈。如果散热设计不足最终会导致MOS管烧毁。我见过一个案例某工程师用MOS管做负载开关稳态电流5ARds(on)是10毫欧算下来导通损耗只有0.25W觉得不用散热器。但实际工作时环境温度40°CMOS管结到环境的热阻是50°C/W结温到了52.5°C看起来没问题。但Rds(on)在52.5°C时已经比25°C时大了20%损耗变成0.3W结温继续升高最终在高温环境下热失控。所以热设计一定要留余量不能只算常温下的损耗。我的经验是结温估算值不要超过最大结温的80%留20%的余量给不确定因素。8. 碳化硅MOS和硅MOS的选型边界什么时候值得多花钱碳化硅MOS管的价格是硅MOS管的几倍甚至十几倍但它在高压高频场合的优势非常明显。碳化硅的临界击穿场强是硅的10倍左右所以同样耐压下碳化硅的漂移区可以做得更薄导通电阻更低。另外碳化硅的热导率是硅的3倍散热更容易。但碳化硅MOS也不是万能的。它的栅极氧化层可靠性问题一直存在阈值电压漂移比硅MOS严重。另外碳化硅MOS的跨导通常比硅MOS低驱动电压需要更高常见的是18V到20V而硅MOS通常是10V到12V。我在做逆变器时对比过硅MOS和碳化硅MOS的效率。在20kHz开关频率下两者效率差距不大但到了100kHz碳化硅MOS的效率优势就体现出来了轻载效率能高3到5个百分点。所以选碳化硅还是硅关键看开关频率和母线电压。如果频率低于50kHz母线电压低于200V硅MOS的性价比更高如果频率高于100kHz或者母线电压高于400V碳化硅MOS的优势就值得多花的钱。9. 驱动芯片选型集成驱动和分立驱动的取舍集成驱动芯片把驱动电路、保护电路、自举电路都集成在一颗芯片里外围元件少设计简单。但集成驱动的驱动电流通常有限而且保护功能可能不够灵活。分立驱动用三极管或者专用驱动芯片搭灵活度高但占板面积大设计复杂度高。我在做小功率电机驱动时倾向于用集成驱动比如TI的DRV系列或者ST的L6系列集成度高保护功能全适合快速开发。但在做大功率逆变器时会用分立驱动因为需要更大的驱动电流和更灵活的死区时间控制。选驱动芯片时要重点看几个参数峰值驱动电流、传播延迟、死区时间可调范围、保护功能过流、过温、欠压锁定。传播延迟和死区时间对效率影响很大传播延迟越小死区时间可以设得越短体二极管导通损耗越小。10. 写在最后一些零散但实用的经验MOS管的正确打开方式说到底就是理解它在不同阶段的行为然后针对性地设计驱动、散热和保护。没有一颗MOS管是万能的选型时要在导通电阻、栅极电荷、封装热阻、成本之间做取舍。我个人的习惯是拿到一颗新MOS管先看数据手册里的SOA曲线和瞬态热阻抗曲线这两条曲线决定了它的安全边界。然后搭一个简单的测试电路用示波器看开关波形确认没有振铃和误导通。最后在实际负载下跑一段时间用热像仪看温升确认热设计有余量。还有一点PCB布局对MOS管电路的影响非常大。驱动回路要短而粗功率回路和驱动回路要分开采样电阻要用开尔文接法。这些细节看起来不起眼但往往是决定电路能不能稳定工作的关键。如果你正在做MOS管相关的设计遇到波形振铃、发热严重、效率不达标这些问题不妨从驱动回路和散热设计入手排查。大多数时候问题不在MOS管本身而在它周围的那一圈电路。
返回列表