MOS 管:用单片机驱动大电流
单片机引脚能输出的电流只有十几毫安,点个 LED 够用,但要驱动直流电机、一整条灯带、加热片这种动辄几百毫安甚至几安的负载,引脚直接带是带不动的,硬带会烧引脚。早年大家用三极管做开关,可一旦电流大起来,三极管自身发热严重,扛不住。MOS 管就是为这种场景准备的主力。
电压控制的大功率开关
把 MOS 管想成一个由电压控制的水阀。给控制端加上一个电压,阀门就打开,让大电流从主通路哗哗流过;电压撤掉,阀门关闭,电流断开。
它和三极管最大的不同在于"用什么控制":三极管靠电流控制,控制端要持续灌电流才能维持导通;MOS 管靠电压控制,控制端只要有电压、几乎不耗电流。这带来三个实在的好处:
- 单片机引脚只需提供电压、不用提供大电流,引脚毫无压力;
- 导通后的电阻很小(好的 MOS 管只有几毫欧到几十毫欧),同样过大电流时发热远小于三极管;
- 能过的电流大,几安到几十安都有现成型号。
所以驱动电机、灯带、加热片、水泵这类负载,MOS 管是默认选择。
三个脚和接法(低边驱动)
MOS 管有三个脚:栅极 G(Gate,控制端)、漏极 D(Drain)、源极 S(Source)。电流走 D 和 S 之间的主通路,G 加电压决定这条通路通还是断。
最常用的是 N 沟道 MOS 管做低边驱动,接法记牢这一套就够覆盖大部分场景:
- 负载(比如电机)的一端接电源正极,另一端接 MOS 管的 D;
- S 直接接 GND;
- G 接单片机控制引脚(中间串个小电阻,下面讲)。
引脚输出高电平,G 有了电压,D-S 导通,电流从电源 → 负载 → D → S → GND 流过,负载工作;引脚拉低,断开。逻辑很直观:引脚高 = 开,引脚低 = 关。
之所以新手都从低边起步,是因为它的 S 直接坐在 GND 上——栅极电压 Vgs 就等于引脚对地的电压,你输出 3.3V,Vgs 就是 3.3V,心里有底。反过来把 MOS 管接在电源正极和负载之间(叫高边驱动),S 的电位会随负载浮动,Vgs 不再等于引脚电压,普通引脚抬不到位,得专门配高边栅极驱动芯片(如 IR2104,内部带自举电路)。所以新手一律先用 N 沟道低边,把这套接法练熟再说。
最大坑:栅极开启电压(选 logic level)
这是新手栽得最狠的地方。MOS 管不是"G 上有一点电压就开",它有个开启电压 Vgs(th),而且要真正完全导通、发热小,G 上的电压还得比这个阈值高出一截。
问题来了:很多常见的 N 沟道 MOS 管(比如老型号)需要 G 上加到 10V 左右才能充分导通。而 ESP32、树莓派 Pico 这些引脚只输出 3.3V,Arduino UNO 也才 5V——这点电压根本喂不饱它,结果 MOS 管半开不开,导通电阻大、严重发热,甚至带不动负载。新手往往以为是 MOS 管坏了,其实是选错了型号。
解决办法是选 logic level MOSFET(逻辑电平 MOS 管),它的开启电压做得很低,3.3V 或 5V 就能把它完全打开。常见好用的型号:
- AO3400:贴片小封装,2~3A 级别,3.3V 直接驱动,做小负载开关很顺手;
- IRLZ44N:直插大封装,能过几十安,logic level,驱动大电机加热片常用(注意是带 L 的 IRLZ44N,不带 L 的 IRFZ44N 要 10V,别买错)。
用 3.3V / 5V 单片机驱动 MOS 管,必须选 logic level(逻辑电平)型号,否则栅极电压打不开它,MOS 管会半导通、发烫、带不动负载。买之前查 datasheet 的 Vgs(th),确认在你的引脚电压下能完全导通。这是最常见也最隐蔽的坑。
栅极电阻与 PWM
栅极接法上还有两个小细节要补:
- 串一个栅极电阻:G 和引脚之间串 100Ω 左右的电阻,限制开关瞬间的冲击电流,保护引脚、抑制振铃;
- 加一个下拉电阻:G 到 GND 接一个 10kΩ 电阻。单片机刚上电、引脚还没初始化时是悬空的,没有这个下拉,G 电压不定,MOS 管可能误导通让负载乱动。下拉电阻保证默认是关的。
控制方式上,MOS 管完全支持 PWM:用 PWM 信号驱动 G,就能给电机调速、给灯带调亮度、给加热片控温。原理见 PWM 调速,配合 MOS 管就是最常见的功率调节方案。引脚输出本身的逻辑可以先看 GPIO 怎么读写引脚。
感性负载:并一颗续流二极管
驱动电机、继电器线圈、电磁阀这类感性负载时,还有一条命门:MOS 管关断的瞬间,电感里的电流不能突变,会在 D 极憋出一个几十甚至上百伏的反向尖峰,一次次冲击 MOS 管,轻则击穿、重则当场炸掉。
解法很简单——在负载两端反并一颗续流二极管(快恢复/肖特基,如 1N5819、SS34),阴极接电源正、阳极接 D。MOS 管一关断,电感电流就从这颗二极管里放掉,尖峰被钳死。带纯电阻负载(灯带、加热片)不用管;只要负载里有线圈,续流二极管就是标配。原理背景见 电感:那个"抵抗变化"的元件(它也是开关电源的核心)。
用 MOS 管驱动电机 / 继电器 / 电磁阀,负载两端一定要反并一颗续流二极管,否则关断尖峰会反复击穿 MOS 管——这类"上电时好好的、跑一会儿莫名炸管"的故障,八成是漏了它。
MOS vs 三极管,怎么选
两者都能当开关,分工很清楚,一张表对齐:
| 对比项 | MOS 管(MOSFET) | 三极管(BJT) |
|---|---|---|
| 控制方式 | 电压控制,栅极几乎不耗流 | 电流控制,基极要持续灌流 |
| 导通损耗 | 极低(Rds(on) 几毫欧起),大电流发热小 | 压降固定 ~0.2–0.7V,大电流发热明显 |
| 能过电流 | 几安到几十安,型号齐全 | 常见几百 mA,做大电流吃力 |
| 成本 | 稍贵(几毛到几块) | 极便宜(几分钱) |
| 典型场景 | 电机、灯带、加热片、水泵、PWM 调功 | 继电器线圈、蜂鸣器、几颗 LED、信号级开关 |
一句话:大电流、高效率、PWM 调功用 MOS;小功率、图便宜、信号级用三极管。 三极管的细节见 三极管原理。
N 沟道还是 P 沟道?
同样是 MOS 管,还分 N 沟道(NMOS)和 P 沟道(PMOS),别选反:
| N 沟道(NMOS) | P 沟道(PMOS) | |
|---|---|---|
| 导通条件 | Vgs 为正(G 比 S 高)→ 高电平开 | Vgs 为负(G 比 S 低)→ 低电平开 |
| 常用位置 | 低边(S 接 GND) | 高边(S 接电源正) |
| 性能/成本 | 导通电阻更小、更便宜,同规格更优 | 同规格 Rds(on) 偏大、偏贵 |
| 新手怎么用 | 首选:低边开关一律用它 | 想让高边开关简单点时用,但性能次于 NMOS 高边方案 |
结论:新手 90% 的场景就是 NMOS + 低边,把这套吃透即可;PMOS 等你真需要"高电平关、低电平开"或简单高边时再学。
一个补充:如果你买的是成品电机驱动板(比如 TB6612、DRV8833),其实不用自己搭 MOS 管——这些芯片内部就是用 MOS 管搭好的 H 桥,还顺带做了正反转和过流保护。直接用它更省事,原理和选型见 电机驱动模块怎么用。此外,大电流回路还得考虑限流保护,别让短路或堵转烧掉 MOS 管,思路见 限流保护。