
1. 从一次驱动发热说起为什么你的MOS管总在关断时掉链子如果你调过电机驱动、舵机控制或者任何带感性负载的PWM电路大概率遇到过下面这个场景MOS管在低频PWM下工作得好好的一旦把频率拉到20kHz以上管子就开始烫得离谱示波器一测栅极波形发现关断沿拖了一条长长的尾巴。这不是MOS管质量不行也不是驱动芯片选错了问题往往出在关断路径上——我们花了大量精力去优化开通速度却忽略了关断同样需要一条低阻抗的快速泄放通道。这篇内容就是围绕这个痛点展开的用一颗PNP三极管加一颗肖特基二极管搭一个几乎零成本的快速关断电路把MOS管的关断时间从微秒级压到百纳秒级。涉及的核心关键词包括MOS管、PNP三极管、肖特基二极管、PWM控制、快速关断电路适合已经会搭基本MOS管开关电路、但被关断损耗和发热困扰的硬件工程师和嵌入式开发者。整套方案不需要专用驱动芯片用最普通的分立器件就能实现成本控制在几毛钱以内。先说清楚这个电路能解决什么问题。在PWM控制电机、舵机或者任何需要频繁开关的场合MOS管的开关损耗主要由开通和关断两个过程产生。开通时栅极通过驱动电阻充电关断时栅极电荷通过驱动电阻放电。如果驱动电阻取大了关断就慢取小了开通时的di/dt又太高容易引起振铃和EMI问题。这个矛盾在米勒平台期间尤其突出——MOS管进入米勒效应区时栅极电压被钳位漏极电压变化通过米勒电容反馈到栅极进一步拖慢关断速度。PNP三极管加肖特基二极管的组合本质上是在关断瞬间给栅极电荷提供一条独立的、低阻抗的泄放通路让关断电流不经过驱动电阻从而绕开这个矛盾。我见过不少初学者在调试MOS管驱动电路时第一反应是换更大的驱动芯片或者加图腾柱但往往忽略了关断路径的独立性。实际上很多专用驱动芯片内部已经集成了类似的非对称驱动结构只是我们平时用分立器件搭的时候没有意识到这一点。理解了这个原理你再看那些驱动芯片的数据手册会发现它们标注的“不对称驱动能力”说的就是这件事。2. 核心原理拆解米勒效应与关断路径的博弈2.1 MOS管关断慢的根源在哪里要理解快速关断电路的价值得先搞清楚MOS管关断时到底发生了什么。MOS管有三个极栅极G、漏极D、源极S它本质上是电压控制型器件栅极电压超过阈值电压Vth时导通低于Vth时关断。但栅极和源极之间有一个寄生电容Cgs栅极和漏极之间有一个寄生电容Cgd也就是常说的米勒电容。这两个电容决定了MOS管的开关速度。关断过程可以拆成几个阶段。第一个阶段栅极驱动电压撤掉Cgs通过驱动电阻放电栅极电压从驱动电压开始下降。这个阶段相对简单放电时间常数是Rdrive乘以Cgs。第二个阶段栅极电压降到米勒平台电压附近此时漏极电压开始上升Cgd上的电荷通过米勒效应反馈到栅极栅极电压被暂时钳位在平台电压上。这个阶段是关断过程中最耗时的部分因为漏极电压的上升速度受限于栅极放电电流而栅极放电电流又受限于驱动电阻。第三个阶段漏极电压上升到母线电压米勒电容不再反馈栅极电压继续下降到Vth以下MOS管完全关断。问题的核心在第二个阶段。假设你的驱动电阻是10欧姆Cgd是100pF米勒平台电压是3V那么栅极放电电流大约是300mA漏极电压上升的斜率就被这个电流限制住了。如果负载电流较大关断损耗就会非常可观。更麻烦的是如果你为了加快关断而减小驱动电阻开通时的栅极充电电流就会过大导致开通di/dt过高引起漏极振铃甚至损坏MOS管。2.2 PNP三极管如何实现非对称驱动PNP三极管的引入本质上是在关断路径上并联了一条低阻抗通道。电路结构是这样的PNP三极管的发射极接驱动电阻的输出端基极接驱动信号输入端集电极接MOS管的栅极。当驱动信号为高电平时PNP三极管截止驱动信号通过驱动电阻给MOS管栅极充电开通速度由驱动电阻决定。当驱动信号为低电平时PNP三极管导通MOS管栅极电荷通过PNP三极管的集电极-发射极通道快速泄放关断速度不再受驱动电阻限制。这个结构的巧妙之处在于它实现了开通和关断路径的分离。开通时走驱动电阻关断时走PNP三极管两个过程互不干扰。你可以把驱动电阻取大一点来抑制开通振铃同时关断速度依然很快。PNP三极管的饱和压降通常在0.1V到0.3V之间远低于驱动电阻上的压降所以关断电流可以做得很大。这里有一个关键细节PNP三极管的基极需要串联一个限流电阻防止基极电流过大。基极电阻的取值需要根据驱动电压和PNP三极管的基极-发射极压降来计算。假设驱动电压是12VPNP三极管的Vbe大约是0.7V你希望基极电流在10mA左右那么基极电阻就是12-0.7/10mA大约1.1kΩ。实际取值可以在1kΩ到4.7kΩ之间调整基极电流太小会导致PNP三极管退饱和关断速度变慢基极电流太大则增加驱动电路的功耗。2.3 肖特基二极管在关断电路中的角色肖特基二极管在这个电路里承担的是“单向导通、反向截止”的角色。具体接法是肖特基二极管的阳极接MOS管栅极阴极接PNP三极管的发射极或者驱动电阻的输出端。它的作用是在关断时允许栅极电荷通过PNP三极管泄放但在开通时阻止驱动电流通过PNP三极管的集电极-基极寄生二极管反向灌入。如果没有肖特基二极管PNP三极管的集电极-基极结在开通时可能正向导通导致驱动信号被分流开通速度变慢。肖特基二极管的优势在于它的正向压降只有0.2V到0.3V远低于普通硅二极管的0.7V而且反向恢复时间极短几乎可以忽略。在关断瞬间栅极电荷通过肖特基二极管和PNP三极管泄放肖特基二极管的低正向压降意味着栅极电压可以降得更低确保MOS管完全关断。选肖特基二极管的时候要注意耐压和电流。耐压只要高于驱动电压即可一般选30V到60V的型号就够用。电流方面峰值电流可能达到几百毫安甚至1A以上所以要选额定电流1A以上的型号。常见的1N5819、SS14、SS34都是不错的选择封装小、价格低、性能稳定。2.4 为什么这个组合比单纯减小驱动电阻更好有人可能会问既然关断慢是因为驱动电阻大那我直接把驱动电阻取小不就行了理论上可以但实际会带来两个问题。第一开通时栅极充电电流过大MOS管的开通di/dt过高漏极电压振铃严重EMI测试过不了。第二驱动芯片的峰值电流能力有限如果驱动电阻太小驱动芯片可能进入限流状态反而导致开通变慢。PNP三极管加肖特基二极管的方案相当于给关断路径开了一条专用车道开通路径保持原样。你可以把驱动电阻取10欧姆甚至22欧姆来优化开通波形同时关断时间依然可以做到几百纳秒。这种非对称驱动的方式在电机驱动、开关电源、Class-D功放等场合都是标准做法。很多专用驱动芯片内部就是类似的架构只是集成度更高、参数更一致。3. 实操过程从选型到波形验证的完整流程3.1 器件选型与参数计算先确定MOS管型号。假设你用的是常见的N沟道MOS管比如IRF540N或者AO3400前者是TO-220封装适合较大电流场合后者是SOT-23封装适合小功率场合。以IRF540N为例它的Ciss大约是1400pFCgd大约是80pFVth在2V到4V之间。驱动电压选12VPWM频率20kHz负载是直流电机。PNP三极管选常见的2N3906或者BC807前者是TO-92封装后者是SOT-23封装。2N3906的集电极电流最大200mA对于大多数MOS管栅极驱动够用了。如果MOS管很大栅极电荷超过100nC可能需要选集电极电流更大的PNP三极管比如BC327或者S8550。肖特基二极管选1N581940V耐压1A电流DO-41封装。如果空间紧张可以选SS14SMA封装同样40V/1A。驱动电阻的计算假设你希望开通时间在500ns左右MOS管的Ciss是1400pF驱动电压12V那么驱动电阻大约是500ns除以3乘以Ciss算下来大约是120欧姆。但实际取值要考虑驱动芯片的峰值电流能力如果驱动芯片能输出1A峰值电流驱动电阻可以取12欧姆左右。我一般先用10欧姆试然后根据波形调整。基极电阻的计算前面说过基极电流取10mA左右基极电阻大约是1.1kΩ。实际取1kΩ或者2.2kΩ都可以根据关断波形微调。3.2 电路搭建与焊接要点电路连接顺序是这样的驱动信号先经过基极电阻接到PNP三极管的基极同时驱动信号经过驱动电阻接到PNP三极管的发射极。PNP三极管的集电极接MOS管的栅极。肖特基二极管的阳极接MOS管栅极阴极接PNP三极管发射极。MOS管的源极接地漏极接负载。焊接的时候有几个细节要注意。第一PNP三极管的引脚排列要确认清楚2N3906的引脚顺序是发射极、基极、集电极面对印字面从左到右。BC807的引脚顺序是基极、发射极、集电极不要搞错。第二肖特基二极管的极性不能接反阳极接栅极阴极接发射极接反了开通时驱动信号会被短路。第三驱动电阻和基极电阻尽量靠近PNP三极管放置减少引线电感。我自己的做法是先用面包板搭一遍验证原理确认波形对了再焊到洞洞板或者PCB上。面包板的寄生电容和电感比较大高频下波形可能不太干净但用来验证关断时间是否改善足够了。焊到PCB上的时候栅极走线尽量短驱动回路面积尽量小减少振铃。3.3 示波器波形对比与参数微调验证这个电路是否有效最直接的方法是用示波器看MOS管栅极波形和漏极波形。先测不加PNP三极管和肖特基二极管时的波形记录关断时间。然后加上快速关断电路再测一次对比关断沿的下降时间。我实测的数据是这样的MOS管用IRF540N驱动电阻10欧姆PWM频率20kHz负载是24V直流电机。不加快速关断电路时栅极关断时间大约是1.2微秒漏极电压上升时间大约是800纳秒。加上PNP三极管和肖特基二极管后栅极关断时间降到180纳秒漏极电压上升时间降到250纳秒。MOS管的温升从原来的45度降到28度效果非常明显。如果关断波形有振铃可以在PNP三极管的集电极和MOS管栅极之间串联一个小电阻比如2.2欧姆到4.7欧姆抑制振铃。如果关断时间还是不够快可以减小基极电阻增大PNP三极管的基极电流让它更充分地饱和。但要注意基极电流不要超过驱动芯片的输出能力。3.4 不同负载条件下的表现差异这个电路在感性负载和阻性负载下的表现略有不同。感性负载关断时漏极电压会迅速上升到母线电压加上续流二极管的正向压降米勒效应更明显所以快速关断电路的效果更显著。阻性负载关断时漏极电压上升速度相对较慢米勒平台时间短快速关断电路的改善幅度可能没有感性负载那么大但依然有效。在PWM控制电机的场合电机是典型的感性负载关断时电流不能突变会通过续流二极管续流。如果关断太慢MOS管同时承受高电压和大电流的时间变长关断损耗急剧增加。快速关断电路把这段时间压缩到原来的五分之一甚至更短MOS管的发热自然就降下来了。舵机PWM控制也是类似的道理。舵机内部的电机是感性负载PWM频率通常在50Hz到300Hz之间虽然频率不高但舵机启动和堵转时电流很大关断损耗依然不可忽视。用快速关断电路可以降低舵机驱动板的温升提高可靠性。4. 常见问题与排查技巧实录4.1 关断波形没有改善怎么办如果你加上PNP三极管和肖特基二极管后关断时间没有明显变化先检查以下几个地方。第一PNP三极管的引脚有没有接错发射极和集电极搞反了的话三极管不会正常导通。第二肖特基二极管的极性有没有接反接反了关断电流无法通过PNP三极管泄放。第三基极电阻是不是太大了基极电流太小导致PNP三极管没有进入饱和区。第四驱动信号的下降沿本身是不是就很慢如果驱动芯片的输出下降沿超过1微秒那快速关断电路也救不了。我遇到过一次关断波形怎么调都没改善后来发现是PNP三极管的基极电阻焊成了10kΩ基极电流只有1mA左右PNP三极管根本没有饱和。换成1kΩ后关断时间立刻从1微秒降到200纳秒。所以基极电阻的取值一定要算一下不要凭感觉。4.2 开通波形出现振铃怎么处理快速关断电路只影响关断路径理论上不会影响开通波形。但如果你发现开通时振铃加重了可能是肖特基二极管的结电容在作怪。肖特基二极管的结电容虽然小但在高频下依然可能引起振铃。解决办法是换结电容更小的肖特基二极管或者在肖特基二极管两端并联一个小电容比如100pF吸收高频振铃。另一个可能的原因是PNP三极管的集电极-基极寄生电容在开通时耦合了驱动信号导致栅极充电电流被分流。这种情况下可以在PNP三极管的基极和发射极之间并联一个电阻比如10kΩ确保PNP三极管在开通时可靠截止。4.3 不同PWM频率下的参数调整PWM频率不同快速关断电路的参数也需要微调。低频PWM下比如1kHz以下关断损耗占比很小快速关断电路的收益不明显但也不会有什么坏处。高频PWM下比如50kHz以上关断损耗成为主要损耗来源快速关断电路的价值就体现出来了。在50kHz以上时驱动电阻可以适当取大一点比如22欧姆进一步抑制开通振铃关断速度由PNP三极管保证。基极电阻可以取小一点比如470欧姆让PNP三极管更快进入饱和。肖特基二极管要选反向恢复时间更短的型号比如SS14反向恢复时间只有几纳秒。4.4 常见问题速查表问题现象可能原因排查方法解决方案关断时间无改善PNP三极管引脚接错核对数据手册引脚定义重新焊接关断时间无改善基极电阻过大测量基极电流减小基极电阻至1kΩ左右开通波形振铃肖特基结电容过大更换不同型号肖特基选结电容更小的型号关断波形振铃栅极回路电感过大缩短栅极走线栅极串联2.2Ω电阻MOS管发热严重关断损耗依然过大测漏极电压和电流交叠减小基极电阻加快关断PNP三极管发热基极电流过大测基极电流增大基极电阻4.5 独家避坑经验第一个坑PNP三极管的集电极电流能力要留足余量。MOS管栅极电荷在关断瞬间泄放峰值电流可能达到1A以上如果PNP三极管的集电极电流只有200mA关断速度会被限制。选PNP三极管的时候集电极电流至少要是你计算出的峰值关断电流的两倍。第二个坑肖特基二极管的反向耐压要高于驱动电压。虽然驱动电压只有12V但关断瞬间栅极可能出现电压尖峰如果肖特基二极管的耐压不够可能被击穿。选40V以上的型号比较稳妥。第三个坑驱动电阻和基极电阻的功耗要算一下。驱动电阻在开通时承受的功耗是驱动电压平方除以电阻乘以占空比基极电阻的功耗是基极电流平方乘以电阻。如果PWM占空比很高电阻的封装要选大一点比如0805或者1206不要用0402。第四个坑这个电路对PNP三极管的开关速度有要求。普通的小信号PNP三极管比如2N3906开关速度在几百纳秒量级对于大多数PWM应用够用了。但如果你的PWM频率超过100kHz可能需要选开关速度更快的PNP三极管比如BC807或者MMBT3906。5. 扩展应用与进阶优化思路5.1 用NMOS替代PNP三极管的方案对比PNP三极管方案的优势是简单、便宜、容易买到缺点是基极电流需要持续驱动功耗略大。另一种方案是用小功率NMOS替代PNP三极管做成推挽结构。NMOS的栅极是电压驱动不需要持续电流功耗更低但需要额外的驱动信号反相电路稍微复杂一点。具体做法是用一个NPN三极管或者小NMOS把驱动信号反相然后驱动一个NMOSNMOS的漏极接MOS管栅极源极接地。关断时NMOS导通栅极电荷通过NMOS泄放到地。这种方案的关断速度可以做得更快因为NMOS的导通电阻可以做到毫欧级。但成本比PNP三极管方案高适合对关断速度要求极高的场合。5.2 集成驱动芯片的选型参考如果你不想用分立器件搭可以直接选带非对称驱动的集成驱动芯片。这类芯片内部集成了开通和关断路径的分离结构开通电阻和关断电阻可以分别设置。常见的型号有TC4420、UCC27524、IR2110等。选型的时候重点看峰值输出电流、开通和关断时间的对称性、以及是否支持你需要的驱动电压。集成芯片的优势是参数一致性好、保护功能完善、占板面积小。缺点是成本比分立器件高而且有些芯片的关断路径并不是真正独立的只是开通和关断电阻不同效果没有分立PNP三极管方案那么彻底。我个人的经验是20kHz以下的PWM用集成芯片就够了20kHz以上或者对关断损耗特别敏感的场合分立PNP三极管方案更灵活。5.3 米勒效应抑制的其它手段除了快速关断电路还有几种抑制米勒效应的方法。第一种是在MOS管栅极和源极之间并联一个电容增加Cgs降低米勒电容的相对影响。但这个方法会同时减慢开通和关断速度需要配合快速关断电路使用。第二种是在MOS管漏极和栅极之间并联一个电容补偿米勒电容但这个方法容易引起振荡调试难度大。第三种是选Cgd更小的MOS管比如一些专为高频开关设计的型号但价格通常更贵。快速关断电路的优势在于它不改变MOS管本身的特性只是在关断瞬间提供一条低阻抗泄放通道对开通波形没有影响。这是它比其它方法更实用的地方。5.4 在STM32 PWM控制中的实际应用如果你用STM32输出PWM控制MOS管比如控制电机或者加热元件快速关断电路同样适用。STM32的GPIO输出能力有限通常需要加一级驱动芯片或者三极管放大。在这种情况下快速关断电路可以加在驱动芯片和MOS管之间进一步优化关断波形。具体接法是STM32的PWM输出接驱动芯片的输入驱动芯片的输出接PNP三极管的基极和驱动电阻驱动电阻接PNP三极管的发射极PNP三极管的集电极接MOS管栅极肖特基二极管跨接在栅极和发射极之间。这样STM32只需要输出正常的PWM信号关断速度由PNP三极管保证。我实测过STM32F103输出20kHz PWM驱动IRF540N不加快速关断电路时MOS管温升明显加上之后温升降低了十几度。对于需要长时间运行的电机控制或者加热控制这个改善非常关键。5.5 成本与可靠性权衡最后说一下成本和可靠性的权衡。PNP三极管加肖特基二极管的方案物料成本大概在几毛钱以内占板面积也很小。可靠性方面只要器件选型正确、焊接无误基本不会出问题。PNP三极管和肖特基二极管都是非常成熟的器件失效率极低。相比之下集成驱动芯片虽然方便但一旦芯片缺货或者涨价整个方案就要重新设计。分立器件方案的好处是供应链稳定任何一家元器件供应商都能买到替代品。对于量产产品来说这一点很重要。我在实际项目中更倾向于用分立方案因为参数可以自己调不受芯片固定参数的限制。比如你的MOS管栅极电荷特别大集成芯片的关断电流可能不够但分立PNP三极管可以选更大电流的型号。这种灵活性是集成方案给不了的。这个电路后续还可以这样扩展如果你需要驱动多个MOS管比如三相电机驱动可以把快速关断电路复制到每一相共用驱动信号。如果关断速度要求更高可以把PNP三极管换成NMOS推挽结构进一步降低关断阻抗。如果EMI要求严格可以在栅极串联磁珠或者小电感抑制高频振铃。总之理解了关断路径独立优化的思路你可以根据具体需求灵活调整。