Skip to main content
Engineering LibreTexts

4.7: BJT Switching and Driver Applications

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    As mentioned, variation in \(\beta\) can cause changes in collector current. This can cause performance issues. For example, when driving an LED, this can lead to variance in brightness. But what if we purposely put the transistor into saturation? Saturation is a fixed value. It is inherently stable and \(\beta\) no longer matters. Effectively, when a BJT saturates, \(\beta\) is forced to drop to whatever value is needed to produce \(I_{C(sat)}\). We just need to make sure that even the smallest \(\beta\) is large enough to cause saturation.

    4.7.1: The Saturating Switch

    A good example of this is the saturating LED driver circuit shown in Figure \(\PageIndex{1}\). To begin with, the whole point of the driver is to offload the current demand from the prior circuit. For example, we may wish to light an LED from the output of a logic gate or microcontroller chip. The problem is that those circuits might only be able to deliver, say, 5 mA when we might need well over 10 mA to achieve the desired brightness. The LED driver circuit is used to overcome this limitation.


    Figure \(\PageIndex{1}\): Saturating LED driver circuit (positive logic). Note: The negative terminal of VCC is connected to ground (not shown).

    With the driver, the logic circuit will only need to supply base current, not LED current. Here is how it works: If the logic input voltage is zero, there will be no base current. This means that there will be no collector current and therefore the LED will be off. At this point the BJT is in cutoff. In contrast, when the logic level goes high, all of the logic voltage drops across \(R_B\), with the exception of \(V_{BE}\). This creates \(I_B\). If properly designed, this current will be sufficient to put the BJT into saturation. The BJT acts as a switch, completing the circuit between the DC supply, the LED and the current limiting resistor, \(R_C\). For this to work reliably, we have to make sure that the ratio of saturation current to base current is much less than \(\beta\). A value of 10 or so would guarantee hard saturation.

    If we would like to invert the logic, that is, have a logic low turn on the LED and a logic high turn it off, we can achieve that with a PNP version of the circuit as shown in Figure \(\PageIndex{2}\).


    Figure \(\PageIndex{2}\): Saturating LED driver circuit (negative logic).

    Example \(\PageIndex{1}\)

    Determine the LED “on” current for the circuit of Figure \(\PageIndex{3}\). Assume the logic “on” voltage is 5 volts, \(V_{LED} = 1.8\) volts and \(V_{CE(sat)} = 0\).


    Figure \(\PageIndex{3}\): Circuit for Example \(\PageIndex{1}\).

    First, find the base current.

    \[I_B = \frac{V_{logic} −V_{BE}}{R_B} \nonumber \]

    \[I_B = \frac{5 V −0.7 V}{4.7 k\Omega} \nonumber \]

    \[I_B = 915 \mu A \nonumber \]

    Now find \(I_{C(sat)}\), making sure the BJT is in saturation. This will be the LED current.

    \[I_{C(sat)} = \frac{V_{CC} −V_{LED}}{R_C} \nonumber \]

    \[I_{C(sat)} = \frac{5 V−1.8V}{330\Omega} \nonumber \]

    \[I_{C(sat)} = 9.7mA \nonumber \]

    The ratio of these two currents is just over 10:1. This will guarantee hard saturation.

    There are many different applications for saturating switches. Just about anywhere you can imagine a relay being used, you can consider a transistor switch. The transistor switch has the advantages of small size, no moving parts to wear out and very fast switching speeds. Relays have the advantage for very high currents. Figure \(\PageIndex{4}\) shows an example of direct motor drive using a saturating BJT switch.


    Figure \(\PageIndex{4}\): Direct DC motor drive.

    This circuit is used to control the speed of a DC motor through a technique called pulse width modulation. The speed of the motor will depend on the average voltage applied to it. The trick here is that instead of applying a continuously variable voltage to the motor, we instead apply a series of pulses of varying width. These pulses are sufficient to saturate the BJT, causing it to behave as a switch. These pulses are so fast that the motor does not start and stop, but rather inertia keeps it going. Instead, the motor responds to the averaged value of these pulses. If the pulses are narrow and widely spaced, the average value will be low and the motor speed will be slow. If the pulses are wide and closely spaced, the average will high and the motor speed will be fast.

    The resistor and capacitor at the base are used to shape the incoming pulse to improve performance. The diode across the motor winding is particularly important. It is referred to as a snubbing diode1. Without it, the switching transistor might experience large and damaging transient spikes. Here's why: Let's assume the BJT is on and conducting fully. This current is the same current flowing through the motor's armature, which is little more than a huge coil of wire. That means it exhibits a lot of inductance. When we turn off the transistor, we are attempting to turn off the armature current, but the current through an inductor cannot change instantaneously. The result is that the winding now generates a large flyback voltage (also called an “inductive kick”) directly across the BJT. That is, the winding momentarily appears as a high voltage source of opposite polarity and, via KVL, this potential appears from collector to emitter. This could damage the BJT. The snubbing diode effectively short-circuits the winding when it reverses voltage polarity, preventing the large spike. The remainder of the time the diode is reverse-biased and effectively out of the circuit.

    4.7.2: The Non-Saturating Driver

    It is also possible to create a switch or driver that is non-saturating. An example of a non-saturating LED driver is shown in Figure \(\PageIndex{5}\).


    Figure \(\PageIndex{5}\): Non-saturating LED driver circuit (positive logic).

    The advantage of this circuit is that it requires less current from the logic circuit. Unfortunately, it also exhibits higher transistor power dissipation and requires a DC source that is higher than the logic level. The operation is as follows: As in the saturating driver, if the logic level is zero, there is no rise in the base-emitter loop and the collector current will also be zero. With a high logic voltage, via KVL around the base-emitter loop, all of the logic input voltage drops across \(R_E\), with the exception of \(V_{BE}\). This creates \(I_E\) which is virtually the same as \(I_C\) (which is \(I_{LED}\)).

    This circuit “programs” the emitter current via the resistor and logic voltage. Therefore it is fixed and stable. This process is sometimes referred to as bootstrapping. It might be said that the emitter voltage is “bootstrapped” to within 0.7 volts of the logic input level, keeping it stable2. In any case, if \(\beta\) varies, this will cause an inverse change in \(I_B\) with no change in \(I_C\). A negative logic PNP version is also possible and left as an exercise.

    Example \(\PageIndex{2}\)

    Determine the LED “on” current for the circuit of Figure \(\PageIndex{6}\). Assume the logic “on” voltage is 5 volts, \(V_{LED} = 1.8\) volts and \(\beta\) = 100.


    Figure \(\PageIndex{6}\): Circuit for Example \(\PageIndex{2}\).

    We can find \(I_C\) directly because \(I_C \approx I_E\). This will be the LED current.

    \[I_C = \frac{V_{logic}−V_{BE}}{R_E} \nonumber \]

    \[I_C = \frac{5V−0.7V}{270\Omega} \nonumber \]

    \[I_C = 15.9 mA \nonumber \]

    Note that \(\beta\) was not used. All it tells us is that \(I_B = 15.9\) mA/100, or 159 \( \mu \)A. A higher \(\beta\) would simply lead to a lower base current.

    For the sake of completeness, we might also note that

    \[V_{CE} = V_{CC} −V_{LED} −V_{RE} \nonumber \]

    \[V_{CE} = 10 V−1.8V−4.3 V \nonumber \]

    \[V_{CE} = 3.9V \nonumber \]

    Clearly, if \(V_{CE}\) is 3.9 volts, the transistor is not in saturation.

    4.7.3: The Zener Follower

    In the prior chapter we examined a method of regulating the output voltage of a filtered full-wave rectifier through the use of a Zener diode. The downfall of that specific circuit is that it was not particularly efficient because it drew a fair amount of current even when the demand for load current was light. Using the concept of locking one voltage to another, as in the non-saturating switch, we can create a nice improvement, the Zener Follower.

    A Zener Follower is shown in Figure \(\PageIndex{7}\). The input signal is the positive rectified and filtered output of the AC-to-DC power supply.


    Figure \(\PageIndex{7}\): Zener Follower.

    The primary thing to notice is that the Zener diode is reverse-biased via resistor \(R\). That is, a current will flow down through \(R\) and into the Zener. The Zener presents a fixed potential, \(V_Z\). Consequently, the difference between the input voltage and \(V_Z\) must drop across \(R\), and by extension, \(V_{CB}\). Further, the final output voltage is the voltage at the BJT's emitter which must be \(V_Z − V_{BE}\). As these are both fixed, stable potentials, the output must likewise be a fixed, stable voltage. Lastly, because \(V_{CE} = V_{CB} + V_{BE}\), it is apparent that any variation between the input voltage and the desired output (for example, due to ripple) must be dropped across the BJT.

    The diode current is kept low in the Zener Follower and thus its power dissipation is also modest. Further, current draw from the input circuit is a direct reflection of load current demand. If the load current requirement is low, very little current will flow through the transistor, and ultimately, from the input circuit. This makes for a more efficient system.


    1It is also known as a commutating diode, clamp diode, flyback diode and by a host of other names. But as Shakespeare said, “A snubbing diode by any other name would clamp a flyback voltage as well”. Or something like that.

    2This is in reference to the old phrase “pulling yourself up by your bootstraps”. To be honest, that saying never made sense to this author and all that ever happened when I tried to do it was that my arms got tired.

    This page titled 4.7: BJT Switching and Driver Applications is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.

    • Was this article helpful?