讨论在单片机I/O驱动时,选三极管和MOS管的区别
看到标题我们会联想两个问题:
【资料图】
1)单片机为啥不直接驱动负载?
2)为啥在电路图中我们常见到用IO驱动三极管非直接驱动MOS管?
以上是截图之前自己电路中的部分图,主要是表示下晶体管和MOS管。
针对以上两个问题,一般我们从单片机手册上可以得知IO口的电流很小,可以有带负载能力,但是驱动能力有限,一般只有10~20mA左右,所以常见的电路中很少用IO口直接驱动负载。
第二个问题,三极管和MOS管的驱动能力,首先我们从这两种管子的内部结构来分析,三极管是电流控制型,三极管基极驱动电压只要高于Ube(一般0.3V或0.7V)就能导通;而MOS管是电压控制型,驱动电压必须要高于阈值电压(Vgs TH)才能真正的导通,不同的MOS管的阈值电压不同,一般3~5V左右,饱和驱动电压可在6~8V。
目前随着科技的发展,对处理器的功耗要求越来越高,所以处理器的电压也越来越低,一般单片机供电为3.3V,也就是说IO口最高驱动电压是3.3V,直接驱动三极管的话,3.3V≥Ube,直接在基极上串一个合适的电阻,让三极管工作在饱和区就可以了,Ib=(BEEP_Ctrl-0.7v)/R54;下图中的R55是为了三极管的基极有个初始状态。
驱动MOS管,MOS管的饱和电压>3.3V,若用3.3V来驱动的话,很可能MOS管并没有导通或是半导通状态,在半导通状态下,管子的内阻很大,驱动小电流负载可以这么用,但是对大电流负载是不行的,内阻打,管子的功耗就大,MOS管很容易被烧坏。
一般是选择IO口直接驱动三极管,再驱动MOS管,以下电路是自己之前的设计图中截取的,具体如下图:
当IO控制脚Valve_Ctrl为高电平时,三极管导通,MOS管栅极被拉低,MOS管的GS电压>阈值电压,MOS管导通,Vvalve_DC12V电压为12V,电磁阀开始工作;
当IO控制脚Valve_Ctrl为低电平时,三极管关断,MOS管栅极被拉高,MOS管的GS电压<阈值电压,MOS管不导通,Vvalve_DC12V电压为0V,电磁阀不工作;
因为三极管的带载能力没有MOS管强,所以一般采用以上的电路来驱动大的负载。当然也有直接MOS管驱动负载的,但是MOS的选型就要注意了。例如NMOS管:DMN6140L这个型号,参数如下图:
这个管子的阈值电压是0.5V,那单片机的IO口电压3.3V完全可以驱动,如下图:导通时电流能到最大1.6A的样子;
下面我们看下常用的NPN管MMBT3904管子的参数:
由图可知NPN管MMBT3904的最大带载电流约200mA;以上MOS管的驱动能力是三极管的8倍左右,所以对于大电流负载,可以选MOS管,但是大多数方案一般会选用先IO口驱动三极管,再驱动MOS电路的方式。从成本上考虑,一般MOS管会被三极管贵一些,在要求不高成本较低的场合,一般会选用三极管作为开关管。主要还是根据应用场景来选择合适电路方案。审核编辑 黄宇