Charakteristiky NPN tranzistora: Rozdiel medzi revíziami
Skočit na navigaci
Skočit na vyhledávání
d |
|||
(8 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
Riadok 1: | Riadok 1: | ||
__NOTOC__ | __NOTOC__ | ||
[[Category:Simulácie a modelovanie]] | [[Category:Simulácie a modelovanie]] | ||
− | Príklad ukazuje | + | {{Simulacia_modelovanie_3|1}} |
− | napätí zdroja V1 je parametrom simulácie bázový prúd tranzistora {IB}. Prúd kolektora je snímaný prúdovou sondou X1. | + | Príklad ukazuje simuláciu výstupnej charakteristiky NPN tranzistora<ref>http://en.wikipedia.org/wiki/NPN_transistor#NPN</ref> pomocou simulátora riadeného skriptom vytvoreným v jazyku Python. Pri zadanom rozsahu napätí zdroja V1 od 0V do 5V SPICE príkazom ''.DC V1 0 5 0.01'' je parametrom simulácie bázový prúd tranzistora. Bázový prúd je zadaný zo skriptu substitúciou hodnotou parametra {IB} prúdového zdroja I1. Prúd kolektora je snímaný [[Model-Prúdová_sonda |prúdovou sondou ]] X1. |
− | + | [[Súbor:0100_dc_npn.png |thumb|center|400px| <div align="center"> Zapojenie obvodu </div> ]] | |
− | |||
− | |||
− | | | ||
− | | align="center" | ||
− | |||
− | </ | ||
Simulačný skript riadi proces simulácie, v cykle mení hodnotu paramera {IB} a pre zmenený parameter vyvoláva simuláciu. | Simulačný skript riadi proces simulácie, v cykle mení hodnotu paramera {IB} a pre zmenený parameter vyvoláva simuláciu. | ||
− | Výstup simulácie je zobrazený pomocou štandardných postupov v matplotlib s využitím | + | Výstup simulácie je zobrazený pomocou štandardných postupov v [http://matplotlib.sourceforge.net matplotlib] s využitím renderovania textov v [http://matplotlib.sourceforge.net/users/usetex.html#usetex-tutorial LaTeX]. |
<source lang="python" line> | <source lang="python" line> | ||
Riadok 23: | Riadok 17: | ||
from gsim import * | from gsim import * | ||
− | g=gsim(' | + | g=gsim('01000_dc_char.sch') # load gschem circuit diagram |
− | g.netlist() | + | g.netlist() # create netlist |
− | for i in arange(1e-5, 10e-5, 1e-5): | + | for i in arange(1e-5, 10e-5, 1e-5): # loop for parameter range |
− | g.setPAR('IB',i) | + | g.setPAR('IB',i) # update parameter |
− | g.sim() | + | g.sim() # run DC SWEEP simulation |
− | ic=g.yData.get('v(ic)') | + | ic=g.yData.get('v(ic)') # extract data and add data to plot |
plt.plot(g.xData,ic,'o-',markevery=40, label=r'$'+str('%3.0f' %(i*1e6) )+'\mu A$') | plt.plot(g.xData,ic,'o-',markevery=40, label=r'$'+str('%3.0f' %(i*1e6) )+'\mu A$') | ||
− | plt.grid(True) | + | plt.grid(True) # create graphics with decorations |
plt.legend(loc='upper right') | plt.legend(loc='upper right') | ||
plt.ylim(ymin=0.0) | plt.ylim(ymin=0.0) | ||
− | plt.xlabel(r'$ | + | plt.xlabel(r'$V_{CE}\,[V]$',fontsize=18) |
− | plt.ylabel(r'$ | + | plt.ylabel(r'$I_B\,[A]$',fontsize=18) |
− | + | plt.title(r'$I_C=f(I_B, V_{CE})$',fontsize=18) | |
− | plt.title(r'$ | ||
show() | show() | ||
</source> | </source> | ||
Riadok 45: | Riadok 38: | ||
Výsledok simulácie je zobrazený na nasledujúcom obrázku | Výsledok simulácie je zobrazený na nasledujúcom obrázku | ||
− | + | [[Súbor:0100_npn_char.png |thumb|center|500px| <div align="center"> Výsledok simulácie </div>]] | |
− | |||
− | |||
− | |||
− | | align="center" | ||
− | |||
− | </ | ||
− | |||
− | |||
− | |||
== Odkazy a literatúra == | == Odkazy a literatúra == | ||
<references/> | <references/> |
Aktuálna revízia z 22:45, 22. marec 2013
Príklad ukazuje simuláciu výstupnej charakteristiky NPN tranzistora[1] pomocou simulátora riadeného skriptom vytvoreným v jazyku Python. Pri zadanom rozsahu napätí zdroja V1 od 0V do 5V SPICE príkazom .DC V1 0 5 0.01 je parametrom simulácie bázový prúd tranzistora. Bázový prúd je zadaný zo skriptu substitúciou hodnotou parametra {IB} prúdového zdroja I1. Prúd kolektora je snímaný prúdovou sondou X1.
Simulačný skript riadi proces simulácie, v cykle mení hodnotu paramera {IB} a pre zmenený parameter vyvoláva simuláciu. Výstup simulácie je zobrazený pomocou štandardných postupov v matplotlib s využitím renderovania textov v LaTeX.
1 from scipy import *
2 import matplotlib as plt
3 import sys
4 sys.path.append('../../py')
5
6 from gsim import *
7
8 g=gsim('01000_dc_char.sch') # load gschem circuit diagram
9 g.netlist() # create netlist
10
11 for i in arange(1e-5, 10e-5, 1e-5): # loop for parameter range
12 g.setPAR('IB',i) # update parameter
13 g.sim() # run DC SWEEP simulation
14 ic=g.yData.get('v(ic)') # extract data and add data to plot
15 plt.plot(g.xData,ic,'o-',markevery=40, label=r'$'+str('%3.0f' %(i*1e6) )+'\mu A$')
16
17 plt.grid(True) # create graphics with decorations
18 plt.legend(loc='upper right')
19 plt.ylim(ymin=0.0)
20 plt.xlabel(r'$V_{CE}\,[V]$',fontsize=18)
21 plt.ylabel(r'$I_B\,[A]$',fontsize=18)
22 plt.title(r'$I_C=f(I_B, V_{CE})$',fontsize=18)
23 show()
Výsledok simulácie je zobrazený na nasledujúcom obrázku