Electronic – LED Matrix Constant Current Driver with MOSFET and NPN Trans

circuit analysisconstant-currentled-drivermosfetnpn

I draw the circuit for driving Strings of LEDs. I have regulated DC supply of 17.5V @ 1A. I didn't choose constant current supply because it was adding extra cost to the whole project, therefore for driving LEDs I am using Constant Current source driver based on N channel MOSFET and NPN Transistor with some resistors, it's cheap and cost effective solution, as I have to keep the cost of project as low as possible.

I visited many website and tutorials for how it works and have this circuit made, I am still not sure about the circuit :-

Here is the Circuit to Drive 20 LEDs using ESP8266 SoC Module.

enter image description here


Component Specifications :-

White LED(SMD) – Package 2835

  • Vf = 3.1-3.2V
  • If = 60mA(Typ), 90mA(Max), Pulse current = (150mA)

Q1 (N-channel MOSFET) – Package SOT-23

  • IDS: 5.8A
  • VGS: ±12V
  • VDS: 30V
  • VGS(th) = 1.05V
  • RDS(ON) (at VGS=10V) < 28mΩ
  • RDS(ON) (at VGS = 4.5V) < 33mΩ
  • RDS(ON) (at VGS = 2.5V) < 52mΩ

    Some Other info :-

enter image description here

Link to Datasheet :- http://www.aosmd.com/pdfs/datasheet/ao3400.pdf


MMBT3904 NPN Transistor

enter image description here

Link to Datasheet :- http://www.onsemi.com/pub/Collateral/MMBT3904LT1-D.PDF


Some Calculations :-

  • The Needed Current to fully glow all 5Series 4Parallel LEDs = 360mA (90*4).
  • Total voltage drop across LEDs = 16V (3.2*5).
  • Input Voltage = 17.5V @ 1A
  • The Vbe of NPN = 0.7V

The Current though MOSFET and LED will be defined by R5 and R6 resistors.
Therefore

  R5 = R6  = 0.7/If(LED)
  R5 = R6  = 0.7/0.45 ohm.  (450 mA taken, extra 100 mA as buffer)
  R5 = R6  = 1.5 ohm

Power Dissipation at R5 and R6 :-

Ps = 0.49/1.5 W
Ps = 326 mW

Voltage Drop Across MOSFET:-

Vm = Vs - Vf(LED) - Vbe
Vm = 17.5 - 16 - 0.7
Vm = 0.8 V

Power Dissipation on the MOSFET :-

Pm = Vm * If (LED)
Pm = 0.8 * 0.45
Pm = 360 mW

Reference PCB board with Aluminium Heatsink on the backside :-

enter image description here


Questions :-

  • Is circuit appropriate to drive all 20 Leds with above calculations?
  • Any thermal run away issue with the circuit?
  • Do I need limiting resistance on the LED side?
  • What does Pulse current refer to in LEDs?
  • What is the use of Resistance R21 & R7 in circuit?

Edit :-

The Vf vs Junction temperature Graph :-

enter image description here

The Vf vs If Graph :-

enter image description here

Best Answer

I would never power LEDs in parallel without a series resistor in each branch to balance the currents between the branches, especially if the LEDs are intended to be powered close to their maximum current. If you don’t try the balance the currents, a branch may get slightly more current than the others, which will make the LEDs in the branch slightly hotter, changing the U-I characteristics such that the branch will get more current, and you have thermal runaway. I think a 1Ω resistor in each branch should be enough.

The pulse current is the maximum current allowed in the LED for a short time (for example if one wants to flash the led for a still picture camera). The max current should be the maximum current the LED can accept, probably with perfect thermal dissipation. I’d rather not use currents much higher than the nominal current.

Your calculations for resistor values and power dissipations look fine to me.

Edit: it is not fine. First, if the maximum current in your LEDs is \$4 \times 90\textrm{mA} = 360\textrm{mA}\$ you should certainly not design a current regulator for a higher current, or you will burn your LEDs. You should rather design it for a lower current to ensure you won’t burn them. I’d go for \$4 \times 60\textrm{mA} = 240\textrm{mA}\$. Then, you’d get \$\textrm{R5} \parallel \textrm{R6} = \frac{0.7\textrm{V}}{0.24\textrm{A}} = 2.9\Omega\$, with \$\textrm{R5} \parallel \textrm{R6} = \frac{\textrm{R5} \times \textrm{R6}}{\textrm{R5} + \textrm{R6}}\$. If you choose \$\textrm{R5} = \textrm{R6}\$ (which is sane), you have \$\textrm{R5} \parallel \textrm{R6} = \frac{\textrm{R5}}{2} = \frac{\textrm{R6}}{2}\$, hence \$\textrm{R5} = \textrm{R6} = 5.8\Omega\$.

Your circuit is more a current limiter than a current regulator. It works because when current gets (too) high, the Vbe of T1 gets high, and then T1 will reduce the Vgs voltage of Q1, which become more resistive and will reduce the current. R7 is useful so that T1 can reduce the voltage. Without it, you might just burn T1 if WHITE_GPIO was connected to a low-impedence voltage source.

I have no idea about the use of R21.