Friday, May 3, 2013

Debugging the Bridge: Tips for Successfully Designing (Full / Half) Bridge Circuits


 Fig. 1 - A typical high-voltage half-bridge section, using the IR2110 driver (Click image to enlarge)


 Fig. 2 - A typical high-voltage full-bridge section, using two IR2110 drivers (Click image to enlarge)



Whenever I get a message or an email or a comment regarding unsuccessful bridge circuits, it’s usually along the lines of no output being observed, the MOSFETs getting hot, or everything just getting damaged or blowing up. When I was in the preliminary stages of bridge design, I also had repeated failures. I had circuits blowing up. I had circuits just not working, no matter what. I’ve written on my blog about one such experience of mine. You can read it here:

http://tahmidmc.blogspot.com/2012/10/magic-of-knowledge.html

In this article, I’ll talk about the first things you should do if your attempts at designing a bridge circuit have gone up in smoke or if you’re designing a bridge circuit and want to ensure everything has been done properly.

Another thing I should mention is that, in almost all cases of people asking for help, the bridge driver (the high-low side driver) has been the IR2110 (or similar, such as IR2112, IR2113, etc). Remember that most bootstrap-based high-low side drivers function in pretty much the same way. So, I’ll talk about the driver in general here. I had, however, written a tutorial regarding the IR2110. So, if you're interested regarding that check out:

Using the high-low side driver IR2110 - explanation and plenty of example circuits 

The first thing to do is to check everything over and over again. I know it's cliched and it's probably the most repeated thing you’ve heard, but it's also the least appreciated or followed. One missing connection (or an extra one too, eg a short) could be the cause of all the mayhem.

1) Firstly, check the connection of the bridge itself. Ensure that all the MOSFETs are connected correctly.

2) Check the power connections to the drivers. Make sure that the supply voltage is within acceptable bounds. Ensure that you have small decoupling/bypass capacitors (0.1µF ceramic capacitors) along with larger filter capacitors (for example, 10µF electrolytic capacitors). Use the 0.1µF capacitors across all power lines.

3) Check the connections to the drivers, ie the driving signals coming from the PWM controller, microcontroller, etc. Make sure that the signals for the high-side MOSFET and the low-side MOSFET of one leg of the bridge don’t overlap. If, in any way, both the high-side and low-side MOSFET turn on simultaneously, this will be a dead short-circuit. Expect some ka-boom and smoke. Use an oscilloscope to ensure that the signals don’t overlap.

4) Check the bootstrap circuitry. Make sure you’re using the proper diodes – ultrafast diodes when required. Make sure your bootstrap capacitor is large enough, but not too large. As I had previously mentioned, there is a simple guideline I follow. For low frequencies and high on-times, use large capacitors. 47µF to 68µF could be used for 50Hz/60Hz, for example. For higher frequencies, eg 30kHz, use smaller capacitances, eg 10µF.

5) Check the connections from the drivers to the bridge MOSFETs. Ensure that you’ve placed a series gate resistor between each driver output and MOSFET gate. Ensure that you’ve connected the virtual ground (obtained using the bootstrap capacitor; for example, this is the pin 5 – VS – of the IR2110) to the corresponding high-side MOSFET source. Check that you’ve connected the high-side output of the driver to the high-side MOSFET gate and that you’ve connected the low-side output of the driver to the low-side MOSFET gate.

6) Check that you have placed a gate to source resistor between the gate and source of each MOSFET. I always use a 1k resistor. If you have a number of MOSFETs in parallel, have a gate to source resistor for each MOSFET. Choose the resistance such that the combined resistance is about 1k. For example, if you have three MOSFETs in parallel, for each MOSFET use a 3.3k resistor. This will give a combined resistance of 1.1k (you can use 3k resistors to get a combined resistance of 1k).

Read here about one of my experiences where I damaged loads of drivers and MOSFETs all due to the lack of gate-to-source resistors:

http://tahmidmc.blogspot.com/2012/10/magic-of-knowledge.html

7) Ensure that you have used the same ground for the drivers and the controller generating the drive signals (microcontroller, PWM controller, etc) and the bridge. Most (all that I’ve used) bootstrap-based high-low side drivers are non-isolated drivers. The input and output stage are not isolated from each other. Hence, the driver must share the same ground with both the input stage (which is the microcontroller, PWM controller, etc) and the output stage (which is the bridge that is being driven).

If you have a faulty bridge design and are making changes to it, replacing some components to try again, I suggest you get rid of everything and construct the circuit again using no parts from the old circuit. A faulty MOSFET can damage the driver and vice versa. A faulty driver may damage other parts and so there may be other damaged parts on your circuit that you don’t even know are damaged.

If you follow these tips/hints, you should be able to successfully design bridge drive circuits with no problem. Following these tips/hints will also help you solve problems in any existing bridge drive circuit.

36 comments:

  1. Hi thamid

    Can you give any idea to simulate dsPIC30f series through visually ,like LCD LED,swiches that should support.
    Can you just add me in your Gtalk ,
    ismailpp2008@gmail.com

    ReplyDelete
    Replies
    1. Could you expand on what you mean by simulating visually?

      Delete
    2. i want to see LED blinking visually[like proteus] by using dsPIC30F series ,But dsPIC33F is there in proteus, i want dsPIC30F series. Any simulator is ther?

      Delete
    3. I don't know of any simulator for dsPIC30F. I used dsPIC33F and Proteus has that.

      Regards,
      Tahmid.

      Delete
  2. Hi tahmid,

    after reading ur tutorials i have some questions on deadtime mechanism of Mosfet driving for full bridge or half bridge SMPS circuit.
    How can one ensure the dead time by programming a micro-controller??
    Is there any hardware available which ensures the dead time automatically for me????

    It will be very helpful if u make a tutorial about dead time mechanism and how to create dead time using mcu programming.

    Thanks
    Mahmud Ibrahim

    ReplyDelete
    Replies
    1. You can ensure dead-time in the code by using small delays between the driving signals.

      There are some drivers available that have programmable dead-time settings. For example, take a look at IR2183 (fixed 500ns deadtime) and IR21834 (adjustable between 0.4us and 5us).

      Regards,
      Tahmid.

      Delete
  3. Dear Tahmid
    Can you please give some idea for adjusting sine PWM fundamental frequency with ADC1 (50Hz) and voltage using ADC 2 with look-up-table method. I tried but it was not 50Hz some unknown frequency for posting the waveform I don't have CRO presently.
    I want to go to my college presently all are in vaccation can u give some so that I will simulate in PROTEUS

    ReplyDelete
  4. Dear Tahmid
    Can you please give some idea for adjusting sine PWM fundamental frequency with ADC1 (50Hz) and voltage using ADC 2 with look-up-table method. I tried but it was not 50Hz some unknown frequency for posting the waveform I don't have CRO presently.
    I want to go to my college presently all are in vaccation can u give some so that I will simulate in PROTEUS

    So sorry for not mentioning my name

    Regards
    Veera..!

    ReplyDelete
    Replies
    1. What method did you use to change the frequency?

      Did you manage to later test with the CRO?

      Delete
  5. good one ...i almost approximate same as this method~~ .... could i ask u supply 300V ... ..POINT A out and POINT B out u connected to Ferrite Core Transformer Then generate Sine Wave ? Or u connected a Iron Core Transformer....I not quite sure about the ferrite core transformer..but for me just use the Iron Core Transformer..

    Tahmid do u have any guide tutorial to teach real practical to winding own transformer ...i hope got the real picture for guide step by step ..not only the theory Concept for guide the Winding Ferrite core Transformer ...i appreciated ur everything in this website

    ReplyDelete
    Replies
    1. Go to http://gum.co/Mjlq.

      Delete
    2. With 300V supply, the two output points are connected directly to load. You'd use a transformer if it was 12V or 24V, or some step up transformer like that.

      I don't know of any specific tutorials regarding winding transformers. You should search on Google and may be look for videos on Youtube.

      Thanks for the compiments! Good luck in your endeavors.

      Regards,
      Tahmid.

      Delete
  6. In engineering, there are good attempts and there are loose-shots....well, the IR21XX series (particularly 2110)is one such. I dont know who uses it, havent seen it in any successful design or commercial product so far in the market. The low side will work fine...But...the Hi-side mosfet will just never stop ringing...no matter what you do....Welcome to the real world. So how do they do it in inverters/converters 500W or above ?.... It takes a different approach. (mail: corollaups@gmail.com)

    ReplyDelete
    Replies
    1. IR2110 is actually widely used. There are many successful designs using IR2110. Why it isn't used in many commercial products is probably more due to its relatively high cost, rather than because it is flawed. It is certainly used in high power circuits.

      What problems do you run into with the high side drive?

      Go through this: http://tahmidmc.blogspot.com/2013/01/using-high-low-side-driver-ir2110-with.html

      Regards,
      Tahmid.

      Delete
  7. Hey bro, awesome blog. Can you show how to design an embedded controller (PIC16F690) which is powered by a single 0.47F 5V supercapacitor. The MCU should be able to turn on and off, and only relying on the capacitor as its power source.

    ReplyDelete
    Replies
    1. The first thing that came to my mind when I read this was that you have to find a way to deal with the capacitor's exponential discharge. With a battery, the voltage doesn't drop too much. A 6V battery, when almost fully discharged, will likely still have >4V EMF. However, the voltage across the supercapacitor will drop all the way down to 0 when fully discharged.

      Just something to think about.

      I'll post more on this later.

      Regards,
      Tahmid.

      Delete
  8. hi tahmid,
    how to design output filter after hbridge to get a pure sine wave?
    my hbridge is working fine and is driven by spwm,but when i connect my filter ,the mosfets of hbridge blown out,, i have tested my hbridge output with resistive load ,and that was working fine,, can u plzz tell me where the problem could be?

    ReplyDelete
    Replies
    1. You need to use an LC filter. Upload the circuit of the output filter you're using, along with the diagram of the bridge stage, driver stage and the SPWM generation stage. I'll take a look to see where the problem lies.

      Regards,
      Tahmid.

      Delete
  9. Hi Tahmid,

    Glad to found your blog. It's very helpful and informative. By the way, I am working on DSP controlled inveter using IGBT. How about using optocoupler first then IR2110 driver for IGBT? will it be possible?

    Thanks.

    Andre

    ReplyDelete
    Replies
    1. You can use the opto-coupler for isolation. But you do need a separate isolated power supply on the transistor side of the opto-coupler, which is the side where the IR2110 will be.

      Regards,
      Tahmid.

      Delete
    2. does it mean that i need to have 4 different isolated power supply for each of the transistor side of opto-coupler since i am creating full bridge circuits? by the way i am using HCPL4506 opto-coupler and IR2181 for full bridge drive..will IR2181 be a replacement for IR2110? I have a 3.3v pwm signal from DSP.

      Delete
  10. i'av the ir2110 at hand but am scared dat if i build one it might not work based on the comment have seen.not even a single person to confirm it working

    ReplyDelete
    Replies
    1. Just go here: http://tahmidmc.blogspot.com/2013/01/using-high-low-side-driver-ir2110-with.html

      You'll see how many people have got it working.

      At the same time, you'll learn about the people who haven't got it working and you can find out from there why they didn't get it to work and what was done to get it to work.

      Regards,
      Tahmid.

      Delete
  11. pls my output is around 64vac instead of 240vac .my dc to dc side is 348vdc.pls what could be the problem with my h bridge? am using irfp460z at d h bridge side.wen i input 12vdc to my h bridge ,it produces 14vac at 50Hz but with 348vdc it output 64vac.pls help.

    ReplyDelete
  12. Can we use this same circuit to drive IGBT?

    ReplyDelete
    Replies
    1. Yes, most circuits that are designed to drive MOSFETs can drive IGBTs. So, you can drive IGBT with the mentioned circuit.

      For more information, take a look at this:
      "Using the high-low side driver IR2110 - explanation and plenty of example circuits"
      http://tahmidmc.blogspot.com/2013/01/using-high-low-side-driver-ir2110-with.html


      Regards,
      Tahmid.

      Delete
  13. hello tahmid,have built a h bridge based on your circuit here using ir2110.it works,thanks .but am having a problem currently.when i join my dc to dc side together with the h bridge.my ir2110 get damage with my mosfet(just two of mosfet) but when i start the dc side first then connect the h bridge,it will work.pls what could be the problem.my dc side is also based on your circuit too

    ReplyDelete
    Replies
    1. Which MOSFETs get damaged?

      Since connecting the DC side and then the H-bridge works, you can add a start-up delay on the H-bridge circuit. So that should fix the problem.

      Which DC side circuit are you using?

      Regards,
      Tahmid.

      Delete
  14. my irfp460 get damage.am usin ur sg3525 circuit.hw do i implement a delay

    ReplyDelete
  15. hi Tahmid
    I have designed an H bridge IGBT ckt and driving by IR2113.But my ic has blown sevreal times.Iam using SPWM from AVR.I used Rg=100ohm.My igbt is fga25n120ant.

    ReplyDelete
  16. Assalamo Alikum Tahmid.. Brother your work really helps us a lot while attempting different circuits. I have a problem of Collector-Emitter voltage drop in IGBT. My circuit is working fine but i m getting 4-5 volts less than the applied DC voltage. Please help me

    ReplyDelete
  17. thanks for sharing information .....i am designing smps using half bridge topology in which vs of ir2110 can not be connected in between mosfet so in that case driving high side mosfet is difficult so help me .....how to drive high side mosfet without vs connected in between mosfet....
    thanks

    ReplyDelete
  18. Can you help me please?
    I want design this circuit but instead 300VDC I will use a 900VDC HV capacitor, the main idea is discharge the Cap in two phases, 7ms of positve period and 7ms in the negative one.
    Regards

    ReplyDelete
  19. Hi tahmid,

    I came up with the h bridge for my application by referring your tutorials. I am getting output for low voltage loads. When i am giving 220v dc as load voltage and my load is actuator coil. The ground side is getting damaged and no switching occurs. I tried with 60w bulb as load and connected the 220v ground to driver ground through a resistor. By doing this the bulb glow while switching and there is some small head it resistor while i performed the switching continuously....

    ReplyDelete
  20. Hi Tahmid, very illustrative examples, how can I do if I have a bipolar power source (+) & (-) in the hv side? should I connect the (-) to common earth in order to have a same circuit reference?

    ReplyDelete