MOS管的基本结构:栅极为什么是绝缘的?
做硬件设计,只要用大功率MOS管,就绕不开驱动电路:为什么不能直接用单片机IO口接MOS管栅极?很多新手觉得不就是给个高低电平吗,IO直接驱动不就行?结果要么MOS管打不开,要么发热严重烧掉,要么开关速度慢波形难看。为啥MOS管偏偏需要专门的驱动电路?今天我们从原理到实践把这个问题讲透,看完就懂驱动电路的必要性,也知道怎么设计合适的驱动。
一、先回忆MOS管的基本结构:栅极为什么是绝缘的?
要搞懂驱动的问题,首先得回到MOS管的基本结构。MOS管全称是金属氧化物半导体场效应管,核心结构就是栅极和沟道之间隔着一层二氧化硅绝缘层,也就是说,栅极和源极、漏极之间都是绝缘的,正常工作的时候栅极几乎没有直流电流,这也是MOS管输入电阻高、功耗低的核心优势。
但绝缘的栅极就带来一个特点:栅极和源极之间等效成一个电容,叫栅源电容Cgs,栅极和漏极之间还有栅漏电容Cgd,总栅极电容Qg就是这两个电容加起来。也就是说,你要让MOS管导通或者关断,本质就是给这个栅极电容充电或者放电——充到阈值电压Vth以上,MOS管导通;放到阈值电压以下,MOS管关断。这个充放电过程,就是驱动电路要干的核心活,也是MOS管不能直接用IO驱动的根本原因。
二、核心原因:栅极电容需要大电流充放电,IO根本不够用
很多人会问:不就是给电容充个电吗,IO口输出高电平慢慢充不行吗?这里涉及到开关速度和损耗的问题,我们慢慢说。
首先,单片机IO口的输出电流一般都很小,普通STM32的IO口最大输出电流也就几mA到十几mA,而MOS管的栅极电容有多大呢?小信号MOS管的栅极电容可能只有几百pF,大功率MOS管的栅极电容能到几nF甚至十几nF,要把几nF的电容从0V充到10V,需要的电荷量Q= C*U = 10nF * 10V= 100nC,按照IO最大10mA电流算,充电时间t=Q/I=100nC /10mA=10us,如果是更大功率的MOS管,充电时间会更长。
充电慢会带来什么问题?MOS管的损耗会急剧升高。我们知道MOS管工作在开关状态的时候,导通的时候压降几乎为零,损耗很小;关断的时候电流几乎为零,损耗也很小,只有在开通和关断的过渡过程中,MOS管同时承受高压大电流,这个时候损耗非常大,过渡时间越长,损耗越大,发热就越严重。
举个例子,一个工作在50kHz的MOS管,周期是20us,如果驱动电流不够,开通时间就要10us,那半个周期里MOS管都工作在放大区,发热量直接翻好几倍,不用多久就过热烧坏了。很多新手直接用IO驱动大功率MOS管,就是因为开关速度太慢,过渡过程太长,损耗太大,把管子烧了,还以为是管子质量不好,其实就是驱动没做对。
反过来,如果用专门的驱动电路,能提供几百mA甚至几A的峰值驱动电流,给几nF的栅极电容充电只需要几百ns,开通关断都很快,过渡过程只有几百ns,一个周期里损耗时间很短,总损耗就很小,管子不会发热,能正常工作。
除了开通,关断的时候也需要大电流放电:如果驱动电流不够,栅极电容放电慢,MOS管关断时间变长,同样会导致关断过程损耗变大,发热升高,甚至关断不彻底,管子一直处于半导通状态,直接烧坏。
简单说就是:MOS管的栅极是个大电容,开通需要大电流充电,关断需要大电流放电,IO口输出电流太小,充放电太慢,开关损耗太大,所以必须要专门的驱动电路提供足够大的充放电电流,让MOS管快速开通关断,降低开关损耗。
三、第二个原因:电平不匹配,逻辑电平达不到栅极驱动要求
除了充放电电流不够,很多时候电平也不匹配,这也是需要驱动电路的第二个原因。
现在大部分单片机都是3.3V逻辑电平,而很多MOS管,尤其是大功率N沟道MOS管,完全导通需要的栅源电压Vgs一般要达到10V左右,才能让导通电阻Rds(on)降到最低,如果只用3.3V的IO直接驱动,Vgs只有3.3V,很多MOS管的阈值电压Vth都在2V以上,3.3V虽然能让MOS管导通,但导通电阻会比标称值大好几倍甚至十几倍,大电流下导通损耗I²R会变得非常大,管子一样会发热烧掉。
举个例子,一个标称100V 100A的MOS管,Vgs=10V的时候导通电阻是5mΩ,10A电流下损耗是0.5W,如果Vgs只有4.5V,导通电阻可能会升到30mΩ,10A下损耗就变成了3W,直接翻了6倍,不做散热肯定烧。如果是-10V关断的高压MOS管,逻辑电平更是直接不匹配,必须用驱动电路转电平。
那有没有能用3.3V驱动的MOS管?有,逻辑电平MOS管,就是专门优化过,Vgs=4.5V甚至2.5V就能达到额定导通电阻,小功率的逻辑MOS管,确实可以直接用IO驱动,但只要功率稍微大一点,栅极电容变大,还是需要足够的充放电电流,还是要驱动电路,电平匹配只是解决了导通电阻的问题,没解决充放电速度的问题。
驱动电路在这里还能起到电平转换的作用:把单片机3.3V/5V的逻辑电平,转换成10V/12V的驱动电平,让MOS管完全导通,导通电阻降到最低,降低导通损耗,这就是驱动电路的第二个作用。
四、第三个原因:增强抗干扰能力,防止误导通
MOS管的栅极阻抗非常高,因为是绝缘的,非常容易受干扰,只要感应一点点电荷,就会积累在栅极电容上,电压慢慢升高,如果积累到阈值电压以上,MOS管就会误导通,导致后端强电短路,烧坏管子甚至负载。
如果直接把IO接栅极,IO口的输出阻抗比较高,抗干扰能力差,干扰很容易耦合到栅极,导致误触发。而专门的驱动电路一般输出阻抗很低,哪怕有干扰,低阻抗能很快把干扰电荷泄放掉,不会让栅极电压升到阈值以上,能有效防止误导通。
很多驱动设计还会在栅极和源极之间并联一个几kΩ的下拉电阻,就是为了给栅极电容提供一个泄放通路,哪怕驱动端开路,栅极电压也会被拉到0V,不会误导通,这个电阻一般也放在驱动电路里,进一步提升可靠性。
尤其是在高频开关、大电流应用场景下,干扰很大,栅极稍微有点干扰就会误动作,低阻抗的驱动电路能很好的抑制干扰,这也是为什么必须要专门驱动的原因。
五、第四个原因:高压侧驱动需要电平位移,直接驱动根本打不开
如果是用N沟道MOS管做上桥臂,比如半桥、全桥、BOOST升压电路,N沟道MOS管的源极电压不是固定的,会跟着输出电压升高,比如半桥的上桥臂,输出最高电压等于母线电压,可能是400V,这个时候栅极要保持导通,需要栅极电压比源极高10V,也就是栅极电压要达到410V,单片机IO输出最高只有5V,根本不可能达到这么高的电压,直接驱动肯定打不开。
这种情况就需要专门的驱动电路,要么用自举电路,要么用隔离驱动(比如隔离芯片、变压器驱动),把驱动电平抬到比源极高10V,才能让上桥臂的N沟道MOS管正常导通,这是高压桥臂驱动必须解决的问题,直接驱动根本实现不了,必须要专门的驱动电路。
哪怕是小功率的低压桥臂,只要用上N沟道上管,就需要电平位移,都需要专门的驱动,这也是为什么现在半桥、全桥都用专门的栅极驱动芯片的原因,不是设计师多此一举,是根本没办法直接驱动。
六、常见的MOS管驱动方案,各适合什么场景?
搞懂了为什么需要驱动,我们看看常见的驱动方案,分别适合什么场景,大家选型的时候可以直接参考:
1. 三极管推挽驱动:成本低,适合中小功率
最经典的驱动方案就是一个NPN加一个PNP三极管组成推挽,输入端接单片机IO,输出端接MOS管栅极:当IO输出高电平时,NPN导通,给栅极电容充电,电流很大,充电很快;当IO输出低电平时,PNP导通,栅极电容通过PNP放电,放电速度也很快,推挽能提供几百mA的驱动电流,足够驱动中小功率的MOS管,成本只要几毛钱,适合对成本敏感的中小功率场景。
推挽驱动的优点是成本低,元器件好买,缺点是驱动电流不算特别大,不适合超大功率MOS管,而且电平转换需要额外供电,要自己算参数,新手容易错。
2. 专用栅极驱动芯片:集成度高,性能好,新手友好
现在最常用的就是专用栅极驱动芯片,比如IR2104、IR2117这些,不仅能提供几A的峰值驱动电流,还集成了死区控制、电平位移,能直接驱动半桥的上桥臂,只需要接一个自举电容就能工作,外围元件很少,新手直接按数据手册接就能用,非常方便。
驱动芯片的优点是集成度高,驱动电流大,性能稳定,还能解决上桥臂驱动的问题,缺点是比三极管推挽贵一点,但是也就几块钱,对于大部分场景来说,性价比很高,现在大部分开关电源、电机驱动都用驱动芯片。
3. 隔离驱动:高压场景必备,安全可靠
如果驱动高压MOS管,母线电压几百伏,需要把弱电侧和高压侧隔离开,就需要隔离驱动,常见的有隔离型栅极驱动芯片(比如Si82xx系列),或者变压器驱动、光耦驱动。
隔离驱动能把低压弱电侧和高压强电侧彻底隔离开,保证弱电侧的安全,同时能把驱动电平抬到需要的电压,适合高压变频器、新能源汽车、工业变频器这些高压场景,没有隔离驱动根本没法安全工作。
4. MOS管直接驱动:只有这种场景能用
很多人会问,到底有没有不用驱动电路,直接用IO驱动的场景?其实也有,只有同时满足这三个条件才能用:第一,MOS管是小功率逻辑电平型,栅极电容很小(一般小于1nF);第二,开关频率很低,比如几秒开关一次,哪怕充放电慢一点,损耗也很小;第三,电流很小,导通电阻大一点也没关系,发热不大。比如用MOS管做小电流的电源开关,几秒开关一次,确实可以直接用IO驱动,不用额外加驱动,这种场景很少,大部分功率和开关场景都需要驱动。
七、设计驱动电路,这几个坑新手一定要避开
最后我们整理几个新手设计驱动电路最容易踩的坑,提前避开少烧管子:
1. 不做泄放通路,栅极悬空容易误导通
很多新手驱动电路只接了栅极,没加栅源下拉电阻,驱动端开路的时候,栅极感应电荷泄放不掉,容易积累电压导致误导通,所以一定要在栅极和源极之间加一个1k-10k的下拉电阻,给电荷提供泄放通路,这个电阻不贵,一定要加。
2. 栅极电阻选太大,拖慢开关速度增加损耗
很多人怕驱动电流太大烧坏栅极,会串一个几十Ω甚至上百Ω的栅极电阻,电阻太大,充放电速度变慢,开关损耗变大,管子一样会烧,一般中小功率MOS管栅极电阻选10Ω-100Ω就够了,大功率选几Ω到十几Ω,不要选太大。
3. 上桥臂N沟道不用自举,驱动电压不够
做半桥的时候,上桥臂N沟道,很多新手不知道加自举电容,或者自举电容选太小,驱动电压不够,MOS管导通不全,发热烧管子,自举电容一定要选足够容量,耐压够,一般选1μF以上的陶瓷电容就够了,不要选电解电容,响应慢。
4. 驱动功率不够,大管子用小驱动
很多人选驱动芯片的时候,不看峰值驱动电流,用最大1A的驱动芯片驱动需要几A驱动电流的大功率MOS管,还是会因为充放电慢导致损耗大发热,所以驱动的峰值电流一定要够,一般按I=Qg / tr选,Qg是栅极总电荷,tr是要求的开通时间,算出来需要多大驱动电流就选多大的。
5. 逻辑电平直接驱动大功率管,导通电阻太大
很多新手用3.3VIO直接驱动普通MOS管,以为能导通就行,不知道普通MOS管Vgs=3.3V的时候导通电阻会大很多,大电流下损耗直接超标,所以大功率管一定要用10V驱动电平,让导通电阻降到最低,降低损耗。
总结一下,MOS管需要专门驱动电路,核心就是四个原因:一是栅极是大电容,需要大电流快速充放电,降低开关损耗,IO电流不够;二是电平不匹配,逻辑电平达不到完全导通需要的Vgs,会导致导通损耗太大;三是栅极阻抗高容易受干扰,低阻抗驱动能防止误导通,提高可靠性;四是高压桥臂的上管需要电平位移,直接驱动根本打不开。
看起来是个小问题,其实背后都是MOS管的结构特性决定的,驱动没做好,哪怕管子选对了,电路原理对了,照样烧管子,很多新手做开关电源、电机驱动,一通电就烧MOS,大部分都是驱动的问题,要么电流不够,要么电平不对,要么上桥臂没做自举。
搞懂了驱动为什么需要,设计的时候抓住“足够的充放电电流、正确的驱动电平、可靠的防干扰、高压上桥的电平位移”这几个核心点,就能设计出稳定可靠的驱动,少烧很多管子。





