In the previous post, we have seen how to drive a relay using an NPN bipolar junction transistor. The circuit allowed a digital input signal to activate and deactivate a relay coil. As seen previously, the following graph depicts what is happening to the relay coil voltage drop with respect to the input voltage from an Arduino digital output pin.

Looking at the bottom horizontal band, the relay electrical characteristics guarantee that the relay is off for input values between 0 volts and 1 volt; and looking at the top horizontal band, the relay electrical characteristics guarantee that the relay activates when the input voltage is above approximately 2.75 volts. What if we wanted the relay to remain off until the input voltage to be at least 2 volts, and the relay to be on when the input voltage is at most 3 volts?

# Biasing the Base of the Transistor

There is a way in our circuit for base-emitter voltage drop not to be equal to V_{in} when the transistor is in cut-off mode. Remember that the transistor requires a forward voltage drop of 0.7 volts, for silicon-based bipolar junction transistors, between the base and emitter before current can flow through the base and thus the collector. While current is not flowing through the base or base resistor, the voltage at the base is the same as the voltage at the input. How can we make the voltage at the input of the base resistor higher than the voltage at the base? By using a voltage divider.

## The Voltage Divider

The voltage divider is a simple circuit where two resistors in series divide the voltage amongst them. According to Kirchhoff’s voltage law, as seen in the Blink post, the sum of the electromotive forces, as provided by batteries, in any closed loop is equivalent to the sum of the voltage drops in that loop. Thus, in the following circuit,

The sum of voltage drops across R1 and R2 is equal to V_{DC}. The current I_{DC} in the circuit is, according to Ohm’s law, I = V/R or

I_{DC} = V_{R1}/R1 = V_{R2}/R2

I_{DC} = (V_{R1} + V_{R2}) / (R1 + R2)

I_{DC} = V_{DC} / (R1 + R2)

The voltage across R2 is

V_{R2} = I_{DC}•R2

V_{R2} = V_{DC}•R2 / (R1 + R2)

If V_{DC} is 2 volts and we want V_{R2} to be 0.7 volts then

0.7 V = 2 V•R2 / (R1 + R2)

0.35•R1 + 0.35•R2 = R2

0.35•R1 = 0.65•R2

Lets apply this to the complete switch circuit from the previous post and add a resistor, R_{Bias} between the base of the transistor and ground.

In this circuit, as previously computed, in order for the V_{in} value of 2 volts to produce a voltage of 0.7 volts across the base and emitter of the transistor, R_{Base} and R_{Bias} must satisfy the following equation

0.35•R_{Base} = 0.65•R_{Bias}

R_{Base} = 0.65•R_{Bias} / 0.35

When the base-emitter voltage reaches 0.7 volts, current starts flowing into the base of the transistor and the base-emitter voltage remains 0.7 volts. According to Kirchhoff’s current law the sum of currents flowing into the junction of the base resistor, the bias resistor and the base node is equal to the sum of currents flowing out of that junction. The current flowing into the junction through the base resistor is

I = (V_{in} – 0.7 V) / R_{Base}

The current flowing out of the junction through the bias resistor and the transistor’s base is

I = 0.7 V / R_{Bias} + I_{Base}

Hence,

I_{Base} = (V_{in} – 0.7V) / R_{Base} – 0.7 V / R_{Bias}

Now, assuming a resistive relay coil load of 70 Ω, a power supply of 5 V and a transistor h_{FE} of 250, the base current at start of transistor saturation is

I_{Base} = 5 V / (70 Ω•250) ≅ 0.286 mA

As stated earlier, we want V_{in} to be 3 volts at saturation and using the base current equation, we get

0.286 mA = (3 V – 0.7V) / R_{Base} – 0.7V / R_{Bias}

Replacing R_{Base} with the voltage divider circuit equation computed for the resistor values at cutoff we get

0.286 mA = (3V – 0.7V) / (0.35 R_{Bias}/0.65) – 0.7V / R_{Bias}

R_{Bias} = 1795 Ω ≅ 1.8K

Replacing R_{Bias} in the cutoff voltage divider equation we get

R_{Base} = 0.65•R_{Bias} / 0.35 = 3333 Ω ≅ 3.3K

## Resulting New Circuit

The following diagram depicts the transistor relay switch circuit with a voltage divider at the base of the transistor switch. The values of the resistors are 3.3K for the base resistor and 1.8K for the bias resistor.

The following graph depicts what is now happening to the relay coil voltage with respect to the input voltage from an Arduino digital output pin when the voltage divider is used at the base of the transistor.

Notice how we get a cleaner and sharper voltage transfer between the input signal and the voltage at the relay coil. This new circuit ensures that weaker input digital signals can be used to operate the transistor relay switch.

## Breadboarding

The following picture depicts how to connect the different parts using a solderless breadboard, jumper wires, a transistor, a diode, a relay, a push button, a 10K resistor, a 1.8K resistor and a 3.3K resistor. Connections to the household appliance are not shown.

## WARNING:

The project in this post involves household mains high-voltages. Use caution whenever dealing with high-voltage wiring, including following directions carefully and following general safety practices. Safe assembly and operation of this project is the user’s responsibility. If unsure or if local laws prohibit the assembly of high-voltage circuits, get the help of a professional electrician. Do not make changes to the system while the device is plugged in.

## One thought on “A Better Transistor Switch Circuit”