-   DIY / How-to (
-   -   Why is my homebrew controller blowing mosfets? [Solved] (

electrowizard 07-08-2010 02:03 PM

Why is my homebrew controller blowing mosfets? [Solved]
I'm working on a homebrew controller inspired by P+S's controller.

However my controller keeps blowing mosfets and I do not know why!

I'm currently testing at 12V with a 1999 sunfire starter as the load.

mosfet digikey part # IRLS4030TRL7PPCT-ND
[not allowed to hyperlink yet]

The failure mode for my mosfets is shorted source-drain, which is apparently the common failure. Earlier tests shorted source-gate-drain but that hasn't happened recently.

I know of two reasons why this happens:
1. Vgs is too high and you blow the gate insulation.
2. Id is too high and the transistor overheats

When switching the gate without load (i.e. main battery disconnected) the gate drive looks good, little overshoot and no ringing. Since I had no TVS and long gate drive leads I thought maybe I was breaking down the insulation when the starter was drawing current (Vgs_max on these mosfets is +-16V, and I am driving 0 to +12)

Last night I added a TVS with as short a loop as possible from the source to gate lead. I kept the 10 ohm gate resistor. The gate drive was significantly slower; I used to have 10ns rise/fall times, now I have 600ns rise/fall. I am thinking the TVS must have a large capacitance to drive, though I am not sure why it would be so massive.

Anyways I threw the scope on peak detect and was looking at Vgs directly at the transistor. (using standard scope ground clip, not HF clip - problem?)

I video taped the scope since from experience the mosfet dies after only 2-3 seconds; today was no different.
However I did confirm that the scope doesn't see a single spike over 12.2V.

So I should not be exceeding Vgs_max.

And the current spec: according to the datasheet you can pulse up to 700A with a small (<100us) pulse. My starter draws 380A, and my pulses were only 2us wide at 16kHz. The mosfet was cold to the touch when it died silently 2 seconds later, and the starter drove to full speed until I pulled the battery wire.

Can anyone suggest reasons why my mosfet may be failing? I'm all out of ideas :(

For more information on what I've done so far, please visit

jackbauer 07-08-2010 04:59 PM

Ok a few points to consider. The most important effect when switching fets or igbts is miller capacitance. This is like putting a cap from drain to gate. As the device begins to switch on the supply voltage dips causing voltage difference from gate to drain to increase. Unless you have enough power to "punch through" the miller knee the device will not switch on correctly. Have a look at my most recent post on the diy charger thread for an extreme example.

I have found temperature to be a very reliable indicator of correct driving. If the device is cool its happy. Hot is not :)

You are using a flyback diode right? Another imporant concern is the connection between the diode and the switch. It should be as heavy and as short as possible.

What I would do right now is to switch to an easier load like say a few car headlamp bulbs to see if your problem is in driving or loading.

hope this helps

jyanof 07-08-2010 05:34 PM


Originally Posted by electrowizard (Post 182803)
And the current spec: according to the datasheet you can pulse up to 700A with a small (<100us) pulse. My starter draws 380A, and my pulses were only 2us wide at 16kHz. The mosfet was cold to the touch when it died silently 2 seconds later, and the starter drove to full speed until I pulled the battery wire.

This is fun stuff, isn't it? Some things i can think of...

I'd take all datasheet specs with a grain of salt. Even still, I think that 700A pulse rating is for a single pulse, like in a pulse welder or something. I don't think it applies to many thousands of pulses for several seconds. It seems that the rule of thumb is to limit the current to half of the device rating.

Are you sure your starter draws 380A in your setup? that'd be a lot - way more than a single fet of this type can handle. Do you have a way to measure current? Maybe start with a smaller load? like, a radiator fan? or, small resistive heater?

Which bus bars are your caps connected to? They should be connected to B+ and B-, but it almost looks like M- and B-. I cna't really tell from the picture.

electrowizard 07-08-2010 06:45 PM

Thanks for your response guys!


I looked on the diy charger thread and your last few posts were not talking about miller capacitance. Perhaps I was looking in the wrong place. I did a search of the site for miller knee and miller capacitance, and it only came up with two hits, both on P+S controller pages. I am not seeing the effect described, my gate is always driven in a nice exponential curve. Could you provide a link to the post you describe please?

The mosfets have never gotten hot, though they are SMT devices directly soldered to 1/4" thick copper buss bars. Perhaps the semiconductor is getting hot but the case is cool?

I am using flyback diodes, 240A worth at the moment.
The diodes anode leads are almost touching the drain of the mosfet and are well-soldered. The wire connections are all made with 6AWG wire; all wire connections are tinned and bolted with 5/16" bolts.

I have run a small ~1A radioshack motor off this controller when I first put it together, and it worked first try. I expected this meant that the principles were sound, but that I was hitting a problem when running high currents on the inductive load.
I have some car window motors lying around but no headlights. Would these be acceptable alternatives for testing do you think?

Yeah, it is fun. Even when it doesn't work, it's still at least a little fun :)

I've tested my starter's current draw with the same LEM sensor as the ReVolt project. When one of my mosfets failed short, I just tapped the battery with the cable and measured the LEM with my scope. It peaks to around 380A, and within a full second it is at a steady-state 60A.

I was running a very low duty cycle (1/30) at 16kHz. If the load were not inductive I would expect current spikes to 380A when on and 0A when off. However the starter has inductance and I had imagined that the current would instead be pulsating at a lower value (380/30 = 12A), thus within the tolerance of the mosfet.
Is this not a reasonable assumption?

The caps are connected to the outside buss bars, so BM+ and B-. The M- connection is purely mechanical; I cut away the copper clad all around that bar.
Ah yes looking back at that picture I see I chose a poor camera angle, sorry!

I had intended to test the circuit with 1 diode and one mosfet; there is room for 3 diodes and 3 mosfets. If you guys think it could be a current problem, I can try and throw all the parts at it.. it just might cost me $40 if I blow it all up.

Okay, when I try again, what do you think I should measure next? I measured the current and Vgs on the test last night. Vgs was as expected, and the current did nothing visible until the mosfet failed (which I thought was odd).
I guess though if the controller was working correctly, 12A is only 19mV; difficult to see on the scope - with higher resolution vertical scale the 2.5V-3V signal is out of range for my scope. I definitely saw when the mosfet failed the current went to its steady-state 60A, or 0.1V change on the LEM.

I am thinking Vds to ensure I'm not getting inductive kickback (i.e. diodes are broken or something) which is frying my mosfets. Any other suggestions?

I just want to thank you guys again wholeheartedly. :) :)

electrowizard 07-08-2010 06:49 PM

I also want to note that my logic driver and load run on 3 separate power supplies. The logic power comes from my STK500, the driver power is a 12V wall wart, and the load power is a small 12V battery.

The driver wall wart is bypassed with one of those red metallized polypropylene capacitors, so supply droop isn't an issue. (it used to be! hehe)

apowers 07-08-2010 08:27 PM

starters draw a lot of amps. try controlling a 12 volt light bulb. I think you should derate to 1/3 what the data sheet says.

electrowizard 07-09-2010 12:02 AM

Hi Alvin;

As I've said above, with a stall current of 380 amps and a duty cycle of around 1/30 my motor should have been taking 13A. My mosfet is rated for 190A at 25C and 130A at 100C. I don't think any amount more derating is going to help; I should be at 1/14 or 1/10 of the data sheet spec.

I had a problem with my current measurements last time, I think I need to run the scope in roll mode rather than Y-T, it allows for better viewing of the current over time. Then I can verify what the math says about stall current and duty cycle.
Unless my math is wrong; I would be humbled if someone can show me my mistake. :)

Tomorrow will be a test with a window motor I think. The light bulb suggestions are good but I have no car light bulbs (that I am willing to remove from my car lol)

saand 07-09-2010 10:31 AM

Hi electrowizard,
looks like you have an interesting problem, im an electronic engineer so hopefully i can help.

It might be easier to help you out if you post pics of schematics and any waveforms that your able to get.

As jackbauer mentioned capacitance is an important consideration because if it is not overcome quickly by driving the gate with high current the fet will stay in its active region for longer (where it drops both voltage and current at the same time) which will create heat. So if your device isn't getting hot when it is working of the second or 2 then you have no issue with this capacitance. I think someone suggested the semiconductor could be getting hot but not the case, this can not happen, the semiconductor will be bonded thermally to the metal tab so that heat can come out of the device. General rule of thumb if you can keep your finger on the FET its not getting too hot.

Its definately worthwhile testing with just a resistive load rather than a motor to test out your circuit. So try a light bulb or a resistor of more that 1 ohm. If your FET still dies with a very light load then you are driving it incorrectly.
Note: you are trying to drive an inductive load ( motor) so you might be getting voltage spikes feeding into your system which could be more than hundreds of volts unless a suitable diode is placed to disipate this.

Also make sure you dont have the mosfet backwards drain where the source should be and source where the drain should be.

Do you have adequate heat sink, if your starting a motor with this the heat dissipated will be large, tracks on a PCB wont be enough, probably need a chunk of metal

worth checking you have the correct parts, check the part number on the device. I have had digikey send me parts incorrectly although they are generally very good mistakes do happen.

If you have access to a oscilliscope probe the gate, drive and source pin, check for any high voltage spikes. A multimeter on a maximum hold setting wont cut it.

If your low load test works and you still dont know what is wrong start increasing the load progressively until something pops

Good luck

electrowizard 07-09-2010 12:45 PM

3 Attachment(s)
Hi saand, thank you for the reply

I will do both! Here are some images to feast on.
I haven't been able to post them due to my low post count.

The first is from my last failure. Ch1 is Vgs and Ch2 is current as measured by hall effect sensor. Conversion is (CH2-2.59)/0.0015625

The second is an earlier gate drive. Shows input and output of my 6A MIC4420 driver chip. This iteration had no gate resistor or TVS.

Third picture is the current state of the controller with some annotations.
I wish I could have made the image larger, it is tough to read. My apologies.

I was the one who said the case may not get hot; I said it because of the huge copper heatsink it is sitting on; if the thermal resistance is low enough it may be difficult to detect a temperature increase. Or so my train of thought goes :)

In the past I have driven a 1A motor and my 42 ohm precharge resistor simultaneously. Nothing got hot, I'm sure I could have run that load indefinitely.
I will try the light load again first, then move to something larger as you suggest.
Yep, inductive spike is accounted for and the pair of diodes work at last test.

As for having my mosfet backwards... please check the third picture and confirm my sanity :)

Yep, parts are correct. All the screwups are mine :P

Thanks again saand!

I will post back later this afternoon with the new results, hopefully a little success.

electrowizard 07-09-2010 03:07 PM

Window motor success
1 Attachment(s)
I tested first with my tiny motor; works as expected.
I hooked up my window motor, and it worked on the first try.

All components remain cool.

I am concerned by oscillations in Vgs and Vds. See the attached picture.
Yellow is Vgs, blue is Vds

The ringing has a frequency of 12.5MHz.
It happens even with a purely resistive load.
It does not happen with no load.

Accounting for the slope of the camera, the peaks of Vgs line up with the peaks of Vds
i.e. the drop in Vds which occurs when the mosfet turns on must cause the drop in Vgs. This turns the transistor off slightly, increasing Vds. Thus ringing.

Question: how do I solve this? This effect must be enormous when running the starter motor. Do you guys think decreasing my gate resistor would help?
I'm going to remove my TVS which seemed to add a lot of capacitance and try again. *crossing my fingers it doesn't blow*

electrowizard 07-09-2010 04:07 PM

...and subsequent failure
Disconnecting the TVS had no effect on gate waveform; my capacitance theory was wrong. I replaced it immediately.

I remembered I used to measure gate voltage *at the driver* rather than four inches away at the mosfet (which I know is a lot of inductance for these pulses)
That explains why I remember a much faster gate drive.

I shortened the wires to about 2 inches each, the lowest I can go in prototype form. Still very sluggish driving.
I put one scope probe on either side of my 10ohm gate resistor. 100ns on the driver side, 600+ns on the transistor side.

I shorted the gate resistor to see how the circuit would act without one. The motor changed pitch slightly and the gate drive looked fairly nice.
The ringing effect was still evident but nowhere near as prominant.

I reduced the PWM to 0%.
As I disconnected my scope leads from the resistor, the mosfet died.

NOT AGAIN! :( :( :(

Yup it's dead all right.
-It's cold even though it had been running for a few minutes before it died.
-The transistor was completely off when it died, 0% duty cycle.
-ESD? I would expect the TVS to protect from esd as well, but the coincidence of me touching the probes and the mosfet dying is compelling.

I'm sure stumped now. Thoughts?

Weisheimer 07-09-2010 10:51 PM


Originally Posted by electrowizard (Post 183057)

I reduced the PWM to 0%.
As I disconnected my scope leads from the resistor, the mosfet died.

NOT AGAIN! :( :( :(

I'm sure stumped now. Thoughts?

Hello ElectroWizard,

I suspect that you are not done blowing parts just yet.

I think that a gate pull down resistor is in order.
Put a 10k resistor between the gate and emitter.
The very slight (perhaps 10Mohm) load of the probe
may have been enough to pull the gate low or keep
it out of the linear range a bit more. I don't
think that you are blowing the gate insulation,
I think that you are unintetionaly operating the IGBT in it's linear
region and they have VERY low tolerance to that!

I didn't notice the value of the TVS, but it should
probably limit to 15vdc as is commonly done with
15v 1W zener diodes. The TVS is a perfectly good
replacement for that if the voltage limit is similar.

When you do begin to parallel the IGBT's you will
want to match them for V(SAT) and may want to
set up a jig for doing that.

I agree with you that this stuff is a blast, and blasting a
few parts is just part of that fun! :thumbup:


Mark Weisheimer

electrowizard 07-09-2010 11:23 PM

Thanks for the reply Mark;

I've read enough about IGBTs to understand what you're talking about, however my controller is using MOSFETs (after three weeks of reading and deciding)

The TVS is a unidirectional 15.2V unit so it should be quite similar to a 15V zener. My max Vgs is 16V so I should be safe there.

I know a lot of people use the 10k pulldown resistors.
Maybe my driver connection came loose and my mosfet went into triode... I don't believe they are as sensitive to that as you say IGBTs are. I suppose I will include it also just to be safe.

Six mosfets down, four to go! Good thing I bought lots of spares :P

Unrelated question: mosfet gate resistors (not pulldown)- absolutely necessary? I have looked high and low; it seems they are chosen empirically rather than actually calculated. My circuit seems to want a very low gate resistance. Maybe I should have chosen a more powerful gate driver? I don't really understand the tradeoffs here.

saand 07-09-2010 11:39 PM

a lot of info here to work with,

As i understand it (please correct me if wrong) your light load tests are not blowing up mosfets? and the FETs are not getting hot in light load tests.
If this is the case it would be good to see the current waveform when the system is powering the full load. See if you can triggure on the hall effect and capture the peak current while the mostfet is still alive.
As a side note i have not often had success with home brew hall effect sensors so if yours is home made before you can trust the levels too much would be worth checking with a known current effectively calibrate it

Generally the schematic looks to have no issue, the design is solid, has adequate heat sinking (assuming the drain is soldered solidly to the terminal in that picture) the fly back diode is present assuming it hasn't blown up.

The gate resistor is generally a good idea but bare in mind the gate is electrically isolated from the drive and source so almost no current flows through the gate anyway so the gate resistor as you have found doesn't do very much. It will save your driving circuit if the mostfet starts conducting through the gate though.

As for the semiconductor temperature, your train of thought is a good one although not too relevant in your case considering what you have mentioned so far. If your case temperature was getting warm at all you would start to consider how well the semiconductor is bonded thermaly to the case, from the datasheet you can do calcs on the temperature rise of the semiconductor based on the thermal bonding of the case to your heat sink and the case temperature. But looks like you dont have to worry about this one until you start driving your motor under significant loads

If you system works (without blowing the FET) when driving the 1A motor and the precharge resistor the problem is likely to be the instantanious current limit of the FET 190A might be being violated your motor start current might be higher than 190A. If you are getting above 190A even in pullsed currents you should start worrying about this value. This datasheet value is related to the heat that the FET can dissipate through its case.

Can you tell me what your switching frequency is, you probably dont want to be above 100k Hz and you could likely be down as low as 1kHz. Although to avoid hearing your switching of the high currents you might want to be above the human audible frequency limit i think it is 26kHz

The mosfet direction looks good according to the datasheet

The oscillation is an interesting one, this will be developed by inductance and capacitance in your circuit which is inherent in parts and wires you likely havn't considered. Strange that it still happens under a resistive load did you try with a low resistance?, you might want to check your supply rails also do not have these oscillations. Also at these frequencies 12MHz you need to start considering ground loops so is your oscilloscope connected to a power outlet in which case you are likely to be connecting the 0V to your mains earth. Without knowing your countries mains arrangement and your oscilloscope construction i cant tell you for sure. If you are just running of a battery for your 12v this may not make a difference but if you have a mains connected power supply generating your 12v or a battery charger connected to the 12v this might affect your measurement.
A way to get rid of these oscillations (if not generated by your measurement methods) is to place a snubbing circuit (resistor and capacitor) wherever the oscillation is occuring however this is a last option. the best method to get rid of this is to find the source and fix it that way. So check with a low resistance load, try putting a capacitance on your gate drive, make sure the capacitance value is suited to the frequency of your 12MHZ as it will slow down your turn on time for switching if it is too large. Try things like moving the wires around while its switching and see if the frequency of ringing changes, the wiring inductance may be affecting it.
If you are correct in your idea that Vds ringing is affecting Vgs this could only happen if the source (s) is not coupled to 0v effectively. Check that the source of the mosfet has a low impedance connection to the 0v of the driving circuit

Its unfortunate the mosfet died again, you must be getting good at replacing them quickly now :). ESD is a good idea however the affect of ESD is very rarely observed in this way. I have walked up to a board accidentaly zapped it ( I felt the Zap) and the board works fine. ESD usually compromises the component silicon which then degrades over time. It is worth keeping an eye on ESD but i dont think its the cause of the dead FET.
It is interesting that when you removed the oscilloscope that the FET died, did it happen to occure right when you removed the oscilloscope 0v connection rather than the probe. As i mentioned above the 0v on the oscilloscope is connected to the mains earth effectively grounding your circuit. If you have FETs to spare and a bit of time might be worth repeating this, see if it is consistant, if it is this points directly to your problem well at least 1 problem. Check the connection of the 0v of the driving circuit, if the 0v on the drive is not coupled to the source of the mosfet then the drive could float higher than +20v and kill your FET and as soon as you try to measure the Vgs you would get what appears like OK levels but as soon as you remove the oscilloscope the FET could die.
You also mention you checked the temperature of the FET after it died, i recommend you put a temperature probe on the FET case so you can check the temperature when it is in a working state. alternatively put your finger on the case when it is working see if it gets warm under the full load condition. If you check the temp after it has died the temperature could dissipate within seconds or less considering you have such a large heat sink.

Well sorry i can not tell you the exact problem you have, its always hard to diagnose an issue without seeing the circuit and playing with it yourself

so good luck, look forward to seeing what else you find, just think how happy you will be when you finally work out the problem and you will have learnt a lot in the process

electrowizard 07-09-2010 11:54 PM

saand you rock my friend!

Yes I know how hard it is for me to diagnose hovering over the circuit, it is even harder when just being described on a forum. I'm doing my best though!

I think your idea of a poor ground connection floating Vgs too high could be bang-on. My soldering iron is not capable of heating anything attached to the buss bars, so the driver ground to the source lead was only clipped on and may have slipped loose. The oscilloscope ground lead is grounded through the mains, which shares a common ground with my 12V gate driver. And the oscilloscope ground lead was more securely fastened than the gate driver.
The battery was not being charged, so no ground loop there.
However, I just remembered.. my TVS is permanently soldered between source and gate. Shouldn't that prevent the gate from breaking down regardless of the actual potential of the source lead? Hmm..

I decided on a last minute trip to the cottage for several days with family, so I will disappear for about 5 days. I'll try and digest the problem while I'm away and come back at it full-force.

And yes, my propane-torch soldering skills have improved dramatically. I can replace a mosfet in about 45 mins now... the copper bars take almost 10 mins apiece to heat up and longer to cool down. I know that kind of exceeds the recommended soldering profile... I wonder how much damage I am doing to them. Hmm.

saand 07-10-2010 02:25 AM

Glad to help out,

your definately doing well in describing what you see and your methods of testing, I often have clients give me the worst description of what is going wrong becomes like a puzzle just to work out what they are doing.

Regarding your comment on the soldering, you could well be compromising the device if you are trying to heat up the solder on the tab for longer than probably 30 seconds. Not sure what this would do to the device but this is the reason these type of devices are connected to heat sinks using a tab with a hole so you can screw them down.
A tip for soldering next time, when you are solding on the tab which will be the hardest to connect heat up the copper bars until the solder starts to flow, you can see it when the solder gets shiny. when this happens then place the part down the solder should take to the tab, and you can take your soldering iron straight off, it will then cool down fairly fast an no issue.
when doing the legs should be able to use the same method for the legs that connect straight to the copper bar.
If your heating up the tab directly with the soldering iron for more than say 15 seconds your likely causing damage.

enjoy your trip, maybe inspiration will strike

Weisheimer 07-10-2010 04:34 PM


Originally Posted by electrowizard (Post 183114)
Thanks for the reply Mark;

I've read enough about IGBTs to understand what you're talking about, however my controller is using MOSFETs (after three weeks of reading and deciding)

The TVS is a unidirectional 15.2V unit so it should be quite similar to a 15V zener. My max Vgs is 16V so I should be safe there.

I know a lot of people use the 10k pulldown resistors.
Maybe my driver connection came loose and my mosfet went into triode... I don't believe they are as sensitive to that as you say IGBTs are. I suppose I will include it also just to be safe.

Six mosfets down, four to go! Good thing I bought lots of spares :P

Unrelated question: mosfet gate resistors (not pulldown)- absolutely necessary? I have looked high and low; it seems they are chosen empirically rather than actually calculated. My circuit seems to want a very low gate resistance. Maybe I should have chosen a more powerful gate driver? I don't really understand the tradeoffs here.


I had to laugh. I was just so sure you were using IGBT's!

I pulled up the datasheet. They show using gate drive resistors in diagram 21.
The resistors are usually chosen for "turn on time"
(dv/dt, or delta voltage / delta time)

It can be calculated as an RC time constant using C(ISS), drive voltage,
and gate drive resistance value. You are shooting for a fast turn on
without creating severe ringing.
That device is made to use "logic level drive" so you should be able to drive
it with 5vdc.

I would still use gate pull down resistors, and 10K is fine.
Your TVS value is fine for voltage protection too.

I wonder if the power supplies are as isolated as you are led to believe.
I have seen supposed isolated supplies that had resistors or caps
tied to ground or a supply line and were NOT isolated.
Do you have any surplus switching supplies lying around,
such as are commonly used for laptops or LCD TV's and etc?
I have found them to be good sources for test supplies
and I am very careful when using transformer based wall warts.

I was trying to draw a relationship to the device blowing when
you pulled your probe, and did not even think of the common ground
issue. I tend to use a battery powered portable scope and
ignore common/grounding issues as a result.

Good Luck!


electrowizard 07-17-2010 03:22 AM

Back from the cottage
1 Attachment(s)
It was a great trip; I'm sure I gained another 5 pounds over the few days I was there. Went for a 19km bike ride to town though, was impressed with myself. :)

I came home and guess what? You know the mosfet that died before I left?
Apparently it is not dead :o

I immediately checked the others and yes they are all dead for sure.

I realized it was not broken with my ohmmeter; I proved it still worked by powering the circuit up.
Thinking back to the grounding issues raised by saand, I disconnected the oscilloscope ground leads from B-. Immediately the motor shot to full speed as if the mosfet died again, but reconnecting ground fixed the problem.

I tried to check whether or not my power supplies were isolated from line ground or not. (driver and microcontroller supplies) I had assumed they were not isolated. Testing continuity with my ohmmeter between the power supply output and the 110 line contacts indicates no connection on either supply. This means they are *both* isolated. This causes me to suspect that my testing method is not valid. Does anyone have a better way or is this correct?

To correct the issue in the mean time, I connected my microcontroller ground to my driver ground, such that they have the same reference. The problem is apparently resolved.

Thanks for the encouragement :)
As I said I am not using an iron but rather a propane torch to heat the bars.
I heat away from the devices, and once the solder is hot enough, I stick the SMT devices down and add some fresh solder around the tab while pressing down on the case to ensure a good contact. Cooling down takes at least ten minutes, even with using scrap copper bars to absorb heat and dump it into cooling water.

I am switching at 16kHz though I am free to choose 4 or 8 easily.

The gate oscillations again.. I removed the 10ohm gate resistor. My drive waveform is now at 100ns with only 3% overshoot and minimal ringing. That gate resistor is a menace. However you were right, the supply rails also have this oscillation. See below for more on this.

Thanks for the ESD information, very good to know. 5 years of engineering school and they never taught us that. . .

All components are cool under load at 50% duty cycle for about an hour. Except the motor :P

No problem, it happens to the best of us hehe
As you said the gate resistor can be calculated but it is more empirically chosen to reduce ringing right? So if in my application I have no ringing with no gate resistor and a reasonable turn-on time then I should not include it. Do you agree?

What is your take on my supply isolation; how can I test this properly?

Ringing revisited:
My battery voltage (BM+ to B-) rings an extraordinary amount on mosfet turn-on.
Attachment 6395
Blue = Vdd; Yellow = Gate

I would expect this to occur due to a lack of controller capacitors.
I have verified that I have about 27mF of capacitance due to a 1.1 second time constant with my 42 ohm precharge resistor. I know that does not indicate a low esr or good ripple capability but it does prove the caps are connected.
I also have two of those red metallized polypropylene capacitors (where P+S's much larger controller uses 3 and some other electrolytics) so I would expect my voltage swing to be minimal on a 14A load.

With a nominal 12V battery voltage the buss bar voltage swings from 28V down to 1V. The period of oscillation is close to the risetime of the driver signal.
Remember the mosfet is logic-level and is thus turned on completely, thus unable to oscillate when Vgs varies in the image.

So I am puzzled by the Vdd oscillations. My controller capacitors should prevent it from happening. These caps can even turn the motor ~1/2 turn from a standstill after the battery was disconnected. Are my caps to blame - bad ESR - or is there something I'm not thinking about?

Also, I still do not know why I am blowing transistors with the starter motor. The window motor works excellently. Curious curious..

apowers 07-17-2010 10:06 AM


Originally Posted by electrowizard (Post 184408)
Also, I still do not know why I am blowing transistors with the starter motor. The window motor works excellently. Curious curious..

maybe it is the bendix. I have a starter that draws alot of amps when it engages. I disabled the contacts for that and it made a difference.

jackbauer 07-17-2010 11:23 AM

Are you using the starter solenoid? I didnt. I just wired the motor to run all the time by bypassing the solenoid.

saand 07-17-2010 02:15 PM

Electro, good to hear you had a good trip and good news about the surviving mosfet.

Sounds like you have a good method for checking the isolation of your power supplies. You can also check by measuring the voltage difference between your 2 0v from your different power supplies when they are not connected together, you are likely to see they are floating around. Note: your multimeter might bring them together, i know its annoying

Sounds like your soldering method is not ideal but seems like the best you can do unless you look at using a different mosfet that has a tab with a hole so you can screw it on rather than solder it. At the end of the day if the mosfet works the soldering doesn't matter

Regarding your switching frequency of 16 8 and 4 they are all in the audible frequency range so you are likely to hear it when your circuit is working which you could think of as a feature ;). If it gets too annoying you can look at increasing it to 30kHz or above.

Looks like you dont need that gate resistor, you should just take it out. the gate itself is isolated anyway so current isn't going to flow. If you change to something other than a mosfet then you would look at using a gate resistor again.

When i finished up with university, there was a whole lot i had no idea about. those first few months developing electronic products was a steep learning curve.

So looking at this oscillation, it is HUGE!. Due to the time base on your image which is 200ns id assume this is mostly ESR related. I am guessing you have several huge electrolytic caps leave them as they are because they will hold up the power during a pulse of your 16kHz but add some more caps physically close to the mosfet rails these caps dont need to be a really high value, the ESR is the important thing, they could be 100 uF maybe, i would have to do the sums on your oscillation frequency and current draw but if it was me i would just put 100uF across the rails really close to the mosfet and see what happens. A contributing factor to this oscillation may be due to inductance/resistance between the cap and the mosfets.
PS you are interested here in the driver caps not the controller caps. Hopefully you have enough capacitance on your controller card and nice stable voltage rails on the controller card otherwise your drive signal would be almost unusable. If your controller card doesnt have stable voltage rails seperate the voltage rails of the controller card and driver card and put a filter into the controller card (inductor and capacitor on the voltage rail)
As you have indicated your voltage swing will just get much worse if you drive higher than 14A so best to get this fixed before increasing current otherwise your might blow things up. This might explain why you blow transistors with your starter motor and not with your smaller motor.

I shall look forward to seeing what you find

electrowizard 07-17-2010 03:59 PM


Originally Posted by apowers (Post 184420)
maybe it is the bendix.

I read the Wikipedia article on Bendix and I'm still not sure what exactly you are referring to. Bendix apparently refers to the way the sprocket is attached to the starter, specifically with a helical cut. I do not believe that is what you meant.

I will assume jackbauer got it right, and no I bypassed my starter solenoid.
I was hoping to use it initially as a safety cutoff. The problem is the solenoid and starter share a common ground, so it is not possible to turn the solenoid off separately. (without doing something fancy or mutilating the starter)

Yeah the meter would bring them together.. I suppose one could try to measure impedance across the ground connections. If they are connected it will be a short. If they float, then you measure voltage between the two and you should see the difference induced by the meter, 3V in my case.

Experimentation agrees with theory. I get open circuit measurement on ohmmeter and -1.8V on voltmeter, dropping to -1.7V very very slowly.
So they are isolated, and my ground wire between them is mandatory.

Thanks for confirming my gate resistor removal; I was sure everyone would tell me to but it back in since it seems almost like dogma at this point lol

Yep, the hands-on at university is so lacking. That's why I'm doing this project! Well that, and fun :)

Yep those oscillations are quite impressive, and they make me quite sad.
I see we have a problem with terminology which should be addressed at this juncture.
I consider having 3 main components:
1. The microcontroller board with outputs logic level PWM.
2. The mosfet driver board, one chip - takes 5v PWM input and drives 12V pwm output.
3. The controller, which consists of buss bars, capacitors, flyback diodes and mosfets.

I have those metallized polypropylene capacitors, only 4.7uF but with really low ESR and high ripple current capability.
Digi-Key - PF2475-ND (Manufacturer - ECW-F2475JB)

Two of them are on the controller between BM+ and B- along with the large electrolytics. Saand you suggest to add more capacitance here with low esr; do these caps not count? Or do you think I just need more of them?

The third is on the driver board since the wall wart powering it can't handle those kind of current spikes.

My microcontroller (you say controller card) has enough capacitance, but perhaps I should add some inductance as you suggest. There is a slight sag and oscillation, but not enough to be detrimental I think.

Just now I have begun to suspect the connection between the capacitor board and the buss bars. I epoxied them together with some two-part epoxy that claimed to be a solder replacement. (I knew soldering was going to be a pain)
The problem is that the solder was ineffective on the components; it was a weak physical bond, making an intermittent electrical connection. A fun story for another time.
The cap board is still connected to the buss bars with that epoxy.
The resistance across the epoxy is negligible, within the tolerance of my meter (it is a Fluke, but more electrician rather than electronics version)
As I said before, precharging takes several seconds so the capacitance is connected in a DC sense.
I suspect now that the AC connection is not as good; that the epoxy has a high ESR. This would keep the good capacitors from fulfilling their duty.

My only course of action is to replace this epoxy. I'll give it a try and cross my fingers!

I appreciate all of your help everyone. I hope I can give back to the community some day :)

apowers 07-17-2010 05:21 PM

I looked up your starter and the selenoid is mounted on the starter. That is what engages the bendix. It draws alot of amps. Mosfet might still be too small for starter motor.

saand 07-17-2010 10:02 PM

I looked up those polyproplene caps their ESR is about 1 ohm each at the frequencies your interested in (your ringing oscillations are up around 10 MHz). So the ESR would be a problem when drawing high current, you can do some calcs to work out if you are likely to have an issue.
The standard way of dealing with this sort circuit which switches high currents very quickly is to put down multiple types of capacitors,
- some with high capacitance which likely have high ESR so that it keeps up the rails on low frequency transients
- some with mid range capacitance with his average ESR for higher frequencies
- Some very low capacitances that will have low ESR for very high frequencies (above 1 MHz)
If you see a digital circuit design there is always a 100nF capacitor physically right beside every digital chip (if the circuit has been designed properly). This is so that any digital switching takes current from the very close capacitor rather than the power supply and therefore stops ringing in the rails.
You are essentially running a really really big digital switch so you need some more of these very low ESR caps physically close to your mosfet
the wikipedia page might explain it a bit better than i have
Decoupling capacitor - Wikipedia, the free encyclopedia
Also if you ever see a product designer have issues on their rails due to ringing they wont even think about it and just put some more caps on the rails, the caps are cheap and easy and they wont hurt your circuit

you might also want to consider is your oscillation real at these sort of frequencies if your oscilliscope ground is not connected it might cause you to see this. Although from my understanding of your circuit in this instance it seems real.

Your epoxy sounds very interesting, i have never come across this sort of compound before, any plastic/ polymer based electrical connection i would be hestitant about, i think your right on the money thinking it might provide higher resistance at higher frequencies.
Can you put solder on then epoxy.
You mention you have a connection between your capacitor board and your bus bar. I assume your mosfets aren't on the capacitor board in which case you will want to be very careful about making this connection very low inductance and very low resistance. If you have a spare one of those polyproplene caps you should just physically hold it across the rails, one leg on the mosfet connection and one leg on the return of the motor. This might just get rid of or reduce the oscillation due to the physical closeness.

I also appreciate everyones help on this forum, i wouldn't be trying half of the crazy mods to my car without people here. I am currently trying to modify the parameters in my ECU its proving to be very difficult but people on here are helping a lot.

electrowizard 07-18-2010 03:21 AM

so how did you ever find the ESR of these caps at 10MHz??
I can't find that information for either kind of cap that I have.

Some other cap datasheets have a curve of esr vs. frequency but I've found nothing of the sort for these particular caps.

I had assumed that for the most part, my 1" by 1/4" by 6" buss bars would have very little inductance. Apparently this is not so, there is a 1V difference in the amplitude of the rails oscillation along the length of the BM+ bar.

However the real inductance is the 1oz copper clad of the capacitor board.
I tinned it heavily in an effort to increase its thickness, and the traces are all as wide as possible, 0.8" at the thinnest, >1" everywhere else.

The ripple at the far end of the cap board has an amplitude of only 0.4V when it is 5 volts at the mosfet. Thus adding more capacitance here would be of little use; the inductance of the traces would dominate. It needs to go elsewhere.
The connection between buss bar and cap board is solid; very little difference in ripple amplitude across the fresh solder joint.

I tried attaching a 100uF electrolytic I had lying around across the buss bars near the mosfet and it did wonders for reducing the ripple. The spare poly cap I tried was not as effective, likely due to its high ESR as you mentioned.
(spare = I ripped it off the driver board hehe)
I'm sad, I thought those had a lower ESR :(

What type of cap would you suggest? I am leaning towards ceramic.
My oscillations occur at about 1MHz and 15MHz.
Looking at HF caps, their resonance point is very small, such that no one cap could counter both the 1MHz and 15MHz noise. Since the 15MHz has a higher amplitude I would want to beat it first.

This cap Digi-Key - 495-1024-1-ND (Manufacturer - B37986G1222J054)
has an impedance of 50mOhm in the MHz range, but apparently the leads have to be the correct length to get the impedance right for the resonant frequency to move. Seems reasonable but how would you design with this in mind? Apparently adding 2cm of lead shifts the resonant point from 100MHz to 10MHz.

Hmm yes, I knew you can get fake signals at high freqs but it didn't even cross my mind here. Since it has different magnitudes at various locations and since I can change it by adding capacitance I agree that it is real.

I want to return that epoxy but I lost the receipt. I should note that the bond was quite strong between the FR-4 and buss bars; I took off some copper clad when I pried them apart.

apowers: the solenoid (and thus the bendix) is disabled. However it would draw way less current than the starter itself. I know the starter draws 370A stalled. Once I had 2 mosfets (total 380A rated) and they still fried in <2s, and were cold afterward. No sign of overheating, which is an indication for overcurrent AFAIK.

electrowizard 07-18-2010 03:31 AM

I forgot to mention, I found a way to decrease the oscillations.. Obvious really but it has a downside.

I add gate resistance! :P

I threw a 100ohm pot in to see the effect of changing gate resistance on supply ripple.
Turning the mosfet on more slowly allows time for the inductance to be overcome.
I can reduce the amplitude of ripple from ~30V to ~5V.
The frequency of oscillation is nearly unchanged.

At higher currents I imagine this would fry the mosfet as it has to survive high currents with a large Rds during the longer transistion time. I remember playing with heat dissipation formulae for switching power supplies, I might have to revisit them.

Still, with 30 times the current draw, the starter should cause 30 times the ripple, or 900V (still 150V with slow turn-on). Seems excessive, but maybe *that* is what is killing my mosfet...

saand 07-18-2010 12:16 PM

A bit of searching found the manufacturer data, digikey didn't have the best link for information. A link to the link is below, you have an ECWF cap according to digikey so click on characteristic data in this link and you will find it
Radial lead type capacitor specification list

I have not researched caps for this sort of application before so i cant make a informed recommendation for you but looks like you are on a good track for making a better decision than i can with what you have found so far. I will say though that the cap you have listed from digikey looks to be a particularly low value, 2.2 nF will likely not do much as it cant supply much energy. Basically the cap is place close to the switcher so the switching device will take current directly from the capacitor rather than through line inductance from your power supply. So the capacitor needs to supply the full current for say 50 ns. 140 A for 50ns is a fair amount of energy, its 0.000084 joules.
you can calculate the capacitor by seeing how much energy it can supply with this formula
E = 1/2 * U^2 * C

E = Energy in capacitor in joules
U = Voltage in capacitor in volts
C = Capacitor capacitance in farads

So to match this energy if your voltage is to only drop by 2 volt you will need
42 uF

If a single cap will not do the job use multiple caps, nothing wrong with extra capacitance (except for inrush currents when you turn your car on)

Regarding lead length and resonant frequency, this just goes to show you how critical even very small inductance plays in your circuit

When doing this sort of thing i usually dont look at resonant frequency because you usually avoid resonance, i typically go for the smallest ESR and put it as close as possible to the switching device within 5 millimeters if possible (5 mm is just picked out of the air)

hahaha yea i knew adding a bit of gate resistance and capacitance would reduce your ringing but i didn't suggest it because you might just give up completely. Also as you have written if you are driving 140A you want a really quick turn on time due to heat and ideally you should fix the oscillation another way or you might blow up your mosfet again

It is a very good chance that the oscillations were killing your mosfets and seems to be confirmed because your current fet has survived with lower loads.

either way looks like your making progess on what is a relatively hard thing to design

electrowizard 07-24-2010 06:21 PM

Thanks once again saand.

Now I understand what you mean by doing calculations.

As for doing actual work, the project is on hold for one month while I sort out my personal life (i.e. further education) and spend more time with my family - sailing Georgian Bay to Lake Huron for a week.

I'm still thinking about it, and reading online when I can.

I was reading this appnote:

At the bottom of Page 12 it reads:

is also the possibility that the drain-source voltage will exceed
its maximum rated voltage due to ringing in the drain
circuit. A protective RC snubber circuit or zener diode may
be added to limit drain voltage to a safe level.
So here's the question - do I actually *have* to add capacitance to hold up my power rails, or can I just protect the mosfet by putting a 90V zener across Drain-Source?

I know what the correct solution is, but I specced out capacitors based on my values and the calculations you showed, and we're talking $100 of capacitors; there are already $50 on the board. I'm starting to feel silly here... There must be a compromise!

My last option is to start from scratch on the capacitor board. Clearly the one I have is too inductive, even with its hugely wide traces; they are just too long - and too far away from the mosfets!
I think that is why P+S's controller has the capacitors along the length of the controller. I thought with a short controller (come on its only four inches of HUGE buss bar) that I could get away without doing that.


saand 07-25-2010 12:50 PM

I like the idea of the zener but you may have to look at getting a large zener if you think you will have significant currents flowing.
I guess give it a go and see what happens, zeners are cheaper than giant caps. PS you might look at using say a 30v zener which might clip your ringing and make it very small.

If you are looking at redoing the capacitor board. I would recommend making up a capacitor and mosfet board so the caps are right beside the fets. that way you will have a better overall design with less inductance in critical locations and you will probably not need so much capacitance as you will likely have less ringing.
But if you do decide to go down that route make sure you put in provision to have a range of capacitor values with different ESR's, so that you can be sure you will catch the fast ringing.

A bit of time off will hopefully give you some time to think about the best way forward and good to see you are not neglecting your family. Some of these projects get very interesting and its always hard to tear me away from a good project.

electrowizard 09-12-2010 01:38 PM

Problem solved yay
Hey guess what? My controller no longer blowing mosfets!!!

Problem source:
Switching ~380 amps is no small task.
Doing it quickly is substantially more difficult.
Even tiny inductances will cause voltage spikes
V = L * di/dt - Vdd

To get a 100V spike (as I must have, to fry the old mosfets)
L = (100 + 12) / (di/dt)
di = 380 amps
dt = 50ns
<I know that's not proper calculus but it gives us an approximate linear slope that in fact should be the best case! i.e. lowest slope>
L = 112 * 50n / 380 = 15nH
One inch of buss bar (or so I have read) at best case is about 10nH. No wonder it fried the mosfets! The voltage spiked over V_(BR)DSS and took it out.

The only thing we can change is dt, the time to switch. I have increased it to 200ns. The theoretical inductance needed to fry my mosfet is now 60nH.

So my starter motor is very happy, spinning away for me, singing me a song. Or so it feels.. This success has been a very long time coming.

I want to thank everyone that helped out in this thread, especially saand for staying with me all the way and giving a lot of sage advice.
Thank you!!!!

saand 09-13-2010 09:51 AM

electrowizard, great to see you have it all working now and looks like you learnt a lot on the way. Switching 380 amps is impressive for any electrical design.

Hope your looking forward to your next electrical challenge

deodeo 03-29-2012 10:45 AM

How exactly do you increase dt?
Hi to everyone in this wonderful forum!!!

It is an old thread with solution, which is not really obvious to me...


Originally Posted by electrowizard (Post 193795)
Hey guess what? My controller no longer blowing mosfets!!!

The only thing we can change is dt, the time to switch. I have increased it to 200ns. The theoretical inductance needed to fry my mosfet is now 60nH.

So, electrowizard, how exactly do you increase dt - by adding 100 om gate resistance?

Thank you in advance!

P.S. I'm on 378-th page of the thread "Open ReVolt: open source DC motor controller" and still reading that marvelous guide!

gone-ot 03-29-2012 07:35 PM

"Congratulations upon your success!"

As a retired-EE, I can definitely empathize with you and your problem. Turning voltage or current ON and OFF at high rates is always a headache, even when it's NOT power, but just signal-levels that are being switched!

Today's giga-Hertz computer board traces aren't designed, they're RF-traced, as constant imedance (Z) antennas!

All times are GMT -4. The time now is 10:43 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Content Relevant URLs by vBSEO 3.5.2
All content copyright