Astro tools, Electronics

Powerful DC motor driver using IR2110

To control the speed and rotation direction of the DC motor we need some type of motor driver, one of the most popular schematics is H-Bridge. For the low current and voltages, we can use some integral solutions like L293D and so on. But if we need more power and reliability we have to build some custom H-bridge using Mosfet transistors. This type of transistor requires careful and proper driving itself. One of the most popular integral solutions for driving MOSFETs is IR2110 from Infineon.
In this article, we will discuss how to use this IC to build a powerful DC motor driver.

IR2110 is a high voltage (up to 500V) chip which is suitable to drive various types of the MOSFET and IGBT. This device contains both low-side and high-side half-bridge drivers.

You can find pins description and other parameters in datasheet.

Here is a typical schematic

This is a half-bridge driver, which means that LOAD pin can be connected to LOAD SUPPLY or to AGND, depending on the state of the input pins ENABLE HI and ENABLE LO. These signals can be a static voltage of the logic levels (3.3 to 5 volts) or some pulse signals like PWM.

Controlling of the Q2 MOSFET is very simple and doesn’t require extra schematics.
With Q1 all things are a little bit more complicated since the SOURCE pin of this transistor is floating without a direct connection to the power supply negative line.
To be able to enable this transistor we need to create a “virtual” zero point and additional power is required.
This problem can be solved using bootstrap circuitry.

You can see diode D5 and two capacitors C1 and C2. When the low-side is active (Q2 is opened) both capacitors are charging through the diode from the IR2110 power supply (typically 12V). Then when the high-side becomes active these capacitors are using to charge Q1 gate and open this transistor.
The value of C1 depends on switching frequency and duty cycle. Typically this value is in the range 4.7 – 22 microfarads.
Of course, there is a formula that can be used to calculate a proper value. Please read this appnote if you want to know more about floating and bootstraps circuits.
But also you can select the proper capacitor value experimentally. Proper value is guaranteed that the capacitor can discharge quickly enough to close transistor and charge quickly enough to reach the required voltage value. Better to use tantalum capacitors but the electrolyte is also Ok but the additional ceramic bypass is required.

Diodes D1 and D2 provide a quick discharge circuit so both transistors can be closed immediately.

Diodes D7 and D9 protect MOSFETs from the large inductive loads and very necessary when driving motors.

Two resistors R5 and R6 are used to limit the charging current of the gates to protect transistors.
R2 and R1 is an additional protection circuit that prevents floating of the Gate pin and protects transistors from the enabling.

When both transistors enabling at the same time is a big problem called shoot through. This is equivalent to a short circuit that can destroy both MOSFETs and ruin your day.

To avoid shoot-through of the MOSFETs we need to ensure that ENABLE HI and ENABLE LO input pins are not activating at the same time.

One of the ways is to use a simple protection circuit which is placed near the IR2110 input pins.

74HC00N is a quad 2-input NAND gate that acts like a cross-locking circuit.
A by-product of this schematic is inverting of the signal so we need to invert the actual input signal before.
So when IN HI is low (for example) – output pins 6 and 8 are in the high state and pin 6 driving actually IR2110 ENABLE HI input.
At the same time pin, 8 activates T2 transistor which pulls down ENABLE LOW line which protects this line from the unauthorized activation.
Another part of the schematics with T1 works in the same way.

Full bridge driver.

To build a full H-bridge we need two identical halves of the half-bridge.
In this case ENABLE HI of the first IR2110 should be connected to the ENABLE LOW of the second IR2110 and vice versa.

The load is connecting between LOAD terminals of both halves.

Here is a full schematic of the driver which I use for big 110 volt motors.
This device contains all protection circuits described above and also provides galvanic isolation on inputs so we can safely connect the microcontroller as a PWM signal source.
This board requires two stabilized power supplies 5 and 12 volts. The actual bridge is powering from the separate 110-volt source.
Also, you can find a current measurement circuit based on the hall-effect sensor ACS712. This part is not mandatory and is simply used in my current project.

Diodes D11 and D12 are highly recommended for reliability. This diode provides a path for possible reverse currents (in case of long lines between drivers board and controller) in bad EMI conditions. Even small reverse current can damage optocouplers led.

The values of the R9 and R10 should be selected for your variant of 74HC00. It may be or 570 ohms or 3.8 kiloohms. To debug this part you need a scope, which can help you to control the form of the signal after 74HC00. But if you don’t have one – just replace resistors till the schematic became working.

UPD: I found that it's better to don't install C22 and C23 capacitors. 
So don't use them.

Eagle project files

Gerber files for the PCB factory

PCB images:

And both layers for DIY:

Completed boards with medium power transistors.

And another variant with big transistors on the radiator. This device is able to drive more than 2 kilowatts load.

As you can see powerful MOSFETs are placed on radiators, away from the driver boards.
This is permissible, but wire between boards and transistors should be as short as possible. Also, it’s a good idea to twist the SOURCE and GATE line as a differential pair, this allows us to minimize inductance.
Protection resistors on these lines should be placed as close as possible to the transistors.
You can see everything in the photos above.

Laboratory tests of this driver.
As a PWM signal source, I’m using Siglent signal generator in Pulse mode. The frequency is 15 kHz, the duty cycle is changing which is causes changes in motor rotation speed.

Thanks for reading!
Hope this material will be helpful.

Tagged , ,

19 thoughts on “Powerful DC motor driver using IR2110

  1. Oleg, could you help with 400V, 15 A continuous, reversible (full H-bridge, >20 kHz), PMDC brushed motor speed controller? May be with LMG3410R070 or discrete transistors STB42N65M5 . I need compact and well protected
    controllers for glaciers research; although industrial servo amplifiers worked well in mountains.

    1. Hello.
      Yes, I think I can help you. Seems LMG3410R070 is a good solution, highly integrated and powerful enough. You need 4 IC, some additional circuits and MCU to control one motor.
      Can I contact you via email to discuss this device?

  2. Oleg, I was confused expecting your replay on my e-mail address. My fault.
    I still need help with speed control of PMDC motor and that is why I get back
    to your web site. But I am bit old for modern electronics.
    If you are not disappointed with my response please send me e-mail and
    I will provide you with details about my projects or/and we can talk over
    Thank you.

    1. Hi!
      I described this in the article. It’s just in case.
      Protection circuit to prevent a shoot-through.
      When “IN HI” is active T2 is pulling down “IN LOW” line so any signals on the “IN LOW” are blocked. And wise-versa.

  3. Is there any way i can use this driver to control a 5kw brushed dc motor. I have bought all the components. I have replaced the mosfets with 60N60 600V 60A IGBT. I plan to use two igbts in parallel. Do i need to do any modifications? Is it okay if i boost the ir2110 output using external push-pull amplifier to get enough gate current?

    P.S The motor is 78V 5kw. We are making a electric bike for our final year engineering project.

    My email:

    It will be really great if you would help me a little bit. Thank you.

    1. Yes. It’s safe. Those pins can be completely separated only when there are no voltage differences between the two lines.
      Since its power and logic grounds, it’s better to connect both lines somewhere outside the high current paths, at one point. In my case, it was made inside the PSU that provides low and high voltages to the board. You can do it on the board. Just make sure that there is no strong current flow near the VSS pin.

  4. Hi Oleg Kutkov… Thank You for sharing this project. I made one from the files you shared, but I have one problem that duty cycle only works for above 50%. When I try to lower it the motor fails to hold the speed and stall to 0 rpm… I wonder if you experienced the same problem? If there any suggestion I would very happy to see..thanks in advance .

    I use 110V dc motor from my old treadmill.

    1. Hello. Please try to play with C1 and C2 capacitors values. +- 10uF.
      Also you can try to change your PWM frequency. But it’s better to select proper capacitors’ values.

  5. Hello oleg, thank you for the prompt replies.

    I have one more question, i have used pc817 optocouplers to isolate my arduino and the ir2110. Is this configuration okay?

    1. From the electrical point of view, yes, you can use this component. This optocoupler is quite old and has a frequency limit near 80 KHz, but probably even lower. So you can’t use it with high PWM rates.
      But for low frequency (hundred of Hz), it’s ok.

        1. I’m not using the Arduino language. But according to the documentation, it’s correct.
          You can’t achieve the high PWM frequencies due to software manner and high overhead of the Arduino libraries. In this situation, your optocoupler looks okay.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.