In [1]:

```
import math
#Variables
dVL = 100.0 * 10**-6 #Change in output voltage (in volts)
dVin = 5.0 #Change in input voltage (in volts)
#Calculation
LR = dVL / dVin #Line regulation (in volt per volt)
#Result
print "The value of line regulation is ",LR * 10**6," micro-volt/volt."
```

In [2]:

```
import math
#Variables
LR = 1.4 #Line regulation (in micro-volt per volt)
dVS = 10 #Change in source voltage (in volts)
#Calculation
dVL = LR * dVS #Change in output voltage (in micro-volts)
#Result
print "The change in output voltage is ",dVL," micro-volt."
```

In [3]:

```
import math
#Variables
dIL = 40.0 #Change in current (in milli-Ampere)
VNL = 8.0 #Voltage under no load (in volts)
VFL = 7.995 #Voltage under full load (in volts)
#Calculation
LR = (VNL - VFL)/ dIL #Line regulation (in milli-volt per milli-Ampere)
#Result
print "Line regulation is ",LR * 10**3,"mV/mA."
```

In [4]:

```
import math
#Variables
LR = 10.0 #Load regulation (in micro-volt per milli-Ampere)
VNL = 5.0 #No load Voltage (in volts)
dIL = 20.0 #Change in current (in milli-Ampere)
#Calculation
VFL = VNL - LR * dIL * 10**-6 #Full load Voltage (in volts)
#Result
print "Full load Voltage is ",VFL," V."
```

In [5]:

```
import math
#Variables
V0 = 10 #Regulated dc supply (in volts)
LR = 0.00002 #Line regulation
#Calculation
dV = LR * V0 #Change in output voltage (in volts)
#Result
print "Change in output voltage is ",dV * 10**3," mV."
```

In [6]:

```
import math
#Variables
VS = 30.0 #Source voltage (in volts)
RS = 240.0 #Series resistance (in ohm)
Vz = 12.0 #Zener voltage (in volts)
RL = 500.0 #Load resistance (in ohm)
#Calculation
VL = Vz #Voltage drop across load (in volts)
IS = (VS - Vz) / RS #Current through RS (in Ampere)
VRS = IS * RS #Voltage drop across series resistance (in volts)
IL = VL / RL #Load current (in Ampere)
IZ = IS - IL #Zener current (in Ampere)
#Result
print "Load voltage is ",VL," V.\nVoltage drop across series resistance is ",VRS," V.\nCurrent through Zener diode is ",IZ," A."
```

In [7]:

```
import math
#Variables
VZ = 5.1 #Voltage across zener diode (in volts)
rZ = 10 #Zener diode resistance (in ohm)
IZmin = 1 * 10**-3 #Minimum zener diode current (in Ampere)
IZmax = 15 * 10**-3 #Maximum zener diode current (in Ampere)
RS = 600 #Serier resistance (in ohm)
#Calculation
VOmin = VZ + IZmin * rZ #Minimum value of output voltage (in volts)
VSmin = IZmin * RS + VOmin #Minimum value of input voltage (in volts)
VOmax = VZ + IZmax * rZ #Maximum value of output voltage (in volts)
VSmax = IZmax * RS + VOmax #Maximum value of input voltage (in volts)
#Result
print "Minimum value of input voltage is ",VSmin," V.\nMaximum value of input voltage is ",VSmax," V."
```

In [8]:

```
import math
#Variables
VS = 24.0 #Source voltage (in volts)
RS = 500.0 #Series resistance (in ohm)
VZ = 12.0 #Zener Voltage (in volts)
IZmin = 3.0 #Minimum Zener current (in milli-Ampere)
IZmax = 90.0 #Maximum Zener current (in milli-Ampere)
rZ = 0.0 #Zener resistance (in ohm)
#Calculation
IS = (VS - VZ) / RS #Current through RS (in Ampere)
ILmax = IS - IZmin * 10**-3 #Maximum value of load Current (in Ampere)
RLmin = VZ / ILmax #Minimum value of Load resistance (in ohm)
#Result
print "Minimum value of load resistance is ",round(RLmin)," ohm."
```

In [9]:

```
import math
#Variables
VZ = 10.0 #Zener voltage (in volts)
RS = 1.0 #Series Resistance (in kilo-ohm)
RL = 2.0 #Load Resistance (in kilo-ohm)
VSmin = 22.0 #Minimum source voltage (in volts)
VSmax = 40 #Maximum source voltage (in volts)
#Calculation
IL = VZ / RL #Load current (in milli-Ampere)
IZmax = (VSmax - VZ) / RS - IL #Maximum value of zener current (in milli-Ampere)
IZmin = (VSmin - VZ) / RS - IL #Minimum value of zener current (in milli-Ampere)
#Result
print "Maximum value of zener current is ",IZmax," mA.\nMinimum value of zener current is ",IZmin," mA."
```

In [10]:

```
import math
#Variables
VZ = 10.0 #Zener voltage (in volts)
VSmin = 13.0 #Minimum source voltage (in volts)
VSmax = 16.0 #Maximum source voltage (in volts)
ILmin = 10.0 #Minimum load current (in milli-Ampere)
ILmax = 85.0 #Maximum load current (in milli-Ampere)
IZmin = 15.0 #Minimum zener current (in milli-Ampere)
#Calculation
RSmax = (VSmin - VZ)/ (IZmin + ILmax) #Maximum value of RS (in kilo-ohm)
IZmax = (VSmax - VZ)/ RSmax - ILmin #Maximum zener current (in milli-Ampere)
PZmax = IZmax * 10**-3 * VZ #Maximum power dissipation in zener (in watt)
#Result
print "Maximum value of RS is ",RSmax * 10**3," ohm.\nMaximum power dissipation be the zener diode is ",PZmax," W."
```

In [11]:

```
import math
#Variables
VSmin = 19.5 #Minimum source voltage (in volts)
VSmax = 22.5 #Maximum source voltage (in volts)
RL = 6.0 * 10**3 #Load resistance (in ohm)
VZ = 18.0 #Zener voltage (in volts)
IZmin = 2.0 * 10**-6 #Minimum zener current (in Ampere)
PZmax = 60.0 * 10**-3 #Maximum power dissipation (in watt)
rZ = 20.0 #Zener resistance (in ohm)
VL = VZ #Voltage across load resistance (in volt)
#Calculation
IZmax = (PZmax / rZ)**0.5 #Maximum value of zener current (in milli-Ampere)
IL = VL / RL #Load current (in milli-Ampere)
RSmax = (VSmin - VZ) / (IZmin + IL) #Maximum value of regulating resistance (in kilo-ohm)
RSmin = (VSmax - VZ) / (IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm)
#Result
print "Magnitude of regulating resistance should be between ",round(RSmin,1)," ohm and ",round(RSmax)," ohm."
```

In [12]:

```
import math
#Variables
VSmin = 8.0 #Minimum source voltage (in volts)
VSmax = 12 #Maximum source voltage (in volts)
RS = 2.2 #Resistance (in kilo-ohm)
VZ = 5.0 #Zener voltage (in volts)
RL = 10.0 #Load resistance (in kilo-ohm)
VL = VZ #Voltage across load (in volts)
#Calculation
ISmin = (VSmin - VZ)/ RS #Minimum value of input current (in milli-Ampere)
ISmax = (VSmax - VZ)/RS #Maximum value of input current (in milli-Ampere)
IL = VL / RL #Load current (in milli-Ampere)
IZmin = ISmin - IL #Minimum Zener current (in milli-Ampere)
IZmax = ISmax - IL #Maximum Zener current (in milli-Ampere)
#Result
print "Minimum value of Zener current is ",round(IZmin,3)," mA.\nMaximum value of Zener current is ",round(IZmax,3)," mA."
```

In [13]:

```
import math
#Variables
VO = VL = 5.0 #Output voltage (in volts)
IL = 20.0 #Load current (in milli-Ampere)
PZmax = 500.0 #Maximum power dissipation in zener (in milli-watt)
VSmin = 9.0 #Minimum source voltage (in volts)
VSmax = 15.0 #Maximum source voltage (in volts)
#Calculation
IZmax = PZmax / VZ #Maximum zener current (in milli-Ampere)
ISmax = IL + IZ #Maximum input current (in milli-Ampere)
RSmin = (VSmax - VZ)/(IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm)
IZ = (VSmin - VZ)/ RSmin - IL #Minimum value of zener current
#Result
print "Input varies from the normal 12 v within the range of +- 3 V."
print "Zener current vary from ",IZ," mA to ",IZmax," mA."
print "For safety purpose RS should be 220 ohm."
```

In [14]:

```
import math
#Variables
RS = 500.0 #Series resistance (in ohm)
RL = 1.0 #Load resistance (in kilo-ohm)
VZ = 10.0 #Zener voltage (in volts)
IZmin = 5.0 #Minimum Zener current (in milli-Ampere)
IZmax = 55.0 #Maximum Zener current (in milli-Ampere)
#Calculation
IL = VZ / RL #Load current (in milli-Ampere)
VSmin = (IL + IZmin) * RS * 10**-3 + VZ #Minimum value of input voltage (in volts)
VSmax = (IL + IZmax) * RS * 10**-3 + VZ #Maximum value of input voltage (in volts)
#Result
print "The minimum value of voltage level at input is ",VSmin," V and the maximum is ",VSmax," V."
```

In [15]:

```
import math
#Variables
VS = 15.0 #Input voltage (in volts)
RS = 33.0 #Series resistance (in ohm)
beta = 100.0 #common-emitter current gain
RL = 100.0 #Load resistance (in ohm)
VZ = 10.0 #Voltage across zener diode (in volts)
VBE = 0.7 #Voltage across base and emitter
#Calculation
VL = VZ + VBE #Load voltage (in volts)
IL = VL / RL #Load current (in Ampere)
IS = (VS - VL) / RS #Current through RS (in Ampere)
IC = IS - IL #Collector current (in Ampere)
IB = IZ = IC/beta #Base current (in Ampere)
#Result
print "Load voltage is ",VL," V."
print "Load current is ",IL * 10**3," mA."
print "Current through Rs is ",round(IS * 10**3,1)," mA."
print "Collector current is ",round(IC* 10**3,1)," mA."
print "Base current is ",round(IB * 10**6)," micro-A."
```

In [16]:

```
import math
#Variables
VS = 15.0 #Input voltage (in volts)
VZ = 8.3 #Zener voltage (in volts)
beta = 100.0 #Common-emitter current gain
R = 1.8 #Resistance (in kilo-ohm)
RL = 2.0 #Resistance (in kilo-ohm)
VBE = 0.7 #Voltage across base-emitter junction (in volts)
#Calculation
VL = VZ - VBE #Voltage across load (in volts)
VCE = VS - VL #Collector to emitter voltage (in volts)
IR = (VS - VZ)/ R #Current through R (in milli-Ampere)
IL = VL / RL #Load current (in milli-Ampere)
IB = IL / beta #Base current (in milli-Ampere)
IZ = IR - IB #Current through Zener (in milli-Ampere)
#Result
print "Load voltage is ",VL," V."
print "Collector to Emitter voltage is ",VCE," V."
print "Current through R is ",round(IR,2)," mA."
print "Load current is ",IL," mA."
print "Base current is ",IB * 10**3," micro-A."
print "Current through Zener is ",round(IZ,2)," mA."
#Calculation error in book in the value of beta and in IB and IZ.
```

In [17]:

```
import math
#Variables
IZmin = 0 #Minimun Zener current (in Ampere)
ILmax = 2.0 #Maximum load current (in Ampere)
VL = 12.0 #Voltage across load (in volts)
VSmin = 15.0 #Minimum Input voltage (in volts)
VSmax = 20.0 #Maximum Input Voltage (in volts)
beta = 100 #common emitter current gain
VBE = 0.5 #Voltage between base-emitter junction (in volts)
VZ = 12.5 #Voltage across zener diode (in volts)
IZmin = 1.0 * 10**-3 #Current through Zener diode
ICmax = ILmax #Maximum Collector current (in Ampere)
#Calculation
IBmax = ICmax / beta #Maximum collector current
IR = IBmax + IZmin #Current through resistance R (in Ampere)
Rmax = (VSmin - VZ)/ IR #Maximum value of resistance R (in ohm)
IZmax = (VSmax - VZ)/ Rmax #Maximum value of Zener current (in Ampere)
PZmax = VZ * IZmax #Maximum power dissipation in Zener Diode (in watt)
PRmax = (VSmax - VZ) * IZmax #Maximum power dissipated in Resistance R (in watt)
VCEmax = VSmax - VL #Maximum value of collector-to-emitter voltage (in volts)
PDmax = VCEmax * ILmax #Maximum power dissipation of the transistor (in watt)
#Result
print "Maximum value of R is ",round(Rmax)," ohm.\nMaximum power dissipation of the zener diode is ",round(PZmax,2)," W.\nMaximum power dissipation of resistance R is ",round(PRmax,2)," W.\nMaximum power dissipation of the transistor is ",PDmax," W."
#Correction to be done in the formula used for IZmax in the book.Correct approach is used in the solved example here.
```

In [18]:

```
import math
#Variables
VL = 12.0 #Voltage across load (in volts)
IL = 200.0 #Load current (in milli-Ampere)
VS = 30.0 #Source voltage (in volts)
RS = 10.0 #Series resistance (in ohm)
beta1 = hfe1 = 150.0 #common-emitter current gain 1
beta2 = hfe2 = 100.0 #common-emitter current gain 2
IC1 = 10.0 #Collector current (in milli-Ampere)
VBE1 = 0.7 #Emitter-to-Base voltage1 (in volts)
VBE2 = 0.7 #Emitter-to-Base voltage2 (in volts)
VZ = VR = 6.0 #Voltage across zener diode (in volts)
RZ = 10.0 #Resistance of zener diode (in ohm)
IZ = 20.0 #Current through zener diode (in milli-Ampere)
ID = 10.0 * 10**-3 #Current (in Ampere)
I1 = 10.0 * 10**-3 #Current (in Ampere)
#Calculation
RD = (VL - VZ) / ID #Resistance (in ohm)
V2 = VZ + VBE2 #Voltage (in volts)
R1 = (VL - V2)/I1 #Value of resistance R1 (in ohm)
R2 = R1 * (V2 / (VL - V2)) #Value of resistance R2 (in ohm)
IB1 = (IL + I1 + ID) / beta1 #Base Current IB1 (in Ampere)
I = IB1 + IC1 #Current through resistance R3 (in Ampere)
R3 = (VS - (VBE1 + VL))/I #Value of resistance (in ohm)
#Result
print "Value of Resistance RD is ",RD," ohm.\nValue of Resistance R1 and R2 is ",R1," ohm and ",R2," ohm."
print "Value of Resistance R3 is ",round(R3,1)," kilo-ohm."
#Error in the formula used for R1 in book. Correct formula is used here.
```

In [19]:

```
import math
#Variables
VS = 25.0 #Source voltage (in volts)
VZ = 15.0 #Zener voltage (in volts)
RL = 1.0 #Load resistance (in kilo-ohm)
VBE = 0.7 #Emitter-to-Base voltage (in volts)
#Calculation
Vout = VZ/2 + VBE #Output voltage (in volts)
IL = Vout / RL #Load current (in milli-Ampere)
IE1 = IL #Current (in milli-Ampere)
VCE1 = VS - Vout #Collector-To-Emitter voltage (in volts)
P1 = VCE1 * IE1 #Power dissipated (in watt)
#Result
print "Vout is ",Vout," V.\nIL is ",IL," mA.\nIE1 is ",IE1," mA.\nP1 is ",P1," W."
#Calculation error in book for the value of P1.
```

In [20]:

```
import math
#Variables
IADJ = 100.0 * 10**-6 #Current (in Ampere)
Vin = 35.0 #Input voltage (in volts)
R1 = 220.0 #Resistance1 (in ohm)
R2min = 0 #Resistance2 minimum (in ohm)
R2max = 5.0 * 10**3 #Resistance2 maximum (in ohm)
VREF = 1.25 #Reference voltage (in volts)
#Calculation
Voutmin = VREF * (R2min/R1 + 1) + IADJ * R2min #Minimum output voltage (in volts)
Voutmax = VREF * (R2max/R1 + 1) + IADJ * R2max #Maximum output voltage (in volts)
#Result
print "Maximum output voltage is ",round(Voutmax,2)," V.\nMinimum output voltage is ",Voutmin," V."
```

In [21]:

```
import math
#Variables
R1 = 220.0 #Resistance1 (in ohm)
R2 = 1.5 * 10**3 #Resistance2 (in ohm)
VREF = 1.25 #Reference voltage (in volts)
#Calculation
Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)
#Result
print "Regulated dc output voltage is ",round(Vo,2)," V."
#Calculation error in the book.
```

In [22]:

```
import math
#Variables
R1 = 240.0 #Resistance1 (in ohm)
R2 = 2.4 * 10**3 #Resistance2 (in ohm)
VREF = 1.25 #Reference voltage (in volts)
#Calculation
Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)
#Result
print "Regulated dc output voltage is ",Vo," V."
```