22
\$\begingroup\$

I've made a very simple MOSFET LED driver that uses the PWM of an Arduino Nano to switch a MOSFET which controls the power for about 16 meters of LED strip.

I am using STP16NF06 MOSFETs.

I am controlling RGB LEDs, so I use three MOSFETs one for each colour and when all 16 meters of LED strip is running I'm drawing about 9.5 amperes.

9.5 A/ 3 channels = 3.17 A maximum load each.

The MOSFET has a fully on resistance of 0.8 Ω, so my heat should be my I2R loss of

3.17 amperes^2 * 0.08 ohms = 0.8 watts

Datasheet says I get 62.5 °C of heat per watt, maximum operating temperature is 175 °C and expected ambient temperature is less than 50 °C

175 °C - (0.8 W * 62.5 °C/W) + 50 °C = 75 °C for margin of error

I am running these MOSFETs without a heat sink, and I have left it running all night on a program that just cycles red green blue white non stop and it didn't overheat. I am expecting this circuit to be able to run 16+ hrs per day.

I am using a 12 V powersupply for the LEDs and a 5 V control signal from the Arduino, so it shouldn't be possible for me to exceed the drain gate voltage of 60 V or the gate source voltage of 20 V.

After I was playing with it by my desk in my airconditioned office today I found that I couldn't turn the red channel off as I could earlier in the day. And measuring gate to drain with no power connected I found 400 Ω on the red channel and unmeasurably high resistance on the green and blue channels.

This is the schematic I'm working with. It's the same thing just repeated three times and the 5 V is a PWM signal from the Arduino and the single LED without a resistor is just a stand in for the LED strip which has resistors and a solid setup that I didn't feel I needed to model.

This is the schematic I'm working with

I think it failed after I plugged the Arduino in and out of its pin headers about 50 times though I'm not sure what significance that has as the Arduino still works.

Enter image description here

So given that it worked for a few days including one day of high load, my questions:

  1. Could hotswapping the Arduino in and out of this circuit somehow damage the MOSFETs, but not the Arduino?

  2. Could ESD somehow be the culprit here? My desk is a resin coated wood or laminated wood. It should be noted that the source of all three MOSFETs is the common GND.

  3. I don't have a fancy soldering iron, and I have no idea if it goes above 300 °C. However, I used lead solder and I spent as little time as possible on each pin and I would solder pin one of the first MOSFET and then pin one of the second MOSFET, etc, not doing all pins from one chip consecutively and if too much solder heat was the issue why wouldn't that have created the issue immediately? Why has it popped up now?

  4. Is there something I have missed or an oversight in my calculations?

\$\endgroup\$
7
  • 12
    \$\begingroup\$ "Why am i cooking mosfets?" - You probably hate mosfet's. \$\endgroup\$ Commented Nov 10, 2017 at 5:38
  • 21
    \$\begingroup\$ "Why am I cooking mosfets?" - Maybe mosfets are for dinner... \$\endgroup\$
    – Voltage Spike
    Commented Nov 10, 2017 at 6:03
  • 3
    \$\begingroup\$ What is your Vgs? \$\endgroup\$
    – user16324
    Commented Nov 10, 2017 at 11:39
  • 9
    \$\begingroup\$ "Why am i cooking mosfets?" - because raw mosfets will give the rest of the circuit indigestion. \$\endgroup\$ Commented Nov 10, 2017 at 18:50
  • 2
    \$\begingroup\$ Did you intend to use 0.08 ohms in your power dissipation calculation? That's a factor of 10 from that given in the preceding text: "The MOSFET has a fully on resistance of 0.8 Ω". \$\endgroup\$
    – Paul
    Commented Nov 10, 2017 at 20:48

3 Answers 3

46
\$\begingroup\$

Your problem is the gate drive voltage. If you look at the datasheet for the STP16NF06, you'll see that the 0.08 Ω Rdson only applies for Vgs = 10 V, and you're driving it with only (a bit under) 5 V, so the resistance is much higher.

Specifically, we can look at Figure 6 (Transfer Characteristics), which shows the behavior as Vgs varies. At Vgs = 4.75 V and Vds = 15 V, Id = 6 A, so Rds = 15 V / 6 A = 2.5 Ω. (It may not actually be quite that bad, due to some nonlinearities, but it's still more than you can tolerate

ESD could also be a problem: the gates of MOSFETs are very sensitive, and there's no reason that the Arduino (whose microcontroller has ESD protection diodes) would also necessarily be affected.

I'd suggest getting a MOSFET with a low enough threshold voltage to be fully on at 4.5 V. You can even get MOSFETs that incorporate ESD protection on their gate.

\$\endgroup\$
4
  • 16
    \$\begingroup\$ It's worth commenting that this is an extremely common problem with driving mosfets from microcontrollers -- very few of the common high-power mosfet types are fully on at 5V, and at 3.3V it's almost impossible to find ones that are. I find it's often simplest to use a second transistor (whether bipolar or just a smaller mosfet) to drive the gate at a higher voltage. I bought a batch of cheap BS170s for this purpose; while they're not fully on at 5V, they manage well enough to drive a high impedance load, and they were very cheap. \$\endgroup\$
    – Jules
    Commented Nov 10, 2017 at 9:28
  • 8
    \$\begingroup\$ @Jules It's not that hard to find logic-level FETs for these low voltages and moderate currents. As a random example, the TSM170N06CH has a maximum Rdson of 20 mΩ at 4.5 V gate drive, and it's 66 cents in ones at DigiKey. \$\endgroup\$ Commented Nov 10, 2017 at 9:55
  • \$\begingroup\$ Maybe I need to change my supplier. The best I can see at Farnell costs nearly 4 times as much, and while Mouser UK has your example in their catalogue it's a non-stocked item. (Things would be different if I were willing to work with surface mount parts, but as I like to breadboard most projects before assembling a board for them, that's not really somewhere I want to go). \$\endgroup\$
    – Jules
    Commented Nov 10, 2017 at 10:53
  • 5
    \$\begingroup\$ @Jules Even Farnell has some decent selections: consider the IRLB4132PBF (30 V, 4.5 mΩ at 4.5 V) for £0.873. I found this by simply going through the DigiKey results and checking which ones Farnell also stocked, since the Farnell search is not very friendly. \$\endgroup\$ Commented Nov 10, 2017 at 11:47
17
\$\begingroup\$

The point about the gate voltage is valid, but if the MOSFET is not heating up, I'm not sure that is the actual culprit here.

16 meters of 12 V LED strip driven at several amps is going to have a significant inductance at typical PWM frequencies. This causes voltage spikes at the drain every time the MOSFET turns off. These spikes are short in duration, but the voltage can be many times that of the supply voltage.

The solution to this particular problem is to add a freewheling diode (Schottky) in antiparallel with the LEDs, between +12V and drain, just like you would with an electric motor or other inductive load.

\$\endgroup\$
8
  • \$\begingroup\$ Or use a beefier avalanche diode than the one in the MOSFET. \$\endgroup\$ Commented Nov 10, 2017 at 12:41
  • 3
    \$\begingroup\$ While certainly adding a clamping diode is not a bad idea, I don't think that's is the issue in this case. The MOSFET datasheet claims that the maximum energy dissipatable by its internal avalanche diode is 130 mJ in one pulse. Even if we assume the LED strip has a ridiculous 1 mH inductance, that's only 0.5 * 1 mH * (3.2 A)^2 = 5 mJ, which the internal diode should have no issue with. \$\endgroup\$ Commented Nov 10, 2017 at 15:30
  • 1
    \$\begingroup\$ @AbeKarplus: It may not be exceeding the one-pulse energy limit, but even 5mJ, if multiplied by a PWM cycle rate of several kHz, is orders of magnitude higher power (and heating) than the static power calculated in the question. \$\endgroup\$
    – Ben Voigt
    Commented Nov 13, 2017 at 15:05
  • 1
    \$\begingroup\$ @Dampmaskin Argh, you had 1337 points for so long. \$\endgroup\$ Commented Nov 25, 2017 at 11:39
  • 2
    \$\begingroup\$ I know, right? I hardly dared say a word. :o \$\endgroup\$
    – Dampmaskin
    Commented Nov 25, 2017 at 12:57
3
\$\begingroup\$

One further thing to check.

This looks like an experimental setup connected to one or more PCs and/or plugpack power supplies.

This often yields an environment that is nowhere directly referenced to earth ground, or referenced to it at some point in the circuit in an uncontrolled manner, especially when a laptop computer with a two-prong-connected power supply is used.

Common "lightweight" plugpack switching power supplies tend to give you output rails that actually have a high-impedance AC potential relative to earth, at half the mains voltage, superimposed on both poles. This usually goes unnoticed because the load is either completely floating (a plastic cased accessory), or has its ground tied firmly to earth ground (a desktop PC), and the impedance is high enough not to hurt you (unless you hold a wire to your tongue, near a vein ... don't, even if it should be safe.).

However, in a test setup like this, it can mean half mains voltage appearing in the wrong place - and 60V or even 120V (actually, a peak voltage of around 170V in the worst case...) can be enough to damage the gate of an unprotected MOSFET if some other electrode is earth ground referenced in any way (eg by a well grounded person touching the drain or source circuit)..

\$\endgroup\$
1
  • \$\begingroup\$ That's an excellent point. I once fried my meter when I touched the router antenna shielding. The thing was getting live voltage leaking through the adapter! I then grounded it and it was fine again. They shouldn't sell crappy double-insulation adapters with name-brand devices. \$\endgroup\$
    – Zdenek
    Commented Nov 10, 2017 at 19:33

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