使用等效变换化简来求解电路问题对简单电路十分有效,这通常需要对电路结构有很敏锐的认识,也需要经验的积累。对复杂电路,等效变换法会显得十分烦琐,而且没有规律。我们回到电路分析的基础,从基尔霍夫定律和元件特性出发,寻找更加规律的方法。
前文已经指出,对复杂电路直接应用两类约束(元件约束和连接约束),即可得到KCL和KVL方程组,从而求解电路变量。根据所使用的电路变量的不同,又得到了不同的电路方程分析方法,详述如下。
支路电流法是以支路电流为未知数,对节点列KCL方程、对回路列KVL方程,得到电路对应的线性方程组,进而求解电路变量的方法。它主要用于结构规模小、结构简单的电路,适用于手工计算。
对于有 m 条支路、 n 个节点的电路,首先要设定每条支路的电流变量,再根据KCL列出 n -1个独立方程,根据KVL列出 m-n +1个独立方程,从而可以求解方程组,得到支路电流变量。注意也可以使用KCL结合元件特性,使用欧姆定律等来联立方程组。
【 例2-6 】求图2-20中的各支路电流。
【 解 】如图2-20所示设置参考点和支路电流,应用KCL得
图2-20 例2-6图
120 -I A -30 -I B =0
应用KVL(或欧姆定律)得
联立求解得
I A =60A, I B =30A
支路电流法虽然可以列出方程组求解电路变量,但是得到的方程组没有规律,需要手工化简才能得到规范的线性方程组。规范的线性方程组可以输入计算机,利用软件来帮助我们计算。
对于大规模的复杂电路,手工化简的工作量就太大了,我们希望能够更加方便地得到这样的方程组,简化输入计算机之前的工作量,更好地利用计算机软件来帮助我们求解电路变量。
节点分析法也叫节点电位法、节点电压法,是以节点电位为未知数,列KCL方程,得到电路对应的线性方程组,求解电路变量的方法。采用节点分析法得到的方程组很有规律,而且可以不必通过手工化简的步骤,直接从电路图得到线性方程组的系数和常数项,从而输入计算机中,所以节点分析法是比支路电流法更为系统、更为有效的方法。
节点分析法的第一步是利用KCL写出电路所必须满足的线性方程组,称为节点方程。说明如下:
如果电路有 n 个节点,任选其中一个作为参考点,其余 n -1个节点电压作为未知变量;再对这 n -1个节点使用KCL,可得到 n -1个KCL方程。 n -1个未知数对应 n -1个方程,根据线性代数的知识,该方程组有解。
图2-21是有4个节点的电路(虚线所圈中的两个节点实际上是一个),应用节点分析法求解如下:
图2-21 节点分析法求解电路
设节点a、b、c的电位分别是 u a 、 u b 、 u c ,并设通过电导 G 1 、 G 2 、 G 3 、 G 4 的电流分别为 i 1 、 i 2 、 i 3 、 i 4 ,电流的方向如图2-21中所示。
根据欧姆定律,得
再针对节点a、b、c分别使用KCL,得到每个节点的KCL方程
将上述两个方程组整理得
上述节点方程(组)中,第一个方程是节点a的KCL方程,第二个方程是节点b的KCL方程,第三个方程是节点c的KCL方程。
为了便于讨论,先给出在节点分析法中,与电路节点相关的两个重要概念。
自电导:电路中与某节点相连接的所有支路上的电导之和称为该节点的自电导。图2-21中,节点a的自电导是( G 1 + G 2 ),节点b的自电导是( G 2 + G 3 + G 4 ),节点c的自电导是( G 1 + G 3 )。
互电导:电路中两个节点之间的直接相连支路上的所有电导之和的负数称为这两个节点之间的互电导,如果两个节点不相邻,则它们之间的互电导为零。图2-21中,节点a与节点b之间的互电导为( -G 2 ),节点a与节点c之间的互电导为( -G 1 ),节点b与节点c之间的互电导为( -G 3 )。
节点方程的系数矩阵就是由自电导和互电导构成的,所以称为电路的电导矩阵。仔细观察节点方程中左边每个变量的系数,以及方程右边的常数项,可以发现如下规律:
1)系数矩阵对角线上的元素分别是与节点a、b、c的自电导。
2)系数矩阵的其他元素分别是a、b、c两两节点之间的互电导。
3)自电导构成了节点电压在该节点KCL方程中的系数,互电导则构成了相邻节点电压在该节点KCL方程中的系数。
4)每个节点方程的右边是流入该节点的独立电流源电流的代数和。
这个结论可推广到 n 个节点的情况(此时共有 n -1个方程)
式中, G ii 为第 i 节点的自电导; G ij 是第 i 节点与第 j 节点之间的互电导; i Sii 是流入该节点的所有独立电流源电流的代数和。
利用这个规律,建立电路方程的过程就变得十分简单了,只要直接对照电路图确定每个节点的自电导、该节点与其他节点之间的互电导以及流入该节点的独立电流源电流的代数和,即可确定该节点方程的系数和常数项,从而写出该节点的电路方程。组合所有非参考节点的节点方程,即可求解,这种列写节点方程的方法称为观察法。
【注意】虽已介绍了观察法,但如果不能肯定每个节点的自电导和互电导的话,还是可以通过对每个节点列写KCL方程来进行电路分析,毕竟观察法的基础是节点的KCL方程,永远都可以直接利用KCL进行节点分析。
对于含有纯电压源支路和受控源的电路,因为电压源的电压与流过它的电流无关,无法将该支路的电流表示成电压乘以电导的形式,所以不能直接应用节点分析法,必须做特殊的处理。
下面以独立电压源支路的情况为例说明其处理方法,如果是受控源,可以把它视为独立源处理,然后再将其控制量用节点电压表示即可。
第一种方法是将电压源的一端作为电路的参考点处理,该支路的另一端电压就变为已知,这样就不必为这个节点列节点方程。
【 例2-7 】求图2-22中的各节点电压。
图2-22 例2-7图
【 解 】如图2-22所示,将电压源的一端作为电路的参考点。
因为3Ω电阻左边电压始终等于240V,假如令其等于 U 4 ,则会得到
又因为 U 4 =240V,移项就可以得到
求解上述方程组得
U 1 =182.5V, U 2 =124.4V
如果电压源支路的两个端点都不能作为参考节点,就可以考虑采用第二种方法。该方法是在运用KCL列节点方程之前,先给该支路假定一个电流,并按已知电流来处理,从而可以列出节点方程。再根据KVL写出该电压源支路两个端点的电压关系方程作为辅助方程。这种方法增加了一个未知的电流变量和一个辅助方程,方程组有解。
【 例2-8 】求图2-23a中的各节点电压。
通过在电压源支路中增加电流变量 I ,可列出节点方程。可能引起混乱的地方是如何计算节点2的自电导,注意到由于电流源的作用,节点电压 U 3 不能对流入节点2的电流做出任何贡献,因此节点2、3之间的2kΩ电阻不能计入节点2的自电导。只需牢记节点方程的建立是基于KCL的,就不难理解这种处理的正确性。再利用 U 1 -U 2 =3V,以及 U 3 =12V列出辅助方程即可。
图2-23 例2-8和例2-9图
【 解 】根据以上叙述,列出节点方程如下
再列出辅助方程
U 1 -U 2 =3
求解上述3个方程联立组成的方程组可得
U 1 =8V, U 2 =5V
另一种方法是把电压源支路作为一个超节点来处理,如图2-23b所示,把节点1、2作为一个节点来处理。所有流入该区域(超节点)的总电流的代数和为零,这一点是很自然的,因为节点1、2流入电流的代数和为零,所以它们的总电流也必然为零。
【 例2-9 】求图2-23b中的各节点电压。
【 解 】对于超节点,直接使用KCL来列写KCL方程(注意,这里没有使用观察法)。
再考虑超节点内部有
U 1 -U 2 =3
得到
U 1 =8V, U 2 =5V
最后,将使用节点分析法的一般步骤总结如下:
1)选择一个参考节点,定义其余节点电压变量。
2)如果电路只包含电流源,对每个非参考节点列出节点方程。
3)如果电压源支路的端点不能作为参考节点,则要为该支路增加一个假定电流,或者使用超节点的方法。
4)如果能确定每个节点的自电导和互电导,可使用观察法列出节点方程。
5)如果不能确定每个节点的自电导和互电导,应直接根据KCL列写节点方程。
6)求解方程,得到节点电压。
网孔分析法也叫网孔电流法,是以网孔电流为未知数列KVL方程,从而求解电路变量的方法。网孔分析法的适用性不如节点分析法,但它有时更简单。能够使用网孔分析法的网络必须是平面网络,下面首先给出平面网络的定义。
如果一个网络的所有支路都能够在一个平面上画出,即不存在必须从该平面的上面或下面经过的支路,那么这个网络就叫作平面网络。
网孔是平面网络中不包含任何其他回路的回路,它是平面网络的一个特性,对于非平面网络没有定义。回路是首尾相接的路径,而路径就有些难以理解,不过一般情况下我们没有必要考虑太复杂,平面网络通常可画成有许多格子的图形,可以把其中的每个格子看作是一个网孔。如图2-24所示,3个格子构成3个网孔。
图2-24 网孔分析法求解电路
假想在每个网孔的闭合路径中存在一个顺时针方向的电流,如图2-24中虚线所示的电流 I 1 、 I 2 、 I 3 ,这种假想的电流称为网孔电流。此时每条支路电流都能用该支路所在的各网孔的网孔电流来表示,对照图2-24可知,每条支路只有两个网孔与其相关,因此计算支路电流十分简单。最后要指出,网孔电流的选取是任意的,但通常选取顺时针方向,因为由此可得到具有对称性的方程,减少错误的发生。
每个网孔电流从某个节点流入,又必然从该节点流出,此时KCL将自动满足。因此网孔分析法需要使用KVL来列写方程,方程数与网孔数相等,这里不加证明地指出,对于 m 条支路、 n 个节点的平面电路,网孔数(即方程数)等于 m-n +1。
对于图2-24,我们可以根据KVL得到如下方程:
整理得
这组方程称为网孔方程,对照节点方程可以发现它们很相似。节点分析法中与节点相关的概念是自电导和互电导,网孔分析法中也有与网孔相关的类似概念,叫作自电阻和互电阻。
自电阻:某网孔的所有电阻之和,称为该网孔的自电阻。
互电阻:两个网孔公共支路上的所有电阻之和叫作这两个网孔的互电阻。互电阻的符号与在公共支路上两个网孔电流的方向有关,如果它们的方向相同,则互电阻符号为正;反之,符号为负;当选择所有网孔电流都为同一方向,比如顺时针时,互电阻的符号永远为负。
网孔方程的系数矩阵就是由自电阻和互电阻构成的,因此这个系数矩阵叫作电路的电阻矩阵。网孔方程左边每个变量的系数,以及方程右边的常数项的构成规律如下:
1)系数矩阵对角线上的元素是对应网孔的自电阻。
2)系数矩阵的其他元素是两两网孔之间的互电阻。
3)某网孔电流在该网孔本身的方程中的系数是自电阻,其他网孔电流在该网孔方程中的系数是这两个网孔的互电阻。
4)每个网孔方程的右边是沿该网孔电流方向的所有独立电压源电压升的代数和。即如果独立电压源的电压沿网孔电流方向升高,则符号为正;反之,符号为负。
类似地,这个结论可推广到 k 个网孔的情况(此时共有 k 个方程):
式中, R ii 为第 i 个网孔的自电阻; R ij 为第 i 个网孔与第 j 个网孔之间的互电阻; U S ii 为沿该网孔电流方向的所有独立电压源电压升的代数和。
对于含有纯电流源支路和受控源的电路,因为电流源的电流与其两端电压无关,无法将该支路的电压表示成电流乘以电阻的形式,而是取决于外电路,所以不能直接应用网孔分析法,必须做特殊的处理。
如果电流源支路处于电路的边界上,则该网孔电流为已知,无须为该网孔列网孔方程。
如果电流源支路处在两个网孔的公共支路上,为了列出KVL方程,可以给电流源支路假设一个电压,并把它作为已知电压来列写该网孔的KVL方程。然后再考虑该公共支路上两个网孔电流所受到的KCL约束,即两个网孔电流的代数和等于该电流源的电流。
【 例2-10 】求图2-25中的各网孔电流。
【 解法1 】受控电流源位于网孔1和网孔2之间,设其两端电压为 U ,极性如图2-25所示,则可列网孔方程如下:
图2-25 例2-10图
I 1 =15A
-2 I 1 +(2+3+1) I 2 -3 I 3 = -U
-I 1 -3 I 2 +(1+2+3) I 3 =0
又根据KCL可得到
根据欧姆定律有
3( I 2 -I 3 )= U X
联立求解可得
I 1 =15A, I 2 =17A, I 3 =11A
【 解法2 】首先注意到15A电流源支路处于电路的边界上,因此网孔1的电流已知为15A,不必为网孔1列方程。可得
I 1 =15A
其次,又因为受控源位于网孔1和网孔2的公共支路上,而网孔1电流为已知,如果把受控源视为独立电流源的话,那么该支路的电流也能够确定,所以我们可以认为受控源也是位于电路的边界上。这样,也就无须为网孔2列方程。根据KCL,可得
所以
最后,只需为网孔3列KVL方程即可,即
从这个方程可得到
I 3 =11A
进而得到
I 2 =17A
【 解法3 】使用超网孔。其基本思路是把含有电流源或受控源的公共支路的两个网孔视为一个超网孔,并对这个超网孔列KVL方程,使用这种办法可以避免引入额外的变量(电流源两端的电压)。
【 例2-11 】用超网孔的方法求图2-26中3A电流源上的电压 U 。
图2-26 用超网孔求解电路
【 解 】由于网孔3上的2A电流源位于电路边界上,所以有
I 3 =2A
把网孔1和网孔2视为一个超网孔,并对这个超网孔列KVL方程:
-5+(1+5) I 1 +(2+3) I 2 -(2+5) I 3 =0
再列出辅助方程得到
I 2 -I 1 =3
联立求解得
I 1 =0.364A, I 2 =3.364A, I 3 =2A
可以再对网孔2使用KVL来求出 U 。
U +2( I 2 -I 3 )+3 I 2 =0
求解得
U =-12.818V
使用网孔分析法的一般步骤总结如下:
1)首先必须保证该网络是一个平面网络,否则不能使用网孔分析法。
2)为电路中的每个网孔设定一个顺时针方向的网孔电流。
3)为每个网孔列写网孔方程。
4)对电流源和受控源支路要做特殊处理,可以使用增加变量法或超网孔法。
5)求解方程,得到网孔电流。
节点分析法和网孔分析法是解决复杂问题的系统化方法,很容易编制成计算机软件来求解大规模的、复杂的电路问题。
这两种方法都是基于基尔霍夫两个定律:以节点电位为未知数,对非参考节点列KCL方程,就得到节点分析法;以网孔电流为未知数,对所有网孔列KVL方程,就得到网孔分析法。从适用性上看,节点分析法更具有通用性,它能够分析所有类型的电路;网孔分析法对于求解电流的问题更简单直接一些,但不能适用于所有的电路类型。