1,原因
忽略杂散电感,由于GS之间存在小电容,所以驱动回路就变成了RC低通滤波器,如下图,RC滤波器特点是当输入90度上升沿时,输出会变得缓慢,下降沿同理。这就是MOS管发热主要原因,因为此时MOS管并未完全导通,DS之间电阻RDSon比较大,DS两端的电压不小,电流也很大,这就会导致MOS管发热
可以通过示波器来分析这个缓慢上升的阶段
得到波形图如下,紫色为电流。开始时PWM为0,黄色波形为0V,MOS管完全关断,这时电压VDS就应该等于电源电压。右边部分MOS管完全导通时VGS=5V,VDS=0V。中间黄色波形,即VGS上升过程分为三个阶段,第一个阶段VGS由0上升到VGS(th),MOS管还没有开通,VDS等于电源电压,电流为0;第二个阶段黄色波形很平,此时MOS管处于半开半关状态,相当于一个电阻,可以看紫色曲线电流在这个阶段是不小的,这个阶段是MOS管发热的主要原因;第三个阶段就是MOS管完全导通,虽然电流比较大但是VDS等于零 P=UI为0。
很多时候希望PWM频率越大越好,例如开关电源领域PWM频率越大功率就越大,成本更低。而VGS的上升沿和下降沿时间就成了频率提升的最大障碍。所以为了减少MOS管的发热,就要减小VGS上升沿和下降沿所用的时间
2,解决办法
第一种方法就是减小电阻R2,以此来减小RC的时间常数,上升沿就可以更陡,但是太小就有可能引起振铃。所以要尝试更换电阻阻值,折中处理(如果电阻超过100Ω振铃仍然很大,就要令找问题了)
我们可以在电阻两端并联一个二极管,这样可以让下降沿变得更陡。这是因为当IO口电压为0时,G端电压高于IO口,这时二极管就回导通,二极管右端也就是G端电压就变成了0.7V
第二个方法是减小MOS管的Cgs电容。选择Ciss更小的MOS管
第三个方法是增大G端的驱动电压和电流。可以用专门的栅极驱动芯片(比如EG3013)。对于单片机来说输出电压只有3.3V,电流20mA,做慢速开关是可以的,但是做PWM驱动就很局限,只能驱动小功率MOS管