BJT as an amplifier

Learn to use a BJT as an amplifier in the common emitter configuration. The GUI for this is located at Electronics -> Transistor -> Transistor amplifier

The input and output waveforms are traced on the oscilloscope using two channels. The gain can be calculated directly using the measure gain button. This experiment can be modified to calculate the bandwidth of the amplifier by varying the frequency of the input waveform and noting the corresponding gains as a function of the frequency.

Resultant Data:

from SEEL import interface
I=interface.connect()

#fetch 5000 points each from CH1, CH2 with 2uS between each
x,y1,y2 = I.capture2(5000,2)

from SEEL.analyticsClass import analytics
math = analytics()
amp1,freq,phase,offset = math.sineFit(x,y1) #Calculate parameters of input waveform
amp2,freq2,phase2,offset2 = math.sineFit(x,y2) #calculate parameters of output
print (amp1,amp2,'gain = %.3e'%(amp2/amp1)) #calculate and print gain

from pylab import *
plot(x,y1)
plot(x,y2)
show()

 

Output characteristics of a Bipolar Junction Transistor (BJT)

Launch BJT Output Characteristics GUI from SEELablet – > Electronics -> Transistors -> Transistor CE

Prepare the experiment based on the schematic and instructions available in the help section.

Resultant Data:  The base voltage (thereby base current) is varied and the corresponding I-V curves are plotted.

from SEEL import interface
I=interface.connect()

pv2 = I.set_pv2( 1.0)   #  Bias the base via a 200K resistor.
base_voltage = I.get_voltage('CH3')
base_current = (pv2-base_voltage)/200e3 # Use Ohm's law to determine current
CollectorCurrent = []
CollectorVoltage = []
for a in np.linspace(0,5,100):
  pv1 = I.set_pv1(a)
  CollectorCurrent .append( (pv1 - I.get_voltage('CH1') )/1e3 )
  CollectorVoltage.append(pv1)

from pylab import *
plot(CollectorVoltage,CollectorCurrent ) #Plot and try a different base current
show()