Mysterious FET destruction on high-power H bridge - Page 1
Forum section: electronics / projects

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 04:07:53 pm
content: I have a custom motor driver board design that is failing with shorted drive MOSFETs under certain conditions, but am stumped as to what might be the precise cause of failure. The FET destruction occurs when the control system attempts to fast-stop the motor by backdriving it, which works fine for power supply currents up to 40A or so, but when connected to a 100A supply (as we'd like to in order to achieve the full drive capacity of the motor), after one or two back-drive events the bridge fails completely short.For context, here is the schematic for the H-bridge and associated gate driver - I'm using the MC33883 gate driver in a configuration identical to the reference implementation in the (https://www.nxp.com/docs/en/data-sheet/MC33883.pdf) except that to get the gate switching time down I am using 10R seriesresistors instead of 50R. The DRIVE+/- output signals from this sheet go through a fail-safe relay and then directly to the motor.The sub-sheet to the right is just the 74LVC mux logic for the control signals -> gate control signals; the logic is set up such that the mosfets are driven based on the MOTOR_A/B signals like so:Q2 = A and not BQ1 = BQ7 = B and not AQ8 = ADead time is inserted by the device controlling this board, and a 200ns value is used at a PWM carrier frequency of 100kHz. Here's a trace of the control signal completely switching direction to verify that there's no shoot through - purple/blue traces are the MOTOR_A/MOTOR_B lines, yellow and teal are the low-side / high side gates of a single half-bridge (TP5/6 in schematic above). Some of the ringing is likely my very how-you-doing scope probes, and not actual system noise.The MOSTFETs fail perfectly short - they are able to short a tens of amps to ground without any power dissipation at all, which flummoxed my "which part has become hot" debugging strategy for a while.Initially, I thought the problem might be that the back-emf of the motor was, when polarity was reversed, spiking the rail enough to reach the breakdown voltage of these mosfets, but the part I'm using is the MCU80N06-TP, which has a Vdss of 60V and should be safe. To verify, I took a trace of the motor controller reversing direction suddenly at speed:Teal / Yellow are the motor terminal voltages, and the pink trace is the supply rail. As you can see, it does spike, but I wouldn't think it does so enough to cause damage. Just in case, I added a snubber circuit to the voltage rail like so (J8 here connects to a chassis mount power resistor), replaced the burned out FETs, and tried again.This time, with the snubbing, you can see that the peak voltage caps out a lot lower, and again ought to be well within the safe range for these FETs:But alas, even with this the FETs are destroyed.Does anyone have any ideas as to what might be going on here, or other things that I should try taking traces of to shed more light? Been banging my head against this.Thanks.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 04:15:23 pm
content: I fail to find the current shunt resistors or hall sensors from the schematic. You do have pulse-by-pulse current limit, don't you, right? It's completely necessary in such circuit, otherwise blown FETs guaranteed.A non-related comment, 100kHz is over the sane range in most high power motor controllers. Probably not the cause of your issues, but definitely making things harder, and increasing losses for no reason. Your deadtime alone is a significant portion of your switching cycle. Typically motor drivers this size run at around 10-40 kHz.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 04:25:20 pm
content: We do have a ACS781LL ±100A hall effect sensor in the motor path as well.However, the data from that is not currently used as a break input, just as feedback to the control system - these FETs are rated at 80A continuous / 200A pulsed, which I had assumed would mean we could get away with switching a load from a 100A supply. Is pulsed current failure consistent with the resulting shorted state of the FET? Notably, the FET (package, at any rate) is not hot after failure - thermal camera reports at is only ~10-20°C above ambient.If you do think that this is the problem, we can restructure the board such that if the current goes above (say) 90A the comparator output from that inhibits the A/B motor signals.Thanks for the advice about the PWM frequency - we had been using 20kHz in a previous system, but had received advice from the only person we actually know in real life with motor driving experience, and they had suggested a much higher frequency. We'll revert that back down.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 04:35:07 pm
content: Quote from: rschlaikjer on June 21, 2019, 04:07:53 pmHmm. So you switch to a 100A supply and they die. Question: is the actual motor current different when you switch the supply? Or are you doing the 40A test the same was as the 100A test? (I dunno..no load just spinning free?).Can you kill the fets by doing anything else? Like starting, coasting to a stop, then starting again, on the 100A supply etc..When you have this motor running and you suddenly back drive it..where is that motor current going to go and how high is the voltage going to get when it goes there? Check your Vds and Vgs pathways. Just because you have a "snubber" doesn't mean its working or can do its job. Your PCB layout and parasitics can matter alot at 100A. So can diodes that don't switch fast enough.I'd do some forensics:Failure signature of electrical overstress on power MOSFETshttps://assets.nexperia.com/documents/application-note/AN11243.pdfIf you think about it..failing short is a very specific failure mode. Fets not really intended for avalanche (even though they may have a rating) can fail short from it. Also excess Vgs can fail short as well. (I think..that paper probably talks about it.)Have you been carefully probing (with super short ground lead) directly to the fets themselves to monitor voltages? I would do that. You should be able to catch things in the act. Maybe you can do it on the 40A supply so you dont kill the fet, but see a transient which is borderline or suspicious.I vote Vgs and/or Vgs being exceeded.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 04:46:49 pm
content: QuoteYes - the motor does have some load on it, but it is also just a motor with a very large stall current (134A), so on the 40A supply the acceleration is limited by the lower available power.Here is a trace of the data captured by the control system (not scope) during a destructive test: purple is the PWM (±255), light pinkish is the motor current measured through the hall sensor (±100A range) and red is the motor velocity in arbitrary units. The motor driver survived two oscillations before the FETs croaked and the supply went into overcurrent lockout mode, and you can see the chart trail off to the right.Running in the same direction constantly doesn't seem to cause problems; it seems to be the direction changing that kills it. I'll replace these FETs and give it another test though.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 05:01:59 pm
content: Quote from: rschlaikjer on June 21, 2019, 04:46:49 pmI dont think this really tells much. I would try the other things I suggested in my last post. Just replacing the fets and trying again wont really help unless you make some direct measurements to the fet pins to try and catch the transient(s). Attach only 1 probe to the scope and connect it directly across the area of interest. I.e. Tip to fet D and ground (via very short wire wound on probe) to S, or tip to G and ground to S..etc..Its got to be there. And see if you can figure out what failure mode the fet is in from that document. Failing short nicely and quietly is very different than exploding.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 05:11:02 pm
content: ALSO: Make sure your scope ground is floating relative to whatever you are probing..otherwise boom

author: duak
author_rank: Super Contributor
timestamp: June 21, 2019, 05:52:05 pm
content: I developed a PWM driver in the mid 80's that used a 100 kHz switching frequency. It worked with a 200 VDC bus and delivered 3 phases at 15 A.The MCC datasheet I found for those FETs did not show a safe operating area - it would explain what the peak current actually could be in terms of time duration. When I look at your test to destruction graph, I see the red velocity trace flattening out on the second forward run section implying a current limit. The pink current trace is also not going to zero current before reversing. I think the FETS are going into thermal distress. ie., too much peak current.This current may not be just load current but could be from the recovered charge from commutating the body diode current in the complementary FET. What diodes are in parallel with the FETs? They appear to be schottky. Even though they have a lower forward voltage drop than the FET body diode, they may not take all of the load current, so the FET or its body diode has to carry it. Do you know what the net series inductance ot the load is?C15 and C16 are also contributing to the peak current because they have to be charged and disharged every cycle. Are they there for some sort of EMI reduction? I calculate a 225 mW dissipation from each - small potatoes but it should be considered.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 06:04:46 pm
content: Quote from: duak on June 21, 2019, 05:52:05 pmNotice the pink trace flattening out on the last (dying) cycle? At about 40V. Thats 20V below (in other words, acceptable) the fet Vds rating. Then current drops to zero. HmmOf course if we had Vds and Vgs traces...Don't you think its would be odd for the fet to fail short from overcurrent? Unless its avalanche, shouldn't if fail open?

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 21, 2019, 06:06:18 pm
content: few things i noted from dso captures and datasheet you provided (i may be mistaken):1) Vcc can spike to 26V+ (without snubber) which near the limit of Vcc2 pin of MC33883 (28V)2) during reverse brake. Vcc spike to 26V (Q2's Vd) and Q2's Vs to 32V (without snubber), this put high side mosfets in reverse polarity and D5,D9 clamp diodes are not doing their job, what are D5,D9?3) Vgate for high side mosfet only 15V, with 12V Vs, there is only 3Vgs available. anything greater than 15A will make MCU80N06 works in linear mode. or maybe i'm mistaken high side Vg is 7V (teal instead of yellow trace)? if so, is 7V relative to Vs? or GND? are you measuring with differential probe? a bit confusing here.ref:https://www.nxp.com/docs/en/data-sheet/MC33883.pdfhttps://pdf1.alldatasheet.com/datasheet-pdf/view/1019304/MCC/MCU80N06.htmledit to back emf'ed reply belowQuote from: rschlaikjer on June 21, 2019, 06:08:49 pmhttps://medium.com/jungletronics/dc-motors-against-back-emf-589d8ed174cc

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 06:08:09 pm
content: Quote from: rschlaikjer on June 21, 2019, 04:25:20 pmHere's your problem. (You can, of course, have other problems as well, but this is the most probable primary cause.)IMHO, this pulse-by-pulse limit should be the first thing verified before applying actual power.QuoteA very well tuned feedback controlling a PWMmaybe able to protect the devices, but it's almost unheard of that you could get the response tuned right from the start of prototyping, hence the need for pulse-by-pulse limiting.QuoteYour DC link cap bank can support current only limited by its ESR. It's likely an order of magnitude more than your nominal supply current (otherwise the cap bank wouldn't be very effective).Using excessive FET ratings and doing without active current sense is a valid strategy in very small motor controllers (maybe a few watts), but anything bigger, and the cost of the FETs and their drivers becomes much more than the cost of the current sense.Remember that the motor iron has some saturation current (assume 3 * Inominal if you have no exact information), after which the current rise rate increases and finally shoots up. In this case, energy stored in the DC link cap bank can supply, say, 1000 amperes quite easily, which again may be able to kill the FET in tens to hundreds of microseconds, within one or a few cycles. A feedback loop typically cannot react to this.A bad way to deal with this is to add tons of control logic such as ramps, soft starts, all kinds of edge case detections, but you'll always have some untreated edge case. Hence, do finish the proper pulse-by-pulse current limiting; it's also easier and simpler to understand.You may be able to replace the feedback loop completely with a peak current mode control scheme, in some cases it does the torque limiting for you just fine, in which case there's no need for two separate systems.QuoteYes. Every other cause has the same result, though, so it's hard to say which it was. Basically, excessive Vds, excessive Vgs (in either direction!) - you should use a 500MHz scope to measure either -, or excessive power dissipation in fully or partially conducting is the cause - see the SOA curve (and remember that it's often rated at Tj = 25 degC, which is completely unrealistic).QuoteThe fact that they are not hot only proves that asmalloverload sustaining for a long time, causing slow but finally excessive heating, was not the probable cause. Local die heating can happen in microseconds (which is also why traditional fuses, or input supply current limiting before a capacitor bank, cannot protect semiconductors.) The amount of energy in such event may be very small, but enough to destroy the die (milligrams) or even hotspot a part of the die (micrograms worth of material). After this heat spreads to the package, the temperature increase is almost zero.QuoteThis should always be the first thing you do and verify. I verify it by injecting a test voltage over the shunt (I simply discharge a capacitor through the shunt if I don't have large enough supply on hand!) or through the hall sensor, before actually applying the DC link voltage. If it works, I have excessive currents ruled out, and fewer reasons to blow fets during development. Blown FETs slow down the work, especially if they cause hidden damage to gate drivers and you fail to replace the gate drivers as well...QuoteGoing much over 20kHz might be advisable if dogs start complaining about the high-pitched noise, but even in that case, going over about 30-40kHz is not worth it. Seeing that EVs that typically run around or below 20kHz with a high but clearly audible whine don't cause much complaints, this isn't a usual issue.100kHz itself isn't impossible to achieve, just hugely nonoptimal for such large motor drives. They have massive inductance so the ripple current is next to nothing even at lower frequencies. High switching frequency forces you to increase edge rates to have sensible switching losses, problematic for EMI. OTOH if you drop to 20kHz, you have reduced the switching loss to 20%, and may be able to slow down the edges more (bringing switching losses back up), or add more aggressive snubbers if EMI ever becomes a problem.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 06:08:49 pm
content: QuoteThe parallel diodes are the ST1040STR:https://www.digikey.com/product-detail/en/smc-diode-solutions/ST1040STR/1655-1752-1-ND/6674461They aren't overly beefy - only rated for 10A average recitified - but were added as a bit of a hail-mary to see if it made a difference.The drain-source diode in the MCU80N06 is rated for 80A forward, which again seems like it ought to be capable of handling itself.QuoteAt 10khz test frequency, the LRC meter reports the motor as having 35.5µH of inductance and 7.87 ohms resistance.QuoteI'll be honest, I'm not 100% sure of their purpose - they are copied from the application schematic of the MC33883, page 18:Following cur8xgo's advice, I will try and get some better traces of the gate voltages when driving back and forth on the lower-power supply and report back.I appreciate all the advice so far!

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 06:09:05 pm
content: By the way, haven't seen the layout. PCB design screenshot, or a photograph of the actual device. Hugely important.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 06:12:20 pm
content: Quote from: cur8xgo on June 21, 2019, 06:04:46 pmNo, they typically fail short. Failing open isn't impossible, but a bit unusual. Of course, put enough current through it, and it physically vaporizes, and finally becomes open.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 06:16:27 pm
content: QuoteTo be clear:Fet in avalanche could be killing it (Vds voltage transient)Fet Vgs being exceeded could be killing itOther things people have suggested could be killing it (basically overcurrent pulses besides avalanche..body diode/rdson/linear)Accurate, direct, Vgs AND Vds measurements can rule out the Avalanche/Vgs mode of deaths..allowing you to isolate the problem to something else quite easilyTake your time making these measurements. Differential, only one probe connected, right across the pins, with short ground lead wound on probe, you may need to float the scope ground (yes not safe dont do this unless you are sure its okay). Need to get your trigger right..presumably put it in peak detect and watch things on the 40A supply so your FET's live through it. You should see something even if the fets are dying. Zoom in on the transient and see what you got.I am not saying I am 100% sure its a Vgs or avalanche death. But you can pretty much rule both out if you do some high quality measurements.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 06:18:05 pm
content: QuoteOf course!Here are two pictures of the board in question - first focuses directly on the bridge & has copper pours visible, second gives a full overview with planes off for visibility.I'm sure that there are plenty of newbie mistakes to be seen...

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 06:36:26 pm
content: Quote from: cur8xgo on June 21, 2019, 06:16:27 pmYeah, my recommendation would be to completely avoid FET avalanching, even if they were avalanche rated, because the avalanche energy is difficult to measure exactly. Just scope with a 500MHz BW scope (100MHz is probably barely acceptable, leave a bit more margin in that case), and verify Vds never exceeds the Vdsmax rating, leave a bit (like 10-20%) of margin, remember to measure over the full operating condition range. Then, choosing avalanche rated FET works as a small extra safety margin.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 07:00:50 pm
content: QuoteUnfortunately the only scope we have on hand is a DS1054Z, which is... 50MHz. And stock probes.QuoteWe don't have any differential probes, if that's what you mean - open to suggestions for good ones though! Motor power supply output is floating with respect to scope earth, so no problems there.Here are some initial measurements of the gate-source and drain-source voltages across Q1 during the reversing cycle - each file is named for the measurement, and the current limit of the supply. The probe method is as shown below - stock rigol probe with cap and alligator ground lead detached, ground wire soldered to board and wrapped around the ground tip on probe. None of the gate voltages appear to get close to the Vgs in the datasheet (±20V), but caveat that with our lackluster probe setup.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 07:08:57 pm
content: Quote from: rschlaikjer on June 21, 2019, 07:00:50 pmRun the riglol keygen to crack it to 100MHz. The stock probes are good to 100MHz IIRC. Given your fairly big loop area, it's unlikely you have ringing over 100MHz, but it can be over 50MHz.The layout doesn't look too bad, but spraying low-ESR ceramic caps around could be a good idea for EMI and to reduce the stress of the elcaps.I wouldn't bother with the parallel diodes, reduce the deadtime if you want to reduce body diode losses. Use the area occupied by the diodes to add ceramic or high current film DC link caps.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 07:11:03 pm
content: Quote from: Siwastaja on June 21, 2019, 06:36:26 pmLet me ask you this..as far as avalanche energy on an h-bridge. If one sees the fet is avalanching (Vds flat-topping significantly higher than rated), and we know the current level of the power rails, shouldn't it be straightforward to put an upper limit on what the avalanche energy could be? Length Vds > rated * current of power rails * avalanche voltage = energy? Since only an inductance can push the voltage up higher in order to breakdown the fet in the first place, we only need to look at the inductances in the system and what current level they were at before the switch. So supply bus inductance (100A max), motor current (100A max?)...I think anything else in the circuit will be less wont it?

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 07:24:42 pm
content: Hmm those plots seem okay..Vgs near 15V but thats still below 20V.Questions:-Were you doing the "backdriving" thing during these plots?-Is the scope capable of measuring very short transients? We are talking less than a couple uS..possibly much less.For instance running the numbers...lets say the fet is avalanching at 70V and 100A for 1uS. Thats 7mw every time. If you are switching at 20khz, thats 140W dissipation.If your scope at 2ms timebase wont show us transients that short, then the information to rule out or detect Vgs/Vds death isn't there.You could possible put a very small diode with a low (but higher than supply voltage) reverse voltage across Vds and see if it blows.Or possibly a diode + resistor + cap to integrate short transients over time and let you see them with your scope.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 07:29:13 pm
content: Or you could just set the timebase to 1uS and trigger on voltages higher than Vds...Your scope should show something..at some point if you need huge scope bandwidth to see transients..they are so short it doesnt matter

author: MagicSmoker
author_rank: Super Contributor
timestamp: June 21, 2019, 07:34:17 pm
content: Quote from: rschlaikjer on June 21, 2019, 07:00:50 pmPintek makes decent differential probes that are inexpensive and rumor has it that they are the ones that everyone else copies.Oh, and Siwastaja's comments have been spot-on; you'd do well to pay attention to everything he wrote.

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 07:39:35 pm
content: QuoteYes, during these tests we are doing the same oscillatory driving behaviour.QuoteTried this - with the 40A supply and a timebase of 1uS; the scope did not trigger on Vgs with a trigger level of 15V, and did not trigger for Vds with trigger level of 25V.

author: jmelson
author_rank: Super Contributor
timestamp: June 21, 2019, 07:42:07 pm
content: You have no current limit! You MUST limit the current, with a very fast control path, to prevent failure.But, there may also be another way for failure to occur, depending on the design of the FET gate driver.When one of the half-bridges is sourcing current to the motor (high-side transistor on) and then the high-side is turned off, the motor inductance will try to pull current from that side. This will drive the junction of the high/low transistors below ground. If a fast, low-resistance path is not available, this node can go MANY volts below ground, and that may destroy the gate driver chip. The body diode in the FETs are not designed to handle this current.I had to put in an ultra-fast diode across the low-side transistor to handle this current in servo drives I make. I measured the motor terminal node going to -12V for aver one us without the body diode turning on at all! In your case, these are D8 and D15. How fast are they to turn on? You need something that can turn on in 10s of ns. I use the ES3D, but in your application, you probably need one with more forward current rating.Jon

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 07:52:39 pm
content: Quote from: rschlaikjer on June 21, 2019, 07:39:35 pmHmm. That may be enough for me anyways..to say its not Vds avalanche or Vgs being exceeded. Of course..its not with the 100A supply.Have you considered temporarily swapping in some much beefier fully avalanche rated fets, at least for the 100A test? That way if they survive, you can be sure you are observing whatever killed the wimpier fets.Need to divide and conquer here..get some kind of evidence that it is or is not one type of failure or another. Narrow it and narrow it until its trapped

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 08:07:24 pm
content: QuoteYeah, we can do that - what exactly do you mean by "fully avalanche rated"?For example, the two fields in the datasheet for this TK90S06N1L with 'avalanche' in them are the single-pulse energy and the single-pulse current of the avalanche event:https://www.digikey.com/product-detail/en/toshiba-semiconductor-and-storage/TK90S06N1LLQ/TK90S06N1LLQCT-ND/4815247The avalanche energy is lower than that of the MCU80N06 we've been using, but while the MCU80N06 doesn't actually specify an avalanche current, this Toshiba part does specify an Ias of 90A - would this count as 'fully rated' for this application? Or is there something else I should be looking for.If this seems like something that would fulfill the avalanche ruggedness requirement, I can order a couple of them now to test out on Monday.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 08:26:18 pm
content: Quote from: rschlaikjer on June 21, 2019, 08:07:24 pmCheck this out:https://www.vishay.com/docs/90160/an1005.pdfYou might end up with the impression I got, that is that just because there is an entry in a datasheet that specifies some avalanche something, doesn't mean its the same as a fet which really goes out of its way to show you how avalanche proof it is..for instance:https://www.infineon.com/dgdl/irfp7430pbf.pdf?fileId=5546d462533600a40153562ca5682025Right on the front of the datasheet:" Improved Gate, Avalanche and Dynamic dV/dt Ruggedness"Fully Characterized Capacitance and Avalanche SOA"And that along with AN1005 (which IRF also references) gives you big confidence they are fully okay with you being thermally limited in avalanche and using it in avalanche. Also the page of the datasheet where it talks about its avalanche specs has more data than just a single number.This versus a single avalanche energy value from MCC which, who knows how they anticipate usage in avalanche. Lots of ways to put numbers in a datasheet that don't translate to what you would expect.Anyways this is just a test, I think you should be able to do what you want with the MCC fets you have once you isolate the issue. Better this problem pops up now then later, you can make this really robust before it hits the street.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 08:27:51 pm
content: BTW I just like talking about avalanche. The problem you are having could be completely unrelated. Don't want to get too narrow visioned

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 08:50:58 pm
content: Alright, picked up some of those IRFP7430PBF‎, as well as some IRF3205STRLPBF‎, which also claim to be 'fully avalanche rated' directly in the datasheet. On Monday I'll bastardize these parts onto the board and see how they do. Thanks again for all the advice!And yes, it's possible it's not avalanche - the current limiting has been mentioned by quite a few people now. I'll see if I can also expedite a spin of the board with the proper plumbing on the current sensor. My design intuition for this is to have two comparators connected to the sense line from the hall sensor (which at 0A is at vcc/2), and have one comparator go low when the voltage goes over 90% vcc and the other when it goes under 10%. Then just AND those together and AND that result with each of the A/B control signals to inhibit drive when the current gets high. Any obvious problems people can see with that approach?

author: duak
author_rank: Super Contributor
timestamp: June 21, 2019, 09:17:38 pm
content: When I look at the datasheet for the FETshttps://www.mccsemi.com/pdf/Products/MCU80N06(DPAK)-A.pdfI see a few things:1.) the FET worst case Rds is 13 m ohm. With a peak load current of 100 A, the peak power dissipated is 130 W. Visually integrating the first 500 ms of the acceleration current I estimate about 80 A which gives 83.5 W. This is close to the PDmax of 85 W for the device.2.) the thermal resistance from junction to case is 1.76 C/W. Depending on thermal inertia and diffusion, this implies a possible peak die temperature of 172 C at the end of the first 500 ms.3.) figure 4 on p. 3 shows a positive temperature coefficient of Rds vs die temperature. At 175 C, Rds is doubled, so for the same current, power dissipation is doubled. ie., as they get hotter, they become less efficient.This is a full bridge circuit with an inductive load. This means that load current will flow in the complentary device for some time in the switching cycle. At any given time during the reversal or acceleration time, all devices are carrying the the load current either in the FET or the body diode prorated by the PWM duty cycle. IOW, all the devices are dissipating some power.I think what is happening is that the actual FET dice are heating up rapidly during the first high current time and because the heat doesn't transfer out quickly enough, the second high current time compounded by the positive temperature coefficient of Rds causes the die temperatures to rise enough to destroy the devices.I'm discounting avalanching, but not ruling it out. If it were avalanching, the failure would occur on the first reversal when the recovered mechanical energy from the motor pumps up the supply voltage. That being said, high temperatures exacerbate avalanching and in combination with thermal runaway could be the killer.I would test this by running one accel/reverse/decel cycle then an off period, to allow the temperatures to reach an equilibrium then run another cycle, then let it reach an equilibrium and so on. As the test proceeds, the average temperature of the FETs increase; at some point the peak die temperatures will cause a failure.BTW, the schottky diodes are probably not carrying too much load current as they are rated for only 10 A and have a greater series resistance than the FETs. Are these devices OK after a FET failure?A rough calculation of the extra power dissipation due to the recovered charge from the body diode is Vbus * Qrr * Fpwm = 15 V * 47 nC * 100 kHz = 0.07 W per device. I'd say this can be neglected. In my driver, the Qrr was higher and it operated at a higher voltage so it was a bigger concern.

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 21, 2019, 09:27:45 pm
content: Quote from: rschlaikjer on June 21, 2019, 07:00:50 pmthat is surprising because from your capture.. your high side mosfet should not be properly ON when its Vs reaches near Vdc, and indicating charge pump is not working as well...Quote from: rschlaikjer on June 21, 2019, 08:50:58 pmif you rate your mosfets properly, current limit will not be necessary, it will complicates your circuit further but feel free to follow anyone you like. imo your 80A MCU80N06 is not up for the job of 100A+ stall current worst case, if its me, i will look into 150 - 200Adc (continuous) rated mosfets, or put 2 x parallel MCU80N06 on each H-bridge arm (ie 8 x mosfets all) and do not stress driver IC too much (1.2A instantaneous current in your OP's circuit). but then, there is problem on your gate driving voltage and clamping/freewheel/flyback diodes function from your screenshot...hence i'm not sure beefing up mosfets (or even implement current limit) will fix it until you clarify the problems i mentioned earlier. ymmv.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 09:55:03 pm
content: BTW a nice tool to have in situations like this is a resistive load to compare/contrast. I've recently made multi-kilowatt resistors for testing an full bridge at 125A / ~20V. Take steel wire from the hardware store, calculate how much you need for your resistance, wrap it around a plastic former, and put it in a plastic tank of water. If you just leave it in the air it glows red (or vaporizes/explodes) almost instantly and resistance rises very rapidly. But in the tank of water I found it very stable and tame.If your circuit waveforms (or component lifetimes) have anomalies with a resistive load, it can be easier to analyze and resolve them without the added complexity of inductance and mechanical generator things.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 10:03:03 pm
content: Quote from: Mechatrommer on June 21, 2019, 09:27:45 pmYes I agree with this. A current limit shouldnt be used to protect the fets. Should not be a reason you can't spec the fets to where they are robust enough to handle any situation the motor might throw at them. Any sort of fet protection should be long-time-scale thermal protection, if you need instantaneous current limiting, the circuit isn't very robust. Just my instinct here maybe I'm wrong

author: rschlaikjer
author_rank: Contributor
timestamp: June 21, 2019, 10:11:03 pm
content: QuoteThe voltages on that timing trace should be taken with a grain of salt; I was using some lower quality probes that have convenient micrograbbers but are otherwise not the best.Here is a capture with the actual Rigol probes on Q1 (low side, teal) and Q2 (high side, yellow) gates when driving in one direction with low PWM. The ~23V reading here is a lot more reasonable; I believe that the charge pump is working fine (input voltage rail is 12V)

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 10:19:40 pm
content: Quote from: cur8xgo on June 21, 2019, 10:03:03 pmNo, as usual, he's spewing total and utter bullshit, not having the slightest idea what he's talking about. Current limit can't be avoided in this power level converter. Every single one on the market has it. "Proper" MOSFET rating without a current limit would be completely impractical. Sidestepping the issue is remotely possible, but much more complicated and still risky.Every proper motor controller has this feature. Complication? Maybe, life is such. Without it, it's impractical, expensive, and VERY complicated to get work reliably. And a motor controller without a torque limit, capable of saturating the motor iron indefinitely and blowing the brushes and windings, it just sucks when you can get a nice torque limit with a few dozen cents, and about two components.Mind, "current limit" here means measuring and quickly reacting to overcurrent as a part of your basic design, not some separate circuit at the input. Even one integrated in the gate driver, based on Rds(on)-based (approximate) measurement could do, and could be named "desat protection" for a double purpose. But it must exist insomeform or another.The cost is approx. 50 cents for a shunt and amplifier. All motor PWM controllers (an MCU with three-phase PWM generation, most often) support this input signal. (Break input, overcurrent input, whatever it's called depending on controller.) It's a few lines of code to configure properly.Mechatrommer's "proper" MOSFETs without active current limit would be something rated to 1000A continuous, with like 0.5ohm or less Rds(on), bare minimum, and I'm being really conservative here. With proper 10-20A gate drivers, the cost would be in tens of dollars, and the layout would be massive. And of course, this would be all futile, since now you could easily blow the motor next, and would like to have torque and - tadah - current limiting anyway. Oh, with such 10-100x overengineering, you could be able to do the protection with a traditional fuse, and let the user change the fuse every time it blows. How about an automated, motorized fuse cartridge system which changes a new fuse on the fly after the motor has spun up from an initial stall? To avoid all the complications of current sense!

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 10:50:32 pm
content: duak has the correct answers above as well. This means, once you have the current limit set up and working, you must set it to something considerably less than 100A. Your FETs just aren't up to the task. Start with a 10A current limit...(The 80A maximum rating in the datasheet means that this DC current is possible, if you mount the device to an infinite heatsink perfectly. Basically directly soldering it to a large copper liquid cooling block could come close. This number still neglects the switching losses you additionally have.)Always do a proper thermal analysis. It can be a simple quick&dirty Excel sheet. I do my initial "napkin" Excel calculation like this:1) Multiply the 25degC worst case ("max") Rds(on) by 1.5, to transform it to somewhere around 100 degC value,2) Calculate I^2*R loss at your desired current,3) Assume you have 50% Rds(on) and 50% switching loss -> hence multiply the I^2*R loss by two (This is likely the case with 100kHz switching, if not even worse. Motor controllers sometimes allow you to almost ignore switching losses by using a low frequency (think about 10kHz))4) Try to figure out the junction-to-ambient thermal resistance. For a typical 5x6mm SMD device, or DPAK, it would be around 40 degC/W with a basic footprint, around 20 degC/W with added thermal vias and a lot of heatsinking planes, and maybe down to 10 degC/W when you add thermal pads and metal heatsinks to the game. Collecting information from thermal tables of similar package device datasheets and appnotes helps if the particular datasheet doesn't show the actual thermal resistances (junction-to-ambient).5) Now calculate the junction temperature rise over the ambient.Example calculation for this particular FET.Let's pick 50A as our current:Rdson max 12mOhm *1.5 -> 18mOhmI^2R loss: 50^2 A^2 * 18 mOhm = 45WAssume total loss 2*45W = 90WAssume Rthj-a of 10 degC/W with a bunch of nearby thermal vias and heatsinking from the bottom of the boardTemp rise = 900 degC -> not gonna cut it.Put this in Excel and play around.What's your actual max DC link voltage, and your max motor current you are designing for? In an SMD design, you need to select the parts quite carefully (forcing you to aim for good efficiency), because the amount of heatsinkin is limited, unless you pay premium for aluminum core PCB, or copper filled vias under pad.Finally, a practical design example for reference:The last time I did this, I picked a MOSFET rated with 5.6mOhm of Rds(on) for a 25A continuous, 35A peak motor controller, in a 5x6mm SMD package. Voltage rating is Vds(max)=40V for a 25.2V max DC bus. I use a lot of thermal vias around the FETs, connecting to copper pours on the bottom layer (electrically still connected to the FET drains) and heatsink the PCB from the bottom through a thermal silpad, to the aluminimum case of the product. Current sensing is with 1210 size, 1mOhm shunt resistors on bottom phase legs (between the bottom FETs and GND), amplified by TI INA something current sense amplifier. DC link bypassing is done by a few 4.7uF, 35V X7R MLCCs, and a bunch of 330uF bog standard aluminium electrolytics. This has proven to work reliably.

author: cur8xgo
author_rank: Regular Contributor
timestamp: June 21, 2019, 10:56:43 pm
content: I always thought current limiting in motor controllers was more to protect the motor...? I dunno I don't do motor controllers....I guess it makes sense they would protect the switch too.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 21, 2019, 10:59:32 pm
content: Quote from: cur8xgo on June 21, 2019, 10:56:43 pmWell, the semiconductor switches die intens of microseconds, with minuscule energy easily stored in a small capacitor; motors die intens of secondsor evenminutes, million times slower, and take millions of times more energy to die (of course, a semiconductor die weighs milligrams, and the motor windings and brushes weigh kilograms).So it's an absolute must for switches. And for switches, it needs to be really quick. Motor protection is of course equally important if you think about the usability of the whole system. Motor protection and torque limitingcoulduse slower current sense mechanisms. But, if you do it quickly, these two protections come at the same time, with no extra cost or complexity, using just one measurement path - the one which protects both the switches and the motor - and the fuses as well, by the way.

author: bigamps
author_rank: Newbie
timestamp: June 22, 2019, 12:16:50 am
content: I have not gone through the details and sorry if someone has already mentioned it but do you know if the diodes are sized for the operating conditions you are describing?When reversing the power flow the diodes will take longer conduction times and higher losses.I am more familiar with power transistor modules of much higher power ratings but one of the decisions for their designers is how much real estate within the package should be devoted to the FET or IGBT and how much to the diode. Depending on each particular aplication a module may have perfectly suitable transistors but it may be discarded just because the diodes would not take some operating condition required and blow up. When a module is aimed at covering motor applications it will usually have a fair diode to transistor ratio so that it can operate any direction at similar power levels and also take nice rectified current overloads. Same goes to battery interface converters and other applications. But I am saying usually... I have had some surprises and issues in the past and had to rule out modules last minute because of a diode sizing much poorer than expected. Even once a team of module designers argued it had to do with pressures from their marketing guys : usually the transistor capabilities are easier to sell first glance!An example of a power module doing fine with a diode sizing much smaller than the transistor would be one for a brake chopper stage.Anyway you probably have enough info to figure out whether the problem is related to the diodes looking at the failure modes you are witnessing.Enviado desde mi Aquaris X5 mediante Tapatalk

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 22, 2019, 06:57:17 am
content: Quote from: rschlaikjer on June 21, 2019, 10:11:03 pmyou cant be sloppy when measuring / finding fault on this kind of thing at that power level, otherwise you'll experience what you already experienced, alot of burnt mosfets. and esp when you ask advice from other people. Vg, Vds are important parameters if you want to know exactly whats going on, otherwise you can just simply follow the advice of that Mr Wiseman above and jump to current limit protect circuit. sure it will be the "solution for all" problems your circuit probably gone through, linear operation, shorted output, back emf etc... but i cant guarantee you on that (esp if Vds polarity changes), he probably can. if this one is for one-off, it will be fun to add plethora of protection circuits, thermal protection is another fancy term. but if this one is for mass production to sell to the world, good luck competing with China, even if you have to follow that 10X safety factor margin avionic or toyota grade adviced by that Mr Wiseman. if you work with boeing or toyota (who have firm sale statistics and customers) and have plenty of experience in this then thats fine. but please measure properly to avoid wasting people's time.Quote from: rschlaikjer on June 21, 2019, 10:11:03 pmwell even that capture is weird as mosfet spent 60% of time at 10Vg. back emf / inductive load is weird and i dont claim full expertise, we can wait what Mr Wiseman the knowing all who have the right to give "not utter bullshit" advice will say about this.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2019, 07:07:12 am
content: Dear Mechatrommer,No one can guarantee that adding the current limit solvestheproblem which happened to blow the FETs. (It's very likely, though.) In most beginner circuits, there are more than one critical problem to fix. Fix the most obvious ones first.However, the lack of current limit in this circuit is a 100% certain culprit that will blow more MOSFETs, even if it wasn't the exact cause for this case. This is the reason to fix this thing as a very first step, before doing anything else, to minimize time wasted. This is also why I didn't spend much time to look at the scope traces, and didn't and won't comment about them. You can pay me for consultation to take a closer look at them if you are that interested in seeing my comments.After all, we have seen data of 100A actually running, which is multiple times more than sustainable, exceeding even the wildly optimistic MOSFET front page Id specs. At manageable currents, everything else changes as well, let's see the scope traces again then (with better probing techniques).Talking about avionic or Toyota grade is 100% bullshit. Even the crappiest and cheapest Chinese motor controllers (think about hoverboards and ebikes) ALL have proper current sense and limiting, because it's the right thing to do to get even a barely working product; and it's A LOT cheaper than not having one. Another reason is that these products are used in traction, where the user really wants torque control, and by having a current sense, it comes for free.Fake devices designed to be bricks are an exception. These do exist on Ebay market to some extent. But then again, for this, you don't have to use beefy MOSFETs, or MOSFETs at all. Any devices soldered to any board will do.The fact that you picked up some mysterious "10x safety factor" supposedly claimed by me, shows you didn't understand a word of what I was saying. With an accurate, active current limit, any safety factor can be minimized, lowering the cost. But your way of working with the problem necessitates calculating for worst case current limited by ESRs in the system, which will inevitably be at least 10x.You know, you don't need to reply if you have nothing to say and only want to confuse people? Stop wasting our time, thanks.

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 22, 2019, 07:39:08 am
content: Quote from: Siwastaja on June 22, 2019, 07:07:12 amthe proof is in the pictures. (no picture no proof not justify to be believable) the sharpest eye may find me which one is current limiting. first 4 pictures is recently replaced with beefier mosfet. the last 2 pictures is a working 60A ESC that i dismantled about 4 years ago. at 100A of shunt resistor current sense, thats a "not so heavyweight" shunt. ymmv.Quote from: Siwastaja on June 22, 2019, 07:07:12 am140A+ stall current. 1000A rated mosfet... lets do simple 1st grade math rather than talking nonsense.... safety margin 1000 / 140 = 7X yeah well... not close enough to 10X. but whos confusing who? or simply an exageration?Quote from: Siwastaja on June 21, 2019, 10:19:40 pm

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2019, 07:50:09 am
content: For the cheap Chinese hoverboard PCB, take a look athttps://d3nevzfk7ii3be.cloudfront.net/igi/G1ulQv3mmIFBAUcvThe current sense resistors are below the elcap bank on the left side. Measuring DC link current,afterbulk capacitance. Not perfectly optimal (the Kelvin sensing is done wrong as well), but probably does the job well enough despite the flaws.Yes, if you go back in time enough, you'll find more and more cheap designs without current sense. And they are notorious for blowing up sometimes. Or being more expensive, BOM-wise, than they need to be. But the Chinese have learned, as well.Because, duh, without current limiting, you need to dimension everything for the stall current. And with high-efficiency motors, stall current is many times more than the desired running current. Which again is something a bit more than (like 2x) the rated nominal current.By the way, current sense doesn't necessarily need a resistor. Integrated gate drivers (for example, in TI's DRV series I have used) which sense Vds during on time to implement a current-limit based on Rds(on) exist and are very handy. You can't see that on the layout, it works with zero extra components!Yes, if your particular motor has a stall current of 140A at the full voltage differential (which may be twice the DC bus voltage, if you reverse the motor while running!), then no need to go for 1000A rated MOSFETs. Do proper thermal calculations for 140A, and you'll likely end up with a FET with a front page Id rating of around 300-500A. (By the way, choosing a FET with a bigger front page current rating than your actual current has nothing to do with "safety margins". The front page number is just a wrong number for the job. Use the right numbers and calculate correctly - THEN add safety margin. The better your calculation, the less safety margin you need. Often just 20-30% is enough!)But since younever everwant to run a motor at its stall current - after all, the iron is likely saturated and it's not providing torque for the current - why spend to create a controller capable of supplying 140A, when you can do, for example, 30-40A much cheaper, while still creating the same actual torque, and protect the motor at the same time. I'm baffled at your massive brute force strategy.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2019, 08:40:48 am
content: Sorry I'm still going on about this,There is an actual engineering reason why you don't see current measurement in some cheap Chinese RC helicopter inverters ("ESC"), such as one posted by Mechatrommer.The use case is quite specific, and they have taken the "sidestep edge cases one by one" approach I warned about earlier. It works, because in RC heli motor control, there are fewer edge cases, and most of them are rare occurrences (and people accept that cheap controllers blow up in such rare cases.)Basically, you can just ramp up the PWM in a hard-coded ramp speed to limit initial current to lower than the stall current. Then, the mechanical load on a heli blade is very predictable, it's rotating in free air and the mechanical torque is some fixed exponential function of RPM (which is sensed from back-EMF by the ESC). (Ask aerodynamic / fan design experts to get the exact exponent.)Initial ramp-up taken care of, a sudden mechanical load increase remains an edge case. But if you hit the rotor blade (plastic or carbon fiber) somewhere, it tends to bend or shatter and snap off very quickly - not getting stuck for more than a few milliseconds, maybe.And indeed, I have heard of people using RC heli ESCs to power eBike conversions, with blown controllers resulting. The workaround tip has been, use much larger controllers [so that they are dimensioned for the worst case stall current].Traction on wheels is completely different: stalling with a massive mechnical load for unpredictable time (thing about running steep uphill!) is not some special edge case, it's part of everyday normal operation. Hence you see the current sense even in the cheapest Chinese controllers, if they are meant to drive traction systems (ebikes, hoverboards)...You need understanding and experience to see what is an acceptable engineering trade-off, and when to do them. Don't force application-specific optimizations to general case when it's unlikely they apply.But if you have a mocking attitude againstknowledge, you are bound to fail to build knowledge yourself. Don't do that to yourself.

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 22, 2019, 09:02:27 am
content: fair enough, the end result you end up with less than maximum torque that a motor can give. for traction system (in fact everythings that need motor power is "traction" system) thats fine as you can even beefed up the motor even more. and be ready to get mocked by another Mr Wiseman for those small smd shunts running at 100A+. its reasonable to put current limit on something that can hit a living thing we dont want to hit a cat and cut it into half by the hoverboard. safety, power consumption/efficiency and overall system costs are another aspects to consider, the OP may decide which is more economical between paralleling mosfets or current limit. but without full clue on what his system is doing and the why braking need to be done by reversing h-bridge (i guess there's another better way to do that in the bridge control) saying other options as utter bullshit is a way of Mr Wiseman saying...

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2019, 09:20:26 am
content: Extra torque per ampere you can get out of a high-efficiency motor running near stall currents is marginal. The reason is, the iron saturates, the efficiency plummets and any extra power you put in just turns to heat. The motor iron just can't produce any arbitrary torque out of any arbitrary current, the current-vs-torque curve is fairly linear only up to a point.Think about it this way, a motor which is 90% efficient at nominal current may be only 70% efficient at 2*nominal current, which still makes sense if youneedthat torque and cool the motor (or use it for short peaks only), but then at, say 5*nominal current, the efficiency may be, say, 30%, and torque only slightly more than at 2*nominal current. Diminishing returns.Stall current is just defined by the total ESR of the system, nothing else. High efficiency motors minimize this ESR, so the more efficient the motor, the larger theratio between stall current and sane (productive) currents.For a small few-watt toy motor, the efficiency is crap anyway. It makes very little sense trying to current-limit such motor, just run it off a simplest bridge directly.For a 95% efficient EV motor, the stall current can be 20 times the nominal current.It's all about power level, and the title says: high-power.Current sensing costs about 50 cents. FET cost is easy to substantiate. Development time cost trying to find out why the FETs are blowing up may be priceless.The most complexity and price in a motor controller goes in the power stage FETs, gate drivers, link capacitors, PCB itself, heatsinking, layout design time, controller MCU, and control code. All of this architecture already supports current control very well, it's just a few percents of the total complexity to add one.In my experience, the turning point after which current sensing isalmost alwaysA) cheaper, B) easier, C) better in every imaginable way, is somewhere around maybe 100W of motor power.You make it sound like it's not generally needed, even in power levels we are discussing here. You are horribly wrong in this. You are not just offering "other options", you are offering extremely bad and false advice. You just have so little idea what you are talking about that a fruitful discussion is very difficult, because almost every assumption you make is fundamentally wrong. One more example: you assume running 100A through a shunt resistor would be some kind of weak or expensive link. No it's not, at 100A, every other part needs to sustain such currents as well, 100A shunts arestillrelatively a small part; and what's best, when youdosense current, you don't need 100A parts to handle normally 30Atorque-producingcurrents! You only need them if you are really going to drive motors which still produce actual torque at sensible efficiency at 100A! In which case, you have designed amuchmore capable and powerful motor drive, at practically the same cost.Given the OP's numbers (like actually measuring 100A current, with MOSFETs rated to 80A abs. max at forced roomtemp infinite heatsink), it's a total no-brainer, and questioning the need of current sense in this case is simply utter bullshit, which is why I'm calling you out on it.

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2019, 09:47:58 am
content: For reference, here's my latest one, Vdc = 25.2V, Iout=25A continuous, 35A peak.You can see how the current shunt resistor occupies about 1/8th of the space occupied by the two FETs. Power loss in the 1mOhm shunt is 0.625W, whereas it's approx. 8W in two FETs total (the current always runs through two fets), so it's less than 10% of the loss budget - or if you think in the terms of efficiency, maybe a drop from 98% to 97.8%. These ratios stay even if you scale the system to larger FETs and larger shunts.This shunt power loss percentage (now 10% of total converter losses) could be lower if I didn't need accuracy in current measurement, but I wanted to have it.Also note how I placed the DC link MLCCs. Probably would got away with less, but a low-inductance DC link does reduce ringing energy (up to a limit), and EMC.

author: adrianza
author_rank: Newbie
timestamp: May 18, 2020, 08:26:36 am
content: I don't know if it's still a topic of interest, but at first glance, this schematic can't work properly, which can be seen, asMechatrommersaid, from the capture of the oscilloscope where it can be seen that the charging pump is not working properly.If we read the MC33883 datasheet completely, we will see that there is an entire chapter dedicated to the choice of capacitors depending on the frequency and the MOSFETs used. Also in the datasheet we will notice that the capacitor in CP_OUT must be connected to VCC, not to GND.I built this bridge by reading the datasheet very carefully and it works perfectly with both inductive load and resistive load (28V, 90A, 45KHz).