CHAPTER 17 : REGULATED D.C POWER SUPPLY

Example 17.1 : Page number 444

In [1]:
#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);
The percentage of voltage regulation=33.33%.

Example 17.2 : Page number 444

In [2]:
#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);
The full-load voltage=29.7V.

Example 17.3 : Page number 445

In [3]:
#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.");
Power supply B is better than A.

Example 17.4 : Page number 445

In [4]:
#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);
(i) The voltage regulation=66.7%.
(ii)The minimum load resistance=2.5kΩ.

Example 17.5 : Page number 445

In [5]:
#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);
(i) The output impedance=0.5Ω.
(ii) The output voltage with no-load=11V.

Example 17.6 : Page number 446

In [6]:
#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));
The output voltage will have 5mV peak-to-peak fluctuation at a rate of 10kHz.

Example 17.7 : Page number 446

In [7]:
#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);
The line regulation of the voltage regulator=2μV/V.

Example 17.8 : Page number 449-450

In [8]:
#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));
(i)  The current through the series resistance=75mA
(ii) The minimum and maximum load currents are=0A and 60mA
(iii) The minimum and maximum zener currents are=15mA and 75mA

Example 17.9 : Page number 450

In [9]:
#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);
The maximum load resistance to hold the voltage constant=70Ω.

Example 17.10 : Page number 450-451

In [10]:
#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);
The minimum series resistance required to limit the zener current=167Ω.

Example 17.11 : Page number 451

In [11]:
#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);
The maximum allowable value of series resistance=1739Ω.

Example 17.12 : Page number 452

In [12]:
#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);
The output voltage=9.5V.
The load current=9.5mA

Example 17.3 : Page number 452

In [13]:
#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);
(i) The zener breakdown voltage=6.5V
(ii)The series resistance=117Ω.

Example 17.14: Page number 452-453

In [14]:
#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);
(i) The output voltage=11.3V.
(ii) The zener current=36mA

Example 17.15 : Page number 453-454

In [15]:
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);
(i)  The series resistance=166Ω.
(ii) The maximum power dissipated in series resistance=0.542W.
(iii)The maximum power dissipated in zener diode=0.486W.

Example 17.16 : Page number 456

In [16]:
#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);
The regulated output voltage=20.1V

Example 17.17 : Page number 456

In [17]:
#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);
The closed-loop voltage gain=4.

Example 17.18 : Page number 457

In [18]:
#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));
(i) The regulated output voltage=9V
(ii) Various currents for the shunt regulator are: IL=90mA , IS=100mA and IC=10mA

Example 17.20 : Page number 463

In [19]:
#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);
The regulated output voltage=13.75V.

Example 17.21 : Page number 463

In [20]:
#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);
The maximum allowable input voltage=48V.
In [ ]: