import math
#initialisation of variables
Vcc=22.5 #in V
Rc=5.6 #in K
Re=1.0 #in K
R2=10.0 #in K
R1=90.0 #in K
B=55.0 #beta
#Calculations
V=(R2*Vcc)/(R2+R1) #Thevenin Equivallent Voltage
Rb=(R2*R1)/(R2+R1) #Thevenin Equivallent Resistance
#For base current large compared to reverse saturation current ie Ib>>Ico it follows that Ic=B*Ib
#Applying KVL to the base circuit
#0.65-2.25+Ic+10*Ib=0
#We have -1.60+Ic+(10/55)*Ic=0
Ic=1.60/(65.0/55);
Ib=Ic/55.0
#Applying KVL to the collector circuit yields
#-22.5+6.6*Ic+Ib+Vce
Vce = 22.5-(6.6*1.36)-0.025
#Results
print("The equivallent Vbb = %.2f Volts " %V)
print("The equivallent Rb is = %.2f ohm " %Rb)
print("As B=55 we have Ic=55*Ib ")
print(" Ic= %.2f milli amp " %Ic)
print("Ib= %.2f micro amp " %Ib)
print("Vce= %.2f Volts " %Vce)
import math
#initialisation of variables
Rc=4.0 #in K
Vcc=20.0 #in V
Vce=10.0 #in V
Ic=2.0 #in mA
#Ic varies from 1.75 to 2.25 and B(beta) varies from 36 to 90
Re = (Vcc-Vce)/Ic - Rc
#S=delta Ic/delta B
Ic2=2.25 #in mA
Ic1=1.75 #in mA
B2=90.0
B1=36.0
#Calculations
S=(Ic2-Ic1)/(B2-B1)
S2=(S*36*(1+90))/1.75
#S2=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))
Rb=(S2-1)*(1+B2)*Re/(1+B2-S2);
Vbe=0.65 #in V
V = Vbe + ((Rb+Re*(1+B1))*Ic1/B1);
R1=Rb*Vcc/V
R2=R1*V/(Vcc-V)
#Results
print("S2 = %.2f K " %S2)
print("Re = is %.2f B2=90 " %Re)
print("Rb= %.2f K " %Rb)
print("V = %.2f Volts " %V)
print("R1= %.2f K " %R1)
print("R2= %.2f K " %R2)
import math
#initialisation of variables
Re=4.7 #in K
Rb=7.75 #in K
B1=55.0 #/beta at 25degree C
Ic1=1.5 #in mA
Ico1=1.0
Vbe1=0.6 #in V
#Part a
Ico2=33000.0 #in nA
Vbe2=0.225 #in V
#Calculations
M1=1/(1+(Rb/(Re*B1))) #Stability Factor
B2=100.0 #at 175degree C
M2=1/(1+(Rb/(Re*B2))) #Stability Factor
print("Stabitity Factor at 25deree C= %.2f " %M1)
print("Stabitity Factor at 175deree C= %.2f " %M2)
if M2>M1 :
M1=1.0
M2=1.0
#Let k = (delta Ic)/(Ic1)
k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));
deltaIc=k*Ic1
print("Change in Collector Current at 175degree C is = %.2f mA" %deltaIc)
#Given Data at -65degree C
Ico2=1.95*(10**-3)
B2=25.0
Vbe2=0.78
M2=1/(1+(Rb/(Re*B2))) #Stability Factor
print("Stabitity Factor at -65deree C= %.2f " %M2)
#Let k = (delta Ic)/(Ic1)
k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1))
deltaIc=k*Ic1
#Results
print("Change in Collector Current at -65degree C is = %.2f mA" %deltaIc)
import math
#initialisation of variables
Re=4.7 #in K
Rb=7.75 #in K
B1=55.0 #/beta at 25degree C
Ic1=1.5 #in mA
Ico1=1.0
Vbe1=0.6 #in V
#Part a
Ico2=33000.0 #in nA
Vbe2=0.225 #in V
#Calculations
M1=1/(1+(Rb/(Re*B1))) #Stability Factor
#Given Data at -65degree C
Ico2=1.95*(10**-3)
B2=25.0 #at -65degree C
Vbe2=0.78
M2=1/(1+(Rb/(Re*B2))) #Stability Factor
#Let k = (delta Ic)/(Ic1)
k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));
deltaIc=k*Ic1
#Given Data
Ico2=32.0 #in nA
Vbe2=0.10 #in V
M1=1/(1+(Rb/(Re*B1))) #Stability Factor
print("Stabitity Factor at 25deree C= %.2f " %M1)
B2=90.0 #at 175degree C
M2=1/(1+(Rb/(Re*B2))) #Stability Factor
print("Stabitity Factor at 75deree C= %.2f " %M2)
if M2>M1 :
M1=1.0
M2=1.0
#Let k = (delta Ic)/(Ic1)
k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));
deltaIc=k*Ic1
print("Change in Collector Current at 75degree C is = %.2f mA" %deltaIc)
#Given Data at -65degree C
Ico2=1.95*(10**-3)
B2=20.0
Vbe2=0.38
M2=1/(1+(Rb/(Re*B2))) #Stability Factor
print("Stabitity Factor at -65deree C= %.2f " %M2)
#Let k = (delta Ic)/(Ic1)
k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));
deltaIc=k*Ic1
print("Change in Collector Current at -65degree C is = %.2f mA" %deltaIc)
import math
#initialisation of variables
B1=150.0 #beta
Ico1=50.0 #in nA
#Given Data at 65degree C
B2=1200.0 #beta
Ico2=3.0 #in micro A
Vbe=0.65 #in mV
Vcc=20.0 #in V
M=1.0
#Assumption: Each factor Ico,B, and Vbe cuses the same percentge change(5%)
#Let Rb/Re=k
#(1+k)*((1200-150)/(1200*150))=0.05
#Calculations
k=((0.05)*((1200*150)/(1200-150)))-1
print("Rb/Re = %.2f " %k)
#Let us check our assumption
if M>(1.0/(1+(k/B1))) :
M=1.0
#(1+(Rb/Re))*((Ico2-Ico1)/Ic1)=0.05 Since Ico2>>Ico1, we consider only Ico2
Ic1=((1+k)*Ico2)/(0.05*1000)
print("Ic1= %.2f mA " %Ic1)
#Vbe changes 2.5mV/degree
DVbe=2.5*40
#Total increment
dVbe=2*DVbe*(10**-3)
#Let l=(Ic1*Re)
l=dVbe/0.05
Re=l/Ic1
print("Re= %.2f " %Re)
Rb=k*Re
print("Rb= %.2f " %Rb)
B=(B1+B2)/2 #beta
V=((Ic1/B)*Rb)+(Vbe)+(((Ic1/B)+Ic1)*Re)
print("V= %.2f Volts" %V)
R1=(Rb*Vcc)/V
R2=(R1*V)/(Vcc-V)
#Results
print("R1= %.2f ohm" %R1)
print("R2= %.2f ohm" %R2)
import math
#initialisation of variables
Vcc=30.0 #in V
Rc=2.0 #in K
Re=4.7 #in K
Ic=1.5 #in mA
#We know that dPc/dIc = Vcc - (2*Ic*(Rc+Re))
#Let D=dPc/dIc
D = Vcc - (2*Ic*(Re+Rc))
print('Ic increases by 0.131mA over a temprature range of 35 to 75 degree C')
print('theta<(A=(dPc/dIc)*(dIc/dTc))')
A=D*((0.131*(10^-3))/(75-25))
#Results
print("theta< %.2f degreeC/W " %(1.0/A))
print('The upper bound on theta is so high that transistor would not violate it and therefore circuit will be safe from thermal runaway')
import math
#initialisation of variables
B=100.0 #beta
Ico=-5.0 #in mA
Ic=-1.0 #in mA
Vcc=40.0
Re=5.0 #in ohm
Rc=10.0 #in ohm
#Calculations
#Ic= BIb + (1+B)*Ico
#Ic=B(Ib+Ico)
Ib=-(Ic/B)+Ico
print("Ib= %.2f mA " %Ib)
#Neglecting Vbe
Rb=(5-Vcc)/(Ib*0.001)
print("Rb= %.2f ohm " %Rb)
Vce=Vcc-15
if Vce>(Vcc/2) :
S=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))
print("Stability Factor is= %.2f " %S)
A=-(Vcc+(2*Ic*(Re+Rc)))*(S)*(0.007*Ico*0.01)
#Results
print("theta< %.2f degreeC/W " %(1.0/A))
import math
#initialisation of variables
B=100.0 #beta
Ico=-5.0 #in mA
Ic=-1.0 #in mA
Vcc=40.0
Re=5.0 #in ohm
Rc=10.0 #in ohm
#Calculations
#Ic= BIb + (1+B)*Ico
#Ic=B(Ib+Ico)
Ib=-(Ic/B)+Ico
#Neglecting Vbe
Rb=(5-Vcc)/(Ib*0.001)
Vce=Vcc-15
if Vce>(Vcc/2) :
S=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))
print("Stability Factor is= %.2f " %S)
A=-(Vcc+(2*Ic*(Re+Rc)))*(S)*(0.007*Ico*0.01)
#Results
print("theta< %.2f degreeC/W " %(1.0/A))