If you’re worried about the safety of your circuit and want to implement some basic protection on your MOSFETs from short circuits or overloads, read through this article.
A MOSFET is a semiconductor device that can drive large loads through its gate terminal. As you drive higher power peripherals, the more you need to implement robust protection mechanisms both for your circuit and load. This will prevent catastrophic fires and your circuit from getting damaged.
Since you control the gate drive to turn on your MOSFET to deliver power to its load, you should be able to predict when this happens and what amount of power it can deliver to its load. With these data, you’ll be able to generate a control mechanism in the form of a circuit and write firmware so that you can reliably time this event.
Once you’ve successfully protected your circuit and load, you’ll be more confident to deploy your boards in the field. The next part will discuss the basic operation of a MOSFET to help you understand how to effectively protect it.
Part 1. How do MOSFETs work?
MOSFET stands for Metal-Oxide-Semiconductor Field Effect Transistor. As its name implies, it works by controlling an electric field through its Gate terminal so that you can control the current flow between its Drain and Source. There are 2-different types of MOSFETs, namely N-Channel and P-Channel types illustrated below:
Using a MOSFET has several advantages over other kinds of semiconductor driver devices. First, its control terminal (the gate) works with a very small amount of current. This property makes the MOSFET feasible to use with microcontrollers with a limited output drive. Next, it’s primarily a voltage-controlled device. This means that if you’re dealing with digital logic, you’ll only be concerned with overcoming its turn ON (VGS) threshold voltage. You don’t need to worry about its gate current drive characteristics, unlike the ones being employed on the base terminal of a BJT.
|Voltage Driven||Current Driven|
|Very Low Gate current||Base current calculation is required for proper device operation.|
|VGS threshold voltage is required to turn the device ON||VBE threshold voltage is required to turn the device ON|
With these properties, we can formulate a simple way to protect a MOSFET from shorts or overloads using only basic of shelf components. This will be discussed in the next part.
Part 2. How to protect a MOSFET using a BJT
Consider an N channel type MOSFET that turns ON when a positive voltage of 5V is applied to its gate terminal.
Here we have a MOSFET Q1 that drives a power LED D1. The resistor R3 here is just used to compensate for the internal parasitic capacitance of the MOSFET in case we do switching of the gate to higher frequencies. R4 is used as a pull-down in case the MCU_I/O_port line goes into high impedance.
Let’s now implement a short circuit or overload protection for this circuit by adding a low-power BJT Q2 and a sense resistor R2.
This current sense resistor will have a voltage drop proportional to the current of the load and the drain-source terminals. Choose this resistor’s value in such a way that it will generate a sufficient voltage drop to turn on the VBE of the BJT when your overload current occurs. When this happens, your BJT will compensate and pull down the MOSFET’s gate voltage in such a way that the circuit produces the load current only up to the overload condition.
Note, however, that you’ll need a MOSFET that can handle the power requirements of this overload condition. Consider shorting out the load entirely. You’ll see that most of the voltage drop of your power supply is across your MOSFET (subtracting only a small voltage drop on your sense resistor). Multiplying this voltage drop with the overload current presents your MOSFET’s power dissipation. At this time, you should plan a way to turn off your MOSFET if it can’t handle this overload condition indefinitely (except if you decide to place a limiting resistor in series with your load) so that it will not get destroyed. This situation will be discussed in the next part.
Part 3.Making Firmware to get out of the overload condition
By using the ADC of your MCU, you should be able to detect this overload condition and then do something about it. The best thing to do is turn off the MOSFET by setting its gate voltage to low and then latch this condition. Inform the user that an overload or short-circuit occurred by lighting up a LED so that he can remove this condition. Next, instruct him to override this latch event by pressing a button or resetting the MCU.
Detecting low voltages with an ADC requires precision and signal filtering techniques. This will prevent false alarms that can trigger the overload protection mechanism of your circuit. Employ external filtering techniques and/or do this with code. It’s a good idea to oversample your data to eliminate noise that can execute false triggers.
As an example, if your load consumes current already nearing the overload condition, small noise spikes picked up by the sense resistor can get misinterpreted by the ADC, thus triggering the latch circuit. If you’ve oversampled your data, these small noise spikes will get averaged out in an envelope where it resembles the actual behaviour of the waveform as a function of time. The time it takes to do the oversampling calculations should be smaller when compared to the time your MOSFET can hold on to the overload condition.
Part 4. Extending with MOSFETs that implement PWM
In addition to the overload circuitry and calculations you did to protect your MOSFET circuit in Part 2, there is another area of concern if you do PWM. PWM is essentially switching your MOSFET into the ON and OFF states so that you’ll get an average value delivered to your load that’s proportional to the duty cycle that you’re using (this is discussed in another article in detail). Because you’re switching between these low and high values, your ADC won’t be able to determine the load’s actual current (except if you apply some kind of DSP that’s outside the scope of this article).
Theoretically, a good way to get through this is to use a low pass filter before reading the sense resistor’s voltage. The low pass filter effectively averages out the waveform made by the PWM, hence getting your load’s actual instantaneous current. This value can now be interpreted by your ADC correctly so that your MCU can implement overload condition tasks. You should be able to create a simple low pass filter using a combination of a resistor and a capacitor using a time constant well below your PWM’s period.
Part 5. Summary
We’ve discussed basic MOSFET characteristics and how to protect their output from short circuits and overloads. We’ve also included how you can detect and latch an overload condition using the ADC of your MCU. We’ve extended the scenario to include detecting overloads when doing PWM. Additionally, we included software techniques to get reliable data with your ADC to detect these overload conditions.