Maker Pro
Maker Pro

Digital Current Control for LED array

I'm very new to most concepts of electronics and I need some advice.
Please keep anwers in laymans terms otherwise I'll get lost. thanks


I'm looking to power arrays of 7 LEDs with a digital current control
system. I want to be able to write a program that can control the
irradiance of the LED arrays. The problem is that the irradiance of
all 7 LEDs needs to be matched, so while one LED will be taking 1amp
another is only taking 0.8amps another 0.9 etc so they give off the
exact same amount of light. I'm not sure if I need to produce a
current limiting circuit for each LED that is digitally controlled or
if I can have one large supply that is digitally controlled that feed
the 7 LEDs in parallel.

A 7amp supply fed to 7 LEDs in parallel would produce 1 amp at each
LED. If I put a circuit in front of each LED which supplies it with a
percentage of that current (say 90% giving a curent to the LED of
0.9amps) then I can supply 0.7amps from the supply (0.1 amp to each
LED) and still get 90% of the current at the LED (0.09amps) then I've
cracked it. The relationship between irradiance and current on the
LEDs I've got is effectively linear so an LED that requires 90% of the
current to produce the same irradiance as another LED will require 90%
whether that's at 0.1 amp or 1amp.

Any ideas??

Thanks
Evan
 
J

John_H

http://pdfserv.maxim-ic.com/en/ds/MAX6958-MAX6959.pdf
I think this will fit the bill. Many other devices provided by Maxim and
competitors will give individual control of amplitude, often through "PWM"
or Pulse Width Modulation which will turn the LED on and off faster than you
can see the change.

1 amp though? Those aren't the normal LEDs I know of. I thought the 5W
Luxeon lumileds were limited to ~700mA.
 
J

John Fields

I'm very new to most concepts of electronics and I need some advice.
Please keep anwers in laymans terms otherwise I'll get lost. thanks


I'm looking to power arrays of 7 LEDs with a digital current control
system. I want to be able to write a program that can control the
irradiance of the LED arrays. The problem is that the irradiance of
all 7 LEDs needs to be matched, so while one LED will be taking 1amp
another is only taking 0.8amps another 0.9 etc so they give off the
exact same amount of light. I'm not sure if I need to produce a
current limiting circuit for each LED that is digitally controlled or
if I can have one large supply that is digitally controlled that feed
the 7 LEDs in parallel.

A 7amp supply fed to 7 LEDs in parallel would produce 1 amp at each
LED. If I put a circuit in front of each LED which supplies it with a
percentage of that current (say 90% giving a curent to the LED of
0.9amps) then I can supply 0.7amps from the supply (0.1 amp to each
LED) and still get 90% of the current at the LED (0.09amps) then I've
cracked it. The relationship between irradiance and current on the
LEDs I've got is effectively linear so an LED that requires 90% of the
current to produce the same irradiance as another LED will require 90%
whether that's at 0.1 amp or 1amp.

Any ideas??

---
Yeah. Put a resistor in series with each LED such that when you
switch the power supply over to that array each LED only consumes
what it needs to be as bright as the rest of the LEDs in that (or
the entire) array.

If you're looking for precision, the value of each of those
resistors will need to be determined experimentally and you'll need
a light meter to determine what value of resistance will cause each
LED pixel to be as bright as you want it to be.

Anything else?
 
E

Evan

John_H said:
http://pdfserv.maxim-ic.com/en/ds/MAX6958-MAX6959.pdf
I think this will fit the bill. Many other devices provided by Maxim and
competitors will give individual control of amplitude, often through "PWM"
or Pulse Width Modulation which will turn the LED on and off faster than you
can see the change.

1 amp though? Those aren't the normal LEDs I know of. I thought the 5W
Luxeon lumileds were limited to ~700mA.

Yea, I'm using 3W Luxeon III lumileds which are rated to ~1400mA.

Looking at the MAX6958/6959 I can't tell whether I can alter the
current directly up to 1A for each LED. It says the current is limited
to 26mA for the display LEDs but if it's going straight out to descreet
LEDs it looked like only 275mA. I need to be able to alter the current
output from 0-1A for each LED.
 
E

Evan

the problem is I need the output current to the LED to be a set
percentage of the supply current automatically. If I put a resistor in
front I'll need to change the value of the resistor every time I change
the supply current won't I?

A friend has suggested converting the current to a voltage and putting
it through an amplifier with a gain of say 0.2 then convert it back
into a current. That will allow 20% of the input through. How do I
convert a current into purely voltage? Do I need to know the input
current to do this or can a circuit be designed that will convert the
current to voltage regardless of input size?

Thanks
Evan
 
W

Winfield Hill

Evan wrote...
A friend has suggested converting the current to a voltage and putting
it through an amplifier with a gain of say 0.2 then convert it back
into a current. That will allow 20% of the input through. How do I
convert a current into purely voltage? Do I need to know the input
current to do this or can a circuit be designed that will convert the
current to voltage regardless of input size?

Circuit to convert a current into a voltage, ---/\/\---

Circuit to amplify by 0.2, in ---/\/\--o--/\/\--- ground
- |
- out

Sorry, Evan, I couldn't resist.
 
J

John Fields

the problem is I need the output current to the LED to be a set
percentage of the supply current automatically. If I put a resistor in
front I'll need to change the value of the resistor every time I change
the supply current won't I?

---
No, because you won't be changing the supply current, you'll be
changing the supply's output _voltage_.

What the resistors will be doing is causing the current going into
the LEDs to be scaled so that the weaker LEDs will get more current
than the strong ones for the same light output.

If, as you say, the relationship between light output and current is
linear, then once you've got them all at the same brightness then
their brightnesses should track as you vary the supply voltage.

One thing I failed to mention was that your initial premise was
wrong. That is, if you connect seven LEDs in parallel with the
output of a power supply which is putting out seven amperes, the
current _will not_ divide equally because the forward voltages of
the LEDs will _not_ be equal. What will happen is that one LED will
hog most of the current, and then as it heats up its Vf will drop,
causing it to hog even more of the current, causing it to heat up
more... Eventually it'll die, and if it faiss open the LED with the
next highest Vf will give up its life, and so on...
---
A friend has suggested converting the current to a voltage and putting
it through an amplifier with a gain of say 0.2 then convert it back
into a current. That will allow 20% of the input through. How do I
convert a current into purely voltage? Do I need to know the input
current to do this or can a circuit be designed that will convert the
current to voltage regardless of input size?

---
Forget it. Just use the resistor method I outlined earlier.

BTW, when you reply to a post please leave a little of the post
you're replying to in your reply so we can tell to whom and about
what you're replying.

Thanks,
 
T

theJackal

I'm very new to most concepts of electronics and I need some advice.
Please keep anwers in laymans terms otherwise I'll get lost. thanks


I'm looking to power arrays of 7 LEDs with a digital current control
system. I want to be able to write a program that can control the
irradiance of the LED arrays. The problem is that the irradiance of
all 7 LEDs needs to be matched, so while one LED will be taking 1amp
another is only taking 0.8amps another 0.9 etc so they give off the
exact same amount of light. I'm not sure if I need to produce a
current limiting circuit for each LED that is digitally controlled or
if I can have one large supply that is digitally controlled that feed
the 7 LEDs in parallel.

A 7amp supply fed to 7 LEDs in parallel would produce 1 amp at each
LED. If I put a circuit in front of each LED which supplies it with a
percentage of that current (say 90% giving a curent to the LED of
0.9amps) then I can supply 0.7amps from the supply (0.1 amp to each
LED) and still get 90% of the current at the LED (0.09amps) then I've
cracked it. The relationship between irradiance and current on the
LEDs I've got is effectively linear so an LED that requires 90% of the
current to produce the same irradiance as another LED will require 90%
whether that's at 0.1 amp or 1amp.

Any ideas??

Thanks
Evan


As far as I know connecting LEDS in parallel is a bad idea as if any
one of them has a slightly low resistance it will light brighter and
all the others will be dim . So unless they have the same model
number, come from the same shop , have same age you run a risk. And
even then these things degrade at different rates so you still run a
risk . Do a bit of Math and put them in series and add a resistors in
parallel to the each of the series connected LEDs .

"Go easy with the whisky"

theJackal
 
R

Rich Grise

Evan wrote...

Circuit to convert a current into a voltage, ---/\/\---

Circuit to amplify by 0.2, in ---/\/\--o--/\/\--- ground
- |
- out

Sorry, Evan, I couldn't resist.

<chuckle>
 
J

John_H

Evan said:
Yea, I'm using 3W Luxeon III lumileds which are rated to ~1400mA.

Looking at the MAX6958/6959 I can't tell whether I can alter the
current directly up to 1A for each LED. It says the current is limited
to 26mA for the display LEDs but if it's going straight out to descreet
LEDs it looked like only 275mA. I need to be able to alter the current
output from 0-1A for each LED.

I forgot to elaborate on an item for the one IC: to drive a 1 amp output
from any LED array driver chips, you'd want to go through a mosfet or one
(or 2) bipolar transistor stages to get the current you want from one
control voltage. Current still needs to be limited "appropriately."

You may want to use individual, tiny switching supplies to give you high,
fixed currents to each LED. It's more complex, but the precision control
over current and improved effeciency might be worthwhile. Current-mode
switchers are designed for LEDs but would typically require an external
transistor and beefier inductors to switch the high loads. The LED
switchers are also available from maxim-ic.com.

If you try to use one supply for all 7 LEDs in parallel, you need current
limiting for each LED such as your thought for a different circuit for each
LED. Often people just use resistors for the low current LEDs but that
doesn't supply much tuning. Make sure in whatever scheme you use that the
maximum current *cannot* be exceeded for any individual LED. It's a shame
to burn one out.

It may be the best way to go is a multi-channel DAC to control MOSFETs
inline with each of the 7 LEDs. To get the low voltage drop across the FET,
you'll need an amplifier to drive each MOSFET with feedback from a per-LED
current-sense resistor to keep the gate voltage at just the right level.
Keep in mind how much power each will burn when you make your selection.

If you'd like to get into more specific detail please email me at
johnhandwork at mail dotc om and I can help you come up with something
decent. I should have a few 3W devices myself from a coworker in a few days
and I've got a teeny-tiny Luxeon Flash at home waiting to be wired up to
something. It's in my own interest to get something "nice" together.

- John_H
 
J

John Fields

As far as I know connecting LEDS in parallel is a bad idea as if any
one of them has a slightly low resistance it will light brighter and
all the others will be dim . So unless they have the same model
number, come from the same shop , have same age you run a risk. And
even then these things degrade at different rates so you still run a
risk . Do a bit of Math and put them in series and add a resistors in
parallel to the each of the series connected LEDs .

---
If this is what you're advocating:


+V
|
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
|
GND

I'd like for you to explain how to choose the values of the
resistors so that as the current through the string is varied the
brightness of all of the LEDs will vary identically.
 
T

theJackal

As far as I know connecting LEDS in parallel is a bad idea as if any
one of them has a slightly low resistance it will light brighter and
all the others will be dim . So unless they have the same model
number, come from the same shop , have same age you run a risk. And
even then these things degrade at different rates so you still run a
risk . Do a bit of Math and put them in series and add a resistors in
parallel to the each of the series connected LEDs .

---
If this is what you're advocating:


+V
|
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
|
GND

I'd like for you to explain how to choose the values of the
resistors so that as the current through the string is varied the
brightness of all of the LEDs will vary identically.
I actually had in mind both the circuit above and a series
connection of LEDs with a single resistor connected at the other end
depending on which case was taken in consideration.
Well the Op should know 2 values regarding the LEDs from their
datasheet
1) Every specific colored/type LED has a specified forward voltage
drop (Vn) for nth LED
2) He should know the specified current limit of the LEDs he is using.
(In)

Assuming the LEDs are of the same type then simply R = Vdcsupply
-V1*7/I1
He can modulate the brightness using a PWM source being careful that
the current * the frequency of his PWM source is less or equal to
I1.

I'm not sure whether the OP is using identical LEDs or differently
colored ones in which case the above values at 1) and 2) are
different.


Lets take the more complicated case which is the circuit you've drawn
above in which each LED is different so has a different limiting
current through it , needs a differently valued resistor and has a
different forward voltage. I would add another Resistor (Rd) in
series with the parallel array of LEDS and resistors.

if In is the mesh current flowing through the nth mesh
Then
I1*R1 = Voltage drop on LED 1 =V1
R1 = V1/I1
R2=V2/I2
..
..
..
R7= V7 /I7

I8 is the mesh current through the mesh containing Rd and the power
supply
so
-V + (I8-I1)*R1 + (I8-I2)*R2 + ... +(I8-I7)*R7 + Rd*I8= 0

All the resistors can easily be calculated from the above equations
He can vary the individual brightness of each LED by varying Rn
separetely or otherwise varying Rd or the power supply voltage
(Pulsed).


theJackal
 
T

theJackal

Using the convention of currents I've used actually

R1 = V1/I1
R2=V2/I2
..
..
..
R7= V7 /I7

Should be

R1= V1/ I1-I8
R2=V2/I2-I8
..
..
..
Rn= Vn/In-I8

theJackal
 
J

John Fields

As far as I know connecting LEDS in parallel is a bad idea as if any
one of them has a slightly low resistance it will light brighter and
all the others will be dim . So unless they have the same model
number, come from the same shop , have same age you run a risk. And
even then these things degrade at different rates so you still run a
risk . Do a bit of Math and put them in series and add a resistors in
parallel to the each of the series connected LEDs .

---
If this is what you're advocating:


+V
|
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
| |
[LED] [R]
| |
+----+
|
GND

I'd like for you to explain how to choose the values of the
resistors so that as the current through the string is varied the
brightness of all of the LEDs will vary identically.

I actually had in mind both the circuit above and a series
connection of LEDs with a single resistor connected at the other end
depending on which case was taken in consideration.

---
You seem to have missed the OP's post which stated that he had an
array of seven LEDs which he wanted to dim, with all of the LEDs
being equally bright as dimming proceeded.

Your suggestion of a series string with a single series resistance
in it won't work, simply because if the LEDs arent equally bright to
begin with, (which they won't be) then the differences in brightness
between the lamps will persist as their intensities are adjusted.
---
Well the Op should know 2 values regarding the LEDs from their
datasheet
1) Every specific colored/type LED has a specified forward voltage
drop (Vn) for nth LED
2) He should know the specified current limit of the LEDs he is using.
(In)

---
Take a look at _any_ LED datasheet and you may notice that at a
specified operating current the intensity of the LED's output will
vary over a wide range. That's precisely what the OP's problem is,
and knowing the LED's Forward voltage and current spec's won't help
solve that problem.
---
 
J

John Fields

Using the convention of currents I've used actually

R1 = V1/I1
R2=V2/I2
.
.
.
R7= V7 /I7

Should be

R1= V1/ I1-I8
R2=V2/I2-I8
.
.
.
Rn= Vn/In-I8
 
J

John Fields

LMAO
Egotism is the anesthetic that dulls the pain of stupidity.

Frank Leahy

---
Hmm...

As well as being abjectly stupid about LEDs, binary counters, and
just about everything else you've had the misfortune of trying to
write about, I see you have to quote others since you obviously
have no wit of your own.

Jackal? More like jackass.
 
J

John Fields

Talk to an idiot and you won't be able know who is the idiot

---
Perhaps, but in the world of _written_ communications it's easy to
tell.

For example, your use of 'Vn' for 'Vf' (the universally accepted
symbol for the forward voltage of a diode) and 'In' for 'If' (the
universally accepted symbol for the forward current of a diode)
coupled with the ridiculous arithmetic you used to try to illustrate
what you didn't understand in the first place labels you as having
sat in the dunce chair for a long, long time.

Not to mention the fabulously funny flip-flop fiasco, where you made
the old saying that every man's reach should exceed his grasp come
to life.

Jackal? More like Jackoff...
 
T

The Cheese Machine

allthekings_horse said:
I'm very new to most concepts of electronics and I need some advice.
Please keep anwers in laymans terms otherwise I'll get lost. thanks


I'm looking to power arrays of 7 LEDs with a digital current control
system. I want to be able to write a program that can control the
irradiance of the LED arrays. The problem is that the irradiance of all 7
LEDs needs to be matched, so while one LED will be taking 1amp another is
only taking 0.8amps another 0.9 etc so they give off the exact same amount
of light.

Is this to correct for "shading" variances across the arrays?

How exactly do you intend to measure the actual light output of each LED?

Is this a one-off correction, or an ongoing process?
 
Top