Connect with us

Digital Current Control for LED array

Discussion in 'Electronic Design' started by [email protected], Dec 19, 2005.

Scroll to continue with content
  1. Guest

    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??

  2. John_H

    John_H Guest
    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.
  3. John Fields

    John Fields Guest

    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?
  4. Evan

    Evan Guest

    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.
  5. Evan

    Evan Guest

    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?

  6. 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.
  7. John Fields

    John Fields Guest

    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...
    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.

  8. theJackal

    theJackal Guest

    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"

  9. Rich Grise

    Rich Grise Guest

  10. John_H

    John_H Guest

    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

    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
  11. John Fields

    John Fields Guest

    If this is what you're advocating:

    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |
    | |
    [LED] [R]
    | |

    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.
  12. theJackal

    theJackal Guest

    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
    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.

    Assuming the LEDs are of the same type then simply R = Vdcsupply
    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

    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

    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
    I1*R1 = Voltage drop on LED 1 =V1
    R1 = V1/I1
    R7= V7 /I7

    I8 is the mesh current through the mesh containing Rd and the power
    -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

  13. theJackal

    theJackal Guest

    Using the convention of currents I've used actually

    R1 = V1/I1
    R7= V7 /I7

    Should be

    R1= V1/ I1-I8
    Rn= Vn/In-I8

  14. John Fields

    John Fields Guest

    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.
    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.
  15. John Fields

    John Fields Guest

  16. theJackal

    theJackal Guest

    Egotism is the anesthetic that dulls the pain of stupidity.

    Frank Leahy

    "Go easy on the whisky"

  17. theJackal

    theJackal Guest

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

    "Go easy on the whisky"

  18. John Fields

    John Fields Guest


    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.
  19. John Fields

    John Fields Guest

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

    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...
  20. 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?
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day