#Variable declaration
V_NL=400.0; #Output voltage with no-load, V
V_FL=300.0; #Output voltage with full-load, V
#Calculation
percentage_voltage_regulation=((V_NL-V_FL)/V_FL)*100; #Percentage of voltage regulation
#Result
print("The percentage of voltage regulation=%.2f%%."%percentage_voltage_regulation);
#Variable declaration
V_regulation=1.0; #%age voltage regulation
V_NL=30.0; #Output voltage with no-load,V
#Calculation
#Since, %age_of_voltage_regulation=((V_NL-V_FL)/V_FL)*100
V_FL=V_NL/(1+(V_regulation/100)); #Output voltage with full-load, V
#Result
print("The full-load voltage=%.1fV."%V_FL);
#Variable declaration
V_NL_A=30.0; #Output voltage of supply A with no-load, V
V_FL_A=25.0; #Output voltage of supply A with full-load, V
V_NL_B=30.0; #Output voltage of supply B with no-load, V
V_FL_B=29.0; #Output voltage of supply B with full-load, V
#Calculation
V_regulation_A=((V_NL_A-V_FL_A)/V_FL_A)*100; #%age of voltage regulation in power supply A
V_regulation_B=((V_NL_B-V_FL_B)/V_FL_B)*100; #%age of voltage regulation in power supply B
#Result
if(V_regulation_A<V_regulation_B):
print("Power supply A is better than B.");
else :
print("Power supply B is better than A.");
#Variable declaration
V_NL=500.0; #Output voltage with no-load, V
V_FL=300.0; #Output voltage with full-load, V
I_FL=120.0; #Output current with full-load, mA
#Calculation
#(i)
Regulation=((V_NL-V_FL)/V_FL)*100; #Voltage regulation percentage
#(ii)
RL_min=V_FL/I_FL; #Minimum load resistance, kΩ
#Result
print("(i) The voltage regulation=%.1f%%."%Regulation);
print("(ii)The minimum load resistance=%.1fkΩ."%RL_min);
#Variable declaration
VL_1=10.5; #Initial output voltage with load, V
VL_2=10.0; #Decreased output voltage with additional load, V
IL_1=1.0; #Initial load current, A
IL_added=1.0; #Added load current, A
#Calculation
delta_VL=VL_1-VL_2; #Change in output voltage, V
delta_IL=IL_added; #Change in load current, A
#(i)
Zo=delta_VL/delta_IL; #Output impedance of power supply, Ω (OHM's LAW)
#(ii)
#Since, Output_impedance=change_in_output_voltage/change_in_output_current
#Zo=(V_NL-VL_1)/delta_IL,
delta_IL=IL_1; #Change in load current, A
V_NL=VL_1+(delta_IL*Zo); #Output voltage with no load, V
#Result
print("(i) The output impedance=%.1fΩ."%Zo);
print("(ii) The output voltage with no-load=%dV."%V_NL);
#Variable declaration
Zo=0.01; #Output impedance, Ω
IL_max=1.0; #Maximum output current, A
IL_min=0.5 #Minimum output current, A
f=10.0; #Frequency, kHz
#Calculation
#Since, Zo=delta_VL/delta_IL
delta_IL=IL_max-IL_min; #Maximum change in output current, A
delta_VL=(Zo*delta_IL)*1000; #Fluctuations in output voltage, mV
#Result
print("The output voltage will have %dmV peak-to-peak fluctuation at a rate of %dkHz."%(delta_VL,f));
#Variable declaration
delta_Vout=10.0; #Change in output voltage, μV
delta_Vin=5.0; #Change in input voltage, V
#Calculation
Line_regulation=delta_Vout/delta_Vin; #Line regulation, μV/V
#Result
print("The line regulation of the voltage regulator=%dμV/V."%Line_regulation);
#Variable declaration
Vin=24.0; #Input voltage, V
Vz=12.0; #Zener voltage, V
Rs=160.0; #Series resistance, Ω
RL_max=float('inf'); #Maximum load resistance, Ω
RL_min=200.0; #Minimum load resistance, Ω
#Calculation
#(i)
Vout=Vz; #Output voltage,(equal to zener regulated voltage), V
Is=((Vin-Vout)/Rs)*1000; #Current through series resistance, mA
#(ii)
IL_min=Vout/RL_max; #Minimum load current, A
IL_max=(Vout/RL_min)*1000; #Maximum load current, mA
#(iii)
IZ_min=Is-IL_max; #Minimum zener current, mA
IZ_max=Is-IL_min; #Maximum zener current, mA
#Result
print("(i) The current through the series resistance=%dmA"%Is);
print("(ii) The minimum and maximum load currents are=%dA and %dmA"%(IL_min,IL_max));
print("(iii) The minimum and maximum zener currents are=%dmA and %dmA"%(IZ_min,IZ_max));
#Variable declaration
VZ=15.0; #Zener voltage, V
Vin_min=22.0 #Minimum input voltage, V
Vin_max=40.0 #Maximum input voltage, V
Vout=VZ; #Regulated output voltage, V
IL_max=100.0; #Maximum load current, mA
IL_min=20.0; #Minimum load current, mA
#Calculation
RS_max=(Vin_min-Vout)/(IL_max/1000); #Maximum value of series resistance, Ω (OHM'S lAW)
#Result
print("The maximum load resistance to hold the voltage constant=%dΩ."%RS_max);
#Variable declaration
Vz=3.3; #Zener voltage, V
Iz_min=3.0; #Minimum zener current, mA
Iz_max=100.0; #Maximum zener current, mA
RL_max=2.0; #Maximum load resistance, kΩ
RL_min=500.0; #Minimum load resistance, Ω
Vin=20.0; #Input voltage, V
#Calculation
Rs_min=(Vin-Vz)/(Iz_max/1000); #Minimum series resistance required, Ω
#Result
print("The minimum series resistance required to limit the zener current=%.0fΩ."%Rs_min);
#Variable declaration
Vz=3.3; #Zener voltage, V
Iz_min=3.0; #Minimum zener current, mA
Iz_max=100.0; #Maximum zener current, mA
RL_max=2.0; #Maximum load resistance, kΩ
RL_min=500.0; #Minimum load resistance, Ω
Vin=20.0; #Input voltage, V
#Calculation
IL_max=(Vz/RL_min)*1000; #Maximum load current, mA
Rs_max=((Vin-Vz)/(IL_max+Iz_min))*1000; #Maximum series resistance, Ω
#Result
print("The maximum allowable value of series resistance=%dΩ."%Rs_max);
#Variable declaration
Vz=10.0; #Zener voltage, V
beta=100.0; #Base current amplification factor
RL=1000.0; #Load resistance, Ω
VBE=0.5; #Base-emitter voltage, V
#Calculation
Vout=Vz-VBE; #Output voltage, V
IL=(Vout/RL)*1000; #Load current, mA
#Result
print("The output voltage=%.1fV."%Vout);
print("The load current=%.1fmA"%IL);
#Variable declaration
IC=1.0; #Required current(collector current), A
Vout=6.0; #Constant output voltage, V
Vin=10.0; #Supply voltage, V
beta=50.0; #Base current amplification factor
VBE=0.5; #Base-emitter voltage, V
Iz=10.0; #Minimum zener current, mA
#Calculation
#(i)
IB=(IC/beta)*1000; #Base current, mA
#Since, Vout=Vz-VBE;
Vz=Vout+VBE; #Zener breakdown voltage, V
#(ii)
V_Rs=Vin-Vz; #Voltage across series resistance Rs, V
Rs=(V_Rs/(IB+Iz))*1000; #Series resistance, Ω
#Result
print("(i) The zener breakdown voltage=%.1fV"%Vz);
print("(ii)The series resistance=%.0fΩ."%Rs);
#Variable declaration
Vz=12.0; #Zener voltage, V
VBE=0.7; #Base-emitter voltage, V
Vin=20.0; #Input voltage, V
RS=220.0; #Series resistance, Ω
RL=1.0; #Load resistance, kΩ
beta=50.0; #Base current amplification factor
#Calculation
#(i)
Vout=Vz-VBE; #Output voltage, V
#(ii)
V_RS=Vin-Vz; #Voltage across series resistance, RS, V
IR=(V_RS/RS)*1000; #Current through series resistance, mA
IL=Vout/RL; #Load current, mA
#Since, IL is emitter current and emitter current is approx. equal to collector current,
IC=IL; #Collector current, mA
IB=IC/beta; #Base current, mA
Iz=IR-IB; #Zener current, mA
#Result
print("(i) The output voltage=%.1fV."%Vout);
print("(ii) The zener current=%dmA"%Iz);
from math import ceil
from math import floor
#Variable declaration
IL_min=0; #Minimum load current, A
IL_max=1.0; #Maximum load current, A
Vin_min=12.0; #Minimum input voltage, V
Vin_max=18.0; #Maximum input voltage, V
Iz_min=1.0; #Minimum zener current, mA
Vz=8.5; #Zener voltage, V
beta=50.0; #Base current amplification factor
#Calculation
IB_max=(IL_max/beta)*1000; #Maximum base current, mA
I_RS=Iz_min+IB_max; #Current through the series resistance, mA
RS=((Vin_min-Vz)/I_RS)*1000; #Series resistance, Ω
#(ii)
V_RS_max=Vin_max-Vz; #Maximum voltage across series resistance, V
P_max_RS=ceil((V_RS_max**2/RS)*1000)/1000; #Maximum power dissipation in series resistance RS, W
#(iii)
I_RS_max=V_RS_max/floor(RS); #Maximum current through series resistance,mA
Iz_max=I_RS_max; #Maximum zener current, mA
P_z_max=Vz*Iz_max; #Maximum power dissipated in zener diode, W
#Result
print("(i) The series resistance=%dΩ."%RS);
print("(ii) The maximum power dissipated in series resistance=%.3fW."%P_max_RS);
print("(iii)The maximum power dissipated in zener diode=%.3fW."%P_z_max);
#Variable declaration
R1=2.0; #Resistor R1, kΩ
R2=1.0; #Resistor R2, kΩ
Vz=6.0; #Zener voltage, V
VBE=0.7; #Base-emitter voltage, V
#Calculation
m=R2/(R1+R2); #Feedback fraction
A_CL=1/m; #Closed-loop voltage gain
Vout=A_CL*(Vz+VBE); #Regulated output voltage, V
#Result
print("The regulated output voltage=%.1fV"%Vout);
#Variable declaration
R1=30.0; #Resistor R1, kΩ
R2=10.0; #Resistor R2, kΩ
#Calculation
m=R2/(R1+R2); #Feedback fraction
A_CL=1/m; #Closed-loop voltage gain
#Result
print("The closed-loop voltage gain=%d."%A_CL);
#Variable declaration
Vin=22.0; #Input voltage, V
Rs=130.0; #Series resistance, Ω
Vz=8.3; #Zener voltage, V
VBE=0.7; #Base-emitter voltage, V
RL=100.0; #Load resistance, Ω
#Calculation
#(i)
Vout=Vz+VBE; #Output voltage, V
#(ii)
IL=(Vout/RL)*1000; #Load current, mA (OHM's LAW)
IS=((Vin-Vout)/Rs)*1000; #Current through series resistance, mA (OHM's LAW)
IC=IS-IL; #Collector current, mA
#Result
print("(i) The regulated output voltage=%dV"%Vout);
print("(ii) Various currents for the shunt regulator are: IL=%dmA , IS=%dmA and IC=%dmA"%(IL,IS,IC));
#Variable declaration
R1=240.0; #Resistor R1 of the regulator, Ω
R2=2.4; #Variable resistance R2 of the regulator, kΩ
#Calculation
Vout=1.25*(R2*1000/R1 + 1); #Regulated output voltage, V
#Result
print("The regulated output voltage=%.2fV."%Vout);
#Variable declaration
Vout_adj=8.0; #Output voltage (adjusted), V
Vd=40.0; #Input/output differential rating, V
#Calculation
Vin_max=Vout_adj+Vd; #Maximum allowable input voltage, V
#Result
print("The maximum allowable input voltage=%dV."%Vin_max);