PDA

View Full Version : Mosfet driving and bridge



Erik Friesen
08-16-2011, 04:02 AM
In this design, I am using the mcp14700 (u2 - 4) - http://ww1.microchip.com/downloads/en/DeviceDoc/22201a.pdf and the Infineon ipg20n (u6 - 8)- http://www.infineon.com/dgdl/IPG20N06S2L-50_DS_10.pdf?folderId=db3a304412b407950112b4322c6d 574b&fileId=db3a30432313ff5e0123a3bf936226b1

R8-13 are 15 ohms. Is this a mistake? Should these be straight through?

Here are the symptoms. Mosfets and drivers are running warm to the touch, not hot. However, when the motor (brushless)gets under load, or gets into a debug type jerk and start due to testing, it is blowing both the driver, and the mosfet, although not every time. Failure is a demonstrated by a high current draw from the 5v reg, which is usually from the 14700 driver. Loads are less than 1.5 amp at this point.

Phil Pilgrim (PhiPi)
08-16-2011, 04:27 AM
H-bridge failures are sometimes a symptom of "shoot through", as might occur during a direction reversal. Are you sure you're providing enough dead time while switching between high- and low-drive on each side of your H-bridge?

-Phil

Loopy Byteloose
08-16-2011, 05:40 AM
Handling heavy power, especially inductive drive circuits, has a lot of nuances that simple low-power digital circuits do not. You might save yourself a lot of trouble by including some good old fuses in the circuitry until you complete development. It wouldn't hurt to leave them in even after development, just use higher values onces you have everything right.

Erik Friesen
08-16-2011, 12:08 PM
I hadn't thought of "shoot through". I don't know if that could be the issue or not. If it is synced with the off PWM cycle, that wouldn't be an issue, would it? That does merit some consideration though, as this typically has happened when the commutation gets out of sync. It could only be switching time though, not a messed up commutation. The commutation is done with a series of constants, based on existing well proven code. I am just tweaking the bemf sensing, and other related parameters.

Capt. Quirk
08-17-2011, 07:38 AM
My information on gate resistors: they are necessary for reducing rf oscillation in the mosfet, and
that you must consider the gate load capacitance to determine the resistor value. Possibly to
decrease losses by fine tuning the gate drive voltage for a given frequency?

May not be the problem, but it's a learning experience for me,.

Leon
08-17-2011, 09:07 AM
Erik,

How are you generating your PWM? PICs that are used with BLDC motors have dead-band built into their PWM peripherals.

Have you incorporated all those precautions mentioned in the Microchip data sheet?

Erik Friesen
08-17-2011, 11:24 AM
@leon, I am using an1160 based code. That code isn't using the dead band. It is using a timer to change the p1ovdcon reg at commutation, so that isn't synced to the pwm I now realize. I did most of my initial work using the mclv demo board, didn't have any trouble out of it. Its rated at 15a, 48v however, is using much larger mosfets than I.

Which data sheet do you refer to?

@capt quirk
The data sheet for the mcp14700 gives no recommendation and does not show resistors in their sample schematic, thus the uncertainty.

Leon
08-17-2011, 12:01 PM
The one you mentioned, for the Microchip driver chip. There is a lot of design information in it. I'd use a dsPIC for BLDC motor control:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2125&param=en542235

Erik Friesen
08-17-2011, 12:30 PM
Its a dspic.

This is a four layer board, so ground and power come from internal layers.

Capt. Quirk
08-17-2011, 07:43 PM
From what I have learned (in the last 24 hrs) is that your resistor value is
based on your hardware and your software, and is used to fine tune the
gate voltage in order to reduce switching losses that may increase heat.

So, I am curious what your gate drive voltage is, is it regulated, the pwm frequency.

I believe, that with this information and what you supplied, I could calculate
your switching losses that may be contributing to the heat.

Erik Friesen
08-17-2011, 07:48 PM
No, actually the resistor has been a seat of the pants thing, unfortunately. The mclv demo board uses resistors between the drive and gate. The mcp14700 data sheet is a bit fuzzy, but alludes that a resistor is not needed. I have been experimenting with 40-80khz switching speeds.

Phil Pilgrim (PhiPi)
08-17-2011, 07:50 PM
The resistor value (including the driver's internal resistance), combined with the gate capacitance and the drive voltage and PWM frequency, will determine what percentage of time the MOSFET is in its linear region. This, largely, is what determines the amount of heat produced, unless the MOSFET is underrated for the load it's being asked to handle.

You can get a feeling of this by looking at the gate voltage (post-resistor) on an oscilloscope. Are the leading and trailing edges of the PWM vertical, or do they rise and fall more slowly? If the latter, either your resistor is too large, your gate driver is inadequate, or both.

-Phil

Capt. Quirk
08-18-2011, 12:10 AM
There are many mosfet appnotes, this one is my favorite. Page 8 is great, I also referenced pgs 11, 44.

Erik Friesen
08-18-2011, 02:35 PM
This isn't so good. This is with 0 ohm jumpers between the gates and drivers. This is the low and high side of one bridge set gate. For starters the dead time isn't working, next I will have to work on the ringing.

Phil Pilgrim (PhiPi)
08-18-2011, 04:25 PM
Erik,

Are you sure the ringing is still there when you remove the scope probes? Yeah, rhetorical question, I know; but how are you probing the gate, and where are you connecting the ground lead? In situations like this, it's best not to use the ground lead with the alligator clip, but to attach a short wire to the probe's ground collar and solder it directly to the MOSFET's source pin.

-Phil

Erik Friesen
08-18-2011, 04:55 PM
Yet another thing, yet simple, I was only using a 470uf aluminum to directly bypass the motor supply. Adding a .1uf cap has made a large difference. I suspect a few problems are related.

I suppose it could be ringing because of the probe, but wouldn't that show up in other places? The whole probe ground thing is murky in my mind, as my scope has them all tied together internally, as well as to the ground plug on the plugin. (fluke pm3382) Really to do it right a person ought to have a differential probe set, which I can't afford right now.

Phil Pilgrim (PhiPi)
08-18-2011, 05:13 PM
Another potential source of trouble could be the grounding. It's not a good idea to connect the motor's return supply (i.e. the minus side) to the ground plane and hope for the best. The motor ground and logic ground should be treated as separate circuits and connected together only at the MOSFET itself, so that motor currents do no run through the ground plane.

-Phil

Erik Friesen
08-18-2011, 05:18 PM
Well, what I have done is create a small power plane containing the bypass caps, which then feeds through to the ground plane through a shunt resistor. May not be enough.

Erik Friesen
08-18-2011, 05:32 PM
I am getting quite sure that what is happening, is the driver is latching both low and high together under certain conditions. I can catch it on the driver side, and have confirmed that the mcu is not commanding it. I am puzzling the cause.

Capt. Quirk
08-18-2011, 08:50 PM
[QUOTE=Erik Friesen;Here are the symptoms. Mosfets and drivers are running warm to the touch,
not hot. However, when the motor (brushless)gets under load, or gets into a debug type jerk and start
due to testing, it is blowing both the driver, and the mosfet, although not every time. Failure is a
demonstrated by a high current draw from the 5v reg, which is usually from the 14700 driver.
Loads are less than 1.5 amp at this point.[/QUOTE]

I am curious if your problem occurs before you start sampling the zero-cross? and if your load is a propeller.

Also, I have been reading about motor misfiring or not being in sync from start up to the zero cross range,
and programming for that possibility. I have also read about "over-current" protection during start-up, but
I think that may protect the motor coils?

Erik Friesen
08-20-2011, 04:46 AM
This cannot be related to commutation. The same code works on the demo board. I have noticed that the demo board does not show any voltage loss in the power area. Note my board shows no spikes in the driven heart shaped area, which shows voltage loss is occurring somewhere. (ch2 is the filtered signal to the chip)

I have started to suspect a transient problem, or at least enough to fry the driver chips, which in turn then fries the mosfets. I also suspect the IPG20 mosfet is way overrated in the datasheet. Or, the 15a avalanche rating is not enough for my motor.

Its a learning process by force.

Capt. Quirk
08-21-2011, 08:41 AM
After more reading on failures of mosfets and their drivers caused by power spikes; A common cause was that a supply (boot) capacitor
was unable to deal with the spike. That very low esr ceramic caps are preferred over electrolytic, and that an x7r temp rated ceramic capacitors
are recommended.

Bill M.

Erik Friesen
08-22-2011, 03:01 AM
Look at these two driver arrangements. Can you explain the difference? I feel like the key lies with getting myself to understand what these drivers are doing, and how they are getting the voltage to the the high side driver. When I probe the ir2181 driven gate, the voltage is clean, from 0 to on, to 0. The 14700 drives high, then drops to below gate threshold(as near as I can tell), then slowly drops, but not clear out to zero.

Phil Pilgrim (PhiPi)
08-22-2011, 03:10 AM
Erik,

How did you create your PDFs? Neither one opened in my PDF viewer but caused errors, and all I got was blank pages.

-Phil

Erik Friesen
08-22-2011, 01:24 PM
I used cutepdf from a pdf, and didn't check them before I attached them.

Mark_T
08-23-2011, 12:08 AM
What are the motor winding specs? RC brushless motors have ultra-low winding resistance for instance. Those MOSFETs don't seem to have any heatsinking so will only do about 0.3W per package (0.15W per MOSFET) without getting very hot, limiting them to less than 2A or so...) and are rather poorly speced for driving an RC brushless motor (5 milliohms would be more like it than 50 milliohm). What current can the supply give? Are you sure its only 1.5A? All that ringing on the gates suggests the driver's haven't got proper decoupling (they need a lot of decoupling as MOSFET drivers switch something like 10^8 amps/second) - 0.1 and 1.0uF ceramic per driver chip would be a good start I think.

Erik Friesen
08-23-2011, 03:20 AM
Those mosfets have a metal plane on the underneath side, I think they can do better than 0.3w. Tell me where my calcs are off, but at a max of 2 amps, that is 2a * .05 ohm * 2a = .2w * 2 = .4watts + switching. The datasheet specs these at 65w, which I think is rubbish.

The supply can give 4 amps or so, but peak pulse amps are much higher, I estimate closer to 10, based on mclv testing.

I don't know if I have it figured out yet, but one major source I have identified is fairly severe ground bounce, enough to reset the uP. 100 ohms resistance on the gates has made a huge difference. I think the ground bounce was also affecting the driver outputs. These mosfets switching speed is specked at 5ns rise time, 15ns fall, compared to the mclv board at 250 rise, 140 fall.

I also changed the .1uf bypass caps on the driver for 1 uf, now the switching and driving waveforms look the same as the mclv board.

Yet another problem, I have forward and reverse constants, I had accidentally added a 0 to the end of one, thus one direction was causing issues.

http://www.hobbypartz.com/86ma64-2215-740kv.html Yes I know, its not rated to 24v.

Capt. Quirk
08-23-2011, 09:06 PM
Will slowing down your pwm help? Most speed controllers would run at only 30 - 40 khz.

Erik Friesen
08-23-2011, 09:11 PM
I think the problems described above are taken care of, mostly. I do have a new one I am pondering. Note how the output jumps up after each pulse. If due to increasing current the 'jump' gets close to the next pulse, it simply quits driving the mosfet every other time. I think it has to do with resonance in the motor, but I can't find much info on it. I think it is pushing the wrong way on the boot cap at just the right time.

Capt. Quirk
08-24-2011, 05:04 PM
Did you change the Capacitor to a low esr ceramic? the IR & Microchip mosfet driver data sheets recommended it, and it was part of the the MCLV board.

Erik Friesen
08-24-2011, 05:17 PM
This is what I am using. http://www.mouser.com/ProductDetail/Kemet/C0603C105K4PACTU/?qs=sGAEpiMZZMvQvaS66kI3Tgu8GvNES3US7zIId5fVdYM%3d

Are you suggesting that I need to get a ceramic that is specked as low esr? There is only about 4 0805 size ceramic caps listed as low esr at mouser, and they are all y5v.

The mclv is using 3.3uf tantalum for the bootcap, which I doubt is lower esr than a ceramic.

Capt. Quirk
08-24-2011, 11:55 PM
In your mcp14700 data sheet, pg 13 covers your decoupling and boot capacitors recommendations
I spoke about. But I haven't found my other International Rectifier source, other than DT98-2, pg4 speaks
about ceramic low esr for the decoupling, or the use of a ceramic or tantalum boot cap, with
no decoupling cap. If I find the source, In will pass it along.

I have my own BLDC project that has been moving slowly for the last year or so, and I have
been anxious to learn about anything that pertains to BLDC esc that may help me out. I had
previously read about mosfets, and their drivers grenading because of the Boot Capacitors, so
your thread was interesting. But unfortunately my enthusiasm gets the best of me.

Didn't mean to offend

Bill M.

Erik Friesen
08-25-2011, 12:04 AM
Not offended. I just get kind of direct sometimes. All help so far has been constructive, I feel it has helped me move this forward.

My thought is that 'low esr ceramic' is a little vague. I downloaded a datasheet for a ceramic that mouser speced as low esr, there was no info in the datasheet with any specs to back it up.

It is possible that that is the issue I suppose, that the boot cap lags enough at the wrong point.

Erik Friesen
08-31-2011, 04:40 PM
Based on some more trial and error, here is what I have learned, maybe this will help someone else.

The mcp14700 is only capable of driving the source to gate to vdd, or 5v, so pick mosfets accordingly.

I tried two in the series, one with 610pf, the other with 1700pf input capacitance. The boot cap must be sized according to mosfet input capacitance. If the boot cap is too small, it starts misfiring at greater pwm times. The 14700 apparently is unable to fully drive the larger mosfet with a 1uf boot cap. The symptoms are misfires, which you can see on the scope as missed pwm spikes, typically spaced every other one.

These fets run about 70C at 1.5 amp approximately.

Erik Friesen
09-02-2011, 12:27 AM
Yet another addition, I think that the source to drain diode dissipation is a factor also, I suspect it is more than the resistance losses.

Erik Friesen
09-17-2011, 12:12 AM
More ponderings, does anyone know if active field collapse is possible with a 3 phase bridge? http://www.modularcircuits.com/h-bridge_secrets2.htm

Mark_T
09-17-2011, 10:14 AM
Those mosfets have a metal plane on the underneath side, I think they can do better than 0.3w. Tell me where my calcs are off, but at a max of 2 amps, that is 2a * .05 ohm * 2a = .2w * 2 = .4watts + switching. The datasheet specs these at 65w, which I think is rubbish.

The supply can give 4 amps or so, but peak pulse amps are much higher, I estimate closer to 10, based on mclv testing.

I don't know if I have it figured out yet, but one major source I have identified is fairly severe ground bounce, enough to reset the uP. 100 ohms resistance on the gates has made a huge difference. I think the ground bounce was also affecting the driver outputs. These mosfets switching speed is specked at 5ns rise time, 15ns fall, compared to the mclv board at 250 rise, 140 fall.

I also changed the .1uf bypass caps on the driver for 1 uf, now the switching and driving waveforms look the same as the mclv board.

Yet another problem, I have forward and reverse constants, I had accidentally added a 0 to the end of one, thus one direction was causing issues.

http://www.hobbypartz.com/86ma64-2215-740kv.html Yes I know, its not rated to 24v.

That motor's windings are 0.215 ohm, driven from 24V supply they will take over 100 amps worst case from the motor supply decoupling caps... You need beefier MOSFETs, 0.01 ohm or lower Rds(on) or better.

Have you been testing at 24V? Always start with a low motor supply voltage and checkout the waveforms before ramping up the power - doing this (and limiting the current with a power resistor) can eliminate expensive blown chips ;) (Stick to the rated voltage, these motors are already at their thermal and mechanical limits).

Make sure your PWM frequency is sensible for the inductance of the windings (BLDC RC motors have low inductance)

The bootstrap caps should be around 10 times the effective gate capacitance of the MOSFETs (which is the total gate charge divided by gate drive voltage). Too large and the bootstrap diode may blow, too small and the high-side gate drive will droop.

Keep the traces short and wide for the bootstrap components, place lots of ceramic decoupling right next to the drivers (much larger than the bootstrap caps). Don't run groundplane under the bootstrap or output traces, do run groundplane under the logic signals (and keep them away from the bootstrap and output traces). Basically minimize stray inductance and capacitance for the high voltage side.

You might want to consider a 3-phase driver like the the HIP4086 rather than 3 separate drivers.

Erik Friesen
09-17-2011, 02:12 PM
Are you sure about 100 amps? I think when you take into account inductance that that may be different. I did some extensive testing using the microchip mclv board, which has current sensing built in. I found around 8 amp peaks, depending on pwm period. The mosfets the mclv uses have an rds on of .026, in d2pak size.

I am currently at 20k pwm.

My new design uses the NTD5865NLT4G http://www.mouser.com/ProductDetail/ON-Semiconductor/NTD5865NLT4G/?qs=sGAEpiMZZMvECErq9cesgAUNEE%2fUZZuqxMuje5ZW5os% 3d and the L6388 http://www.mouser.com/ProductDetail/STMicroelectronics/L6388ED013TR/?qs=6hSH1YZbOIgtbL%2fVTQr83Q%3d%3d and two ceramic 1uf bootcaps.

So 29nc/24V = 1.2?? uf??

They still run hot, but workable. I may need to tune my gate resistors. I also suspect that adding schottkeys to take the field collapse load off the mosfets, and lower the voltage drop would dramatically lower power dissipation.