翻到《电路》教材里“含有运算放大器的电阻电路”这一节时,很多人会下意识地觉得:运放不是模拟电子技术里的东西吗?怎么出现在电路基础里?其实恰恰相反,这一章不但没有跑题,反而是把前面学过的受控源、节点电压法、叠加定理和戴维南等效真正串起来的地方。运算放大器本质上就是一个高增益的电压受控电压源,而它外围接的那些电阻,决定了整个电路的增益、输入阻抗和反馈方式。所以这一章的主线不是“运放内部怎么写”,而是“含运放的电阻电路怎么用电阻网络的方法去解”。
这篇笔记我会从理想运放的虚短虚断出发,把反相、同相、加法器这些基础拓扑一个个推给你看,再聊到复杂电阻电路中运放如何参与等效电阻和节点电压分析,最后补上实际运放的增益误差、偏置电流、闲置引脚处理和几个典型的翻车现场。适合正在学电路原理的学生,也适合工作后回炉补基础的人参考。
1. 运算放大器出现在电阻电路里,分析规则发生了哪些变化
1.1 理想运放到底“理想”在哪:三句话模型
在电路基础这门课里,运放不是按照芯片内部上百个晶体管去分析的,而是被抽象成一个三端元件:同相输入端、反相输入端和输出端,再加上正负电源供电端。很多教材会直接给出理想运放的三个条件:输入阻抗无穷大、输出阻抗为零、开环电压增益无穷大。
这三句话背后的含义必须掰开揉碎理解。输入阻抗无穷大,意味着运放的两个输入端不会吸取任何电流,信号源接上去之后不会多出一条电流支路;输出阻抗为零,意味着输出电压一旦被反馈环路确定,它就能像一个理想电压源一样,向外部负载提供任意电流而不改变电压;开环增益无穷大,意味着输入端只要出现极微小的电压差,输出就会饱和到电源轨。真正让运放变得“听话”的,是外围接上的反馈电阻网络,把输出拉回输入端形成闭环。
这个三句话模型最重要的一点是:运放输出端的电压并不是由某一个电阻分压单独决定的,而是由运放的“自动调节”作用决定的——它会把输出调到让两个输入端的电压满足特定关系的那个值。换句话说,分析含运放的电阻电路时,你要把运放当成一个“会根据反馈自行调压的受控源”,而不是一个普通的独立源或电阻。
1.2 虚短与虚断的成立条件,以及最容易被误用的场景
理想运放的两个输入端,在实际解题中有两条高频使用的结论:虚短和虚断。
虚短的意思是:在负反馈闭环工作状态下,同相输入端电压 V+ 和反相输入端电压 V- 近似相等,即 V+ ≈ V-。注意,这里是“虚”短,不是真的短路。两个输入端的电流依然为零,只是电压被反馈强制拉平了。很多初学者在这里会犯一个错误,真拿万用表去量两个输入引脚,发现电压差并不完全为零,于是开始怀疑结论。实际上虚短是开环增益有限而不是无穷大造成的近似,误差通常在微伏到毫伏量级,解题按零处理没问题。
虚断的意思是:由于输入阻抗无穷大,两个输入端的电流近似为零,即 I+ = I- = 0。这句话在列KCL方程时非常有用,但在实际芯片中并不严格成立,真实运放有输入偏置电流,只是很小,通常纳安或皮安级。
更关键的是虚短的成立条件:必须有负反馈。如果运放工作在开环状态,或者在正反馈状态下,虚短不再成立。最典型的反面例子是比较器:同相端电压比反相端高一点点,输出就立刻打到正电源轨上方;反相端高一点,输出又打到负电源轨下方。这种情况下两个输入端电压被强行“拉开”,根本不存在虚短。所以拿到一个含运放的电路,第一步永远不是急着套虚短,而是先判断反馈路径:有没有从输出端通过电阻或其它网络连回反相输入端?有,才有虚短可谈。
2. 反相、同相和加法器:三个基本拓扑的分析套路
2.1 反相放大器:虚地让计算直接化简为电流守恒
反相放大器是含运放电阻电路里最经典、也最好入门的一个。电路结构很标准:输入信号 Vin 通过电阻 R1 接到运放的反相输入端,同相输入端接地,反馈电阻 Rf 跨接在反相输入端和输出端之间。
分析时先判断反馈:Rf 把输出引回了反相输入端,这是负反馈,所以虚短成立。同相端接地,因此 V+ = 0;根据虚短,V- ≈ 0。这个点非常关键,它意味着反相输入端的电压被钳在了地电位,但又没有真正接地,因此叫“虚地”。
接下来在反相输入端列KCL。由于虚断,没有电流流进运放内部,所以流过 R1 的电流必须几乎全部流过 Rf。R1 左侧是 Vin,右侧是虚地,电流为:
I1 = (Vin - 0) / R1 = Vin / R1
Rf 左侧是虚地,右侧是 Vout,电流为:
If = (0 - Vout) / Rf = -Vout / Rf
因为 I1 = If,直接得到:
Vout = -(Rf / R1) × Vin
这个公式本质上就是电流守恒,配合虚地,计算量比想象中小很多。增益只取决于两个电阻的比值,这也是运放电路精度高的原因之一:电阻比值容易做准,温度漂移也能被抵消掉一部分。
反相放大器还有两个直观特性需要记住。第一,输入阻抗近似等于 R1,因为从信号源看进去,R1 右端是虚地,信号源看到的负载就是 R1。如果想提高输入阻抗,只能增大 R1,但 R1 太大会带来噪声和偏置电流问题。第二,反相放大器输出反相,这在需要负增益的场合非常自然,但在一些要求同相缓冲的场合就不合适,需要换同相拓扑。
2.2 同相放大器和电压跟随器:高输入阻抗从哪来
同相放大器的结构是:输入信号 Vin 直接接到运放的同相输入端,反相输入端通过电阻 R1 接地,反馈电阻 Rf 从输出端接到反相输入端。仍然先看反馈,Rf 构成了负反馈,虚短成立,所以:
V+ = Vin,V- = Vin
接下来看反相输入端的电阻分压。因为虚断,R1 和 Rf 串联,从 Vout 经过 Rf、R1 到地,反相输入端电压 V- 是 R1 上的压降:
V- = Vout × R1 / (R1 + Rf)
又因为 V- = Vin,所以:
Vout = Vin × (1 + Rf / R1)
这就是同相放大器的增益公式。对比反相放大器,增益多了 1,且输出和输入同相。
同相放大器最大的魅力在于输入阻抗高。理想情况下,同相输入端没有电流流入运放,信号源看到的负载阻抗接近无穷大。这意味着你可以把它接在一个高内阻的传感器后面,不用担心信号被源内阻分压吃掉。当然,实际运放输入电阻虽然很大,但输入端存在共模输入电容,在高频下会慢慢拉低输入阻抗,这是高频设计的坑,基础电路阶段暂时不用管。
同相放大器的一个特例是电压跟随器,也叫缓冲器:Rf 取 0 或干脆把输出直接连到反相输入端,R1 可以留空,此时增益为 1。电压跟随器的意义不是放大,而是隔离:输入侧取用电流几乎为零,输出侧却能提供很大的负载电流。它像一个小阻抗转换器,把高阻抗信号源变成低阻抗输出,同时保持电压不变。很多ADC前端、传感器输出缓冲都用这种结构,强烈建议在实际电路里备一个。
2.3 同相加法器与差分放大器的加权逻辑
热搜词里提到的“同向加法运算放大器”其实就是同相加法器,经常有初学者被名字绕晕。它的结构是:多个输入电压分别通过电阻接到运放的同相输入端,反相输入端通过电阻接地,反馈电阻从输出回到反相输入端。
分析这类电路,还是先虚短。假设有 n 个输入 Vi 分别通过电阻 Ri 接到同相端,同相端本身对地没有其它电阻,那么同相端电压 V+ 可以用叠加定理或节点电压法求出来:
V+ = (Σ Vi/Ri) / (Σ 1/Ri)
也就是说,同相端电压是各输入电压的加权平均,权重由各输入电阻决定。然后同相放大级的增益是 A = 1 + Rf/R1(R1 是反相端对地电阻),所以最终输出:
Vout = (1 + Rf / R1) × V+
这个电路书写起来很容易,但实际用的时候很别扭:各路输入电阻会互相影响权重,因为同相端电压是所有人共同拉扯的结果。如果想让某一个通道调高增益,其他通道的等效权重也会跟着变,调试起来非常痛苦。相比之下,反相加法器更容易控制权值:每个输入通道都通过自己的电阻接到虚地点,各路电流彼此独立,最后在虚地点相加,互不干扰。所以工程上做多路加权求和,绝大多数时候会选反相加法器。
差分放大器则试图提取两个输入的差值。典型结构是同相端通过 R2 接地、再通过 R3 接 V2,反相端通过 R1 接 V1,反馈电阻 R4 从输出接回反相端。用叠加定理配合虚短虚断,可以推导出当电阻满足 R1=R2、R3=R4 时,输出是:
Vout = (R3 / R1) × (V2 - V1)
这样就能放大差值、抑制共模信号。但这个电路对电阻匹配极其敏感,四个电阻哪怕其中一个偏差 0.1%,共模抑制比都会明显下降。所以高性能场景下,大家更愿意用集成仪表放大器,而不是自己拿四个分立电阻拼差分电路。
3. 含运放的复杂电阻电路:节点电压法和等效电阻
3.1 节点电压法遇到运放时的步骤调整
当电路里只有电阻和独立源时,列节点电压方程很机械:选参考节点,对每个独立节点列KCL,然后解方程。可一旦混入运算放大器,很多人的第一反应是“输出节点也列一个KCL”,结果发现列出来的方程要么缺条件,要么解出来不对。原因在于运放输出端是一个受控电压源,它能输出任意电流,不能简单用“输出节点电流求和为零”来约束。
我的习惯性做法是四步走:
第一步,找到并确认负反馈路径,判断虚短是否成立。
第二步,把运放两个输入端的电压关系写出来。负反馈下 V- = V+,这个关系本身就是一条约束方程。
第三步,对两个输入端附近的节点分别列KCL,但一定要用虚断把流入运放输入端的电流项删掉。也就是说,输入端节点上只有外部电阻电流参与求和。
第四步,把输出端电压当成一个未知量,代入反馈支路的电流表达式中。输出节点本身不一定要列KCL,因为它由运放内部强制建立,外部负载多大不影响运放输出电压(前提是没超过输出电流能力)。
举个例子:一个同相放大器,在同相端前面接了一个由 R1、R2 组成的分压器,输入源 Vs 经过分压器接入同相输入端,反相端通过 R3 接地、Rf 反馈到输出。如果直接列节点方程,同相端电压 V+ 由分压器决定:V+ = Vs × R2/(R1+R2),然后 V- = V+,再对反相端节点列KCL求解 Vout。整个过程不需要列输出节点的KCL,也不需要知道输出电流是多少。把运放当作一个自动调节的电压源,思路会非常清晰。
3.2 用受控源模型理解负阻抗转换器
论坛里经常有人问“复杂电路怎么求等效电阻”,如果这个复杂电路里还带运放,情况就更有意思了。运放不仅能放大电压,还能制造出用普通无源元件很难实现的负电阻。这就是负阻抗转换器的雏形。
回顾受控源知识:一个理想电压控制电压源(VCVS)的输出电压等于增益 A 乘以输入电压。如果把一个普通电阻 R 的一端接输入端口,另一端接在 VCVS 的输出端,而这个 VCVS 的输入恰好就是输入端口电压 Vin,那么电阻两端的电压差是 Vin - Vout = Vin - A×Vin = (1-A)×Vin。于是流过电阻的电流为:
I = (Vin - Vout) / R = Vin × (1 - A) / R
从输入端口看进去的等效电阻就是:
Req = Vin / I = R / (1 - A)
当 A = 0,等效电阻就是 R,不意外;当 A = 1,等效电阻无穷大,相当于开路;当 A = 2,等效电阻变成 -R。这就是负阻抗:端口电压增加时,电流反而从端口向外流出,等于这个网络在向外部“吐”能量,实际上能量来源于运放的电源。
用一个实际同相放大器就能实现上述效果:把同相放大器增益设为 2,比如 Rf = R1,然后从输入端口接一个电阻 R 到运放输出端。由于同相输入端虚短且虚断,信号源几乎不向运放输入端泄漏电流,却会通过电阻 R 流向运放输出端。结果是输入端口看到的等效电阻是负的。这个概念在振荡器、有源滤波器、补偿网络里都有应用。基础电路阶段不要求深入,但理解“运放+电阻可以产生负阻”这件事,对后续读运放应用电路会很有帮助。
3.3 化简复杂电路的第一原则:先找负反馈环路
面对一个电阻、电源、运放交错在一起的复杂网络,很多人的本能是从最左边开始逐个等效,结果经常把自己绕晕。我的经验是:不急着做串并联化简,先做拓扑分析。
先把所有运放图元标出来,检查每个运放有没有从输出连接到反相输入端的通路。如果有,这个运放处在负反馈闭环状态,可以放心使用虚短;如果只有到同相输入端的反馈,那大概率是正反馈,虚短不成立;如果完全没有反馈,那就是比较器或开环应用,输出只可能在高或低两个状态。
然后以运放输入端为界,把电路分成几块:输入网络、反馈网络、输出负载。输入网络决定 V+ 的大小或流入反相端的电流;反馈网络决定输出和输入端之间的电压或电流关系;输出负载通常不需要参与反馈计算,除非负载电流大到超出运放输出能力。这样一拆,再复杂的电路也会变成若干个子网络,不容易乱。
4. 从理想回到现实:增益误差、偏置与闲置引脚
4.1 有限开环增益和增益带宽积怎么修正你的计算
理想运放开环增益无穷大,所以闭环增益完全由外部电阻决定。但真实运放的开环增益虽然很大,并不是无穷大。比如常见的运放开环增益 A = 100000 倍(100dB),当闭环增益要求 100 倍时,误差其实很小,但如果你需要用电路精确控制增益,就得知道误差怎么算。
以反相放大器为例。考虑有限开环增益 A,反相输入端电压不再是严格虚地,而是:
V- = -Vout / A
把这一项代入反相输入端KCL方程:
(Vin - V-) / R1 + (Vout - V-) / Rf = 0
经过整理可以得到精确的闭环增益:
Acl = -(Rf / R1) / [1 + (1 + Rf / R1) / A]
当 A 远大于 (1+Rf/R1) 时,分母里的第二项可以忽略,就回到理想公式。假设 Rf/R1 = 100,A = 100000,那么分母修正项约为 0.00101,误差大约 0.1%。对于绝大多数场合够用了,但在高精度仪表里需要留意。
另一个绕不开的现实是增益带宽积。运放的开环增益并不是在所有频率下都是常数,它在低频段很高,随频率上升按 -20dB/dec 滚降,因此存在固定乘积“增益带宽积”。比如某运放GBW=1MHz,接成闭环增益100倍时,闭环带宽只有 1MHz/100 = 10kHz;接成增益10倍,带宽提升到100kHz。想同时要很高的增益和很宽的带宽,单级运放做不到,必须考虑改用多级放大或选更高GBW的芯片。
4.2 运算放大器不用的引脚到底该怎么处理
很多芯片是双运放甚至四运放封装,比如 LM358、TL072、LM324,实际项目里只用一个运放的情况非常常见。这时候剩下的闲置运放如果不处理,麻烦会很多:输入引脚悬空,感应噪声会使输出不断切换,不仅白白耗电,还可能通过电源网络干扰正在工作的那个运放。
最稳妥的处理方式是把闲置运放接成电压跟随器:同相输入端接到一个确定的参考电位,输出端直接连回反相输入端。如果是双电源供电,参考电位取 0V 或者地;如果是单电源供电,不要直接接地,因为接地会让输入共模电压低于单电源运放的共模范围,导致输出锁死在某个状态,正确做法是接到电源电压的一半,比如用两个等值电阻分压产生 VCC/2,再经过一个小电容去耦。这样运放输出会稳定在参考电位上,既不振荡也不会有异常电流。
还有一个很多人忽略:运放的电源引脚必须接好去耦电容,一般每个电源引脚旁放一个 0.1μF 陶瓷电容,靠近引脚放置。闲置单元的输入保护二极管在异常电压下可能导通,导致电流串进芯片,所以不要让闲置运放的输入超出电源轨。如果你不确定当前芯片闲置引脚的电特性,最省心的方法就是查阅数据手册里“unused amplifier”相关建议。
4.3 电阻选值和匹配对电路性能的影响
运放电路的核心增益公式里只有电阻比值,这容易让人产生一个错觉:电阻随便取,只要比值对就行。实际上电阻绝对值和匹配度都很重要。
输入端电阻取得太小,比如反相放大器的 R1 取 100Ω,信号源会承受很大的负载电流,前级驱动能力不够时增益会明显偏差;反馈电阻取得太大,比如 Rf 取 10MΩ,运放输入偏置电流在这个电阻上产生的压降会被放大,输出直流偏置会严重漂移。工程上常见的取值区间是 1kΩ 到 100kΩ。如果必须处理非常微弱的信号,再结合运放的偏置电流参数反复权衡。
电阻匹配度直接影响共模抑制。差分放大器里四个电阻只要有一个 1% 偏差,共模抑制比可能从理想值跌到 60dB 以下。解决方法是选 0.1% 甚至 0.01% 精密电阻网络,或者直接用集成仪表放大器,把匹配问题交给芯片内部激光调阻工艺去解决。这个细节在实际做传感器采集时特别重要,调试时如果有共模噪声,先怀疑电阻匹配,不要一上来就觉得是运放坏了。
5. 实战例题与常见翻车点排查
5.1 一步一步算通一个两级运放电路
用一个简单的两级电路来演示刚才说的分析流程。第一级是反相放大器,第二级是同相加法器。设第一级输入 Vin = 0.2V,R1 = 10kΩ,Rf1 = 100kΩ,所以第一级输出:
V1 = -(100k / 10k) × 0.2V = -2V
第二级有两个输入:V1 通过 R2 = 20kΩ 接到同相端,另一个参考电压 Vref = 1V 通过 R3 = 20kΩ 也接到同相端,反相端通过 R4 = 50kΩ 接地,反馈电阻 Rf2 = 100kΩ。先求同相端电压 V+,用叠加定理。V1 单独作用时,V+1 = V1 × R3/(R2+R3) = (-2V) × 20k/(40k) = -1V;Vref 单独作用时,V+2 = Vref × R2/(R2+R3) = 1V × 20k/(40k) = 0.5V。所以:
V+ = -1V + 0.5V = -0.5V
第二级是同相放大结构,增益为:
A2 = 1 + Rf2 / R4 = 1 + 100k / 50k = 3
最终输出:
Vout = 3 × (-0.5V) = -1.5V
这个计算过程看起来简单,踩过的坑其实不少:同相端求电压时容易忘记考虑多个输入之间的互相影响,直接用某个输入单独分压,就会算错;第二级的增益公式里,R4 是反相端对地电阻,不是 R2、R3 的并联结果。每个节点先写清楚等式,再代数字,能省掉大量返工。
5.2 我踩过的四个坑和对应的排查思路
第一个坑:比较器电路里强行用虚短。刚学的时候做灯控电路,运放一个输入端接基准,另一个接光敏电阻分压,我当时套虚短算出输出应该是中间值,结果实测输出直接顶到电源轨。后来才意识到没有负反馈,运放在开环比较状态,输出要么高要么低,根本没有虚短。遇到输出一直饱和的情况,先检查反馈路径是不是真的接回了反相输入端。
第二个坑:测量虚地时被万用表误导。用手持万用表测反相放大器反相输入端的电压,显示几十毫伏甚至一两百毫伏,于是觉得虚地不对。实际上这个电压是失调电压、偏置电流和万用表输入阻抗共同作用的结果。高输入阻抗运放加高阻万用表测量时,感应噪声也很容易串进去。判断虚地是否成立的正确方式,是看计算值和输出波形是否符合反馈关系,而不是纠结万用表的残压。
第三个坑:单电源供电时把同相输入端直接接地。用 5V 单电源给 LM358 搭放大电路,同相端接地,反相端接输入,理论上能放大负半周,但输出死活不对。查手册发现 LM358 的共模输入范围虽然包含地,但输出摆幅有限,具体要看负载。单电源运放电路里一定要设置好直流工作点,不能让输入信号在负半周时超过共模范围。
第四个坑:求等效电阻时把运放输出当成普通节点,直接短路到地。有一次用叠加法算一个带运放的反馈网络,把输出端当成电压源直接短路,结果整个回路电流全错。后面习惯性地把运放输出端保留为一个由反馈决定的电压变量,而不是无脑当作独立源短路,问题才解决。记住,运放输出是“被反馈约束的受控源”,不是随便能接地或断开的无源节点。
如果在仿真软件里看到手算和仿真始终对不上,我的排查顺序是:先看有没有电源和地接反,再看反馈电阻有没有焊错网络,然后用直流工作点扫描输出电压与输入电压的关系,确认运放是否进入了饱和区。这些步骤做完,大多数手算与仿真的偏差都能定位到电路连接或模型设置上。
这一章越学到后面越会感觉到,运放本身不难,难的是把“虚短虚断”变成一种条件反射。我个人的一个小习惯是:每次拿到含运放的电路图,先用铅笔在图上标出所有虚短成立的节点,然后把所有流入运放输入端的电流项划掉,再开始列方程。这个动作看起来笨,却能避免一半以上的低级错误。实际动手搭电路时,也建议先在仿真软件里跑一遍直流工作点,再上电实测,两手对照着学,电阻电路和运算放大器的很多概念一下子就通了。