Robotics - Mosfet
MOSFET 是一种用电压控制电流的半导体器件。最常见用途就是电子开关。
全称是:
Metal-Oxide-Semiconductor Field-Effect Transistor
金属—氧化物—半导体场效应晶体管
在机器人里,它负责让 MCU 用很小的控制信号,开关电机、电磁铁、加热器等大电流负载。
为什么需要 MOSFET
MCU 的 GPIO 通常只能输出:
3.3V
几毫安到十几毫安
电机可能需要:
12V
数安培甚至数十安培
MCU 不能直接给电机供电,所以需要 MOSFET:
MCU 小信号
│
▼
MOSFET
│
▼
控制电源向电机提供大电流
可以把它理解为一个没有机械触点、速度很快的电子开关。
MOSFET 的三个主要引脚
以常见的 N 沟道 MOSFET 为例:
- G:Gate,栅极
- D:Drain,漏极
- S:Source,源极
结构关系:
MCU ──→ G
电源/负载 ──→ D
│
MOSFET
│
GND ←───────── S
栅极电压控制漏极和源极之间能不能导电。
关键控制量不是 ,而是:
也就是栅极相对于源极的电压。
MOSFET 怎样作为开关
对于增强型 N 沟道 MOSFET:
- 足够低:D 和 S 之间不导通,MOSFET 关闭。
- 足够高:D 和 S 之间形成导电通道,MOSFET 打开。
例如:
- MCU 输出 0V → MOSFET 关闭 → 电机不转。
- MCU 输出 3.3V → MOSFET 打开 → 电流流过电机 → 电机转动。
典型低侧开关电流路径:
+12V
│
电机
│
D
MOSFET
S
│
GND
MCU 只控制 Gate,不直接承担电机电流。
Gate 几乎不需要持续电流
MOSFET 经常被称为电压控制器件。
Gate 与内部导电通道之间有绝缘层,稳定状态下几乎没有直流电流进入 Gate。但 Gate 在电气上很像一个小电容:
- 给 Gate 电容充电 → MOSFET 打开
- 把 Gate 电荷放掉 → MOSFET 关闭
因此:
- 保持打开时,Gate 几乎不耗持续电流;
- 开关瞬间仍然需要充放电电流;
- 功率越大的 MOSFET,Gate 电荷通常越大;
- 高频开关时经常需要专用 Gate Driver。
Threshold voltage 不是完全导通电压
MOSFET 数据表会给出:
这个叫栅极阈值电压。
假设数据表写:
它只表示 MOSFET 刚刚开始出现很小电流,不代表它已经适合驱动数安培电机。
真正需要看的是数据表有没有在:
或
条件下给出足够低的:
对于 3.3V MCU,应选择明确支持 2.5V 或 3.3V 栅极驱动的 logic-level MOSFET。
导通电阻和发热
MOSFET 打开后不是理想的零电阻,而是存在导通电阻:
导通损耗近似为:
假设电机电流是 ,MOSFET 导通电阻是 :
如果堵转电流达到 :
所以电机堵转时,MOSFET 可能迅速发热甚至损坏。
为什么电机旁边需要 flyback 保护
有刷电机、电磁铁、继电器线圈都属于感性负载。
MOSFET 突然关闭时,电感会试图维持原来的电流:
电流变化越突然,产生的电压可能越高。
因此单向电机开关通常需要续流二极管:
+12V
│
┌── 电机 ──┐
│ │
└─ 二极管 ─┘
│
MOSFET
│
GND
MOSFET 关闭后,电机电流可以暂时经过二极管循环,避免产生过高电压损坏 MOSFET。
有刷电机为什么用四个 MOSFET
如果只使用一个 MOSFET,只能控制:
- 电机开
- 电机关
- PWM 调速
如果希望电机正转和反转,需要改变电流方向,因此使用 H 桥:
+V
│
MOSFET MOSFET
\ /
电机
/ \
MOSFET MOSFET
│
GND
一共四个 MOSFET。
- 打开左上和右下:电流向一个方向;
- 打开右上和左下:电流向另一个方向;
- 通过 PWM:控制平均电压和速度。
同一侧上下两个 MOSFET 不能同时打开,否则会直接把电源短接到地,这叫 shoot-through。
三相无刷电机为什么用六个 MOSFET
三相电机有:
- U 相
- V 相
- W 相
每一相都需要一个上管和一个下管:
- U 相:2 个 MOSFET
- V 相:2 个 MOSFET
- W 相:2 个 MOSFET
因此总共:
这六个 MOSFET 构成三相逆变器:
直流电源
│
六个 MOSFET
│
U / V / W
│
无刷电机
控制器根据编码器测得的转子角度,精确控制六个 MOSFET 的开关,从而产生旋转磁场。
MOSFET 自带的 body diode
功率 MOSFET 通常天然带有一个体二极管:
D
│
MOSFET
│
S
↖ 内部存在 body diode
它在 H 桥和三相驱动中会参与续流,但它不一定足够快、损耗也不一定足够低,不能简单认为“有体二极管就不需要设计保护”。
N 沟道和 P 沟道
常见两种:
N 沟道 MOSFET
- 通常导通电阻更低;
- 效率更高;
- 很适合低侧开关和电机驱动;
- 功率电路中最常见。
P 沟道 MOSFET
- 高侧开关驱动相对简单;
- 同等尺寸下导通电阻通常更高;
- 常用于中小功率电源开关和反接保护。
大功率电机驱动通常尽量使用 N 沟道 MOSFET,但高侧 N MOSFET 需要专门的 Gate Driver,把栅极电压提升到高于 Source。
选择 MOSFET 看什么
机器人电机驱动至少要检查:
- :能承受多高的漏源电压;
- :电流能力;
- :导通电阻;
- 对应的 :在 3.3V 或 5V 下是否真正导通;
- :栅极最大允许电压;
- Gate charge:栅极电荷;
- 散热和封装;
- 安全工作区 SOA;
- 电机堵转和启动电流。
不要只看包装上写的“最大电流 100A”。这个数字通常依赖非常理想的散热和栅极驱动条件。
在机器人里的关系可以这样记:
| 组件 | 作用 |
|---|---|
| MCU | 决定什么时候动作 |
| MOSFET | 开关和调节大电流 |
| 电机 | 把电能变成机械运动 |
| 编码器 | 测量实际运动 |
| 控制算法 | 比较目标和实际结果 |
MOSFET 本身不是电机控制器,也不是传感器;它是控制器用来操纵电机功率的高速电子开关。
是那个mos晶体管吗
对,就是通常说的“MOS 管”或“MOS 晶体管”。
MOS 管 = MOSFET = 金属—氧化物—半导体场效应晶体管
常见叫法都是同一个东西:
- MOS 管
- MOSFET
- 功率 MOS
- MOS 晶体管
例如电机驱动板上看到的黑色功率器件,很可能就是 MOSFET。
主要分为:
- N-MOS:N 沟道 MOSFET
- P-MOS:P 沟道 MOSFET
机器人电机驱动最常用 N-MOS,因为通常导通电阻更小、效率更高。
它与普通三极管 BJT 有区别:
| 器件 | 控制方式 |
|---|---|
| BJT 三极管 | 用基极电流控制 |
| MOSFET | 用栅极电压控制 |
因此前面说的无刷电机驱动器内部,通常就是:
控制 MCU
│
Gate Driver
│
6 个功率 MOS 管
│
三相无刷电机 U/V/W
所以“六个 MOSFET”也就是“六个 MOS 管”。
他负责控制高低电平?
更准确地说:
MOSFET 接收高低电平作为控制信号,然后控制大电流通路的接通或断开。
它不是专门“制造高低电平”,而是一个受高低电平控制的电子开关。
以常见的 N-MOS 低侧开关为例:
+12V
│
电机
│
D
N-MOS
S
│
GND
MCU GPIO ──→ G
当 MCU 输出高电平:
Gate = 3.3V
Source = 0V
VGS = 3.3V
MOSFET 导通
电流流过电机
电机运转
当 MCU 输出低电平:
Gate = 0V
Source = 0V
VGS = 0V
MOSFET 关闭
电流停止
电机停止
所以控制关系是:
| MCU Gate 信号 | N-MOS | 电机 |
|---|---|---|
| 高电平 | 导通 | 通电 |
| 低电平 | 关闭 | 断电 |
但 MOSFET 判断的不是 Gate 的绝对电压,而是:
也就是 Gate 相对于 Source 的电压。
此外,MOSFET 快速接收高低电平,就可以形成 PWM:
高 低 高 低 高 低……
开 关 开 关 开 关……
改变“打开时间占比”,就能控制电机平均功率:
- 25% 占空比 → 功率较小
- 50% 占空比 → 中等功率
- 90% 占空比 → 功率较大
因此在电机系统里:
- MCU 产生高低电平/PWM;
- MOSFET 根据它开关大电流;
- 电机使用这部分电能产生运动。
在数字芯片内部,MOSFET 也可以组合成逻辑门,真正用来产生和传递高低电平;但在电机驱动中,更合适的理解是“大电流电子开关”。
mosfet 是一种amplifier?
是的,MOSFET 既可以作为开关,也可以作为放大器。
它本质上是一种晶体管:
Gate 电压的微小变化,可以控制 Drain–Source 之间较大的电流变化。
作为放大器
如果 Gate 电压稍微变化:
Gate 电压变化一点
↓
Drain 电流变化很多
↓
输出电压产生更大的变化
这就产生了放大作用。
典型共源放大器:
+VDD
│
RD
│
输出 ←────D
│
MOSFET
│
输入 ─────G
S
│
GND
输入的小电压变化控制漏极电流:
其中 称为跨导。
经过漏极电阻 ,电流变化变成更大的电压变化:
电压增益近似为:
负号表示输出方向与输入相反:
Gate 电压升高
→ Drain 电流增大
→ RD 上的压降增大
→ 输出电压降低
放大的能量从哪里来
MOSFET 不会凭空制造能量。
- 输入信号:决定变化形状
- 电源:提供放大后的能量
- MOSFET:控制电源能量
类似于轻轻转动水龙头控制大量水流:
- 手的动作是输入信号;
- 水压是电源;
- 水龙头是 MOSFET;
- 水流变化是输出。
作为开关和放大器的区别
MOSFET 有几个工作区域:
| 工作区域 | 状态 | 用途 |
|---|---|---|
| 截止区 | 基本不导电 | 开关关闭 |
| 线性/欧姆区 | 像一个低电阻 | 开关打开 |
| 饱和区 | 电流受 Gate 控制 | 模拟放大 |
这里有一点容易混淆:
- MOSFET 作为电机开关完全打开时,通常工作在线性/欧姆区;
- MOSFET 作为模拟放大器时,通常工作在饱和区。
“线性区”这个名称不代表它一定用于模拟放大。
电机驱动为什么不把它当放大器用
如果 MOSFET 处于半开状态:
- 不小;
- 也很大。
功耗为:
例如:
则:
MOSFET 会产生大量热量。
所以电机控制通常让 MOSFET 快速切换:
- 完全关闭:;
- 完全打开: 很小。
再通过 PWM 调整平均功率,而不是长时间让它半开。
两种用途的总结
模拟放大器:
Gate 小变化
→ Drain 电流连续变化
→ 放大模拟信号
功率开关:
Gate 高/低
→ MOSFET 完全开/关
→ 控制电机大电流
所以 MOSFET 的确是一种放大器件,但在机器人电机驱动中,我们主要把它当作高速功率开关;在音频、射频、传感器前端和运算放大器内部,它则真正工作为模拟放大器。