Ottieni un accesso a basso costo a TINACloud per modificare gli esempi o creare i tuoi circuiti
Come abbiamo già visto, i circuiti con eccitazione sinusoidale possono essere risolti utilizzando impedenze complesse per gli elementi e picco complesso or complesso valori rms per le correnti e le tensioni. Utilizzando la versione a valori complessi delle leggi di Kirchhoff, è possibile impiegare tecniche di analisi nodale e mesh per risolvere i circuiti CA in modo simile ai circuiti CC. In questo capitolo lo mostreremo attraverso esempi delle leggi di Kirchhoff.
esempio 1
Trova l'ampiezza e l'angolo di fase della corrente ivs(T) if
vS(t) = VSM cos 2pft; i (t) = ISM cos 2pft; VSM = 10 V; ioSM = 1 A; f = 10 kHz;
Complessivamente abbiamo 10 tensioni e correnti sconosciute, vale a dire: i, iC1IoRIoLIoC2inC1inRinLinC2 e vIS. (Se utilizziamo valori di picco o rms complessi per le tensioni e le correnti, abbiamo complessivamente 20 equazioni reali!)
Le equazioni:
Equazioni di loop o mesh: per M1 - VSM +VC1M+VRM = 0
M2 - VRM + VLM = 0
M3 - VLM + VC2M = 0
M4 - VC2M + VIsM = 0
Le leggi di Ohm VRM = R *IRM
VLM = j*w* L *ILM
IC1M = j*w*C1*VC1M
IC2M = j*w*C2*VC2M
Equazione nodale per N1 - IC1M - ISM + IRM + ILM +IC2M = 0
per elementi di serie I = IC1MRisolvendo il sistema di equazioni puoi trovare la corrente sconosciuta:
ivs (t) = 1.81 cos (wt + 79.96°) A
Risolvere un sistema così ampio di equazioni complesse è molto complicato, quindi non lo abbiamo mostrato in dettaglio. Ogni equazione complessa porta a due equazioni reali, quindi mostriamo la soluzione solo dai valori calcolati con l'interprete di TINA.
La soluzione che utilizza l'interprete di TINA:
om: = 20000 * pi;
Vs: = 10;
È: = 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}
{Ohm's rules}
Ic1 = j * om * * C1 Vc1
Vr = R * Ir
VL = j * om * L * IL
Ic2 = j * om * * C2 Vc2
Ivs = Ic1
fine;
Ivs = [3.1531E1 + 1.7812E0 * j]
abs (Ivs) = [1.8089]
fiIvs: = 180 * arco (Ivs) / pi
fiIvs = [79.9613]
importa sympy come s
importa cmath come c
cp= lambda Z : “{:.4f}”.format(Z)
om=20000*c.pi
Vs=10
È=1
Ic1,Ir,IL,Ic2,Vc1,Vr,VL,Vc2,Vis,Ivs=s.simboli('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]]
stampa(Ivs)
print(“abs(Ivs)=",cp(abs(Ivs)))
print("180*c.fase(Ivs)/c.pi=",cp(180*c.fase(Ivs)/c.pi))
La soluzione utilizzando TINA:
Per risolvere questo problema a mano, lavorare con le impedenze complesse. Ad esempio, R, L e C2 sono collegati in parallelo, quindi puoi semplificare il circuito calcolando il loro equivalente parallelo. || indica l'equivalente parallelo delle impedenze:
Numericamente:
Il circuito semplificato usando l'impedenza:
Le equazioni in forma ordinata: I + IG1 = IZ
VS = VC1 +VZ
VZ = Z · IZ
I = j w C1· VC1
Ci sono quattro incognite I; IZ; VC1; VZ - e abbiamo quattro equazioni, quindi una soluzione è possibile.
Express I dopo aver sostituito le altre incognite dalle equazioni:
Numericamente
Secondo il risultato dell'interprete di TINA.
om: = 20000 * pi;
Vs: = 10;
È: = 1;
Z: = replus (R, replus (j * om * L, 1 / j / om / C2));
Z = [2.1046E0-2.4685E0 * j]
sys io
I = j * * om C1 * (Vs-Z * (I + Is))
fine;
I = [3.1531E1 + 1.7812E0 * j]
abs (I) = [1.8089]
180 * arco (I) / pi = [79.9613]
importa sympy come s
importa cmath come c
Replus= lambda R1, R2 : R1*R2/(R1+R2)
om=20000*c.pi
Vs=10
È=1
Z=Repiù(R,Repiù(1j*om*L,1/1j/om/C2))
print('Z=',cp(Z))
I=s.simboli('I')
A=[s.Eq(1j*om*C1*(Vs-Z*(I+Is)),I),]
I=[complesso(Z) per Z in tuple(s.linsolve(A,I))[0]][0]
print(“Io=",cp(I))
print("abs(I)=",cp(abs(I)))
print("180*c.fase(I)/c.pi=",cp(180*c.fase(I)/c.pi))
La funzione temporale della corrente, quindi, è:
i (t) = 1.81 cos (wt + 80°) A
Puoi controllare l'attuale regola di Kirchhoff usando i diagrammi fasoriali. L'immagine sotto è stata sviluppata controllando l'equazione del nodo in iZ = i + iG1 modulo. Il primo diagramma mostra i phaser aggiunti dalla regola del parallelogramma, il secondo illustra la regola triangolare dell'aggiunta del phasor.
Ora dimostriamo KVR usando la funzione del diagramma fasoriale di TINA. Poiché la tensione della sorgente è negativa nell'equazione, abbiamo collegato il voltmetro "al contrario". Il diagramma dei fasori illustra la forma originale della regola della tensione di Kirchhoff.
Il primo diagramma di fasore utilizza la regola del parallelogramma, mentre il secondo utilizza la regola triangolare.
Per illustrare KVR nella forma VC1 + VZ - VS = 0, abbiamo nuovamente collegato il voltmetro alla sorgente di tensione all'indietro. Puoi vedere che il triangolo dei fasori è chiuso.
esempio 2
Trova le tensioni e le correnti di tutti i componenti se:
vS(t) = 10 cos wtv, 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.
Siano le incognite i valori di picco complessi delle tensioni e delle correnti degli elementi `` passivi '', nonché la corrente della sorgente di tensione (iVS ) e la tensione della sorgente di corrente (vIS ). Complessivamente, ci sono dodici incognite complesse. Abbiamo tre nodi indipendenti, quattro loop indipendenti (contrassegnati come MI), e cinque elementi passivi che possono essere caratterizzati da cinque "leggi di Ohm" - in totale ci sono 3 + 4 + 5 = 12 equazioni:
Equazioni nodali per N1 IVSM = IR1M I +C2M
per N2 IR1M = ILM I +C1M
per N3 IC2M I +LM I +C1M +IsM = IR2M
Equazioni del ciclo modulo1 VSM = VC2M + VR2M
modulo2 VSM = VC1M + VR1M+ VR2M
modulo3 VLM = VC1M
modulo4 VR2M = VIsM
Le leggi di Ohm VR1M = R1*IR1M
VR2M = R2*IR2M
IC1m = j *w*C1*VC1M
IC2m = j *w*C2*VC2M
VLM = j *w* L * ILM
Non dimenticare che qualsiasi equazione complessa potrebbe portare a due equazioni reali, quindi il metodo di Kirchhoff richiede molti calcoli. È molto più semplice risolvere per le funzioni temporali delle tensioni e delle correnti utilizzando un sistema di equazioni differenziali (non discusse qui). Per prima cosa mostriamo i risultati calcolati dall'interprete di TINA:
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}
fine;
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 (IV) = [3.0697m]
180 + radtodeg (arco (IVS)) = [58.2734]
abs (vis) = [10.8726]
radtodeg (arco (vis)) = [- 2.3393]
radtodeg (arco (vr1)) = [155.1092]
radtodeg (arco (vr2)) = [- 2.3393]
radtodeg (arco (ic1)) = [155.1092]
radtodeg (arco (ic2)) = [- 117.1985]
radtodeg (arco (vc2)) = [152.8015]
radtodeg (arco (vc1)) = [65.1092]
radtodeg (arco (IL)) = [- 24.8908]
radtodeg (arco (Vl)) = [65.1092]
importa sympy come s
importa la matematica come m
importa cmath come 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.simboli('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+gradi(fase(ivs))=",cp(180+m.gradi(c.fase(ivs))))
print("abs(vis)=",cp(abs(vis)))
print("gradi(fase(vis))=",cp(m.gradi(c.fase(vis))))
print("gradi(phase(vr1))=",cp(m.gradi(c.phase(vr1))))
print("gradi(phase(vr2))=",cp(m.gradi(c.phase(vr2))))
print("gradi(fase(ic1))=",cp(m.gradi(c.fase(ic1))))
print("gradi(fase(ic2))=",cp(m.gradi(c.fase(ic2))))
print("gradi(fase(vc2))=",cp(m.gradi(c.fase(vc2))))
print("gradi(fase(vc1))=",cp(m.gradi(c.fase(vc1))))
print("gradi(fase(iL))=",cp(m.gradi(c.fase(iL))))
print("gradi(fase(vL))=",cp(m.gradi(c.fase(vL))))
Ora prova a semplificare le equazioni a mano usando la sostituzione. Primo sostituto eq.9. nell'eq 5.
VS = VC2 + R2 IR2 a)
quindi eq.8 e eq.9. in eq 5.
VS = VC1 + R2 IR2 + R1 IR1 b.)
quindi eq 12., eq. 10. e ioL dall'eq. 2 in eq.6.
VC1 = VL = jwLIL = jwL (IR1 - IC1) = jwLIR1 - jwLjwC1 VC1
Express VC1
Express VC2 dall'eq.4. e eq.5. e sostituire eq.8., eq.11. e VC1:
Sostituire eq.2., 10., 11. e d.) In eq.3. ed esprimo ioR2
IR2 = IC2 I +R1 I +S = jwC2 VC2 I +R1 I +S
Ora sostituisci d.) Ed e.) In eq.4 ed esprimi IR1
Numericamente:
La funzione temporale di iR1 è la seguente:
iR1(t) = 0.242 cos (wt + 155.5°) mA
Le tensioni misurate: