Charakteristiky NPN tranzistora: Rozdiel medzi revíziami
		
		
		
		
		
		
		Skočit na navigaci
		Skočit na vyhledávání
		
				
		
		
		
		
		
		
		
	
d  | 
				|||
| (6 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ý [[Model-Prúdová_sonda |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.  | ||
| 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 21: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