5
\$\begingroup\$

I've made a driver circuit using IR2101 driver and a fairly large IRF3710 mosfet. The circuit works up to a certain current through the mosfet but then the driver mysteriously fails and pulls both mosfets high generating a short circuit on the output. I'm using 3x of these circuits to drive a BLDC motor with 0.5Ohm winding resistance. I'm able to reach currents of about 3A through the motor before one of the drivers fails.

enter image description here

IRF3710 has ~3100pF input capacitance and 130nC total gate charge according to the datasheets. In terms of voltage used to drive the load I have only gone up to 30v so far. Regardless of whether I use 12V or 30V to drive the load, the driver seems to fail when the load draws around 3A. When the circuit fails, a short circuit occurs on the supply, but nothing gets hot (I have a current limit on the power supply so the short circuit current never exceeds 5A). Still I find it disturbing that failure of the driver causes both mosfets to switch on causing the short circuit. While I will have overcurrent protection in the final circuit, I still find it quite bad and would like to make sure that chances of this kind of failure are close to nonexistent.

I have a few theories about what may be the problem but I have not been able to pinpint exactly what it is because I think it has something to do with a transient condition that happens very quickly not giving me enough time to see it on the scope. The IR2101 chips have failed repeatedly on 1 or 2 of the stages during my recent tests. The motor spins up to a certain point, then as I increase the motor speed (current increases as well) one or more of the drivers fail. None of the mosfets have failed so far though.

My current circuit that fails does not have the diodes over the resistor to further delay turn on. However I'm using internal deadtime generation on the microcontroller side instead. I have also been using 0.1uF capacitors without any difference in the switching waveform. My pwm rate is 30Khz. Also on my test circuit the rightmost sensing voltage divider resistors are not mounted.

I'm aware that the 2101 driver is perhaps not the optimal chip to drive these large mosfets because it can only provide 130mA of gate drive current. The datasheet also specifies 270mA negative current but I don't quite understand what that means. Is it the current generated when gate is discharged?

Questions

  1. Could there be an issue with using smaller capacitor besides slower turn on times?
  2. Could it be an issue that the negative current is specified at 270mA and the gate discharge current happens to be higher than that and goes directly through the driver burning it?
  3. Would ir2110 be a better driver choice for these mosfets? Is there any other driver similar to the ones I use right now that can provide much higher currents (assuming current rating is the issue)?
  4. Can the above circuit work at all or do I have to completely redesign it?
  5. Should I maybe use a larger resistor in series with the gate to protect the driver against possible reverse currents? (if that is even a possible issue here).

Edit: the problem of driver chip failure occurs as the motor speeds up and current through the motor is around 3A. Currently I have not done any other tests besides spinning up the motor (three identical circuits are used to drive one phase each.) Typically driver in one of the phases fails. At first it happened twice on the driver furthers away from 48v connector. However latest failure occured on two drivers at once - the one closest to the 48v connector and the one furthest away. The middle one continued to switch as normal - the broken ones went into locked state with both mosfets switched on causing a short on the power rail. Replacing the driver chips fixes the problem - only until next failure.

edit:
Current layuot (work in progress). I have added a single 47uF 63v cap in the middle at the top.
enter image description here

Summary of working solutions

So far adding bypass caps on 48v rail seems to be the solution (I added one 47uF 50V electrolytic and 2 0.1uF ceramics). I think it is early to say whether this really did make the issue go away completely but after more tests today no driver chips were burned. I was able to spin up the motor to speeds at which it draws 5A and do instant spinups from zero to full throttle as well as instant stops without burning anything so far.

  • Added bypass capacitors
  • Reduced gate series resistors from 100Ohm to 36 Ohm
  • Added diode on path from 48v supply to bridge (prevents regenerative current going back to power supply)
  • Added voltage clipping across the 48v rail (TVS/Zener) to let regenerative voltage spikes go to ground (provides a much needed path for high voltage spikes when current can not flow back to power supply)

The application note AN-978 was very helpful as well: http://www.infineon.com/dgdl/an-978.pdf

\$\endgroup\$
  • 1
    \$\begingroup\$ Please post layout. I suspect an inductive spike or something... \$\endgroup\$ – peufeu Apr 14 '17 at 10:03
  • \$\begingroup\$ My first idea is to protect VS pin against negative overshoots with 15V TVS in parallel to C6. \$\endgroup\$ – Bogumil Apr 14 '17 at 10:10
  • \$\begingroup\$ @Bogumil I've never seen such configuration. Can you elaborate when such condition would occur and how putting a tvs across the capacitor would help? Datasheet says that driver is operational up to 600V switching voltage. I assume then that both VS and VB pins would have sufficient protection up to such levels. \$\endgroup\$ – Martin Apr 14 '17 at 10:34
  • \$\begingroup\$ @Martin Datasheet absolute max. ratings table specify VSmin = VB-25V, recommended table says 10-20V. It doesn't mention it's internally protected. \$\endgroup\$ – Bogumil Apr 14 '17 at 11:13
  • 1
    \$\begingroup\$ If 48V is not properly bypassed then of course everything will blow due to voltage spike caused by energy stored in wiring inductance having nowhere to go. \$\endgroup\$ – peufeu Apr 14 '17 at 12:26
4
\$\begingroup\$

OK, so seeing your layout, the reason it fails is lack of decoupling on the +48 rail. This can manifest itself in two ways:

  • When top FET turns OFF, current in the supply wires cannot go to zero fast enough due to wiring inductance. This inductance creates a positive voltage spike on +48 rail, which blows the FETs and the driver. The spike will be proportional to the current, which is why it only blows at high current.

Solution: decouple +48 rail.

  • If the motor is used as a generator (regenerative braking) then the power it generates will end up on +48V rail, causing voltage to rise.

Solution: if you use motor as brake, you will need something to absorb this energy, like a comparator which turns on a FET and dumps the extra energy into a resistor if the +48V exceeds, say, +50V.

How to decouple:

  • Add 100nF MLCC or larger, one per FET, as close as possible to the drains.
  • Add low-ESR cap(s), with ripple current rated for the motor current.
\$\endgroup\$
  • \$\begingroup\$ Ok, it seems we are on to something here. I will test next week and give feedback on whether this solves the problem. Question though: through what mechanism does it blow the driver? The FETs have never blown for me - it is only the driver that fails. Is it because this voltage spike on the drain of the top FET also creates a voltage spike on the gate as it is discharged and this spike gets absorbed by the driver chip and burns the chip? \$\endgroup\$ – Martin Apr 14 '17 at 13:38
  • \$\begingroup\$ Should I decouple each FET or each pair? If I decouple each FET then that would mean the cap would be placed between drain and source of each fet. Is that correct? Also, your last two suggestions: are they mutually exclusive? Where do you mean that I should place the low-ESR caps? \$\endgroup\$ – Martin Apr 14 '17 at 13:59
  • \$\begingroup\$ Sorry, I meant one ceramic cap between +48 and GND on each FET pair, for local supply decoupling. I'd add electrolytic caps too, the one you put in your layout seems in the proper place. Since these will carry HF current ripple, make sure they're rated for your ripple current (use the 100kHz rating in datasheet). As for why it blows, no idea, but spikes can couple through FET capacitances and go to the wrong place... \$\endgroup\$ – peufeu Apr 14 '17 at 14:16
  • \$\begingroup\$ This seems to work. I put a 47uf electrolytic and 2 0.1uf ceramic caps on my test board and was able to drive it up to 25v 5A and doing instant spinups zero to full throttle and instant stops as well and it seems to be ok. I have also reduced the gate series resistor to 36Ohm. \$\endgroup\$ – Martin Apr 17 '17 at 14:44
  • \$\begingroup\$ Good news then ;) \$\endgroup\$ – peufeu Apr 17 '17 at 15:26
0
\$\begingroup\$

The gate resistance is way to high 100 ohms, the parallel resistors R17 and R18 are not supposed to be there, as they just spoil the performance of the bridge. Not sure if the diodes D8 and D9 without a series resistor are OK.

You should read the datasheet and some application note, and not put elements "by the way" with the schematics you got in your dreams.

Why it has failed: Because the gate resistances are too big, the switching rise time is very big, therefore the MOSFETs are cross conducting at the same time making a short.

EDIT:

You can try (only my opinion, without calculations):

  1. Remove R17 and R18

  2. Remove diodes D8 and D9

  3. Replace resistors R15 and R16 with 10 ohm resistors.

\$\endgroup\$
  • 2
    \$\begingroup\$ 1. My reason for R17 and R18 is as pull down resistors to pull the gate down to make sure it doesn't accidentally come on from disturbances if the driver happens not to drive it. Other people had more problems without them when using ir21xx drivers. \$\endgroup\$ – Martin Apr 14 '17 at 11:53
  • \$\begingroup\$ 2. The diodes are for delaying turn on and making sure turn off is very fast. As I mentioned in my post, these are not present on my test board right now. I have added them to the schematic afterwards. So they are not part of the problem right now. 3. Will try this definitely for my next test. Is it possible to go way too low here? I have seen schematics using 330 resistors. I don't find that rise time is a problem. I have enough dead time to make sure gates do not short. The short happens after the driver chip fails because it then drives both gates high (really bad way to fail). \$\endgroup\$ – Martin Apr 14 '17 at 11:56
  • \$\begingroup\$ @Martin Increasing the Rg won't delay the turn on time, but it would make a slow turn on. A slow turn on makes a lot of switching loss, that turns into heat possibly destroying the MOSFET. Where have you seen resistors of 330, it could be that they were 3.3 ohm? Make more sense. \$\endgroup\$ – Marko Buršič Apr 14 '17 at 13:02
  • \$\begingroup\$ @Marco: Some conflicting advice here. Trevor above suggested even that I use 370Ohm instead. My tests only confirm that higher resistance increases turn on time. However after reading several application notes (I will try to find exact ones) it seems having these resistors is a good idea as means of protecting the driver - higher R means lower maximum current. My tests show that 100Ohm is "ok" in terms of turn on time. I'm just curious, considering that I do have deadtime and I'm not currently trying to optimize the throughput yet - does having high resistor values pose any other problems? \$\endgroup\$ – Martin Apr 14 '17 at 13:46
  • 1
    \$\begingroup\$ @Martin Don't remove R17 and R18. You want a defined startup state. \$\endgroup\$ – winny Apr 14 '17 at 14:12
0
\$\begingroup\$

I see a few things...

  1. I think your gate R value are actually too low. You need to drain or fill the gate capacitances as quickly as you can. However one of those capacitances can go to the 48V value as the bridge switches. As such the resistor needs to be closer to \$370\Omega\$

  2. The extra pull-downs are not needed.

  3. The extra diodes across the gate resistors is only adding to the capacitance problem as well as adding a switching delay and a path from the switching transient voltages to get back to the device.

  4. The diode you show is only rated for 40V. It needs to be at LEAST 60V, especially D3 and D8.

  5. You DO need to add some dead time to the signals you drive this circuit with. You say you are already doing that so it is good. Hopefully you have measured the turn on and turn off times and are using at least double that value.

ADDITIONALLY

You have not shown how you are dealing with the fly-back currents in the above schematic, or shown how the motors are connected or your grounding system. All of these can create issues.

\$\endgroup\$
  • 1
    \$\begingroup\$ My "rather naive" idea so far has been that the fly-back currents are to be handled by the built in flyback diodes in the FETs and heat that generates can be dissipated to a heatsink of sorts. How would you handle it externally for a 3 phase motor (3 wires, star configuration)? Possibly I will also add a comparator as @peufeu suggested above for case when voltages generated by the motor as it spins exceed 48v and dump that into a resistor.. I'll need to think about this in the context of regenerative braking a bit later I think. \$\endgroup\$ – Martin Apr 14 '17 at 14:46
  • \$\begingroup\$ @Martin Yes the flyback diodes do protect the mosfets, however you also have to take into account where the current goes after that. If it is driving back into whatever is supplying that rail it can cause some rather unfortunate effects. See this question I wrote electronics.stackexchange.com/questions/298439/… \$\endgroup\$ – Trevor_G Apr 14 '17 at 14:54
  • \$\begingroup\$ @Martin btw, I am not overly keen on that series of devices configured that way for driving mosfets. The theory is good, but they really don't have enough oomph to quickly switch bigger capacitance gates. To do it well you really need to add another push-pull stage NPN-PNP in between at which point you are really ramming a square peg into a round hole... \$\endgroup\$ – Trevor_G Apr 14 '17 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.