Power mosfets are difficult to drive properly when on the high side, this is because the voltage of the mosfets drain is floating, meaning not on a fixed voltage. In this tutorial I will use the IR2110 as a dedicated high side gate driver for my mosfet, which will be switching a +12V car light. An Arduino with a simple blink sketch will provide the switching logic for the circuit.
Why the IR2110?
The IR2110 is dual channel driver, one high side and one low side. There is also a single channel high side driver available called the IR2125. I choose the IR2110 in this tutorial because it is better known, slightly cheaper and better available. It also gives you the option to build half a H-bridge configuration using the single IC. The specifications for both are the same.
- Maximum drain voltage of 500V
- Gate driving 10V to 20V
- 3.3 and 5V logic compatible
- Switching time 150ns or 6+Mhz
- DIP and SOIC packages available
Bill Of Materials
The components used in for tutorial.
- Ceramic capacitors
- Electrolytic capacitors
- Some resistor legs
- 12V power adapter
- Female-to-female DuPont wire
- Aligator clips
- 12V car light
- External power source + alligator wire
Please have a look at the official datasheet for the IR2110 at the Infinion website. At the first page in the datasheet you can see the ‘typical connection’ diagram for the IC. If you compare this to the pinout section of the document at page 5 however you might notice the IC in the circuit at page 1 is drawn up side down. This was done to make the circuit look more intuitive with IO on the left, mosfets on the right and capacitors with positive side up.
In reality, we like to place IC’s on the board with pin 1 at the top-left, having all IC’s oriented in the same direction. I made a 180 degrees rotated circuit in the EasyEDA circuit design tool. It looks a little more complicated but it is actually the same circuit.
Building the circuit
I’ll be adding all the components to the project step by step. Providing photo’s as well as text so you can build along if you want. At the end of this tutorial I added a video of the build process.
Connecting all the grounds
The breadboard has two power rails. I will use the left one for +12V for the VCC on the IR2110 and for powering the car light. The rail on the right will be +5V for the logic power supply of the IC and comes from the Arduino. Ground on both rails will be connected together. Four pins on the IC will be connected to ground.
- COM: Ground pin for the IC
- SD: Error pin, not used in this tutorial
- VSS: Ground level for the logic input signal
- LIN: Logic input signal for the low side mosfet
Diode for the bootstrap capacitor
A diode will charge the bootstrap capacitor and prevent discharging when VB is high.
The capacitor needs to be charged up to between 10V and 20V to be able to switch the gate of the mosfet propperly. When the mosfet is off, the gate is floating and VS (the negative of the capacitor) pulles it down to ground. The VSS at 12V can now charge the positive side of the capacitor at VB through the diode.
Then when it is time to turn the mosfet on, the IC only has to connect VB to HO together and the gate is automaticaly charged at drain+12V, turning it on.
The bootstrap capacitor
In this circuit I use capacitors in pairs, an electrolytic for capacity at 47uF and a ceramic at 0.47uF for low ESR, you can also use a single tantalum capacitor if you want. I have tried building the circuit without the electrolytic capacitor but it didn’t work.
Here I place the bootstrap capacitors, its negative is connected to VS and the drain of the mosfet, the positive to VB to charge the gate when needed.
Capacitors for the power rails
Both power rails also get capacitors, this is to make sure the voltage supply is stable. The values of your electrolytic capacitors depends on the quality of your power sources. The 12V rail is not very important to be smooth but the supply for the Arduino is. A small voltage drop can cause the Arduino to reset and a spike can cause the processor to be fried.
Adding the mosfet
This mosfet is an automotive mosfet. It can handle high current at voltages up to 60V and with a low RdsOn (resistance) so you rarely need a heatsink on them. This makes them well suited for car-battery powered applications.
Connecting the mosfet
The gate is connected to the HO pin. In a permanent circuit a resistor of about 10 Ohms should be between the HO pin and gate to remove inductive spikes caused by the inrush current. This could cause damage to the mosfet and the gate driver.
The drain of the mosfet is connected to the positive of the +12V rail. This will provide the actual power to the lamp.
The mosfets source is connected to VS on the IR2110 and to the load. When the mosfet is on the +12V on the drain comes out of the source and into the lamp.
Programming the Arduino
The Arduino is added as our logic provider. You are free to choose any logic board you want, this is what I had on hand.
I loaded the blink example sketch from the Arduino examples library and modified the timer to 2 seconds instead of 1. This because the car light I am going to switch on and off needs some time to heat up and show light.
Connecting the Arduino and powering up
The Arduino’s ground and 5V are connected to the 5V rail. Pin #13 is connected to HIN. It is important that the ground of the Arduino is shared with that of the rest of the circuit. Otherwise the +5V and the digital output pin #13 can’t complete a circuit path of their own and won’t be able to power and signal the IC.
The Arduino is powered by an external power brick. I have thought about using the raw pin to power the 12V line but that might burn the traces of the PCB as soon as the car light comes on. It’s a 55W light bulb. Instead, I’ll be using a current limiting power supply for the 12V rail.
Adding the +12V car light
I have used some cut-off resistor legs to stick into the breadboard so the alligator clips have something to hold on to. This is not the best way but it will have to do for now. Some day in the future I will make some custom wires for these kinds of situation.
Connecting the external power source
The same thing goes for the external power supply. I turned on the power for a brief time because it is still al lot of current going through the breadboard and the tin aligator-clip wires.
But it does work, I saw the car light go on and of with a slight delay compared to the pin 13 LED on the Arduino, this is because it takes some time for the bulb to heat up and cool down.
The IR2110 is a cheap IC and can be used for high side driving as well a making half an H-bridge. However, I found it rather confusing for the datasheet to have the IC up side down, this is not how I use my ICs.
In the near future I will be working on the IR2125 gate driver. It looks to be more intuitive in using as a single gate driver.