返回上一级
2505 字
13 分钟
恒流源电路

p89(11 分钟)、p90(6.2 分钟)、p91(9.9 分钟)、p92(13.1 分钟)、p93(8.3 分钟)、p94(11 分钟)

低端反馈型恒流源#

电路是运放 + NPN 三极管。

推导链条#

① 回路电流 I 不好直接求 → 改为先求采样电阻上的电压 V,再 I = V / R
② 虚断 → V正 = Vin
③ 虚短 → V负 = V正 = Vin
④ 忽略三极管那一条支路(虚断下只需把分压部分简化):
V负 = V × R2/(R1+R2)
⑤ 整理得:
V = Vin × (1 + R1/R2)

数值#

Vin = 1V,R1/R2 = 1 → V = 2V
采样电阻取 4Ω → I = 2V / 4Ω = 0.5A

重要前提#

分压电阻 R1、R2 取值必须足够大(实际电路建议各取 100K),否则分压支路自身电流不能忽略,会引入误差。

反馈电阻取值小 → 仿真电流 501mA
反馈电阻取 100K → 仿真电流正好 500mA ✓

仿真#

负载换成 1Ω / 2Ω / 5Ω,回路电流始终 ≈ 500mA ✓

恒流源和恒压源的区别#

恒流源:电流恒定;电压随负载变化(负载电阻越大,输出电压越大)
恒压源:电压恒定;电流随负载变化

用输出电压变化来证明,以集电极为输出点:

负载 5Ω → 输出 4.5V
负载 1Ω → 输出 2.5V

两者特性刚好相反。

限制一:电压源幅值#

恒流源的电流恒定是有条件的——它的能量最终仍来自一个电压源(本例 12V),电压源的幅值决定了恒流源能带的最大负载。

负载上限推导(以 1A 恒流为例)#

电流采样/反馈电阻 4Ω,1A 下压降 4V
电源 12V → 最大总电阻 12Ω → 最大负载 8Ω

计入运放与三极管后限制更严格:

运放若也是 12V 供电,最大输出 12V
三极管有 Vbe 压降(≈0.7V)→ 基极/反馈节点最高只能到 11.3V
于是 1A 时负载最大不能超过 7.3Ω
(11.3V − 4V = 7.3V → 7.3Ω)
超过后运放输出已达上限(饱和),电流只能往下降

仿真验证#

负载 2Ω → 999.99mA ≈ 1A ✓
负载 5Ω → 仍 ≈ 1A,节点电压 7V(未超 11.3V)✓
负载 10Ω → 电流达不到 1A,节点电压 11.1V,运放输出已到 12.1V(饱和)✗
把运放和电源都改成 24V → 电流又能达到 1A ✓

电压源的最大电压幅值决定恒流源能带的最大负载。

限制二:运放最大输出电流#

三极管是电流控制电流器件:Ic = β × Ib。

若 β = 100、要求 Ic ≈ 1A → Ib 至少要 10mA
若要求输出 10A → Ib 至少要 0.1A

关键结论:大部分运放最大输出电流只有 50mA 左右,专门做信号放大的甚至只有十几毫安。

仿真验证(LM358,24V 供电)#

目标实际运放输出电流
1A正常 ✓—
采样电阻减小十倍想得到 10A最大只有 2A19.3mA(已饱和)
负载改 1Ω约 6A 多40.6mA(LM358 的最大输出电流)
换回理想运放达到 10A刚好 101mA(与 β=100、Ic=10A 吻合)

是运放的最大输出电流把 Ic 限死了。

两个解决方案#

方案一:换一个能输出更大电流的运放。

方案二:加一级三极管构成达林顿管。

运放先控制第一个三极管
再用它的集电极电流去驱动第二个三极管的基极
效果:末级需 100mA 时,经一级 β 放大后运放只需约 12mA
仿真中运放输出「连 1mA 都不到」,电流压力全部由三极管承担 ✓

高端反馈恒流源#

与前面电路最大不同:反馈不是接运放反向端,而是接到同相端(V正)。

通用的判断方法#

不靠「反馈接哪一端」来判断正负反馈:

V正 > V负 → Vout 往上走
V正 ≤ V负 → Vout 往下走
负反馈最终会稳定到 V正 = V负
正反馈则永远不相等,输出只会停在 Vcc 或 GND

电路结构#

运放输出控制一个 N 管,集电极经负载电阻接 12V,反馈点取自三极管上方节点,反馈到运放同相端。

上电过程逐段分析(假设 Vref 后到)#

① 初始各点 0V
② 12V 先接入、Vref 还没来 → 反馈点被拉到 12V,V正 > V负 → Vout 上升
③ Vout 到 0.6V → 三极管导通 → 有电流下来 → 该点电压下降
④ 但 Vout 一直升,三极管饱和导通(饱和压降约 0.3V)
→ 该点最低只有 12V 经两个电阻分压 ≈ 6V
→ Vref 不输入时稳态在 6V 左右,回路有大电流
⑤ 突然 Vref 从 0V 跳到 11V → V负 > V正 → Vout 往下掉
→ Ib 减小 → Ic = β·Ib 减小 → 该点电压 Vr = 12V − 1Ω × Ic 回升
⑥ 该点升到 11V 时 V正 = V负
运放会往下掉一点点 → 该点变成 11.001V → V正 又大于 V负
→ Vout 再往上一点点 → 反复微调,最终 V正 ≈ 11V,形成虚短

输出电流公式#

Ic = (12V − Vr) / 1Ω
Vr = Vref = 11V → I = (12 − 11) / 1 = 1A

仿真#

未闭合开关(Vref 未加)→ 该点约 0V(因有下拉电阻),运放输出冲到最大,
三极管饱和,回路电流约 6A(读到 5.63A)
闭合开关 → 两点电压立刻变 11V,电流 1A ✓

仿真归仿真,实际电路里运放输出要串一个限流电阻。

示波器观察(三通道)#

通道对应:橙色 = Vref、白色 = 反馈点、绿色 = 运放输出。

闭合瞬间:橙色立刻从 0 跳到 11V,绿色往下掉,白色慢慢上升,到 11V 后平稳——即运放自我调节过程。

闭合瞬间运放输出上会出现一个正弦波(自激振荡)。

自激振荡怎么解决#

原因#

运放的控制速度比反馈速度快太多,反馈跟不上运放速度就会振荡。

书本结论:当增益大于 1、且反馈相位延时达到 180° 时就会振荡。

两个解决维度#

① 降低运放速度(让反馈跟得上)
② 加快反馈速度

方法一:在运放反馈路径加积分电容#

作用是把运放带宽压下来,降低输出控制速度,反馈就能跟上 → 不振荡。

增益带宽积 100MHz → 会振荡
增益带宽积 10MHz → 不振荡(但起振前会先冲一点点)
增益带宽积 0.1MHz → 不振荡 ✓

方法二:加快反馈路径#

反馈过程本质是靠三极管关断速度——三极管关断越快,反馈点电压上升越快。

可以做的:

  1. 换三极管:在相同工艺下,电流越小开关速度一般越高。仿真中只换了一个电流更小的三极管,原电路会振荡、换管后不振荡。
  2. 在反馈路径加电容加速反馈:仅在反馈点加一个电容不够,还要再加一个分压电阻。
    • 注意:这样接会带来两倍放大,对应那一边的电压要减小一半。

想加速运放的下降速率很难,因为它等价于提高运放带宽压摆率(难以改变)。

最终结论#

仅用反馈电容 + 分压电阻时问题仍未解决(三极管速度不够),最终仍需适当压一点运放带宽(加 10pF 电容)→ 电压稳定,电流仍约 1A。

遇到振荡,压带宽是最可靠的手段。

方案二:负载接地#

场景:有些应用要求负载接地,上面那种以集电极为输出的接法不适用 → 把 N 管换成 P 管。

反馈逻辑变化#

以 P 管发射极作为反馈点,发射极没有反相作用,所以负反馈直接接到运放反向端即可。

上电过程#

① 上电前三极管未开通,Vref 端 11V、反馈点 12V → V负 > V正 → Vout 想往下走(但本来就在 0V)
② 三极管导通,吸收电流 → 反馈点从 12V 往下掉
③ 运放输出被三极管大电流被动拉高(运放有内部输入阻抗)
例如 12V 降到 11.9V 时运放升到 8V
④ 反馈点继续降到 11V 时,运放恰好升到 10.3V,V正 = V负 → 达到稳态
⑤ 之后运放主动维持 10.3V,偶尔微调,形成平衡

输出电流公式(虚短)#

I = (12V − Vref) / 1Ω
Vref = 11V → I = 1A

仿真#

上电瞬间反馈点跳到 11V
若两边同时上升、都有高压,上电瞬间运放会吸收一个脉冲电流
最大值约等于运放最大输入电流(常见运放约 40mA)
电流探头观察:开机一瞬间运放吸收电流为负,最大可达约 2A
随后反馈点上升、运放接管控制,电流压得很小

实际电路里这里还要再加一个电阻限流。

三种恒流源方案对比#

方案反馈点管子适用
低端反馈采样电阻下端NPN负载可以不接地时
高端反馈(集电极输出)三极管上方节点N 管反馈接同相端
高端反馈(负载接地)P 管发射极P 管负载必须接地

坑#

  • 分压电阻要取大(100K 左右),否则分压支路电流影响精度。
  • 恒流源不是独立电源,电压幅值决定最大负载;运放最大输出电流是另一个瓶颈(LM358 只有 40mA),大电流要加达林顿管。
  • 判断负反馈不看接哪一端,看 V+ 和 V− 是靠近还是远离。
  • 自激振荡是运放太快、反馈太慢,压带宽最有效;反馈电容加速法会带来两倍放大,对应电压要减半。
  • 上电瞬间运放输出要串限流电阻;负载接地时用 P 管,反馈点改到发射极。
恒流源电路
https://me.622168.xyz/posts/hardware/29-constant-current-source/
作者
Shaw 的小屋
发布于
2026-09-18
许可协议
CC BY-NC-SA 4.0