Få en låg kostnad tillgång till TINACloud för att redigera exemplen eller skapa egna kretsar
Som vi redan har sett kan kretsar med sinusoidal excitation lösas med komplexa impedanser för elementen och komplex topp or komplex rms-värden för strömmar och spänningar. Med hjälp av de komplexa värdena versionen av Kirchhoffs lagar kan nod- och maskanalysmetoder användas för att lösa växelströmskretsar på ett sätt som liknar likströmskretsar. I detta kapitel kommer vi att visa detta genom exempel på Kirchhoffs lagar.
Exempelvis 1
Hitta amplituden och fasvinkeln för strömmen ivs(T) if
vS(t) = VSM cos 2pft; I (t) = ISM cos 2pft; VSM = 10 V; jagSM = 1 A; f = 10 kHz;
Totalt har vi 10 okända spänningar och strömmar, nämligen: i, iC1, TheR, TheL, TheC2iC1iRiLiC2 och vIS. (Om vi använder komplexa topp- eller rms-värden för spänningar och strömmar, har vi totalt 20 verkliga ekvationer!)
Ekvationerna
Loop eller nätekvationer: för M1 - VSM +VC1M+VRM = 0
M2 - VRM + VLM = 0
M3 - VLM + VC2M = 0
M4 - VC2M + VIsm = 0
Ohms lagar VRM = R *IRM
VLM = j*w* L *ILM
IC1M = j*w*C1*VC1M
IC2M = j*w*C2*VC2M
Nodal ekvation för N1 - IC1M - ISM + IRM + ILM +IC2M = 0
för serieelement I = IC1MLösning av ekvationssystemet kan du hitta den okända strömmen:
ivs (t) = 1.81 cos (wt + 79.96°) A
Att lösa ett så stort system av komplexa ekvationer är mycket komplicerat, så vi har inte visat det i detalj. Varje komplex ekvation leder till två verkliga ekvationer, så vi visar lösningen endast med de värden som beräknas med TINA: s tolk.
Lösningen med TINA: s tolk:
om: = 20000 * pi;
Vs: = 10;
Är: = 1;
Sys Ic1, Ir, IL, Ic2, Vc1, Vr, VL, Vc2, Vis, Ivs
Vs=Vc1+Vr {M1}
Vr=VL {M2}
Vr=Vc2 {M3}
Vc2=Vis {M4}
Ivs=Ir+IL+Ic2-Is {N1}
{Ohms regler}
Ic1 = j * about * C1 * Vc1
Vr = R * Ir
VL = j * about * L * IL
Ic2 = j * about * C2 * Vc2
IVS = Ic1
slutet;
Ivs = [3.1531E1 + 1.7812E0 * j]
abs (Ivs) = [1.8089]
fiIvs: = 180 * båge (Ivs) / pi
fiIvs = [79.9613]
importera sympy som s
importera cmath som c
cp= lambda Z : “{:.4f}”.format(Z)
om=20000*c.pi
Vs=10
Är=1
Ic1,Ir,IL,Ic2,Vc1,Vr,VL,Vc2,Vis,Ivs=s.symbols('Ic1 Ir IL Ic2 Vc1 Vr VL Vc2 Vis Ivs')
A=[s.Eq(Vc1+Vr,Vs),s.Eq(VL,Vr),s.Eq(Vc2,Vr),s.Eq(Vis,Vc2), #M1, M2, M3, M4
s.Eq(Ir+IL+Ic2-Is,Ivs), #N1
s.Eq(1j*om*C1*Vc1,Ic1),s.Eq(R*Ir,Vr),s.Eq(1j*om*L*IL,VL),s.Eq(1j*om*C2*Vc2,Ic2),s.Eq(Ic1,Ivs)] #Ohm’s rules
Ic1,Ir,IL,Ic2,Vc1,Vr,VL,Vc2,Vis,Ivs=[complex(Z) for Z in tuple(s.linsolve(A,(Ic1,Ir,IL,Ic2,Vc1,Vr,VL,Vc2,Vis,Ivs)))[0]]
print (Ivs)
print(“abs(Ivs)=”,cp(abs(Ivs)))
print(“180*c.phase(Ivs)/c.pi=”,cp(180*c.phase(Ivs)/c.pi))
Lösningen med TINA:
För att lösa detta problem för hand, arbeta med komplexa impedanser. Till exempel R, L och C2 är anslutna parallellt, så att du kan förenkla kretsen genom att beräkna deras parallella ekvivalent. || betyder parallellekvivalenten av impedanserna:
numeriskt:
Den förenklade kretsen med impedansen:
Ekvationerna i ordnad form: I + IG1 = IZ
VS = VC1 +VZ
VZ = Z · IZ
I = j w C1· VC1
Det finns fyra okända- I; IZ; VC1; VZ - och vi har fyra ekvationer, så en lösning är möjlig.
uttrycka I efter att ha ersatt de andra okända från ekvationerna:
numeriskt
Enligt TINA: s tolkresultat.
om: = 20000 * pi;
Vs: = 10;
Är: = 1;
Z: = replus (R, replus (j * about * L, 1 / j / om / C2));
Z = [2.1046E0-2.4685E0 * j]
sys jag
I = j * about * C1 * (Vs-Z * (I + Is))
slutet;
I = [3.1531E1 + 1.7812E0 * j]
abs (I) = [1.8089]
180 * båge (I) / pi = [79.9613]
importera sympy som s
importera cmath som c
Replus= lambda R1, R2 : R1*R2/(R1+R2)
om=20000*c.pi
Vs=10
Är=1
Z=Replus(R,Replus(1j*om*L,1/1j/om/C2))
print('Z=',cp(Z))
I=s.symbols('I')
A=[s.Eq(1j*om*C1*(Vs-Z*(I+Is)),I),]
I=[komplex(Z) för Z i tupel(s.linsolve(A,I))[0]][0]
print(“I=”,cp(I))
print(“abs(I)=”,cp(abs(I)))
print(“180*c.phase(I)/c.pi=”,cp(180*c.phase(I)/c.pi))
Tidsfunktionen för strömmen är då:
I (t) = 1.81 cos (wt + 80°) A
Du kan kontrollera Kirchhoffs nuvarande regel med fasdiagram. Bilden nedan utvecklades genom att kontrollera nodekvationen i iZ = i + iG1 form. Det första diagrammet visar fasorerna tillagda med parallellogramregeln, det andra illustrerar fasadditionens triangulära regel.
Låt oss nu demonstrera KVR med hjälp av TINAs fasdiagramfunktion. Eftersom källspänningen är negativ i ekvationen kopplade vi voltmätaren ”bakåt”. Fasordiagrammet illustrerar den ursprungliga formen av Kirchhoffs spänningsregel.
Det första fasdiagrammet använder parallellogramregeln, medan det andra använder triangulärregeln.
För att illustrera KVR i formen VC1 + VZ - VS = 0, vi anslöt igen voltmetern till spänningskällan bakåt. Du kan se att fasordriangeln är stängd.
Exempelvis 2
Hitta spänningarna och strömmarna för alla komponenter om:
vS(t) = 10 cos wt V, iS(t) = 5 cos (w t + 30 °) mA;
C1 = 100 nF, C2 = 50 nF, R1 = R2 = 4 k; L = 0.2 H, f = 10 kHz.
Låt okända vara de komplexa toppvärdena för spänningar och strömmar för 'passiva' element, liksom strömmen för spänningskällan (iVS ) och spänningen för strömkällan (vIS ). Totalt finns det tolv komplexa okända. Vi har tre oberoende noder, fyra oberoende slingor (markerade som MI), och fem passiva element som kan karaktäriseras av fem ”Ohms lagar” - totalt finns det 3 + 4 + 5 = 12 ekvationer:
Nodala ekvationer för N1 IVSM = IR1M + IC2M
för N2 IR1M = ILM + IC1M
för N3 IC2M + ILM + IC1M +IsM = IR2M
Loop-ekvationer för M1 VSM = VC2M + VR2M
för M2 VSM = VC1M + VR1M+ VR2M
för M3 VLM = VC1M
för M4 VR2M = VIsm
Ohms lagar VR1M = R1*IR1M
VR2M = R2*IR2M
IC1m = j *w*C1*VC1M
IC2m = j *w*C2*VC2M
VLM = j *w* L * ILM
Glöm inte att någon komplex ekvation kan leda till två riktiga ekvationer, så Kirchhoffs metod kräver många beräkningar. Det är mycket enklare att lösa för tidsfunktionerna för spänningar och strömmar med hjälp av ett system med differentialekvationer (diskuteras inte här). Först visar vi resultaten beräknade av TINA: s tolk:
f: = 10000;
Vs: = 10;
s: = 0.005 * exp (j * pi / 6);
om: = 2 * pi * f;
sys ir1, ir2, ic1, ic2, iL, vr1, vr2, vc1, vc2, vL, vis, ivs
ivs=ir1+ic2 {1}
ir1=iL+ic1 {2}
ic2+iL+ic1+Is=ir2 {3}
Vs=vc2+vr2 {4}
Vs=vr1+vr2+vc1 {5}
vc1=vL {6}
vr2=vis {7}
vr1=ir1*R1 {8}
vr2=ir2*R2 {9}
ic1=j*om*C1*vc1 {10}
ic2=j*om*C2*vc2 {11}
vL=j*om*L*iL {12}
slutet;
abs (vr1) = [970.1563m]
abs (vr2) = [10.8726]
abs (ic1) = [245.6503u]
abs (ic2) = [3.0503m]
abs (vc1) = [39.0965m]
abs (vc2) = [970.9437m]
abs (iL) = [3.1112u]
abs (vL) = [39.0965m]
abs (IVS) = [3.0697m]
180 + radtodeg (ARC (IVS)) = [58.2734]
abs (vis) = [10.8726]
radtodeg (arc (vis)) = [- 2.3393]
radtodeg (arc (vr1)) = [155.1092]
radtodeg (arc (vr2)) = [- 2.3393]
radtodeg (arc (ic1)) = [155.1092]
radtodeg (arc (ic2)) = [- 117.1985]
radtodeg (arc (vc2)) = [152.8015]
radtodeg (arc (vc1)) = [65.1092]
radtodeg (arc (iL)) = [- 24.8908]
radtodeg (arc (vL)) = [65.1092]
importera sympy som s
importera matematik som m
importera cmath som c
cp= lambda Z : “{:.4f}”.format(Z)
f = 10000
Vs=10
S=0.005*c.exp(1j*c.pi/6)
om=2*c.pi*f
ir1,ir2,ic1,ic2,iL,vr1,vr2,vc1,vc2,vL,vis,ivs=s.symbols('ir1 ir2 ic1 ic2 iL vr1 vr2 vc1 vc2 vL vis ivs')
A=[s.Eq(ir1+ic2,ivs), #1
s.Eq(iL+ic1,ir1), #2
s.Eq(ic2+iL+ic1+Is,ir2), #3
s.Eq(vc2+vr2,Vs), #4
s.Eq(vr1+vr2+vc1,Vs), #5
s.Eq(vL,vc1), #6
s.Eq(vis,vr2), #7
s.Eq(ir1*R1,vr1), #8
s.Eq(ir2*R2,vr2), #9
s.Eq(1j*om*C1*vc1,ic1), #10
s.Eq(1j*om*C2*vc2,ic2), #11
s.Eq(1j*om*L*iL,vL)] #12
ir1,ir2,ic1,ic2,iL,vr1,vr2,vc1,vc2,vL,vis,ivs=[complex(Z) for Z in tuple(s.linsolve(A,(ir1,ir2,ic1,ic2,iL,vr1,vr2,vc1,vc2,vL,vis,ivs)))[0]]
print(“abs(vr1)=”,cp(abs(vr1)))
print(“abs(vr2)=”,cp(abs(vr2)))
print(“abs(ic1)=”,cp(abs(ic1)))
print(“abs(ic2)=”,cp(abs(ic2)))
print(“abs(vc1)=”,cp(abs(vc1)))
print(“abs(vc2)=”,cp(abs(vc2)))
print(“abs(iL)=”,cp(abs(iL)))
print(“abs(vL)=”,cp(abs(vL)))
print(“abs(ivs)=”,cp(abs(ivs)))
print(“180+degrees(phase(ivs))=”,cp(180+m.degrees(c.phase(ivs)))))
print(“abs(vis)=”,cp(abs(vis)))
print(“degrees(phase(vis))=”,cp(m.degrees(c.phase(vis))))
print(“degrees(phase(vr1))=”,cp(m.degrees(c.phase(vr1))))
print(“degrees(phase(vr2))=”,cp(m.degrees(c.phase(vr2))))
print(“degrees(phase(ic1))=”,cp(m.degrees(c.phase(ic1))))
print(“degrees(phase(ic2))=”,cp(m.degrees(c.phase(ic2))))
print(“degrees(phase(vc2))=”,cp(m.degrees(c.phase(vc2))))
print(“degrees(phase(vc1))=”,cp(m.degrees(c.phase(vc1))))
print(“degrees(phase(iL))=”,cp(m.degrees(c.phase(iL))))
print(“degrees(phase(vL))=”,cp(m.degrees(c.phase(vL)))))
Försök nu att förenkla ekvationerna för hand med substitution. Första ersättare eq.9. till ekv. 5.
VS = VC2 + R2 IR2 en.)
då eq.8 och eq.9. in i ekv 5.
VS = VC1 + R2 IR2 + R1 IR1 b.)
sedan ekv 12., ekv. 10. och jagL från ekv. 2 till ekv.6.
VC1 = VL = jwLIL = jwL (IR1 - JagC1) = jwLIR1 - jwL jwC1 VC1
Express VC1
Express VC2 från ekv. 4. och ekv. 5. och ersättare eq.8., eq.11. och VC1:
Ersätt ekv. 2., 10., 11. och d.) I ekv.3. och uttrycker jagR2
IR2 = IC2 + IR1 + IS = jwC2 VC2 + IR1 + IS
Ersätt nu d.) Och e.) I ekv.4 och uttrycka IR1
numeriskt:
Tidsfunktionen för iR1 är följande:
iR1(t) = 0.242 cos (wt + 155.5°) mA
De uppmätta spänningarna: