Příklad jednoduchého elektrického obvodu řešeného SKM

Základní příprava prostředí programovacího jazyka Python a deklarace funkcí

In [1]:

Funkce pro výpis tabulek fázorů pomocí knihoven NumPy a Pandas

In [2]:

Zobrazení fázorů a časových průběhů pomoví knihovny Matplotlib

In [3]:

Schéma obvodu

Obvodové schéma elektrického obvodu

Parametry obvodu

In [4]:
Omega=120    
Freq=Omega/(2*np.pi)

Z1=40.0+30.0j
Z2=-20.0j
Z3=15.0+45.0j
Z4=18.0j
Z5=-20.0+26.0j
Z6=30.0
Z7=13.0j
Z8=31.0+20.0j
Z9=13.0+17.0j
Uab=210.0/np.sqrt(2)*(np.cos(np.radians(-70))+1.0j*np.sin(np.radians(-70)))

Interaktivní změna parametru Uab

In [17]:
def VypocetUab(Velikost, Faze):
    UhelRad=np.radians(Faze)
    NapetiKomplexni=Velikost*(np.cos(UhelRad)+1.0j*np.sin(UhelRad))
    return NapetiKomplexni
NastaveniUab = interactive(VypocetUab, 
                           Velikost=FloatSlider(min=0.0, max=300.0, step=1.0, value=210.0/np.sqrt(2)), 
                           Faze=FloatSlider(min=-360.0, max=360.0, step=10.0, value=-70.0))
NastaveniUab

Poznámka: Pro respektování změny nastavení Uab je nezbytné od této buňky dále provést přepočet (běh, spuštění) všech buněk.
Tedy zvolit tuto buňku a Runtime/Run after nebo CTRL+F10.

In [18]:
Uab=NastaveniUab.result
DisplayFazorList([['Uab',Uab]])
Out[18]:
Jméno Reálná část Imaginární část Absolutní hodnota Úhel [rad] Úhel [stupně]
0 Uab 50.7874 -139.537235 148.492424 -1.22173 -70.0

Výpočet impedancí obvodu

In [19]:
Z123= Z1 + Z2 + Z3;
Z1234=parallel( Z123 , Z4);
Z123456= Z6 + Z1234 + Z5;
Z1234567=parallel( Z123456 , Z7 );
Z123456789= Z9 + Z1234567 + Z8;

Výpis impedancí obvodu

In [20]:
ImpedanceList=[ ['Z123', Z123], ['Z1234', Z1234], ['Z123456', Z123456], 
                ['Z1234567', Z1234567], ['Z123456789', Z123456789] ]
DisplayFazorList(ImpedanceList)
Out[20]:
Jméno Reálná část Imaginární část Absolutní hodnota Úhel [rad] Úhel [stupně]
0 Z123 55.000000 55.000000 77.781746 0.785398 45.000000
1 Z1234 2.133110 15.168781 15.318031 1.431087 81.995271
2 Z123456 12.133110 41.168781 42.919470 1.284194 73.578897
3 Z1234567 0.665428 10.029169 10.051220 1.504544 86.204031
4 Z123456789 44.665428 47.029169 64.859411 0.811171 46.476667

Výpočet neznámých napětí a proudů obvodu

In [21]:
I1=Uab/Z1234567;
I3=Uab/Z7;
I2=Uab/Z123456;
U4=I2*Z1234;
I4=U4/Z123;
I5=U4/Z4;
U1=I4*Z1;
U2=I4*Z2;
U3=I4*Z3;
U5=I2*Z5;
U6=I2*Z6;
U7=I3*Z7;
U8=I1*Z8;
U9=I1*Z9;
Uzdroj=U9+U7+U8;

Zobrazení číselných výsledků

Obvodové proudy

In [22]:
ProudyList=[ ['I1', I1], ['I2', I2], ['I3', I3], ['I4', I4], ['I5', I5] ]
DisplayFazorList(ProudyList)
Out[22]:
Jméno Reálná část Imaginární část Absolutní hodnota Úhel [rad] Úhel [stupně]
0 I1 -13.517642 -5.960854 14.773572 -2.726275 -156.204031
1 I2 -2.784008 -2.054131 3.459792 -2.505924 -143.578897
2 I3 -10.733633 -3.906723 11.422494 -2.792527 -160.000000
3 I4 -0.194469 -0.653016 0.681358 -1.860235 -106.583626
4 I5 -2.589539 -1.401115 2.944289 -2.645633 -151.583626

Obvodová napětí

In [23]:
NapetiList=[ ['U1', U1], ['U2', U2], ['U3', U3], ['U4', U4], ['U5', U5],
             ['U6', U6], ['U7', U7], ['U8', U8], ['U9', U9], ['Uzdroj', Uzdroj] ]
DisplayFazorList(NapetiList)
Out[23]:
Jméno Reálná část Imaginární část Absolutní hodnota Úhel [rad] Úhel [stupně]
0 U1 11.811709 -31.954727 34.067889 -1.216734 -69.713728
1 U2 -13.060323 3.889387 13.627155 2.852154 163.416374
2 U3 26.468686 -18.546364 32.319637 -0.611189 -35.018574
3 U4 25.220072 -46.611703 52.997197 -1.074837 -61.583626
4 U5 109.087581 -31.301594 113.489604 -0.279433 -16.010305
5 U6 -83.520253 -61.623938 103.793749 -2.505924 -143.578897
6 U7 50.787400 -139.537235 148.492424 -1.221730 -70.000000
7 U8 -299.829812 -455.139323 545.022678 -2.153309 -123.375490
8 U9 -74.394821 -307.291019 316.168246 -1.808325 -103.609388
9 Uzdroj -323.437233 -901.967577 958.205173 -1.915104 -109.727364

Fázorové diagramy veličin

Impedance obvodu - vypočtené

In [24]:
sipky1f(ImpedanceList, 'Impedance obvodu', 'Ohm')

Proudy v obvodu

In [25]:
sipky1f(ProudyList, 'Proudy v obvodu', 'A')

Napětí v obvodu

In [26]:
sipky1f(NapetiList, 'Napětí v obvodu', 'V')

Časové průběhy proudů

In [27]:
CasovePrubehy(ProudyList, 'Proudy v obvodu', 'A')

Časové průběhy proudů vyšetřené v nástroji DYNAST

Časové průběhy proudů

In [28]:
CasovePrubehy(NapetiList, 'Napětí v obvodu', 'V')