¿Cómo escribes el sistema de ecuaciones que resuelven los voltajes nodales para este circuito?

0

Tengo el siguiente circuito dibujado en un pedazo de papel. Estoy tratando de averiguar los voltajes nodales desconocidos x1-x9. En realidad, por el circuito ya sabemos x8 = 9 y x9 = 0.

Aquí está mi proceso de pensamiento: primero dibuje la dirección de la corriente a través de cada resistencia. Luego use KCL (Ley de corriente de Kirchoff) para escribir las ecuaciones actuales. Luego, la ley de Ohm para convertir corrientes desconocidas a voltajes nodales desconocidos.

Supongamos:

i1 moves from x1->x4
i3 moves from x4->x7
i6 moves from x5->x4

Entonces mi primera ecuación se convierte

i1+i6-i3=0 for node x4.  

Por análisis similar, obtengo 4 ecuaciones más:

-i1-i8+i2=0 for node x2. 
-i6+i8-i7+i5=0 for node x5
i3-i4+i7=0 for node x8
-i2-i5+i4=0 for node x6

Al usar la Ley de Ohm, puedo convertir todas las corrientes i1-i8 a voltajes nodales x1-x9 usando las ecuaciones:

i1=(x2-x1)/.5
i2=(x3-x2)/.2

y así sucesivamente.

Luego obtengo un sistema lineal de ecuaciones con voltajes nodales desconocidos.

Mi sistema lineal es:

A=  -2     2     0   -10    10     0    -5     0     0
     2    -9     5     0     2     0     0     0     0
     0     2     0    10   -22     2     0     0     0
     0     0     0     0    10     5     5     0     0
     0     5    -5     0     2    -7     0     0     0

b=

   -45
     0
   -90
   135
     0

El último paso es hacer A \ b en MATLAB, lo que me da la respuesta incorrecta para los voltajes nodales. Sé que es la respuesta incorrecta porque cuando creo este circuito en un simulador de circuitos en línea, obtengo diferentes valores de voltaje nodal.

Apreciaría si alguien pudiera señalar qué es lo que está mal con mi proceso de pensamiento aquí. Todo lo que estoy haciendo es usar KCL, luego transformar corrientes desconocidas en voltajes nodales desconocidos. Luego resolviendo el sistema lineal.

simular este circuito : esquema creado usando CircuitLab

    
pregunta user1068636

3 respuestas

2

Suponga que su fuente de voltaje \ $ V_1 \ $ se llama \ $ V_X \ $ y que actual en \ $ V_X \ $ es \ $ I_X \ $ , con la flecha apuntando desde \ $ x_9 \ $ a su sugerencia en \ $ x_8 \ $ . Entonces:

$$ \ begin {align *} \ frac {V_1} {R_1} + \ frac {V_1} {R_3} & = \ frac {V_2} {R_1} + \ frac {V_4} {R_3} \ tag {x1} \\\\ \ frac {V_2} {R_1} + \ frac {V_2} {R_5} + \ frac {V_2} {R_9} & = \ frac {V_1} {R_1} + \ frac {V_5} {R_5} + \ frac { V_3} {R_9} \ tag {x2} \\\\ \ frac {V_3} {R_9} + \ frac {V_3} {R_ {10}} & = \ frac {V_2} {R_9} + \ frac {V_6} {R_ {10}} \ etiqueta {x3} \\ \\ \ frac {V_4} {R_3} + \ frac {V_4} {R_4} + \ frac {V_4} {R_6} & = \ frac {V_1} {R_3} + \ frac {V_5} {R_4} + \ frac { V_7} {R_6} \ tag {x4} \\\\ \ frac {V_5} {R_4} + \ frac {V_5} {R_5} + \ frac {V_5} {R_8} + \ frac {V_5} {R_ {12}} & = \ frac {V_4} {R_4} + \ frac {V_2} {R_5} + \ frac {V_8} {R_8} + \ frac {V_6} {R_ {12}} \ etiqueta {x5} \\\\ \ frac {V_6} {R_ {10}} + \ frac {V_6} {R_ {11}} + \ frac {V_6} {R_ {12}} & = \ frac {V_3} {R_ {10}} + \ frac {V_9} {R_ {11}} + \ frac {V_5} {R_ {12}} \ etiqueta {x6} \\\\ \ frac {V_7} {R_6} + \ frac {V_7} {R_7} & = \ frac {V_4} {R_6} + \ frac {V_8} {R_7} \ tag {x7} \\\\ \ frac {V_8} {R_7} + \ frac {V_8} {R_8} & = I_X + \ frac {V_7} {R_7} + \ frac {V_5} {R_8} \ tag {x8} \\\\ V_9 & = 0 \: \ text {V} \ tag {x9} \\\\ V_8 & = V_9 + V_X \ tag {10} \\\\ \ end {align *} $$

Lo anterior es de 10 ecuaciones y 10 incógnitas. Debería poder rellenar las matrices de lo anterior. Para hacer eso, simplemente mueva los términos para que todas sus variables estén en el lado izquierdo con factores asociados y solo existan constantes en el lado derecho. (Los factores de la izquierda serán elementos en su matriz del lado izquierdo).

Hay algunas simplificaciones obvias que le permitirían reducir las incógnitas y las ecuaciones. Pero sigo con tu enfoque, etiquetando todos esos nodos como lo hiciste, a pesar de que podrías haber simplificado un poco las cosas.

Dado que alguien ha considerado que es correcto marcar esta respuesta como incorrecta (-1), me tomaré el tiempo para demostrar que produce resultados precisos y confiables. Lástima que fueran demasiado cobardes para identificarse a sí mismos y su problema. Pero al menos puedo mostrarles su error al pensar en lo que escribí.

En Sage, así es como puedes formular lo anterior:

var('v1 v2 v3 v4 v5 v6 v7 v8 v9 ix vx')
var('r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12')

eq1= Eq( v1 *                (1/r1 + 1/r3), v2/r1 + v4/r3 )
eq2= Eq( v2 *         (1/r1 + 1/r5 + 1/r9), v1/r1 + v5/r5 + v3/r9 )
eq3= Eq( v3 *               (1/r9 + 1/r10), v2/r9 + v9/r10 )
eq4= Eq( v4 *         (1/r3 + 1/r4 + 1/r6), v1/r3 + v5/r4 + v7/r6 )
eq5= Eq( v5 * (1/r4 + 1/r5 + 1/r8 + 1/r12), v4/r4 + v2/r5 + v8/r8 + v6/r12 )
eq6= Eq( v6 *      (1/r10 + 1/r11 + 1/r12), v3/r10 + v9/r11 + v5/r12 )
eq7= Eq( v7 *                (1/r6 + 1/r7), v4/r6 + v8/r7 )
eq8= Eq( v8 *                (1/r7 + 1/r8), ix + v7/r7 + v5/r8 )
eq9= Eq( v9                               , 0 )
eq10=Eq( v8                               , v9 + vx )

ans=solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10],[v1,v2,v3,v4,v5,v6,v7,v8,v9,ix])

[(i, ans[i].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})) for i in ans]
[(v9, 0),
 (v4, 7.67171239356670),
 (ix, 16.4545884578997),
 (v6, 3.29091769157994),
 (v3, 4.05723746452223),
 (v8, 9),
 (v7, 8.33585619678335),
 (v2, 5.58987701040681),
 (v1, 7.32473982970672),
 (v5, 7.68661305581835)]

Lo anterior utiliza un simple bucle para recorrer la lista y emitir los valores, pero sin ningún orden en particular.

Si los quiere ordenados, podría escribir:

 [(eval(key), ans2[eval(key)].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})) for key in sorted([str(key) for key in ans2])]
[(ix, 16.4545884578997),
 (v1, 7.32473982970672),
 (v2, 5.58987701040681),
 (v3, 4.05723746452223),
 (v4, 7.67171239356670),
 (v5, 7.68661305581835),
 (v6, 3.29091769157994),
 (v7, 8.33585619678335),
 (v8, 9),
 (v9, 0)]

También puedes solicitarlos manualmente de esta manera:

ans[v1].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
7.32473982970672

ans[v2].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
5.58987701040681

ans[v3].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
4.05723746452223

ans[v4].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
7.67171239356670

ans[v5].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
7.68661305581835

ans[v6].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
3.29091769157994

ans[v7].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
8.33585619678335

ans[v8].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
9

ans[v9].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
0

ans[ix].subs({r1:.5,r3:.1,r4:.1,r5:.5,r6:.2,r7:.2,r8:.1,r9:.2,r10:.1,r11:.2,r12:.5,vx:9})
16.4545884578997

Observará que estos valores (impresos con cualquier método) se combinarán de manera precisa con cualquier simulación de Spice que componga. Como escribí anteriormente, este enfoque funciona. Aunque, por supuesto, hay enfoques simplificados que obtendrían los resultados más importantes de los que podría obtener fácilmente el resto.

Mi opinión personal para las personas que se preocupan por las soluciones de matriz simbólica para problemas electrónicos es llegar a very familiarizarse con SageMath y Python. Estas son herramientas increíblemente poderosas y gratuitas disponibles para cualquier persona y bien valen una pequeña inversión en sus curvas de aprendizaje.

    
respondido por el jonk
0

Los nodos $ 7 $, $ 1 $ y $ 3 $ pueden olvidarse y solo tiene que reorganizar las resistencias en serie. Hecho, también puede olvidar el nodo $ 8 $ ya que ya conoce su voltaje, que es de $ 9V $

Ahora te quedan 4 voltajes de nodo desconocidos: $ V_4 $, $ V_5 $, $ V_2 $ y $ V_6 $. Escribe $ 4 $ ecuaciones de nodo para ellos. Puede pensar en dejar los nodos actuales en todas las situaciones, por lo que no necesita preocuparse por las direcciones actuales, ya que el resultado general siempre será el mismo.

Además, ¿está tomando la matriz inversa de A ($ A ^ {- 1} $) para calcular la matriz resultante? Recuerda que tendrás $ AX = B $, y eso se puede reorganizar a $ X = A ^ {- 1} B $

    
respondido por el Iron Maiden
0

Considérelo como un problema Thevenin: elimine \ $ R_1 \ $ y \ $ R_3 \ $ , y llamen a esto la carga; entonces el circuito se vuelve simple Ley de Ohm: \ $ (R_5 + R_9 + R_ {10}) // R_ {12} \ $ , y \ $ (R_4 + R_6 + R_ {7}) // R_ {8} \ $ , da fácilmente el voltaje en x5, y el resto lo sigue.

    
respondido por el Chu

Lea otras preguntas en las etiquetas