Electronic – arduino – MOSFET LED Driver for low power LED’s

arduinodriverled

Now that the music festivals are getting closer this summer, I thought I would build some low-power dancefloor lights for my camp. The circuit I've found is really simple, but unfortunately I am not an expert on the field. enter image description here

The driver will accept 12V as the main current for the circuit, except the control input will be 5V from a microcontroller. The FET/BJT will make the circuit always run at a specific amount of current, depending on the value of R1.

Once i'm building the shown circuit on a breadboard, it seems to work pretty okay, however when I solder it to the PCB's I have strange behaviour:

At first, the FET is open for current flowing through it, even if there's 0V on the gate. How can that even be possible? Also, the current is not limited at all!

After a while (~an hour with too much current! I suspect the FET has been very hot) it starts to work as intended, and limits the current to what I calculated. However if I put the control signal to ground, it will not be able to completely shutdown the current flow, resulting in weak but clearly visible light from the LED's.

I really cannot figure this out. Temperature (afterwards) doesn't seem to affect anything. I've built 4 of these units now, since I though i had a loose connection somewhere, but I start thinking that isn't the issue anymore.

Any thoughts?

(I'm running 25mA through each chain of LED's, i.e. 100mA in total. The voltage drop across each LED is ~3.2V (green LED's). R1 is 5R6 and R2 is 10k)

Best Answer

Few things to check:

  • Are the grounds of the 12V and microcontroller supplies tied together? (they should be)
  • Is the MOSFET the right way round? (also the BJT)
  • Is the MOSFET gate floating at any point? (check wiring with multimeter for continuity between gate and uC pin)
  • As suggested by Bitrex, is there any oscillation?
  • Check the rest of wiring and also node voltages with multimeter to make sure things are as they should be - also make sure resistor values are correct

If you still can't find the issue, can you post an image of your board layout (pics/gerber) and measured voltages if possible.