用分立元件搭建带锁存功能的过压保护电路
做嵌入式或者电子设计的人,几乎都遇到过这样的场景:板卡调试得好好的,一不留神把 12V 适配器插进了 5V 供电口,核心板、传感器或者电机驱动板当场冒烟;又或者设备长期运行,电源模块失效,输出电压往上漂,后级电路跟着遭殃。过压保护(OVP)就是专门用来挡这种问题的。提到 OVP,很多人的第一反应是加一颗专用保护芯片,比如各类热插拔控制器、电子保险丝或者专用的 OVP IC,这类方案指标漂亮、外围简单,但价格和交期往往不太友好。
这篇文章要讲的是另一种思路:用几只三极管、一颗齐纳二极管、一两颗 PMOS,加上几个电阻,搭建一个带锁存功能的分立元件 OVP 电路。它的成本远低于专用 IC,原理也直观,一旦搞懂,你能根据自己项目的门限电压、最大电流、恢复方式灵活改参数。更重要的是,分立元件搭建锁存电路这件事本身,是理解正反馈、三极管开关特性、电源保护设计的绝佳素材。
读完这篇文章,你会得到一份可以直接拿去仿真、打样和调试的完整方案:包含电路原理、元件选型、参数计算、接线步骤、测试方法、常见坑和工程化建议。无论你是刚入门电子设计的学生,还是做小批量产品的硬件工程师,这套思路都有实际参考价值。
1. 为什么需要自己搭一个 OVP 电路
先明确一个判断:不是所有场景都需要专用 OVP 芯片。专用 IC 的优势在于精度高、响应快、带有软启动、电流限制、故障输出等丰富功能,适合对保护要求比较严格、量比较大、愿意接受配套成本的产品。但对于实验室验证板、小批量设备、教学项目、以及成本极度敏感的消费类产品,一颗专用 OVP 芯片的价格可能比整块板上其他所有分立元件加起来还贵,这时候“用分立元件拼一个够用的保护电路”就显得很实际。
工程上,真正的核心问题不是“哪个方案更高级”,而是“用最低的成本,把一个明确的风险控制住”。典型场景包括:
- 输入电源电压可能被插错,或者操作人员可能误接适配器;
- 后级电路的价格远高于保护电路,值得在输入端多花几毛钱;
- 设备运行中电源模块可能发生故障,导致输出电压偏高;
- 需要在过压发生后保持关断状态,不允许自动恢复,防止负载反复被冲击。
如果你遇到的是以上情况,分立元件 OVP 方案就是一个值得考虑的选项。它不需要专用芯片的软件配置,不需要复杂的 PCB 布局约束,甚至用洞洞板都能搭起来。当然,它有它的边界:门限精度不如带基准源的专用 IC,保护响应速度以微秒到毫秒级居多,不能提供精确的过流保护,这些都需要在选型和测试时明确接受。
从成本角度说,专用 OVP 芯片在市场上的价格差距很大,功能齐全的型号在批量和交期上也可能成为问题。分立方案的主要物料就是常规三极管、齐纳管、电阻和 PMOS,这些都是通用物料,供应链稳定,替换性也强。对研发阶段验证、小批量定制设备来说,这是一条非常务实的路径。
2. 过压保护的核心概念:锁存、阈值与自动恢复
在动手画电路之前,先把几个基础概念讲清楚。这些概念不仅适用于分立方案,也适用于理解所有 OVP 电路。
过压保护,简单说就是当输入电压超过设定的门限值时,保护电路动作,切断或者限制流向负载的电流。判断“过压”需要一个基准,这个基准可以是齐纳二极管的击穿电压,也可以是比较器背后更精确的参考电压。门限电压是 OVP 最关键的设计参数,门限低了,正常工作时容易误触发;门限高了,后级电路可能已经处于危险边缘。
第二个核心概念是“锁存”与“自动恢复”的区别。自动恢复型 OVP 在电压回落到正常范围后,自动恢复输出;锁存型 OVP 一旦触发,即使输入电压回落到正常范围,输出仍然保持关断,必须断电重启,或者手动复位,才能重新输出。锁存型的好处非常明显:它不允许系统在电压不稳的时候反复启动,避免负载在一次过压事件中承受多次冲击。很多电源系统里,锁存型保护是更稳妥的选择,代价是需要人工干预才能恢复。
第三个概念是保护动作后的“保持状态”。用继电器做保护,动作后触点断开,但继电器线圈可能仍然带电,需要辅助电路维持;用可控硅做保护,一旦导通,即使触发信号消失,也会通过自身电流维持导通。分立元件搭建锁存电路,本质上就是在三极管层面实现一个可控硅式的正反馈结构:触发后,即使检测信号消失,电路仍然维持保护状态。
还有一个容易被忽视的概念是“正常导通路径的损耗”。OVP 电路是串联在电源输入和负载之间的,保护电路本身会带来压降。如果用 PMOS 做高边开关,导通损耗主要来自 PMOS 的导通电阻 Rds(on);如果用二极管,导通损耗就是二极管的正向压降。因此,在低电压大电流场景下,PMOS 通常是更合适的选择。
3. 分立元件 OVP 方案的整体架构
这个电路虽然叫“分立元件方案”,但不是简单地用几个元件堆在一起,它有明确的功能模块划分。整个保护电路可以拆成四个部分:
- 高边开关:用 PMOS 做串联在输入和输出之间的开关,正常时导通,过压时关断。
- 电压采样:用齐纳二极管和电阻网络检测输入电压是否超过门限。
- 比较与锁存:用 NPN 和 PNP 三极管组成的正反馈结构,实现“触发后锁存”的核心逻辑。
- 栅极驱动:用 PNP 三极管把 PMOS 的栅极在关断时拉高,让 PMOS 完全截止。
从结构上看,这是一个典型的“采样 -> 判断 -> 锁存 -> 执行”链路。采样部分直接跟输入高压打交道,判断部分看到的是“超过门限了没有”这个二值信号,锁存部分把瞬时信号变成持续状态,执行部分真正切断负载。
这里真正容易踩坑的地方是 PMOS 体二极管。单颗 PMOS 关断后,源极和漏极之间的体二极管仍然可能正向导通,如果负载端电压低于输入端电压,电流会通过体二极管继续流向负载,导致输出端依然能测到接近输入的电压。因此,如果要求保护电路在过压时把输入和输出彻底断开,就必须考虑两颗 PMOS 背靠背串联,让它们的体二极管方向相反。下面的原理说明先以单 PMOS 讲清楚逻辑,实际产品设计时可以在驱动不变的基础上扩展为双 PMOS。
整个电路的正常流程是这样的:上电后,如果输入电压在正常范围内,齐纳二极管不导通,检测三极管不动作,PMOS 栅极被下拉电阻拉低,PMOS 导通,输出端得到供电。当输入电压超过门限,齐纳二极管击穿,电流注入检测三极管基极,检测三极管导通,进而触发锁存结构,同时栅极驱动三极管把 PMOS 栅极拉高到输入电压,PMOS 关断。即使后面输入电压又降回正常范围,由于锁存结构的正反馈,电路依然保持关断状态,只有断电重启或手动复位才能恢复。
4. 元器件选型与关键参数计算
选型之前,先确定一个演示目标。这里以常见的 5V 系统为例,要求输入电压超过 6V 左右时触发保护,保护发生后锁存,负载电流按 1A 以内设计。这个参数比较典型,也容易扩展到 3.3V 或 12V 系统。
元件清单如下:
| 位号 | 器件类型 | 参考型号 | 说明 |
|---|---|---|---|
| Q1 | PMOS | AO3401 / SI2301 | 高边开关,选 Rds(on) 小、Vgs(th) 低的型号 |
| Q2 | NPN | 2N3904 / MMBT3904 | 检测管,负责触发锁存 |
| Q3 | PNP | 2N3906 / MMBT3906 | 锁存管,与 Q2 构成正反馈 |
| Q4 | PNP | 2N3906 / MMBT3906 | 栅极驱动,负责拉高 PMOS 栅极 |
| D1 | 齐纳二极管 | BZX84-C4V7 或 BZX84-C5V1 | 过压检测基准 |
| R1 | 电阻 | 2.2kΩ | 齐纳检测限流 |
| R2 | 电阻 | 10kΩ | Q2 基极下拉 |
| R3 | 电阻 | 10kΩ | Q2 集电极到 Q3 基极 |
| R4 | 电阻 | 100kΩ | Q3 基极上拉 |
| R5 | 电阻 | 10kΩ | 锁存反馈电阻 |
| R6 | 电阻 | 10kΩ | Q2 集电极到 Q4 基极 |
| R7 | 电阻 | 100kΩ | Q4 基极上拉 |
| R8 | 电阻 | 100kΩ | PMOS 栅极下拉 |
| SW1 | 轻触开关 | 任意 | 复位按钮,可选 |
门限电压的估算公式可以这样理解:当输入电压逐渐升高,齐纳二极管 D1 一旦击穿,D1 阳极的电压就近似等于输入电压减去齐纳击穿电压 VZ。这个电压通过 R1 加到 Q2 基极,Q2 的基极电压上升到约 0.7V 时,Q2 开始导通。所以触发门限近似为:
VIN(th) ≈ VZ + Vbe(Q2) + (I_B + Vbe / R2) * R1其中 I_B 是让 Q2 进入可靠导通所需的最小基极电流。用 VZ = 4.7V,Vbe = 0.7V,R1 = 2.2kΩ,R2 = 10kΩ,I_B 取 0.2mA,估算出来大约在 6.1V 左右。如果希望门限更高,可以换更大击穿电压的齐纳管,或者在检测链路中再串联一个稳压管。
下面是 Python 计算脚本,可以方便地调整参数:
def calc_threshold(vz, vbe=0.7, r1=2200, r2=10000, ib=0.0002): i_r2 = vbe / r2 vin_th = vz + vbe + (ib + i_r2) * r1 return vin_th for vz in [3.3, 3.9, 4.7, 5.1, 5.6, 6.2, 10, 12]: th = calc_threshold(vz) print(f"VZ={vz:.1f}V -> 估算过压阈值约 {th:.2f}V")需要注意,这里算的是理论估算值,实际阈值还会受齐纳二极管精度、三极管 Vbe 的温度漂移、电阻误差的影响。工程上更稳妥的做法是:先用这个公式选定初值,再在样机上用可调电源扫一遍电压,确定实际门限,再决定是否需要微调 R1 或更换齐纳管。
PMOS 的选型要考虑几个指标:最大漏源电压 VDS 必须明显高于可能出现的最高输入电压;Vgs(th) 要确保在最低工作电压下能完全导通;Rds(on) 要小到满载压降可以接受。以 AO3401 为例,它的 Vds 为 -30V,在 4.5V 栅压下 Rds(on) 约为几十毫欧,适合 3.3V 到 12V 的常见系统。如果你工作在 2.5V 或更低电压,需要找 Vgs(th) 更低的型号,或者考虑用低边 NMOS 方案。
5. 完整接线说明与搭建步骤
下面给出这个电路的完整连接关系。这里用“端点 1 -> 端点 2”的格式描述,方便你在面包板或者洞洞板上照着接线。
先看主功率通路:
- 电源输入正极 VIN 接 Q1 的源极 S;
- Q1 的漏极 D 接输出端 VOUT,输出给负载;
- Q1 的栅极 G 接 R8 到 GND,同时接 Q4 的集电极。
再看检测和锁存部分:
- VIN 接 D1 的阴极(齐纳管负极);
- D1 的阳极(齐纳管正极)接 R1 到 Q2 的基极;
- Q2 基极接 R2 到 GND,同时接 R5 到 Q3 的集电极;
- Q2 发射极接 GND;
- Q2 集电极接 R3 到 Q3 基极,同时接 R6 到 Q4 基极;
- Q3 基极接 R4 到 VIN;
- Q3 发射极接 VIN;
- Q3 集电极接 R5 到 Q2 基极;
- Q4 基极接 R7 到 VIN;
- Q4 发射极接 VIN;
- Q4 集电极接 Q1 栅极;
- 复位按钮 SW1 可以并联在 Q2 基极和 GND 之间,锁存后按下可解锁。
可以用下面的连接清单文件辅助检查:
VIN -> Q1(S), D1(K), R4, R7, Q3(E), Q4(E) Q1(D) -> VOUT Q1(G) -> R8, Q4(C) Q2(B) -> R1, R2, R5, SW1 Q2(E) -> GND Q2(C) -> R3, R6 Q3(B) -> R3, R4 Q3(E) -> VIN Q3(C) -> R5 Q4(B) -> R6, R7 Q4(E) -> VIN Q4(C) -> Q1(G) D1(A) -> R1 GND -> R2, R8, SW1, Q2(E)搭建时建议按照“主功率通路 -> 检测网络 -> 锁存网络 -> 驱动网络”的顺序进行。先不要接负载,直接用万用表测量 VOUT 对 GND 的电压,确认正常通电时 PMOS 已经导通。然后缓慢调节输入电压,观察过压后 VOUT 是否被切断。如果一切正常,再接上负载,重新测试一次。
如果要把单 PMOS 扩展成双 PMOS 背靠背结构,只需要把负载侧再串联一个 PMOS:第二颗 PMOS 的源极接第一颗的漏极,第二颗 PMOS 的漏极接输出端 VOUT,两颗 PMOS 的栅极并联接同一个驱动信号。这样做的目的是让两颗 PMOS 的体二极管方向相反,关断时输入和输出完全隔离。
6. 测试方法与预期结果
测试这套 OVP 电路,核心工具是一台可调直流电源、一块数字万用表,以及一个假负载。不要一上来就用真实设备做测试,毕竟保护电路本身也可能存在设计缺陷,先用电阻负载最安全。
测试步骤如下:
- 将可调电源输出调到 0V,然后接到电路 VIN 和 GND;
- 打开电源,缓慢升高电压到正常范围,比如 5V,观察 VOUT 是否约为 5V 减去 PMOS 压降;
- 缓慢升高电压到超过门限,比如 6.2V,观察 VOUT 是否变为接近 0V;
- 继续升高到 7V、8V,确认 VOUT 始终被切断;
- 将电压降回 5V,观察 VOUT 是否仍然保持为 0V,验证锁存功能;
- 按下复位按钮,或者断开输入电源后再上电,观察 VOUT 恢复输出。
预期结果是:正常范围导通,过压后关断,电压回落不恢复,断电重启后恢复。如果在第 5 步发现电压回落后 VOUT 又恢复了,说明锁存没起作用,需要检查 Q3、R3、R4、R5 这一路正反馈是否接错,或者 Q3 放大倍数不足。
为了把测试过程自动化,也可以使用支持 SCPI 命令的程控电源,用 Python 脚本控制电压扫描:
import time import pyvisa rm = pyvisa.ResourceManager() psu = rm.open_resource("USB0