Está en la página 1de 9

Kirchhoff

October 5, 2023

0.1 P.3.2-12

Nos piden la potencia disipada en cada resistencia. También calcularemos la potencia suministrada
por los generadores.
En este problema nos dan algunos datos de voltajes
[11]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[1]: import numpy as np

[3]: vg6=30
vg8=20
ig1=0.4
ig3=1.0
ig4=0.6
r2=12
r5=16
r7=40
r9=10

Con los datos, solo es necesario aplicar la ley de corrientes en cada nudo:
[5]: v7=vg6
i7=v7/r7
p7=v7*i7
print('Potencia en R7={0:5.1F} (W)'.format(p7))

Potencia en R7= 22.5 (W)


Para el nudo situado en el polo positivo de la fuente de 30 V:
[6]: i6=-ig3-ig1-i7
print('Intensidad I6={0:5.2F} (A)'.format(i6))

Intensidad I6=-2.15 (A)


Para el nudo situado en el polo negativo de la fuente de 30 V:

1
[7]: i9=-i6-i7
print('Intensidad I9={0:5.2F} (A)'.format(i9))

Intensidad I9= 1.40 (A)


Para el nudo situado en el polo positivo de la fuente de 20 V:
[8]: i5=i9+ig4
print('Intensidad I5={0:5.2F} (A)'.format(i5))

Intensidad I5= 2.00 (A)


Para el nudo situado en el polo positivo de la fuentte de intensidad de 1 A:
[9]: i2=ig3-i5
print('Intensidad I2={0:5.2F} (A)'.format(i2))

Intensidad I2=-1.00 (A)


Para el nudo situado en el polo positivo de la fuente de intensidad de 0.6 A se cumple la ley de
Kirchhoff de forma automática porque es un nudo dependiente:
[12]: i2+ig4+ig1

[12]: 0.0

Las potencias disipadas en cada resistencia:


[13]: p2=r2*i2**2
print(p2)
p5=r5*i5**2
print(p5)
p9=r9*i9**2
print(p9)
p7=r7*i7**2
print(p7)
print('Potencia total disipada=',p2+p5+p9+p7)

12.0
64.0
19.599999999999998
22.5
Potencia total disipada= 118.1
Voltajes a partir de las corrientes calculadas:
[15]: v5=r5*i5
v2=r2*i2
v9=r9*i9
v3=vg6-v9-v5
v1=-v2-v3

2
v4=-v2+v5+vg8

[21]: print(v1,v2,v3,v4,v5,v9)

28.0 -12.0 -16.0 64.0 32.0 14.0


Potencias en los generadores:
[18]: pg1=ig1*v1
pg4=ig4*v4
pg8=vg8*(-ig4)
pg3=-v3*ig3
pg6=vg6*(-i6)

[24]: print(pg1,pg4,pg8,pg3,pg6)

11.200000000000001 38.4 -12.0 16.0 64.5

[19]: print('Potencia en generadores=',pg1+pg4+pg8+pg3+pg6)

Potencia en generadores= 118.1


Comprobación de la ley de voltajes en cada malla:
[20]: v1+v3+v2

[20]: 0.0

[22]: v2+v4-vg8-v5

[22]: 0.0

[23]: v5+v9-vg6+v3

[23]: 0.0

0.2 P.3.3-13

Se trata del diseño de un termómetro basado en la dependencia de la resistencia con la temperatura


en determinados materiales.
[128]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[129]: import numpy as np

Esta es la función que define el valor de la resistencia en función de la temperatura y la temperatura


en función de la resistencia:

3
[130]: vg=20
r1=75
def rt(t):
return(50.+t/2.)
def tr(r):
return((r-50.)*2.)

[131]: tem=np.array([0,75,100])
vm=vg*rt(tem)/(r1+rt(tem))

Este es el voltaje medido para diferentes temperaturas:


[132]: print(vm)

[ 8. 10.76923077 11.42857143]

[133]: import matplotlib.pyplot as plt

Esta es la curva que representa el voltaje en función de la temperatura.


[139]: temperaturas=np.linspace(0,100,100)
voltajes=vg*rt(temperaturas)/(r1+rt(temperaturas))
plt.plot(temperaturas,voltajes)
plt.grid()
plt.xlabel('T(oC)')
plt.ylabel('V(V)')
plt.show()

4
Determinamos la resistencia a partir del voltaje medido y con este valor de la resistencia determi-
namos la temperatura:
[142]: vmed=np.array([8,10,15])
rmed=vmed*r1/(vg-vmed)
tevmed=tr(rmed)

[143]: print(tevmed)

[ 0. 50. 350.]

0.3 P.3.4-11

Circuito con fuente dependiente. Hay que tener cuidado al simplificar el circuito de no perder la
intensidad de control de la fuente.
[24]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[25]: import numpy as np

[26]: ig=30E-3
ra=25
rb=75
vbf=50

[29]: rpa=ra*rb/(ra+rb)
vcd=rpa*ig
ia=-vcd/ra
vb=vbf*ia
pvb=ig*vb
print('Potencia suministrada por la fuente dependiente (W)=',pvb)

Potencia suministrada por la fuente dependiente (W)= -0.03375


La potencia suministrada por la fuente de intensidad:
[6]: pgi=-(vb-vcd)*ig
print(pgi)

0.050624999999999996
Potencia disipada en las resistencias:
[7]: pres=ig**2*rpa
print(pres)

5
0.016875
Comprobamos que se conserva la potencia:
[8]: pres-pgi-pvb

[8]: 6.938893903907228e-18

0.4 P.3.5-3

Aplicamos las leyes de Kirchhoff. Hay un solo nudo independiente y dos mallas. Como la fuente de
intensidad está situada en la rama que divide ambas mallas, podemos aplicar la ley de Kirchhoff
de voltajes para la malla exterior.
[30]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[31]: import numpy as np

[32]: v=10
i=3.5
r1=4
r2=4

[33]: import sympy as sy

i1 es la intensidad que entra al nudo de arriba desde la fuente de 10 V e i2 es la intensidad que sale
del nudo de arriba hacia la resistencia de la derecha del dibujo.
[34]: i1,i2=sy.symbols('i1 i2')

[35]: ecus=[-i1+i2-i,r1*i1+r2*i2+v]

[36]: inten=sy.solve(ecus,i1,i2)
print(inten)

{i1: -3.00000000000000, i2: 0.500000000000000}

[37]: i1n=i1.subs(inten)
i2n=i2.subs(inten)

Estas son las potencias suministradas por los generadores, pgv y pgi, y las potencias disipadas en
la
[38]: pgv=-i1n*v
pgi=i*r2*i2n
pr1=r1*i1n**2

6
pr2=r2*i2n**2

[40]: print(pgv,pgi,pr1,pr2)

30.0000000000000 7.00000000000000 36.0000000000000 1.00000000000000

0.5 P.3.6-8

En este problema se modela el cuerpo humano mediante un circuito de resistencias. Se trata de


determinar la intensidad que pasa por el corazón en una descarga eléctrica:
[42]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[43]: import numpy as np

[44]: vg=75
ru=20
rd=750
rf=300
rl=45
rh=150

Se va simplificando el circuito agrupando resistencias:


[46]: rlh=rl+rh
r1=rlh*rd/(rlh+rd)
rt=r1+ru+rf

[47]: i=vg/rt
vab=i*r1
ih=vab/(rlh)
vh=ih*rh

[48]: print(ih,vh)

0.12537612838515547 18.80641925777332
Podemos plantear el problema inverso: dada una intensidad de desfibrilación, determinar el voltaje
de la fuente:
[49]: idesf1=100E-3
vapli1=idesf1*rt*rlh/r1
idesf2=200E-3
vapli2=idesf2*rt*rlh/r1

[171]: print(vapli1,vapli2)

7
40.720000000000006 81.44000000000001

0.6 P.3.6-14

Escribimos el circuito como un camino que va desde a hasta b y agrupamos resistencias. La


numeración de las resistencias la hemos visto en clase.
[18]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[19]: import numpy as np

[20]: def serie(x):


a=np.array(x)
return sum(a)
def para(x):
a=np.array(x)
return 1/sum(1/a)

[21]: serie([2,3])

[21]: 5

[22]: para([2,2])

[22]: 1.0

[23]: r1=1
r2=1
r3=4
r4=1
r5=2
r6=3
r7=1
r8=2
r9=2
r10=2

[24]: parte1=para([r5,r6])+para([r2,r3])
parte2=para([para([r8,r9])+r7,r10])+r4
rtotal=r1+para([parte1,parte2])

[25]: rtotal

[25]: 2.0

8
0.7 P.3.6-34

En este problema hay que separar el circuito en dos partes: la que tiene la fuente dependiente y la
que tiene fuente independiente.
Con los datos suministrados podemos ir resolviendo de forma secuencial:
[1]: reset

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

[173]: import numpy as np

Para el circuito con fuente independiente, aplicamos las leyes de Kirchhoff:


[2]: i1=0.625
v2=-25
i3=-1.25
v4=-17.75
vg=50
r5=40
r6=5

Cálculos en la parte con fuente dependiente. i5 e i5bis son dos formas de calcular i5.
[7]: r1=(v2+vg)/i1
i5=i1*r1/r5
i5bis=(v2+vg)/r5
i=i1+i5
r2=-v2/i

[8]: print(r1,r2,i5,i5bis)

40.0 20.0 0.625 0.625


Para la parte que tiene fuente dependiente:
[9]: i6=v2/4.-i3
vb=i6*r6
r3=(vb-v4)/i3
r4=v4/i3

[10]: print(r3,r4)

5.8 14.2

[ ]:

También podría gustarte