784/1757

Základy elektrotechniky

Příklady pro opakování

Elektrostatické pole

| navigace |

Výkon střídavého proudu

Mini-aplikace (dostupná on-line) napsaná v jazyce Python, určená pro vykreslení výkonu střídavého proudu.

vykony.py
   1 #!/usr/bin/python
   2 # -*- coding: utf8 -*-
   3 # Soubor:  vykony.py
   4 # Datum:   20.04.2011 19:55
   5 # Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   6 # Licence: GNU/GPL 
   7 # Úloha:  okmžitá hodnota výkonu je dána součinem okamžitých hodnot
   8 #         napětí a proudu  
   9 
  10 
  11 # import modulů
  12 import pylab as l
  13 from pylab import pi # nechce se mi psát l.pi
  14 
  15 # fázový posuv mezi napětím a proudem
  16 angle = 50
  17 
  18 # čas -- arange (od, do, krok )
  19 t = l.arange(-0.1,1.1,0.001)
  20 
  21 # napětí
  22 u = l.sin(2*pi*2*t)
  23 # proud
  24 i = l.sin(2*pi*2*t+(angle*pi/180))
  25 
  26 l.figure()   # nový obrázek
  27 l.grid(True) # mřížka zapnuta
  28 # vynesení grafů
  29 l.plot(t, u,label="u") 
  30 l.plot(t, i,"--", label="i")
  31 l.plot(t, u*i, label="p", linewidth=2)
  32 l.axis([-0.1,1.1,-1.2,1.2]) # meze os
  33 # popisky
  34 l.title("Okamzite hodnoty napeti, proudu a vykonu")
  35 l.xlabel("t[s]")
  36 l.ylabel("u[V], i[A], p[W]")
  37 l.legend() # legendu zobrazit
  38 l.show()   # vykreslit graf
  39 
  40 
  41 # vim:nospell:
`--> stáhnout

Více o tomto skriptu naleznete v sekci Technické výpočty.

Sériový rezonanční obvod

sro.py
   1 #!/usr/bin/env python
   2 # -*- coding: utf8 -*-
   3 # Soubor:  sro.py
   4 # Datum:   21.04.2011 10:15
   5 # Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   6 # Licence: GNU/GPL 
   7 # Úloha:   frekvenční charakteristika sériového rezonančního obvodu
   8 # 
   9 
  10 import pylab as l
  11 import numpy as n
  12 from pylab import pi
  13 
  14 from matplotlib import rcParams #, rc
  15 #rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
  16 ## for Palatino and other serif fonts use:
  17 #rc('font',**{'family':'serif','serif':['Palatino']})
  18 
  19 rcParams['text.usetex']=True
  20 rcParams['text.latex.unicode']=True
  21 L = .8e-3
  22 C = 42e-12
  23 
  24 ####  první graf + příprava ######
  25 R = 10
  26 
  27 # rezonanční kmitočet
  28 f0 = 1.0/( 2*pi*l.sqrt(L*C) )
  29 # jakost
  30 Q = 2*pi*f0*L/R
  31 # šířka pásma
  32 B = f0/Q
  33 
  34 print "f0 = {0:.5} kHz".format(f0/1000.)
  35 print "Q = {0:.5}".format(Q)
  36 print "B = {0:.5} kHz".format(B/1000)
  37 
  38 
  39 f_min = f0 - 2*B
  40 f_max = f0 + 2*B
  41 f= l.linspace(f_min, f_max, 10000)
  42 w=2*pi*f
  43 
  44 
  45 Z = R + 1j*w*L - 1j/(w*C)  
  46 l.plot(f/1000,n.abs(Z),label="Q = {0:8.5}".format(Q))
  47 
  48 ###### druhý graf ############
  49 R=20
  50 Q = 2*pi*f0*L/R
  51 Z = R + 1j*w*L - 1j/(w*C)  
  52 l.plot(f/1000,n.abs(Z),label="Q = {0:8.5}".format(Q))
  53 
  54 ###### třetí graf ############
  55 R=50
  56 Q = 2*pi*f0*L/R
  57 Z = R + 1j*w*L - 1j/(w*C)  
  58 l.plot(f/1000,n.abs(Z),label="Q = {0:8.5}".format(Q))
  59 
  60 # nadpis
  61 l.title(u'Frekvenčni závislost modulu impedance SRO')
  62 # meze os
  63 l.axis([f_min/1000,f_max/1000,0,max(n.abs(Z))]) 
  64 # popisky os
  65 l.xlabel(r'$f[kHz]$',{'fontsize' : 12})
  66 l.ylabel(r'$|Z|[\Omega]$',{'fontsize' : 12})
  67 # legenda a mřížka
  68 l.legend()
  69 l.grid(True)
  70 # ukaž se!
  71 l.show()
`--> stáhnout

Více o tomto skriptu naleznete v sekci Technické výpočty.

Dvojbran RC, RL

Mini-aplikace sloužící pro vykreslení frekvenčních charakteristik dvojbranů RC a RL. (RL si musíte doprogramovat...)

gamaRCRL.py
   1 #!/usr/bin/python
   2 # -*- coding: utf-8 -*-
   3 # Soubor:  gamaRCRL.py
   4 # Datum:   on Thu Jun  2 07:41:28 2011
   5 # Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   6 # Licence: GNU/GPL 
   7 # Úloha:   Vykreslení frekvenční charakteristiky dvojbranu
   8 
   9 import pylab as l
  10 import numpy as n
  11 from pylab import pi
  12 
  13 from matplotlib import rcParams #, rc
  14 #rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
  15 ## for Palatino and other serif fonts use:
  16 #rc('font',**{'family':'serif','serif':['Palatino']})
  17 
  18 rcParams['text.usetex']=True
  19 rcParams['text.latex.unicode']=True
  20 
  21 
  22 R=1000
  23 C=33e-9
  24 
  25 fm= 1/(2*pi*R*C)
  26 fmin=fm/100
  27 fmax=fm*100
  28 #f = l.linspace(0,5*fm,1000)
  29 f = l.logspace(int(n.log10(fmin))-1,int(n.log10(fmax))+1,num=100)
  30 w = 2*pi*f
  31 Z1 = R
  32 Z2 = 1/(1j*w*C)
  33 Z =  Z2/( Z1 + Z2 ) 
  34 
  35 l.figure()
  36 ### Amplitudová charakteristika
  37 l.subplot(2,1,1)
  38 l.grid(True)
  39 l.title(u"Frekvenční závislost modulu přenosu")
  40 l.xlabel("$f[Hz]$")
  41 l.ylabel("$a_u[dB]$")
  42 l.semilogx(f, 20*n.log10(abs(Z)) )
  43 
  44 
  45 [xmin, xmax, ymin, ymax] = l.axis()
  46 ymin -= 2
  47 ymax += 2
  48 l.axis([xmin, xmax, ymin, ymax])
  49 
  50 l.axvline(fm, color='r',linestyle='--')
  51 l.axvspan(xmin, fm, color = 'g', alpha=0.05)
  52 l.axhline(-3, color='r',linestyle='--')
  53 
  54 l.text(fm,ymin,'$f_m$',va='top', ha='center')
  55 
  56 #### Fázová charakteristika
  57 l.subplot(2,1,2)
  58 l.grid(True)
  59 l.title(u"Frekvenční závislost fázového přenosu")
  60 l.xlabel("$f[Hz]$")
  61 l.ylabel(r"$\varphi[dB]$")
  62 l.semilogx(f, n.rad2deg(n.angle(Z)) )
  63 
  64 [xmin, xmax, ymin, ymax] = l.axis()
  65 ymin -= 2
  66 ymax += 2
  67 l.axis([xmin, xmax, ymin, ymax])
  68 
  69 l.axvline(fm, color='r',linestyle='--')
  70 l.axvspan(xmin, fm, color = 'g', alpha=0.05)
  71 l.axhline(-45, color='r',linestyle='--')
  72 
  73 l.text(fm,ymin,'$f_m$',va='top', ha='center')
  74 
  75 ###############################################
  76 
  77 l.show()
  78 
  79 print "R = {0} \\Omega;  C = {1}; F  fm = {2} Hz;".format(R,C, fm)
  80 ####################################################################
  81 ### Text v grafu
  82 #l.text(1000, 0, '$u(t)=sin(2\pi ft)$', {'fontsize' : 20})
  83 
  84 
  85 
  86 
`--> stáhnout

Více o tomto skriptu naleznete v sekci Technické výpočty.

Opět existuje i online verze, která má sloužit pro kontrolu vašich domácích výpočtů.

| navigace |

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net