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

electrowizard 07-08-2010 01: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 03: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 04: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 05: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 05: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 07: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-08-2010 11:02 PM

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 09: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 11:45 AM

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 02: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*

All times are GMT -4. The time now is 06:41 PM.

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