Charakteristiky NPN tranzistora: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 17: Riadok 17:
 
from gsim import *
 
from gsim import *
  
g=gsim('0100_dc_char.sch')
+
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)

Verzia zo dňa a času 15:51, 10. január 2011

Príklad ukazuje výpočet výstupnej charakteristiky NPN tranzistora pomocou simulácia riadenej skriptom. Pri zadanom rozsahu napätí zdroja V1 je parametrom simulácie bázový prúd tranzistora {IB}. Prúd kolektora je snímaný prúdovou sondou X1.

Zapojenie obvodu

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

Výsledok simulácie

Odkazy a literatúra