#Variable declaration
C=0.1 #capacitance(uF)
R1=10 #resistance(k ohms)
R2=2.3 #resistance(k ohms)
Vcc=12. #supply voltage(V)
Rl=10**3. #resistance(k ohms)
#Calculations
#Part a
f=1/(0.693*C*(R2+R1/2)) #frequency(Hz)
#Part b
D=(1+(R2/R1))/(1+2*(R2/R1))*100 #duty cycle
#Part c
#(i)
T1=0.693*C*(R1+R2) #time period through R1(ms)
T2=0.693*R2*C #time period through R2(ms)
Pavg=(Vcc/Rl)**2*(T1/(T1+T2)) #average power dissipated during current sourcing(mW)
#Part d
Pavg1=(T2/(T1+T2))*(Vcc/Rl)**2 #average power dissipated during current sinking(mW)
#Results
print"print",round(f,2),"kHz"
print"duty cycle is",round(D,2),"%"
print"average power dissipated in current sourcing is",round((Pavg/1E-3),3),"mW"
print"average power dissipated in current sinking is",round(Pavg1/1e-3,3),"mW"
import math
#Variable declaration
t=1 #time constant
e=1.8 #e=R1/R2 min=1.8
e1=9. #e1=R1/R2 max=9
#Calculations
Betamin=1/(1+e) #current gain minimum
Betamax=1/(1+e1) #current gain maximum
Tmax=2*t*math.log((1+Betamin)/(1-Betamin))
Tmin=2*t*math.log((1+Betamax)/(1-Betamax))
fmin=1/Tmax #minimum freq(Hz)
fmax=1/Tmin #maximum freq(k Hz)
#Results
print"fmin is",round(fmin/1E-3),"Hz and fmax is",round(fmax,1),"KHz"
import math
#Variable declaration
C=0.01 #capacitance(uF)
R2=15 #resistance(k ohms)
Va2=4 #voltage(V)
Vcc=15. #supply voltage(V)
R1=33 #resistance(k ohms)
#Calculations
Va1=0.67*Vcc #voltage(V)
Vamax=Va1+Va2 #Va maximum(V)
Vamin=Va1-Va2 #Va minimum(V)
T1max=C*(R1+R2)*(math.log((1-(Vamax/(2*Vcc)))/(1-(Vamax/Vcc)))) #time period(ms)
T1min=C*(R1+R2)*(math.log((1-(Vamin/(2*Vcc)))/(1-(Vamin/Vcc)))) #time period(ms)
T2=0.693*R2*C
fmax=1/(T1min+T2) #maximum frequency(K Hz)
fmin=1/(T1max+T2) #miniimum frequency(K Hz)
#Results
print"minimum freq is",round(fmin,2),"(solution given in the textbook is incorrect)"
print"maximum freq is",round(fmax,2),"(solution given in the textbook is incorrect)"
#Variable declaration
Vi=25 #input voltage(V)
Vsmax=30 #supply voltage max(V)
Vomin=Vl=12 #output minimum voltage or load voltage(V)
R1=20 #load voltage(V)
Io=15. #output current(mA)
Iq=3. #quinscent current of regulator(mA)
Vo=20. #output voltage(V)
#Calculations
#Part a
#(i)
Vimax=Vsmax #maximum permissible voltage(V)
Ro=0 #for Vomin=beta=0
#(ii)
Vomax=Vi-2
betaVomax=Vomax-Vomin #output voltage(V)
R2max=(R1*betaVomax)/(Vomax-betaVomax) #R2max(k ohms)
#(iii)
R3=betaVomax/Io #R3(k ohms)
#Part b
Vt=(Iq*betaVomax)/Io #common terminal fall(V)
Vomin1=Vl+Vt #voltage output minimum(V)
#Part c
betaVo=Vo-Vl #output voltage(V)
beta=betaVo/Vo #current gain
R2=(R1*betaVo)/(Vo-betaVo) #R2(ohms)
#Results
print"a)i)max permissible supply voltage is",Vimax,"V"
print"ii)output voltage range for Vi=25V is",Vomin,"V to",Vomax,"V and R2max is",R2max,"k ohms"
print"iii)R3 is",round(R3,2),"kohms"
print"b)Vomin is",Vomin1,"V"
print"c)R2 is",round(R2,2),"ohms and R3 is",round(R3,3),"ohms"
#Variable declaration
A=.0025 #voltage gain
Vi=8 #input voltage(V)
R2=1.5 #resistance 2(k ohms)
R1=1 #resistance 1(k ohms)
Vl=5 #load voltage(V)
#Calculations
beta=R2/(R1+R2) #current gain
Vo=Vl/(1-beta) #output voltage(V)
Vo1=(A*Vi)/(1+(A*beta)-beta) #output voltage ripple if Vi=8Vp-p
#Results
print"Vo is",Vo,"V"
print"expression of output voltage ripple",round(Vo1,2),"Vp-p"
#Variable declaration
Ro=7.5 #output resistance(ohms)
hfe=50
Ve=20 #voltage given to emitter(V)
Vbe=0.8 #base to emitter voltage(V)
Vc=15 #collector voltage(V)
P=12 #maximum power dissipation(W)
Ib1=5 #for minimum load current Il=0,Ib=5
#Calculations
Io=(Vc/Ro)*10**3 #output current(A)
Il=76 #load current(mA)
Is=Il+5 #supply current(mA)
Ic=Io-Is #collector current(A)
Ib=Ic/hfe #base current(mA)
Ie=Ic-Ib #emitter current(mA)
Pt=(Ve*Ie)-(Vc*Ic) #power dissipated in transistor(W)
Pl=(Ve-Vbe)*Is-Vc*Il #power dissipated in LR
Vimax=(P+Vc*(Ic*10**-3))/(Ie*10**-3) #input voltage maximum
Iomin=hfe*Ib1 #output current minimum(mA)
#Results
print"power dissipated in the transistor is",round((Pt/1E+3),2),"W and in LR is",round((Pl/1E+3),3),"W"
print"maximum permissible input voltage is",round(Vimax,2),"V"
print"minimum load current for load voltage to remain stabalized is",Iomin,"mA"
#Variable declaration
VL=12 #load voltage(V)
I=2. #current at 12 V
V=240 #dc source(V)
d=17/50. #duty cycle
d1=0.6 #duty cycle
eta1=0.8 #efficiency
#Calculations
P=VL*I #average load power(W)
Isav=(1*d)/2 #average supply current(A)
Pav=V*Isav #average supply power(W)
eta=(P/Pav)*100 #regulator efficiency
Isav1=(1*d1)/2 #average supply current(A)
Il=(eta1*V*Isav1)/Vdc #load current(A)
Po=Il*Vdc #power output(W)
#Results
print"regulator efficiency is",round(eta,1),"%"
print"average supply current is",Il,"A"
print"power output is",Po,"W"
#Variable declaration
Vs=200 #dc source voltage(V)
Il=5 #current to load voltage(A)
Vl=15 #load voltage(V)
eta=.85 #efficiency
f=20 #oscillator frequency(Hz)
iSmax=2.6 #peak value of supply current(A)
P=100 #full load power supply(W)
pdf=0.4 #pulse duty factor
#Calculations
Isav=(Vl*Il)/(Vs*eta) #average peak supply current(A)
iS=(2*Isav)/pdf #supply current(A)
T=1000/f #oscillation time period(uS)
tp=pdf*T #transistor time(us)
d=iS/tp #change in iS with respect to time(A/us)
tp1=iSmax/d #transistor time(us)
pdf1=tp1/T #pulse duty factor
Isav1=(iSmax*pdf1)/2 #average peak supply current(A)
eta1=(P*100)/(Vs*Isav1) #efficiency
#Results
print"peak value of supply current is",round(Isav,3),"A"
print"pdf is",round(pdf,3)
print"overall efficienc is",round(eta1,1),"%"