# Chapter 9: Semiconductor Theory and Devices¶

## Example 9.1, Page 277¶

In [1]:
# Part (a)
V_Z = 9.1;    # Zener voltage of zener diode, volt
P_Z = 0.5;    # Power rating of zener diode at V_Z, W
r_Z = 1.5;    # Slope resistance of zener diode, ohm
V = 12;    # Nominal value of input voltage, volt
R_L = 2.5e+03;    # Load resistance across zener diode, ohm

I_Z = P_Z/V_Z*1e+03;    # Zener current, mA
I_S = I_Z;    # Current through series resistor, mA
V_S = V - V_Z;    # Voltage drop across series resistor, volt
R_S = V_S/I_S*1e+03;    # Value of series resistance, ohm
P_max = (I_S*1e-03)**2*R_S;    # Maximum power rating of series resistance, W
print "The value of series resistance  = %5.2f ohm"%R_S
print "The value of maximum power rating of series resistance  = %4.2f W"%P_max
print "(a) The suitable value of R_S should be 54 ohm, 0.25 W"

# Part (b)
V_o = V_Z;    # Output voltage across zener, volt
I_L = V_o/R_L*1e+03;    # Load current, mA
I_Z = I_S - I_L;    # Zener current, mA
print "(b) The value of diode current with load resistance across zener = %5.2f mA"%I_Z

# Part (c)
V = 12 - (0.1*12);    # Final value of input voltage after falling below 12 V, volt
R_S = 56;    # Standard value of series resistance, ohm
I_S = (V - V_Z)/R_S*1e+03;    # Current through series resistance, mA
I_Z = I_S - I_L;    # Resulting diode current, mA
delta_I_Z = 51.36 - I_Z;    # Change in zener current, mA
delta_V_Z = delta_I_Z*1e-03*r_Z;    # Change in zener voltage, V
change = delta_V_Z/V_Z*100;    # %age change in zener voltage
print "(c) The percentage change in the p.d. across the load = %4.2f percent"%change

The value of series resistance  = 52.78 ohm
The value of maximum power rating of series resistance  = 0.16 W
(a) The suitable value of R_S should be 54 ohm, 0.25 W
(b) The value of diode current with load resistance across zener = 51.31 mA
(c) The percentage change in the p.d. across the load = 0.41 percent


## Example 9.2, Page 279¶

In [2]:
import numpy as np

#Variable declaration
Diode = np.array([3, 1]);    # Declare a diode cell
Diode_1 = [1, 15, 30, 0.5, 0.007];    # Data for Ist diode
Diode_2 = [2, 15, 15, 1.3, 0.20];    # Data for 2nd diode
Diode_3 = [1, 15, 2.5, 5.0, 0.67];    # Data for 3rd diode
Resistor = np.array([5, 1])    # Declare a resistor cell
Resistor_1 = [0.25, 0.026];    # Data for Ist resistor
Resistor_2 = [0.5, 0.038];    # Data for 2nd resistor
Resistor_3 = [1.0, 0.055];    # Data for 3rd resistor
Resistor_4 = [2.5, 0.260];    # Data for 4th resistor
Resistor_5 = [7.5, 0.280];    # Data for 5th resistor
V = 24;    # Input voltage, volt

#Calculations&Results
V_Z = Diode_1[1];    # Zener voltage for Ist diode, volt
V_S = V - V_Z;     # Voltage drop across series resistor for all the three diodes, volt

#Part (a)
# Diode 1
P_Z = Diode_1[3];    # Power rating of Ist diode, W
I_Z = P_Z/V_Z*1e+03;    # Zener current, mA
R_S = V_S/I_Z*1e+03;    # Value of series resistance, ohm
P_S = V_S**2/R_S;    # Power dissipation across series resistor, watt
print "Diode 1:";
print "========";
print "The value of series resistance  = %3d ohm"%R_S;
print "The value of power rating of series resistance  = %3.1f W"%P_S
R_S = 270;    # Chosen value of series resistor, ohm
P_S = 0.3;    # Chosen value of power rating, ohm
print "The suitable value of R_S should be %3d ohm, %3.1f W"%(R_S, P_S);
print "Total unit cost = %5.3f pounds\n"%(Diode_1[4]+Resistor_2[1]);

# Diode 2
print "Diode 2:";
print "========";
P_Z = Diode_2[3];    # Power rating of 2nd diode, W
I_Z = P_Z/V_Z*1e+03;    # Zener current, mA
R_S = V_S/I_Z*1e+03;    # Value of series resistance, ohm
P_S = V_S**2/R_S;    # Power dissipation across series resistor, watt
print "The value of series resistance  = %5.2f ohm"%R_S
print "The value of power rating of series resistance  = %4.2f W"%P_S
R_S = 120;    # Chosen value of series resistor, ohm
P_S = 1.0;    # Chosen value of power rating, ohm
print "The suitable value of R_S should be %3d ohm, %3.1f W"%(R_S, P_S);
print "Total unit cost = %4.2f pounds"%(Diode_2[4]+Resistor_3[1]);

# Diode 3
print "\nDiode 3:";
print "========";
P_Z = Diode_3[3];    # Power rating of 3rd diode, W
I_Z = P_Z/V_Z*1e+03;    # Zener current, mA
R_S = V_S/I_Z*1e+03;    # Value of series resistance, ohm
P_S = V_S**2/R_S;    # Power dissipation across series resistor, watt
print "The value of series resistance  = %3d ohm"%R_S;
print "The value of power rating of series resistance  = %3.1f W"%P_S
R_S = 27;    # Chosen value of series resistor, ohm
P_S = 7.5;    # Chosen value of power rating, ohm
print "The suitable value of R_S should be %3d ohm, %3.1f W"%(R_S, P_S);
print "Total unit cost = %4.2f pounds"%(Diode_3[4]+Resistor_5[1]);

# Part (b)
delta_V_Z = (5*15)/100;    # Allowable change in V_Z, volt
delta_I_Z = 30e-03;    # Allowable change in zener current, A
delta_VZ = np.zeros(3);
delta_VZ_1 = 30e-03*30;    # Change in zener voltage dor diode 1, V
delta_VZ_2 = 30e-03*15;    # Change in zener voltage dor diode 2, V
delta_VZ_3 = 30e-03*2.5;   # Change in zener voltage dor diode 3, V
print "\nThe maximum value of zener voltage change = %4.2f V"%(max(delta_VZ_2, delta_VZ_3));
print "To meet the specification at lowest cost, circuit 2 would be adopted";

Diode 1:
========
The value of series resistance  = 269 ohm
The value of power rating of series resistance  = 0.3 W
The suitable value of R_S should be 270 ohm, 0.3 W
Total unit cost = 0.045 pounds

Diode 2:
========
The value of series resistance  = 103.85 ohm
The value of power rating of series resistance  = 0.78 W
The suitable value of R_S should be 120 ohm, 1.0 W
Total unit cost = 0.26 pounds

Diode 3:
========
The value of series resistance  =  27 ohm
The value of power rating of series resistance  = 3.0 W
The suitable value of R_S should be  27 ohm, 7.5 W
Total unit cost = 0.95 pounds

The maximum value of zener voltage change = 0.45 V
To meet the specification at lowest cost, circuit 2 would be adopted