# Simple Led Driver/Constant-current Source 20 MA

66,452

138

32

Hello, in this project i want to show you how to make a constant-current source which gives 20mA at the output.
Its also known as LEd driver, because many leds need 20 mA to light up. The input of the constant-current source can be between 5V and 15V DC, what is realy usefull for variable voltage sources. The unloaded output will be the same Voltage as the input -0,7V for the circuid, it will regulate itself when you burden it . You can place 1 to 7 LED´s in a row, without a resistor and without destroying the LED´s / the driver.

explanation

The LED will try to get the maximum aviable curent, what is 20mA, if the 20mA are reached the voltage will go down to the voltage which the LED need to have a currend of 20mA and stay there --> LED driver

## Step 1: What Do You Need?

Parts:

Solder
a circuit board
1x 39Ohm Resistor
1x 10kOhm Resistor
1x BC547B Transistor (Or equal)
2x 1N4007 Diode (Or equal)

Terminals (like the blue ones on the pictures)
LED´s to test/use it

Tools:

soldering iron
a Cutter
pincers
voltage source to test/use it

## Step 2: Assembly

Now solder it together, use the schematic. Importand, eighth at the transistor don´t permute the legs or maybe there will be curents around 200mA (i tested it!! ;) ).
The circuit board i used is 7x8 holes small one, you can make it smaller when you dont use the terminals, a cooling element is not necessary, because it will not heat up that mutch.

## Step 3: Testing...

If you assembled it all right together you are ready to test it.
Add a Voltage source, and add a LED, the LED should light up :)

You can place 1 to 7 LED´s in a row, without destroying them and the driver, but then the voltages which the LED´s need added together dont have to exceed the input voltage -0,7V for the circuit.

example:

Input voltage = 9V
Circuit = 0,7V
Red LED´s = 1,8V

0,7V 1,8V 1,8V 1,8V 1,8V = 7,9V < 9V OK
0,7V 1,8V 1,8V 1,8V 1,8V 1,8V = 9,7V > 9V Not OK

Thank you for Reading, feel free to Comment.

Usings:

To test a LED
for bike lights, the dynamo generate different voltages at different speeds
If you are annoyed to calculate a resistor for a LED

Thank you for reading, you may want to visit my other websites:

www.janhenrik.org Participated in the
Hardware Hacking Participated in the
Make It Glow Contest

## 2 People Made This Project!

• • ## 32 Discussions

so I did some testing with different input voltages, all at 530mA, and it seems that the mA going through the LED ranges quite a bit depending on the input voltage. This might be part of the circuit's function, but it seemed that it should have constant current even with uneven input. Here are my results with a single 3.6v blue LED: turns on at 2.5v. 10mA @ 3.5v. 20mA @ 4.1v. 40mA @ 5.15v (USB voltage). 60mA @ 7v. 80mA @ 9v. 95mA @ 11v this was as high as I could go, my power supply can go up to 17v, but the circuit would not accept above 11v. anything more and it turned it into heat (it got pretty hot when I tried 17v). just thought I would share this. and I'm currently waiting on a few parts to get here for my 'ible, hope they get here soon!

Thanks for sharing. I tried this out-used a bc549c and one led with Vf 2.1v

this is not a constant current source, as it varies with the input voltage.

but it does limit the current to a reasonable value over the range, and it works from a very low input voltage which is nice.

I do not understand completely, but i think the voltage drop over the diodes makes the transistor control the current

2v -> 1.75mA

2.1v -> 2.8mA

2.2v -> 4mA

2.3v -> 5.6mA

2,5v -> 8mA

3v -> 9mA

4v -> 10mA

15v -> 15mA

24v -> 19mA

2 replies

A tutorial on this current source driver for LED (2018 09 14)
--------------------------------------------------------------------------------
I'll try to invoke as little math as possible.
More math will be separately appended at the end for details.

Some assumptions are made. They have very minor influence.

They, however, make explanation clearer, much easier to understand.

[IMO, Vd, the diode Voltage, at 0.68V, is a better fit.
But I'll use the Vd=0.78V here. To set to desired LED current,
R2 needs to be trimmed anyway.]
..........................
Let
Power supply be Vc (5V-15V, 10V is nominal),
Diode Voltage be Vd, diode current of D3,D4 be Id,
Voltage across R2 be Vr, current of R2 be Ir.

We assume Q1 collector current=emitter current=Ir=ILED,
all diode Voltages are about the same = 0.78V, as does Vbe of Q1.

Because

Ir=ILED=20mA,
Vr = IrxR2 = 20mAx39Ω = 0.78V
(That's why I choose Diode Voltage be 0.78V, so to fit
the article result.)

First, calculate the quiescent state of the circuit,
so that we have some numbers to visualize:
Choose Vc=10V (will explain why choose 10V), on the R1,D3,D4 circuit:
Id = (Vc-Vd-Vd)/R1 = (10V-2x0.78V)/10k = 0.844mA (0)
On the circuit of D3,D4,Q1Vbe:
Vd3+Vd4-Vbe=Vr
Therefore,
Vr = Vd+Vd-Vd = Vd |Vbe=Vd
ILED = Ir
= Vr/R2
ILED = Vd/R2 = 0.78V/39Ω = 20mA
From above equation,
ILED only depends on Vd,R2; has no dependency on Vc!

Explanation:
Vbe of Q1, Base-Emitter Voltage (a diode),
is about the same as Vd.
Vr = Vd3+Vd4-Vbe = Vd+Vd-Vd = Vd.
That is,
Vr=Vd (a single diode Voltage), about 0.78V here.

This is the reference Voltage across R2,
to develop the current Ir, which is also ILED.

The current source for the LED is then simply:

============================
ILED = Vd/R2 |Vd=Vdiode≈0.7V (1)
============================

Now,
find variation of ILED based on Vd variation which,
in turn, is induced by power supply variation:
i.e. find ILED to be a function of Vc.

We can now ignore the Q1 side of the circuit, as
all we need to find is Vd variation, which is from
the D3,D4,R1 side of the circuit.
Diode (D3, or D4) current is:

Id = (Vc-2Vd) / R1 (2)

Vd is relatively constant, about 0.78V here, so
Id variation is defined by R1 only.
Or,
Delta Id (i.e. change of Id) = 1/R1 x Delta Vc
[See below appended why this is so.]
Delta Id = 1/10k x Delta Vc,
or
--------------------------------
Delta Id = 0.1mA per V (3)
--------------------------------

Assume the supply, Vc, centers at 10V, and changes +/-5V,
from 5V to 15V as in the article.
Hence,
for a 5-V supply Voltage change, based on
the above equation (3),
Total delta Id = 0.1mA per Volt x 5V, or
Id varies +/-0.5mA for Vc varying +/-5V.

From Equation (0), we have Id,nom=0.844mA.
We now calculate Vd change:
Id,hi = 0.5mA+0.844mA,nom
Vd change = 26mV x Ln [(Id,hi/Id,nom)] =12mV
[See appendix below on this]

If Vd goes higher by 12mV from the norm ...
From equation (1): ILED = Vd / R2:
ILED,hi = (Vd,nom+12mV) / R2
= Vd,nom / R2 + 12mV / R2
The part,
12mV/R2, is the variation term.
That is,
the change from 20mA norm, induced by +/-5V, is
ILED change = +/-12mV/R2 = +/-12mV/39Ω
------------------------------------------------------------
ILED change = +/-0.308mA for +/-5V change (4)
------------------------------------------------------------
That is, total change of
+/-0.3mA from 20mA for a +/-5V supply change.
Or,
+/- (0.3mA/20mA) x100% = +/- 1.54%
i.e.
Total ILED varies <= +/-1.54% from the nominal 20mA,
very constant!

Conclusion:
Equations (3) and (4) show constant current source
as LED current driver, with minimum change
over a wide supply Voltage range (+/-5V, or 10-V span).

--------------------------------
Check the effect of Vd in the simplified equation (2):
For a diode, Vd varies very slowly with Id current.
For a 2X change of diode current, Vd changes 18mV.
For a 10X change of diode current, Vd changes 60mV.
Compare them to typical 0.7V diode Voltage magnitude,
the Vd varies only
(DeltaVd x100%)/0.7V -->
2.57% at 2X diode current change.
8.57% at 10X diode current change.
Therefore,
Vd can be a Voltage reference, just like Zener diodes.

The equation for above Id1/Id2 ratio is:
------------------------------
0.026V x Ln (Id1/Id2)) (5)
------------------------------
[where 0.026V is Thermal Voltage, Vt, at 25C.]
i.e.
Take the natural log (log-base-2, not base-10) of
the current ratio, then multiply by 26mV.
With (5) we can calculate ANY Vd change when knowing
the Id ratio. Example.:
5X Id change --> Vd changes 41.8mV.
..........
For Vc change from 5V-15V, the Id current change is,
from equation (3), with +/-5V supply change,
Delta Id = 0.1mA/V x 5V = 0.5mA total
Recall, from equation (0)
Id (or Id,nom) at quiescent is 0.844mA,
Id,hi = 0.844mA + 0.5mA = 1.344mA
Ratio of Id = Id,hi / Id,nom = 1.344mA / 0.844mA = 1.59
Using (5),
0.026V x Ln(1.59) = 26mV x 0.465 = 12.1mV
Have two diodes, D3,D4, so
total Vdiode variation = 2x 12mV = 24mV = 0.024V
Here,
the nominal two-diode Voltage is 0.78Vx2 = 1.56V
With a 5-V change on Vc, the change on the 2-diode Voltage is:
from 1.56V to (1.56V+0.024V),
--> Vd is practically constant!
Hence,
the earlier assumption that D3,D4 diode Voltage is
relatively constant is valid, having little effect on the simplified
equation (3) which is derived from equation (2).

Conclusion:
Equation (1), ILED = Vd/R2 is valid,

[Vd is Vdiode, and stable and flat, at about 0.7V.]
and 'seems' independent of the power supply Voltage.

---------------------------------------
As real world would have it, ILED is slightly dependent on Vc,
the supply Voltage. A percentage here, a percentage there, it adds up.

Also the NPN (Q1) output impedance (collector impedance)
is not ideally infinite. It depends on the supply Voltage.
There would be small induced error by the collector
impedance.
But the simplified way for quick calculation and visualizing
the dependency are a valuable tool.

A circuit good to 5%, 2%, tighter accuracy, is something else.
At accuracy of 1% and below you'd have to account for
a lot more. More understanding of the circuit and the device
are needed.
You can always trim R2 to get the precise current you want.
Then it stays nearly constant over the supply range.

===========================================
===========================================
Appendix:

Let
Id=diode current, Vd=diode Voltage,
Is=diode saturation current (a diode parameter)

For a diode, the Current-Voltage relationship is

Id = Is x [e^(Vd/Vt) - 1] (6)
where
Vt=0.026V approx. at 25C, is called Thermal Voltage
Is is a parameter of the diode.

Because (Is) is very very small (10^-15, 10^-17 Amp),
when compared to Id, the equation can be simplified to
------------------------
Id = Is x e^(Vd/Vt) (7)
------------------------
Equation (7) is the simplified diode equation.

Take the Ln of (6):
Vd = Vt x Ln [1 + (Id/Is)] (8)

Example:
Vd = 0.026 x Ln [1 + (0.228mA/10^-15)] = 0.68V

Diode has internal resistance, the complete equation is
Vd = IdRd + Vt x Ln [1 + (Id/Is)] (9)

Because Rd is small, and mostly Id is small (in mA),
IdRd is small compared to Vd, equation (7) is mostly used
for low power, battery powered, circuits.
At high Id, say, 0.1A, even if Rd is as low as 1 Ohm
(maybe 5 Ohms), IdRd would be 0.1V (maybe 0.5V).
Now it is not small when compared to nominal 0.7V.
Then (9) must be used.

For the circuit, assumption is made that
Vd of 1N4007 = Vbe of Q1.
Vbe of an NPN may not be the same as power supply type
rectifier diodes such as 1N4007.
For example, Vbe of 2N3904 is about 0.68V,
The key is: Vd is relatively constant over wide Id range,
only the magnitude (0.56V vs 0.68V) is different. For the
magnitude difference, you can trim it out.

[Again, 10X Id change induces only 60mV Vd change.
Examples: 0.56V to 0.62V, 0.68V to 0.74V.]

1N4007 is a high Voltage diode (1000V break-down, 1A).
As a high Voltage application diode, its Rd is generally high.
It affects the Vd flatness over Id variations.
The diode current here is small, about 1mA. Supply Voltage
is low (less than 20V). For flatter/more constant diode Voltage
as a reference, recommend use diode types
1N4001-1N4004 instead (lower Rd). 1N914 works fine too.
Q1 can be any 400mW to 1W NPN, such as 2N3904, 2N2222A.

-----------------------
Derivation of Id variation (of D3, D4):
As mentioned, from (2),
Id = (Vc-2Vd) / R1
or
Id = Vc/R1 - 2Vd/R1

Assume Vd is relatively constant,
differentiating with respect to Vc
∂Id/∂Vc = 1/R1 - 0
= 1/R1
--> ΔId/ΔVc = 1/R1 = 1/10k
--> ΔId = 0.1mA per V

To avoid differentiation, optionally do this:
Calculate Id using (2),
say, at Vc=10V:
Id,nom = (10-1.56V)/10k |2Vd=1.56V
Id,nom = 0.844mA
Now increase Vc by 1V, to 11V:
Id,hi = (11-1.56)/10k = 0.944mA
Change of Id for a 1-V change:
ΔId = Id,hi - Id,nom = 0.944mA - 0.844mA
= 0.1mA
Therefore,
Id change is 0.1mA per V.

Or total of 0.5mA change for a 5-V change.

-------
You might be confused here ...
Why find the variation of Id from supply Voltage?
Reason:
To find the supply-dependent variation of ILED ...
in which ILED is Ir ... by way of ...
Vr, Vd ... in which Vr is Vd.
Simply:
ILED variation is Vd variation; is Id variation.

Vr=Vd= the Voltage reference across R2.
Recall equation (2):
ILED = Vd/R2 --> If Vd varies, ILED will vary.
Recap:
Vd varies very very slowly with Id.
It has already been established by (5), then (3),
which leads to (4) which is
0.3mA total variation for a 5-V supply change,
from the nominal 20mA. Or
only 1.5% total change; essentially, a current source.

--------------------------------
The other factors:
Current gain, beta (β), of bipolar transistor is
β = Ic/Ib, deriving to
Ic = (β/β+1) x Ie [Ic is always one Ib less than Ie]

If beta is nominally 100, the error induced by beta is
1% on Ic magnitude (which is ILED).
If β is 100, and Ic=ILED=20mA, Ib= 20mA/β = 0.2mA
This Ib takes away the current from diodes D3,D4,
Recall that at 10V supply, Id,nom is 0.844mA,
error induced by Ib (or β for that matter) = 23.7% of Id (!!)
This Id variation causes
Vd error = 0.026 x Ln (23.7%) = 0.026 x Ln (23.7/100)
= 37.4mV
Ir error = Vd error / R2 = 37.4mV/39 = 0.96mA, or 1mA approx.
Hence,
Ib, or β, alone causes 1mA/20mA x100% = 5% magnitude error,
(the delta variation over supply change, though, remains small).

The comfortable factor here is that the 'large' errors are all
magnitude errors, affecting only the accuracy of deriving the
nominal current value using the simplified equations. All the
while, the LED current variations induced by supply Voltage
change is still small and valid, forming a tight current source.
And, the magnitude errors can be trimmed out by varying R2.

-------------------------
Collector output impedance is finite. It is a function
of the applied Collector Voltage (at Collector-to-Emitter pins).
In this circuit it is (Vsupply-VLED).

The related transistor parameter is called
Early Voltage, Va.
Collector impedance is then roughly
Rc = Va/Ic

Va generally ranges from 30V to 100V.
For 2N2222A Va=74V.
Assume Va=74V in this circuit. The Collector impedance,
at ILED=Ic=20mA, is
Rc = 74V/20mA = 37k Ohms.

1/Rc = 1/37k gives
ΔIc = 0.027mA per V change on Collector Volt.

Or, 0.027mAx100%/20mA, it is 0.135% change per Volt.
Practically can ignore.

Also note that there is a resistor (R2=39Ω) at the emitter.
Its presence greatly enhances Collector output impedance
to even higher still.
Meaning? Can ignore Collector impedance influence.

----------------
With all that, do not forget resistors. They could be
1%, 2%, 5%, even 20% tolerance.
A 20% error on R2 (39Ω) is a direct percentage error
on ILED!
We use R2 to trim out all other magnitude variables anyway!
And it is designed that way for trimming and setting the
correct LED current.

----------------
Transistor saturation:
If supply Voltage is too low, there may not be enough
headroom for Q1 and it will saturate. Current gain may then
go down to 10 or even 1, 0.1, etc. Base current increase
will drastically rob current from diodes D3,D4.
Vcollector = Vc-Vled. Vemitter=Vd=0.7V approx.
Vce = Vcollector - Vemitter = Vc - Vled - Vd
or Vc = Vled+0.7+Vce.
Vce needs about >=0.2V to be above saturation at 20mA.
So Vc >= Vled+0.7V+0.2V
or
-----------------------------------------
Vsupply >= Vled+0.9V approx. (10)
-----------------------------------------

A single white/blue LED is about 3.3V at 20mA;
Arriving at, for a single LED:
Vsupply >= 4.2V|wht, 2.8V|grn, 2.5V|red

------------------
The maximum supply Voltage is dependent on Q1
break down Voltage. Because Voltage transient could
apply to the collector pin via capacitive coupling of the
LED capacitance, for safe application:
Vsupply,max <= BVceo
where BVceo is Collecter-Emitter Breakdown Voltage,
when Base is open; no connection on the Base pin.

-----------------------------------------------------------------------
Circuit wiring errors:
If D3/D4 is wired in reverse, they no longer conduct current.
Q1 will saturate. Then LED current is roughly
dependent on R2 only:
ILED = (Vc-Vled-0.1)/R2 |0.1V is saturation Voltage
As you can see, ILED varies directly with supply Vc.

Always first check Voltage at D3,D4 (or at Q1 Base).
It should be 2Vd, or about 1.4V - 1.6V.

The safety net is R2 (39Ω).
It limits damage:
There is no short-circuit current path from supply to ground;
can only via R2 (or R1).

If the LED is reversely connected, there will be no LED light
and zero LED current (Icollector=0). Q1 would saturate