
几年前我做一个双路实验电源输出端忘记留保护一次螺丝刀误碰把调整管直接炸了。从那以后我养成了习惯凡是自己搭的电源、功放都必须加过流保护。而最顺手的一套方案就是用一块 μA741 运放配合两三颗三极管搭出来的保护电路结构简单、逻辑直观效果也稳。这篇文章把这套电路的完整设计思路、参数计算和调试经验全部写出来希望能给正在搭电源、做功率放大器或者想弄明白“运放如何驱动三极管实现保护逻辑”的兄弟一点参考。我见过不少人一提到过流保护第一反应就是去找专用芯片比如INA系列的电流检测芯片、专用的高边开关。但在很多低压实验场景里用通用运放加三极管这种方式成本低、器件好买而且特别容易理解和改造成自己需要的逻辑。尤其当你需要的是“电流超过设定值就切断负载”这种简单的保护行为一个运放加两个三极管完全可以胜任。1. 为什么用 μA741 这颗“老运放”做保护电路1.1 741 的参数拿到今天够不够用先别瞧不起这颗五十多年前设计出来的运放。在很多要求不高但又特别讲究“皮实”的电路里741 反而是个挺合理的选择。它的开环电压增益在 100dB 左右也就是差不多十万倍的差模放大能力这在用作比较器的时候已经非常充足。只要同相端和反相端之间存在哪怕一个毫伏级的压差输出就能迅速翻转。有人会问现在有 LM358、TL072、NE5532性能全面超越 741为什么还要提它这里有个很实际的原因741 可以单电源供电这比很多人印象里的“必须双电源”要方便得多。只要把正电源接到 VCC负电源接 GND它就能工作虽然输出摆幅没法到轨到轨但驱动三极管已经绰绰有余。再加上它输入偏置电流大约是 80nA 级别在保护电路这种低频、大信号的应用环境里完全没有压力你甚至不用去算什么失调电压的影响。真正应该关心的是输出摆幅和输入共模范围这两点我会在后面详细说。保护电路的场景对运放的要求就是增益够高、翻转够快、输出能驱动后面的三极管。741 的开环响应虽然到不了高频但用在直流电流保护上反应速度绰绰有余。1.2 运放在保护电路里当的是比较器不是放大器这是在设计这种电路时最容易搞混的一点包括我自己早期也走了一段弯路。运放最常规的用法是接成负反馈放大器放大倍数由外部电阻决定但在过流保护电路里我们并不是要线性的放大采样电压而是需要它像一个开关电流超了就翻转输出电平没超就维持原状。这时候运放工作在开环状态不接负反馈直接利用“同相端电压高于反相端电压输出接近正电源反相端电压更高输出接近负电源或 GND”这个特性。说直白点运放在这里的本质上就是个电压比较器。你给它一个固定的阈值电压再把电流采样电阻上的电压送进来它做的就是一件事比较两个电压的大小然后给出逻辑电平。741 虽然作为运放性能平平但当比较器用时开环增益足够翻转速度在毫秒级以下对保护应用完全够。2. 过流保护的完整链路采样、比较、执行三个环节整套保护电路的逻辑可以拆成三段先用采样电阻把电流转成电压再用运放把这个电压和一个预设阈值做比较最后用比较结果去控制三极管三极管再决定继电器吸合还是断开。这个链路看起来简单但每一段都有值得注意的地方。2.1 采样电阻放在低端还是高端直接决定电路结构电流采样电阻的位置是第一个要做的决定。放在负载和电源地之间叫做低端采样实际电路里大多数人第一版都会这样搭因为最简单。负载的供电回到采样电阻再到地电阻两端的电压直接反映流过负载的电流这个电压可以直接送到运放的同相输入端不需要额外的差分电路。低端采样的缺点也明显采样电阻在三极管开关动作的一瞬间电流变化会在地平面上产生跳变扰动对高精度模拟电路可能会造成干扰但在保护电路这种场景基本可以忽略。另一个问题是如果负载是一个需要参考地的电路那么负载的“地”实际上会比系统地高出约 I×R 的电位比如 2A 电流流过 0.1Ω 电阻地就高了 0.2V。如果负载本身就是功率级比如继电器、电机、灯这个影响不大但如果负载里含有信号参考地就要重新考虑了。高端采样则是把采样电阻放在电源正端和负载之间这样不会干扰负载的地参考但采样电压相对于电源轨有一定的共模电压运放不能直接差分放大需要一个专门的差分放大器或者仪表放大器来提取这一小段压差。而 741 的输入共模范围在单电源下比较有限不太适合直接做高端采样所以我这次采用的方案是低端采样。这个情况要提前说清楚免得有人照图搭完之后发现负载端的“地”电位不对误以为电路出了问题。2.2 比较逻辑的接法决定正常状态输出是高还是低采样电压确定之后接下来要决定如何接线。我这次用的是采样电压送入同相输入端阈值电压送入反相输入端。这样接的逻辑是正常工作时电流小采样电压低于阈值所以 U 小于 U-运放输出低电平一旦电流超过设定值采样电压超过阈值U 大于 U-输出立刻翻转到高电平。这个接法配合常闭继电器触点使用非常自然过流时运放输出高电平三极管导通继电器线圈通电常闭触点断开负载断电故障排除后电流下降采样电压回落运放输出又变低三极管截止继电器释放触点恢复闭合。整个系统自动恢复不需要手动复位。如果你希望保护动作后电路自锁需要一直保持断开状态直到人工断电重新上电才恢复那还需要额外增加一个可控硅或者用三极管搭一个自锁电路这个我在第五部分展开讲。先按最基本的自动恢复方案来后续改动最方便。2.3 执行环节为什么用三极管加继电器运放的输出电流能力有限741 在单电源 12V 下的输出高电平最多能到接近 10V但输出电流能力可能只有几十毫安直接驱动继电器线圈输出压降会掉得很明显而且长期工作还可能损坏运放。所以需要一个功率放大的环节三极管承担这个任务。三极管在这个位置上的作用相当于一个电子开关用小电流控制大电流它工作在饱和区和截止区并不是放大区。这一点很重要我在调试的时候见过有人把基极电流算错导致三极管一直工作在放大区继电器线圈电流不够触点吸不合三极管还发热得很厉害。后面计算基极电阻的章节会专门演示怎么算。继电器负责执行切断动作因为它的触点与线圈是电气隔离的可以实现控制回路和主功率回路的隔离这一点在用同一套电源同时给控制电路和负载供电时特别重要。机械继电器最大的缺点是动作慢一般要 5ms 到 10ms如果负载是一短路就电流剧增的场合这个速度可能不够。解决这个问题需要换成电子开关这在第五部分也会说到。3. 完整电路与参数计算可以直接抄作业的版本3.1 电路连接关系说明我以一个 12V 单电源供电、额定工作电流 2A、过流保护阈值设定在 2.5A 的场景来设计。电路元器件清单和连接关系如下U1μA741VCC 接 12VVEE 接 GNDR10.1Ω / 2W 采样电阻串联在负载的低端也就是负载的接地回路和系统地之间U1 的反相输入端Pin 2接 R2 与 R3 之间的分压点分压点电压由 12V 分压得到U1 的同相输入端Pin 3接采样电阻 R1 的上端也就是负载电流流经 R1 之后产生压降的那个点U1 的输出端Pin 6通过基极电阻 R4 接到三极管 Q1 的基极Q1NPN 三极管2N3904 或者 9013 都可以。集电极接继电器线圈的负极发射极接 GND继电器线圈的正极接 12V线圈两端反并联一只续流二极管 D11N4148 或 1N4007继电器的常闭触点串联在 12V 到负载正端之间负载负端先经过采样电阻再到 GND阈值分压节点Pin 2上并联一只 C110μF缓解上电瞬间的误触发这里要注意的是 741 的输出翻转方向。按照 2.2 的接法U1 同相端接采样电压、反相端接阈值所以正常时 U 小于 U-输出低电平Q1 截止继电器不吸合常闭触点保持导通过流时采样电压超过阈值U 大于 U-输出高电平Q1 饱和导通继电器线圈通电常闭触点断开负载被切断。3.2 关键电阻参数计算过程下面逐项说明计算过程以便你能根据自己的电源和负载电流调整参数。第一步是确定采样电阻的阻值和功率。我希望过流阈值是 2.5A而运放比较器的小信号阈值我定在 0.25V 左右。这样采样电阻就是 0.25V ÷ 2.5A 0.1Ω。要计算一下电阻上的功耗正常工作电流 2A 时P I²R 2×2×0.1 0.4W过流阈值 2.5A 时功耗会升到 0.625W。所以电阻的额定功率至少要选 1W稳妥起见直接选 2W留足裕量。第二步是把阈值电压设置到 0.25V。用 12V 电源分压得到这个值分压比大约是 0.25 ÷ 12 1/48。我选了 R247kΩ、R31kΩ分压结果是 12V × 1k ÷47k 1k≈ 0.25V。选择这两个阻值是因为它们产生的是标准 E24 系列电阻值好买而且流过电阻分压支路的电流大约是 12V ÷ 48kΩ 0.25mA功耗极小。这里有个细节流过 R1 的电流不算小但运放同相输入端的输入电流相比可以忽略只要保证 741 的输入偏置电流不会明显拉低采样电压就行。第三步是计算三极管的基极电阻。继电器线圈电流取决于你选的继电器12V 线圈的小型继电器线圈电阻一般在 360Ω 左右吸合电流大约 33mA。我用的 2N3904直流放大倍数 β 在 100 以上但设计时不能按最大 β 算要按照抵消温度、批次差异后的保守值。基极电流取 Ib Ic ÷ β 33mA ÷ 100 ≈ 0.33mA再乘 2 到 3 的过驱动系数确保饱和导通取 Ib ≈ 1mA。运放输出高电平约 10V减去三极管 B-E 结压降 0.7V基极电阻上压降约为 9.3V所以 R4 9.3V ÷ 1mA ≈ 9.1kΩ取标准值 8.2kΩ 或 10kΩ 都可以。我实际用 10kΩ实测三极管能稳定饱和继电器吸合干脆利落。最后给出一个完整的元器件清单表。整份电路对元件的要求不高物料基本都是常规库存里翻得出来的。元件参数说明U1μA741运放工作电压 12V 单电源R10.1Ω / 2W低端电流采样电阻R247kΩ阈值分压上臂R31kΩ阈值分压下臂R410kΩ三极管基极限流电阻Q12N3904 或 9013NPN 三极管驱动继电器线圈K112V 继电器触点电流根据负载选至少 3AD11N4148续流二极管保护 Q1 免受反向电动势C110μF / 16V阈值电压滤波防上电误触发负载供电12V电源需要能提供 2A 以上电流这个电路在 Multisim 里可以做一次仿真电压波形和继电器通断逻辑都能很直观地拉出来看不过要注意仿真里继电器的模型时序最好直接用理想开关代替通过一个受控开关配合滞回比较器来模拟。4. 调试阶段一定会碰到的三个坑这一段是实战环节最想分享的部分。电路原理听起来顺畅焊完板子上电的一瞬间才是考验的开始。我调试这套电路时碰到的三个问题每一个都在模拟或者实搭时很容易复现。4.1 阈值点来回抖动继电器哒哒哒响第一个坑出现在电流刚超过阈值的那一刻。用手动旋钮慢慢调高负载电流当电流逼近 2.5A 时继电器开始快速吸合、断开、再吸合、再断开声音听起来像机关枪。原因是采样电压的建立过程并不完全干净负载电流本身带有纹波采样电阻上的电压也带有纹波所以当平均电流刚好在阈值附近时运放同相端的电压会反复穿越阈值电平每次穿越都导致输出翻转。741 的开环增益太高是这里的一个推手但根源并不在运放本身而是电路缺少滞回特性。解决办法是给比较器加正反馈也就是在 U1 的输出端Pin 6和同相输入端Pin 3之间跨接一个电阻 R5。这个电阻会将输出高电平反馈到同相端把阈值抬高一些输出低电平的时候反馈会拉低同相端电压把阈值降低一些。这样形成两个阈值一个用于触发一个用于恢复期间存在的死区不会因为输入纹波而误动作。滞回宽度由 R5 和输入源内阻共同决定。我这里输入源内阻就是采样电阻 0.1Ω所以滞回量主要是 12V 输出高电平经过 R5 和同相输入端那一侧的下拉网络分压得到的。我实际选的 R51MΩ配合 R10.1Ω滞回宽度很小大约几十毫伏刚好足以抑制常见的电流纹波。如果负载电流纹波特别大可以把 R5 降到 470kΩ 或者 100kΩ滞回量会相应增大。注意 R5 不能太小否则正常工作的采样信号会被输出的高电平抬高太多导致临界点严重偏移甚至一上电就误判过流。4.2 上电瞬间的误触发保护第二个坑是上电瞬间继电器猛吸合一下然后很快又断开负载甚至还没来得及启动就被切掉了。这个现象通常出现在电源开关刚合上、 12V 正在建立的过程中。12V 电压从零往上升的这段时间里电路各点的电压建立速度不一样阈值分压点的建立速度取决于 R2/R3 分压网络的充放电时间采样电阻上的电压则取决于负载是否已经开始取电。如果负载启动电流比较大比如电机或者带大电容的 DC-DC 模块在上电瞬间可能会有一个远超稳态的冲击电流采样电阻上的电压瞬间就超过阈值于是保护误动作。对付这个问题有几个办法。第一个是在三极管基极和地之间并一个 10kΩ 左右的电阻这样在运放输出还没稳定的时候基极被这个下拉电阻固定在地电位三极管不会误导通。第二个是在阈值分压点并联一个 10μF 的电容C1让阈值电压缓慢建立避免出现瞬间的比较高信号的情形。第三个是根据负载类型选择延时启动例如在运放同相输入端串入一个小电容让采样信号不会瞬间冲到最高。我实际测试下来C110μF 并联在 R3 两端是最有效的方式。12V 上电后C1 从 0V 开始充电大约经过时间常数 τ (47kΩ || 1kΩ) × 10μF ≈ 1ms 逐步升高到 0.25V 附近而采样电压通常也会在类似时间尺度内建立两者基本同步变化不会出现明显的阶跃差因此上电误触发基本消失。4.3 继电器线圈带来的反向尖峰击穿三极管第三个坑也是新手最容易踩的继电器线圈在断电瞬间会产生一个反向的感应电动势尖峰电压可能达到几十伏甚至上百伏直接加在三极管集电极和发射极之间把 2N3904 打穿。这种现象的根本原因是线圈是一个电感电感中的电流不能突变。当三极管从导通切换为截止时线圈试图维持原来的电流方向于是产生一个很高的反向电压。解决办法就是在线圈两端反并联一只续流二极管 D1阳极接三极管集电极阴极接 12V 电源。这样当三极管关断时线圈产生的反向电流经过 D1 轮流形成一个续流回路线圈的磁场能量被消耗在二极管压降和线圈电阻上集电极电压被钳位在 0.7V 左右三极管安全。二极管选型上一只 1N4148 完全够用速度比 1N4007 快反向恢复时间更短用在 12V 继电器这种小线圈上反而更好。这个二极管不能省。我第一次搭的时候图省事没装用示波器量到了超过 80V 的尖峰那个画面印象太深了。注意续流二极管的方向接反会直接导致短路或者烧毁三极管。安装前用万用表二极管档确认一下极性。5. 从继电器到快速电子开关进一步改进方向如果这套电路只是给实验室电源做保护继电器加三极管的组合完全够用。但如果你要保护的是功放输出、电机驱动器这一类电流变化速度极快的电路机械继电器 5 到 10 毫秒的动作时间就太慢了。这个速度意味着在短路发生的瞬间继电器还没断开功率器件已经承受了远超额定值的电流冲击轻则保护失效重则直接烧掉被测电路。5.1 回路中加入过流阈值跳变更快的电子开关如果希望响应时间进入微秒级别执行环节就要放弃继电器直接用三极管或者 MOSFET 来做高边开关。以 PNP 三极管为例把 2N3904 换成 BD140 之类的功率三极管把发射极接 12V、集电极接负载正端、基极通过电阻连接到运放输出这样一个高边开关就搭好了。正常时 PNP 导通负载供电过流时运放输出高电平PNP 基极被拉高Vbe 绝对值小于阈值三极管截止负载断电。这种做法的响应速度比继电器快好几个数量级缺点是三极管在饱和导通时有持续压降集电极电流大的时候功耗会比较可观需要给三极管加散热器整体效率也会打折扣。5.2 改用 P-MOSFET 做高边开关效率更高更适合实际的方案是用 P-MOSFET 替换 PNP 三极管因为 MOSFET 导通电阻只有几十毫欧几乎没有压降和额外功耗散热压力也小很多。但 P-MOSFET 的栅极必须靠低电平导通而运放的输出在单电源下无法降到 GND 附近这里就需要一个电平转换小电路用一颗 NPN 三极管把运放的输出反相再驱动 P-MOSFET 的栅极。这部分等于把标题里的“三极管”用法又延伸了一步本质上还是用三极管做逻辑转换和执行驱动只是最终的功率器件从继电器触点变成了 MOSFET。这部分如果单独展开又是一篇文章先把思路放在这里后面有机会再写。5.3 自锁保护还是自动恢复由负载性质决定最后要讲清楚一个容易被忽略的逻辑差异自动恢复和自锁保护分别适合什么场景。本文电路属于自动恢复型过流解除后继电器自动闭合负载重新接入。这对热插拔设备或者波动较大的负载比较友好。但对一些故障不能自动消除的场合比如电机堵转、电源输出短路自动恢复反而会造成反复冲击设备可能被反复通断弄坏。这种情况就应该让保护电路具备“记忆功能”也就是一旦过流就保持切断必须人工断电或者按复位键才能重新工作。自锁的改造方式很成熟在运放输出端到同相输入端之间加一个正反馈电阻滞回电阻同时把 R3 的下端改成接一个可控硅或者用第二个三极管搭一个锁定电路这样一旦输出翻转成高电平即使电流降回正常运放也会通过正反馈网络自保持在高电平状态。这时断电重启才能解除锁定。我的实际建议是先确认被保护设备的故障模式。如果故障很可能长期存在并且持续引发大电流自动恢复型必须慎用哪怕设计了保护也要防止保护动作后反复重试把问题扩大化。自锁型相对安全代价是维护时要人工到场复位。这两个逻辑各有适用场景不存在优劣之分。在做完整套电路以后我最深的一个体会是保护电路的难点从来不在某一个元件上而在于整个链路的配合逻辑——采样阈值的稳定性、比较器的滞回特性、执行开关的响应速度和隔离方式每一步都会影响最终的保护效果。μA741 加三极管这套“老办法”胜在每一步都透明可控即使出问题也能顺着电路逐级找出来。如果你正在为手头的电源或者功放加保护可以完全照抄这份电路先跑通再按我的调试经验做滞回和防误触发的改进。实践几轮之后你对运放比较器、三极管开关电路的一套理解会通透不少。