
做嵌入式或者电子设计的人几乎都遇到过这样的场景板卡调试得好好的一不留神把 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 系统。元件清单如下位号器件类型参考型号说明Q1PMOSAO3401 / SI2301高边开关选 Rds(on) 小、Vgs(th) 低的型号Q2NPN2N3904 / MMBT3904检测管负责触发锁存Q3PNP2N3906 / MMBT3906锁存管与 Q2 构成正反馈Q4PNP2N3906 / 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.7VVbe 0.7VR1 2.2kΩR2 10kΩI_B 取 0.2mA估算出来大约在 6.1V 左右。如果希望门限更高可以换更大击穿电压的齐纳管或者在检测链路中再串联一个稳压管。下面是 Python 计算脚本可以方便地调整参数def calc_threshold(vz, vbe0.7, r12200, r210000, ib0.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(fVZ{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 的源极 SQ1 的漏极 D 接输出端 VOUT输出给负载Q1 的栅极 G 接 R8 到 GND同时接 Q4 的集电极。再看检测和锁存部分VIN 接 D1 的阴极齐纳管负极D1 的阳极齐纳管正极接 R1 到 Q2 的基极Q2 基极接 R2 到 GND同时接 R5 到 Q3 的集电极Q2 发射极接 GNDQ2 集电极接 R3 到 Q3 基极同时接 R6 到 Q4 基极Q3 基极接 R4 到 VINQ3 发射极接 VINQ3 集电极接 R5 到 Q2 基极Q4 基极接 R7 到 VINQ4 发射极接 VINQ4 集电极接 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