In [1]:

```
#Variable declaration
V_GT=2; #Gate triggering voltage, V
V_F=0.7; #Forward voltage for diode D1
#Calculation
#(i)Triggering only by a positive gate voltage,
#A diode is connected at the gatewith the n-side connected to thegate of the device,
V_A=V_F+V_GT; #Required voltage to trigger the device, V
print("The required voltage to trigger the device only by positive voltage=%.1fV."%V_A);
#(ii)
print("In order to trigger the triac only by negative voltage, the direction of diode D1 is reversed.");
```

In [3]:

```
#Variable declaration
R=50.0; #Resitor, Ω
V=50.0; #Supply voltage, V
V_drop=1.0; #Drop across the triac in conduction, V
#Calculation
#(i) Ideal triac
#Since the triac is ideal, voltage drop across it is zero,
I=V/R; #Current through the 50 Ω resistor, A
print("(i) The cuurent through the 50 Ω resistor when the triac is ideal=%dA."%I);
#(ii) Triac has a drop of 1V
I=(V-V_drop)/R; #Current through the 50 Ω resistor, A
print("(ii) The current through the 50 Ω resistor when the triac has a drop of 1V=%.2fA."%I);
```

In [4]:

```
#Variable declaration
V_GT=2; #Gate triggering voltage, V
V_BO=20; #Breakover voltage,V
#Calculation
print("The triggering level is raised by using a diac.");
V_A=V_BO+V_GT; #Gate trigger signal, V
#Result
print("In order to turn on the triac, the gate trigger signal=%dV."%V_A);
```

In [5]:

```
#Variable declaration
V_BO=30; #Breakover voltage of diac, V
V_GT=1; #Trigger voltage of the triac, V
I_T=10; #Trigger current, mA
#Calculation
V_A=V_BO+V_GT; #Voltage required for triggering the triac, V
#Result
print("The minimum capacitor voltage that will trigger the triac=%d V."%V_A);
```

In [6]:

```
#Variable declaration
eta=0.6; #Intrinsic stand-off ratio for UJT
R_BB=10; #Inter-base resistance, kΩ
#Calculation
#Since, RBB=RB1+RB2 and eta=RB1/(RB1+RB2),
#eta=RB1/RBB.
R_B1=eta*R_BB; #Resistance of the bar between B1 and emitter junction, kΩ
R_B2=R_BB-R_B1; #Resistance of the bar between B2 and emitter junction, kΩ
#Result
print("Resistance of the bar between B1 and emitter junction=%d kΩ."%R_B1);
print("Resistance of the bar between B2 and emitter junction=%d kΩ."%R_B2);
```

In [7]:

```
#Variable declaration
V_BB=10; #Interbase voltage, V
eta=0.65; #Intrinsic stand-off ratio for UJT
V_D=0.7; #Voltage drop in the pn junction, V
#Calculation
V_stand_off=eta*V_BB; #Stand off voltage, V
V_P=V_stand_off+V_D; #Peak-point voltage, V
#Result
print("Stand off voltage=%.1f V."%V_stand_off);
print("Peak-point voltage=%.1f V."%V_P);
```

In [8]:

```
#Variable declaration
V_BB=25; #Interbase voltage, V
eta_max=0.86; #Maximum intrinsic stand-off ratio for UJT
eta_min=0.74; #Minimum intrinsic stand-off ratio for UJT
V_D=0.7; #Voltage drop in the pn junction, V
#Calculation
V_P_max=eta_max*V_BB+V_D; #Maximum peak-point, V
V_P_min=eta_min*V_BB+V_D; #Minimum peak-point, V
#Result
print("Maximum peak-point voltage=%.1fV"%V_P_max);
print("Minimum peak-point voltage=%.1fV"%V_P_min);
```

In [11]:

```
#Variable declaration
eta=0.65; #Intrinsic stand-off ratio for UJT
R_BB=7.0; #Inter-base resistance, kΩ
R1=100.0; #Resistor R1, Ω
R2=400.0; #Resistor R2, Ω
V_S=12.0; #Source voltage, V
V_D=0.7; #Voltage drop in the pn junction, V
#Calculation
#(i)
#Since, eta=RB1/RBB,
R_B1=eta*R_BB; #Resistance of the bar between B1 and emitter junction, kΩ
R_B2=R_BB-R_B1; #Resistance of the bar between B2 and emitter junction, kΩ
print("(i) Resistance of the bar between B1 and emitter junction=%.2f kΩ."%R_B1);
print(" Resistance of the bar between B2 and emitter junction=%.2f kΩ."%R_B2);
#(ii)
V_B2_B1=V_S*R_BB/(R_BB + (R1/1000) + (R2/1000)); #Voltage across B2-B1, V (voltage divider rule)
V_P=eta*V_B2_B1+V_D; #Peak-point voltage, V
print("(ii) The voltage across the base B2-B1=%.1fV."%V_B2_B1);
print(" Peak-point voltage=%.2fV"%V_P);
```

In [12]:

```
from math import log
#Variable declaration
RE_initial=5; #Initial value of emitter resistor, kΩ
RE_adjusted=10; #Adjusted value of emitter resistor, kΩ
C=0.2; #Capacitance, μF
eta=0.54; #intrinsic stand-off ratio
#Calculation
#(i)
t=round((RE_initial*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms
f=(1/t)*1000; #frequency, Hz
print("Frequency for 5kΩ setting=%dHz."%f);
#(i)
t=round((RE_adjusted*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms
f=(1/t)*1000; #frequency, Hz
print("Frequency for 10kΩ setting=%dHz."%f);
```

In [13]:

```
from math import log
#Variable declaration
V_S=12; #Supply voltage, V
R_BB=5; #Interbase resistance, kΩ
R_1=50; #Resistor R1, kΩ
R_2=0.1; #Resistor R2, kΩ
C=0.1; #Capacitance, μF
eta=0.6; #intrinsic stand-off ratio
V_D=0.7; #Voltage drop across pn junction, V
#Calculation
#(i)
#Since, η=R_B1/R_BB,
R_B1=eta*R_BB; #Resitance between base B1 and emitter junction, kΩ
#Since, R_BB=R_B1+R_B2
R_B2=R_BB-R_B1; #Resitance between base B2 and emitter junction, kΩ
#(ii)
V_RB1_R2=V_S*(R_B1+R_2)/(R_BB+R_2); #Voltage drop across R_B1 and R_2 resistors, V
V_P=V_D+V_RB1_R2; #Peak-point voltage, V
#(iii)
t=round((R_1*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms
f=(1/t)*1000; #frequency, Hz
#Result
print("(i) R_B1=%dkΩ and R_B2=%dkΩ"%(R_B1,R_B2));
print("(ii) The peak-point voltage to turn on the UJT=%.0fV."%V_P);
print("(iii) Frequency of oscillations=%dHz."%f);
```

In [ ]:

```
```