💡 电路名称
三极管开关电路(NPN BJT Switch,2N2222 驱动 LED)
昨天我们用 4 个二极管 + 2 个电阻 搭出 OR/AND 数字门,看到了二极管"电流方向控制器"的灵活性。今天我们跨出二极管,进入三极管——用一只 NPN 三极管(2N2222)实现"用小电流控制大电流"的电子开关。这是后续驱动继电器、蜂鸣器、电机、功率 LED 的基础,也是数字电路(TTL 反相器、逻辑门)的核心 💡。
🗺️ 电路图
6 个元件构成完整的电子开关(1 个 NPN 三极管 + 1 个 LED + 2 个电阻 + 2 个电源符号):

最经典的"低边驱动"接法:负载(LED + R_C)接在 VCC 与三极管集电极之间,发射极接地,输入信号经 R_B 控制基极电流。
"低边"和"高边"指的是开关(三极管)放在负载的哪一侧——负载下端还是上端:

低边驱动(Low-Side Switch):开关放在负载靠地的那一侧(下方),负载直接接 VCC。开关导通时把负载下端拉到地,电流经"VCC → 负载 → 开关 → GND"流过。NPN 天生适合低边——发射极接地,基极只需比地高 0.7V(V_BE)就能导通,5V/3.3V 的 GPIO 直接驱动即可,控制最简单、最常用。
高边驱动(High-Side Switch):开关放在负载靠电源的那一侧(上方),负载直接接地。开关导通时把电源接到负载上端。低边用 NPN、高边就得用 PNP——因为发射极接 VCC,需要基极比 VCC 低 0.7V(即 V_BE = V_B − V_E ≈ −0.7V)才导通,控制信号要"拉低"而不是"拉高",逻辑反相且常需电平转换,驱动电路更麻烦。
为什么本电路选低边? 对 MCU 驱动小负载(LED、继电器、蜂鸣器)来说,NPN 低边开关只需一根 GPIO 高电平就能可靠饱和,成本最低。高边驱动主要用在必须"负载一端永久接地"的场合(如汽车灯控、共地敏感电路),代价是需要 PNP/PMOS 或专用高边驱动芯片——那是以后的话题。
关键节点连接:
|
|
|
|
|---|---|---|
| VIN
|
|
|
| R_B
|
|
基极限流电阻
|
| Q1
|
|
核心开关元件
|
| R_C
|
|
集电极电阻(限流)
|
| D1
|
|
负载 + 状态指示
|
| V_C 节点 |
|
集电极电压观察点
|
| GND |
|
|
三极管"低边开关"的工作逻辑:

🔬 LTspice 真实仿真
📐 LTspice 仿真电路原理图

仿真电路采用垂直主电路 + 水平输入的清晰布局:
左侧垂直主电路:V1(5V VCC) → R_C(330Ω) → D1(1N4148 简化 LED) → Q1.C → Q1.E → GND
左侧水平输入支路:V2(PULSE 0/5V 1kHz) → R_B(10kΩ) → Q1.B
关键节点标签:VIN 标记输入节点,V_C 标记集电极节点,便于
.tran仿真后绘制波形
⚠️ 关于 LED 简化:LTspice 标准库中没有 QRED 等 LED Spice 模型,本次仿真用 1N4148 开关二极管简化替代 LED(Vf ≈ 0.7V),主要演示三极管开关的导通/截止反相特性。实际 LED 行为只需将 V_f 从 0.7V 替换为 1.8~3V(红/绿/蓝光),R_C 阻值相应调整即可,开关原理完全相同。
📊 LTspice 真实仿真波形

(a) 输入信号 VIN(PULSE 0/5V, 1kHz, 50% 占空比)——V2 = PULSE(0 5 0 1n 1n 0.5m 1m),5V [0, 0.5m)、0V [0.5m, 1m)、5V [1m, 1.5m)、0V [1.5m, 2m)
(b) 集电极电压 V_C(反相方波)——核心波形:
VIN 高 (5V) → I_B ≈ 0.43mA >> I_B(sat) ≈ 0.085mA → Q1 饱和 → V_CE = V_CE(sat) ≈ 0.2V(图中红色低电平段)
VIN 低 (0V) → I_B = 0 → Q1 截止 → I_C = 0 → V_C = VCC = 5V(图中红色高电平段)
反相关系:V_C 与 VIN 波形完全镜像(VIN 高时 V_C 低,VIN 低时 V_C 高)
(c) LED 电流 I_LED(脉冲方波)——D1 电流:
VIN 高时 ≈ (5 − 0.7 − 0.2) / 330 = 12.4mA(图中绿色高电平段,I_LED(sat) ≈ 12.78mA,与理论一致)
VIN 低时 ≈ 0(D1 反偏截止,仅 ~nA 级反向漏电流)
反相关系:I_LED 与 V_C 同相(V_C 低时 I_LED 大,V_C 高时 I_LED 小)
NumPy 数学模型 vs LTspice 实测对照
为了理论验证,我们用 NumPy 实现了分段线性数学模型(截止/放大/饱和三个工作区):

|
|
|
|
|
|
|---|---|---|---|---|
| V_CE(sat) |
|
|
|
|
| I_C(sat) (1N4148 简化) |
|
|
|
|
| I_B(sat min) |
|
|
|
|
| V_C 截止态 |
|
|
|
|
| I_LED 截止态 |
|
|
|
|
NumPy vs LTspice 一致性:
✅ 开关时序完美一致:V_C 与 VIN 的反相关系、I_LED 与 V_C 的同相关系均吻合
✅ 饱和/截止两个工作区吻合:理论 0.43mA >> 0.085mA → 充分饱和;仿真 V_CE≈0.2V 确认
✅ 电流数值偏差 < 5%:差异主要来自 1N4148 模型在 12mA 下 V_f 略高于 0.7V
🔍 R_B 选择的关键 — 过驱动 vs 欠驱动
为什么 R_B 选 10kΩ 而不是 100kΩ?让我们对比三种 R_B 对 V_C 的影响:


