Appearance
电路分析基础:电压电流、KCL/KVL、戴维南等效
概念
电路分析要解决的问题只有一句话:给定电路结构和元件参数,求各处的电压与电流。
它只需要两样东西:
- 元件的
– 关系(对电阻就是欧姆定律) - 连接的拓扑约束(KCL 与 KVL)
有这两样,任何线性电阻电路都能解出来——剩下的只是"用哪套办法算得更快"。
本篇是 L1 的软前置:不看它也能学后面,但看了它,你才会明白后面那些"上拉电阻取 10 kΩ""分压比 0.7"的数字是从哪算出来的。
原理
一、电压、电流与"参考方向"
电流是电荷的定向移动,单位安培(A)。电压是两点间的电势差,单位伏特(V)。
麻烦在于方向。物理上电流方向和电压极性你可能不知道,所以工程上先随便规定一个参考方向,算出来:
- 结果为正 → 真实方向与参考方向一致
- 结果为负 → 真实方向与参考方向相反
这不是"电流为负",而是"电流和你想的方向反了"。 参考方向是记账的符号约定,不是物理事实。
关联参考方向(passive sign convention):电流从电压的"+"端流入元件。在这个约定下:
二、欧姆定律与电阻的串并联
串联(电流相同,电压相加):
并联(电压相同,电流相加):
两个必背的实用推论:
分流公式的直觉:并联时电阻小的分到的电流大,所以分子放的是"另一个电阻"(或者放总阻值、分母放本支路阻值)。
电导
三、两条定律:KCL 与 KVL
这是电路分析的全部拓扑约束,前者管"结点",后者管"回路"。
KCL(基尔霍夫电流定律)
任一时刻,流入任一结点的电流之和等于流出的电流之和。 等价说法:流入任一结点的电流代数和为零(
,按方向定正负)。
物理来源:电荷守恒。结点不积累电荷(否则电位会无限升高)。
推广到广义结点(高斯面):把任意一块子电路整个包起来看,进出的电流也相等。这是"运放虚断"等结论的来源。
KVL(基尔霍夫电压定律)
沿任一闭合回路绕行一周,各段电压的代数和为零。
物理来源:电场是保守场——绕一圈回到原点,电势必须回到原值。
注意:KVL 的严格成立依赖"集总参数假设"(电路尺寸远小于信号波长)。频率高到导线长度可与波长比拟时(比如 GHz 信号的走线),必须改用传输线理论,KVL 不再直接适用。这一点在后面的 RC 延迟与信号完整性里会再遇到。
四、节点电压法:系统化的解法
思路:不直接求支路电流,而是先求各结点电位,再倒推电流。因为电路有
标准流程:
1. 选一个结点为参考点(接地,V = 0)
2. 对其余每个结点列 KCL 方程(用结点电位表示各支路电流)
3. 解线性方程组
4. 用 V 求各支路电流、再用 P = VI 求功率单结点(只有一个未知电位)时,方程可以直接写成:
左边是"本结点到各邻点的电导和 × 本结点电位",右边是"每个电源经各自电阻送来的电流"。
五、戴维南与诺顿等效:把复杂电路压成两元件
戴维南定理:
任何线性含源单口网络,对外部而言都可以等效为一个电压源
串联一个电阻 。
诺顿定理:同一网络也可以等效为一个电流源
两者是同一件事的两种说法:
求法(三步):
① 求开路电压 Voc:把端口断开,算端口两端电压
② 求等效电阻 Rth:
· 独立电压源短路(= 0 V)
· 独立电流源开路(= 0 A)
再从端口看进去求等效电阻
③ 画出 Voc 串联 Rth(或 Isc 并联 Rth)易错:置零的是独立源,受控源不能置零,必须保留并在端口加测试电压/电流求解。
为什么它这么有用:它把"整个电路"对负载的影响压缩成了两个数字。于是你不用每次重新解全电路——换负载只需重算一个分压。
六、最大功率传输
把负载
对
此时效率只有 50%——一半功率耗在
工程上要分清两种目标:
- 最大功率传输(
):通信、射频、音响功放——要功率。 - 最大效率(
):电力系统——要省电。给负载用内阻很小的电源。 所以"阻抗匹配"和"电源要内阻小"不矛盾,它们服务于不同目标。
示例
例 1:单结点电路(完整计算)
电源
,经 接到结点 A;A 点再经 和 分别接地。求 与各支路电流。
R1 = 4Ω
●─────/\/\/──────● A
│ │
12V ┌┴┐ R2 = 6Ω
│ └┬┘
●───────────────●──── 共地
│
┌┴┐ R3 = 3Ω
└┬┘
│
────────────────●第一步:列 KCL。 只有 A 一个未知结点,用"电导和 × 电位 = 源电流":
第二步:算括号里。
第三步:解。
第四步:求各支路电流。
第五步:KCL 校验。
结论:
顺便看等效电阻:从 A 点看进去,
例 2:双结点电路(完整计算)
电路同上,但在
之后分出两个结点: 经 到结点 A;A 经 接地,又经 到结点 B;B 经 接地。求 、 与各支路电流。
第一步:列两个 KCL 方程。
结点 A:
结点 B:
第二步:由 B 方程直接得关系。
第三步:代入 A 方程。 两边乘 6:
代入
第四步:求各支路电流。
第五步:两处 KCL 校验。
结论:
小技巧:多结点电路里,先找一个关系最简单(只有两个电阻分压)的结点,把它写成另一个结点的表达式,再代入。这样从
方程组降成 。
例 3:戴维南等效与最大功率传输(完整计算)
电路:
, 与 串联,从 两端引出端口 – 接负载 。求戴维南等效、 取何值功率最大、最大功率多少。
R1 = 5Ω
●─────/\/\/──────● a
│ │
10V ┌┴┐ R2 = 5Ω ← R2 属"网络内部"
│ └┬┘
●───────────────● b
│
┌┴┐
│RL│ ← 负载接在端口 a-b 上
└┬┘
│
────────────────●第一步:求开路电压
第二步:求等效电阻
第三步:扫一遍不同负载。
| 1.0 Ω | 1.429 V | 1.4286 A | 2.0408 W |
| 2.5 Ω | 2.500 V | 1.0000 A | 2.5000 W ← 最大 |
| 5.0 Ω | 3.333 V | 0.6667 A | 2.2222 W |
| 10.0 Ω | 4.000 V | 0.4000 A | 1.6000 W |
第四步:用公式核对。
结论:
注意曲线形状:
从 1 Ω 到 10 Ω,功率先升后降,峰值在 处,两侧下降速度不一样(左侧下降更陡)。这正是 的形状。 不要误推"负载越接近内阻越好":从效率看,
时效率只有 50%,一半功率白白烧在内阻上。电力系统要的是效率,所以追求 。
用程序复算
#include <stdio.h>
int main(void) {
/* --- 例1 单结点 --- */
printf("--- 例1 单结点 ---\n");
double Vs = 12.0, R1 = 4.0, R2 = 6.0, R3 = 3.0;
double G = 1/R1 + 1/R2 + 1/R3;
double Va = (Vs/R1) / G;
printf(" G = %.4f S, Va = %.4f V\n", G, Va);
printf(" I1 = %.4f A, I2 = %.4f A, I3 = %.4f A\n",
(Vs-Va)/R1, Va/R2, Va/R3);
printf(" KCL 校验: %.4f == %.4f -> %s\n",
(Vs-Va)/R1, Va/R2 + Va/R3,
((Vs-Va)/R1 - (Va/R2 + Va/R3)) < 1e-9 ? "OK" : "NG");
/* --- 例2 双结点 --- */
printf("--- 例2 双结点 ---\n");
double Vs2 = 12.0, Ra = 6.0, Rg = 3.0, Rm = 1.0, Rb = 1.0;
/* Vb = Va*b/(b+m); Va = (Vs/a) / (1/a + 1/g + 1/(m+b)) */
double VA = (Vs2/Ra) / (1/Ra + 1/Rg + 1/(Rm+Rb));
double VB = VA * Rb / (Rm + Rb);
printf(" Va = %.4f V, Vb = %.4f V\n", VA, VB);
printf(" I_src = %.4f A, I_A_gnd = %.4f A, I_A_B = %.4f A, I_B_gnd = %.4f A\n",
(Vs2-VA)/Ra, VA/Rg, (VA-VB)/Rm, VB/Rb);
/* --- 例3 戴维南与最大功率 --- */
printf("--- 例3 戴维南 ---\n");
double V3 = 10.0, R3a = 5.0, R3b = 5.0;
double Voc = V3 * R3b / (R3a + R3b);
double Rth = R3a * R3b / (R3a + R3b);
printf(" Voc = %.2f V, Rth = %.2f ohm\n", Voc, Rth);
double rl[4] = {1.0, 2.5, 5.0, 10.0};
for (int i = 0; i < 4; i++) {
double VL = Voc * rl[i] / (Rth + rl[i]);
double IL = VL / rl[i];
printf(" RL=%5.1f ohm VL=%7.3f V I=%7.4f A P=%7.4f W\n",
rl[i], VL, IL, VL * IL);
}
printf(" Pmax = Voc^2/(4Rth) = %.4f W, 效率 50%%\n",
Voc * Voc / (4 * Rth));
return 0;
}
c 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
print("--- 例1 单结点 ---")
Vs, R1, R2, R3 = 12.0, 4.0, 6.0, 3.0
G = 1/R1 + 1/R2 + 1/R3
Va = (Vs/R1) / G
print(f" G = {G:.4f} S, Va = {Va:.4f} V")
print(f" I1 = {(Vs-Va)/R1:.4f} A, I2 = {Va/R2:.4f} A, I3 = {Va/R3:.4f} A")
print(f" KCL 校验: {(Vs-Va)/R1:.4f} == {Va/R2+Va/R3:.4f} -> "
f"{'OK' if abs((Vs-Va)/R1-(Va/R2+Va/R3)) < 1e-9 else 'NG'}")
print("--- 例2 双结点 ---")
Vs2, Ra, Rg, Rm, Rb = 12.0, 6.0, 3.0, 1.0, 1.0
# KCL@A: (Va-Vs)/a + Va/g + (Va-Vb)/m = 0 ; KCL@B: (Vb-Va)/m + Vb/b = 0
# => Vb = Va*b/(b+m) ; Va = (Vs/a) / (1/a + 1/g + 1/(m+b))
VA = (Vs2/Ra) / (1/Ra + 1/Rg + 1/(Rm+Rb))
VB = VA * Rb / (Rm + Rb)
print(f" Va = {VA:.4f} V, Vb = {VB:.4f} V")
print(f" I_src = {(Vs2-VA)/Ra:.4f} A, I_A_gnd = {VA/Rg:.4f} A, "
f"I_A_B = {(VA-VB)/Rm:.4f} A, I_B_gnd = {VB/Rb:.4f} A")
print(f" A 结点: {(Vs2-VA)/Ra:.4f} == {VA/Rg+(VA-VB)/Rm:.4f} -> "
f"{'OK' if abs((Vs2-VA)/Ra-(VA/Rg+(VA-VB)/Rm)) < 1e-12 else 'NG'}")
print("--- 例3 戴维南与最大功率 ---")
V3, R3a, R3b = 10.0, 5.0, 5.0
Voc = V3 * R3b / (R3a + R3b)
Rth = R3a * R3b / (R3a + R3b)
print(f" Voc = {Voc:.2f} V, Rth = {Rth:.2f} ohm")
for RL in (1.0, 2.5, 5.0, 10.0):
VL = Voc * RL / (Rth + RL)
IL = VL / RL
print(f" RL={RL:5.1f} ohm VL={VL:7.3f} V I={IL:7.4f} A P={VL*IL:7.4f} W")
print(f" Pmax = Voc^2/(4Rth) = {Voc**2/(4*Rth):.4f} W, 效率 50%")
python 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
输出:
--- 例1 单结点 ---
G = 0.7500 S, Va = 4.0000 V
I1 = 2.0000 A, I2 = 0.6667 A, I3 = 1.3333 A
KCL 校验: 2.0000 == 2.0000 -> OK
--- 例2 双结点 ---
Va = 2.0000 V, Vb = 1.0000 V
I_src = 1.6667 A, I_A_gnd = 0.6667 A, I_A_B = 1.0000 A, I_B_gnd = 1.0000 A
A 结点: 1.6667 == 1.6667 -> OK
--- 例3 戴维南与最大功率 ---
Voc = 5.00 V, Rth = 2.50 ohm
RL= 2.5 ohm VL= 2.500 V I= 1.0000 A P= 2.5000 W
RL= 10.0 ohm VL= 4.000 V I= 0.4000 A P= 1.6000 W
Pmax = Voc^2/(4Rth) = 2.5000 W, 效率 50%考点
考点
1. 两条定律的物理来源(别只背公式)
| 定律 | 表述 | 物理来源 |
|---|---|---|
| KCL | 流入结点电流和 = 流出 | 电荷守恒(结点不积累电荷) |
| KVL | 回路电压代数和 = 0 | 电场是保守场(绕一圈回到原电位) |
两者都只在集总参数假设下严格成立(电路尺寸
2. KCL 的广义形式
把任意子电路包成"广义结点",进出电流仍相等。这是运放虚断(输入电流为 0)等结论的推导前提。
3. 分压 / 分流(必背)
易错:分流时分子放另一支路的电阻(或放总阻值、分母放本支路阻值),不是放本支路电阻。电阻小分到的电流大——用这条常识自检。
4. 节点电压法(计算大题的标准工具)
单结点可直接写:
步骤口诀:定参考点 → 列 KCL(用电位写电流)→ 解方程 → 回代求电流。结点数 = 未知数个数 = 独立方程数。
5. 戴维南 / 诺顿(★高频)
- 求
:端口开路后算电压 - 求
:独立源置零(电压源短路、电流源开路)后从端口看入 - 两者关系:
- 受控源不能置零 —— 这是最常见的致命错误。含受控源时必须用"端口加测试源
求 "
6. 最大功率传输(★必考)
三个必答的辨析:
| 场景 | 目标 | 条件 | 效率 |
|---|---|---|---|
| 通信 / 功放 / 射频 | 要功率 | 50% | |
| 电力传输 | 要效率 | 接近 100% | |
| 电压表 / 示波器测量 | 要准确 | — |
7. 易错点清单
- 把参考方向当真实方向。算出来是负数,不是"电流为负",是"方向反了",答案要说明方向。
- 功率符号搞混。用关联参考方向:
是吸收, 是发出。 直接等于"某个电阻"。它是从端口看进去的等效值,可能与任何单个电阻都不相等。- 并联公式记成
却用在三个以上电阻。三个以上要连算或用电导相加。 - 理想电压源短路求
时忘了电流源要开路(反之亦然)。 - 误以为"负载电阻越大,得到的功率越大"。
在 处取峰值,再大就掉下来了。 - 测电压时忽略了电压表内阻的分流。高阻电路要用高输入阻抗的仪表(这也是"为什么不直接拿万用表量高阻节点"的原因)。
小结
- 电路分析 = 元件
– 关系 + KCL/KVL 两个拓扑约束;其余都是解法技巧。 - 参考方向是记账约定,结果为负说明方向相反,不是"负电流"。
- KCL 来自电荷守恒,KVL 来自保守场;两者都依赖集总参数假设。
- 节点电压法是把电路化为线性方程组的通用办法,单结点时可一步写出
。 - 戴维南/诺顿等效把任意线性含源单口网络压成"一个源 + 一个电阻",是后面所有"接口电平""扇出""驱动能力"分析的底座。
- 最大功率传输
, ,效率 50%;要功率和要效率是两回事。
回到主线:L0 说"MOSFET 是个开关",L1 要说"这些开关连起来能算什么"。本篇给的是直流/静态的分析工具——能算电平、算分压、算驱动。
但数字电路真正的时间开销不在静态,而在跳变的瞬间:电容要充电,电流要流动,电压要爬升。这就需要下一篇——为什么信号传输有延迟。
评论(0)
当前浏览器不允许本地存储,评论无法保存。
还没有评论,来说两句。