What is a LED driver??

Discussion in 'Electronics Resources' started by Pawel19, Sep 5, 2012.

  1. Pawel19

    Thread Starter New Member

    Sep 1, 2012
    I've looked around trying to find out what the difference is between shift register and an led driver. Is a driver such as this: http://www.ti.com/product/tlc59116

    Basically a 16 channel shift register which also controls boosts current (like a transistor shift register combo)? Or does it simply control current between channels more evenly than a shift register without bumping up the current?

    I've seen many tutorials on how to use shift registers to light extra LEDs, but since output pins are limited to a certain current (for instance 40ma on the Arduino), how do you get around this? Seems like a shift register would still only pull 40ma and just spread it among 8 LEDs.

    For that matter, how do these videos show 16 LEDs being lit off 3 PWM pins when the LEDs would draw 20ma*16=320ma and the pins can only provide 60ma? Thanks for any help on understanding this!
  2. devilwiss

    New Member

    Sep 8, 2012
    Led driver is a PCB that contains either boost or buck or buck/boost converter to drive a serie of LEDs, it does also different special functions like dimming and current regulation.
  3. JohnInTX


    Jun 26, 2012
    A shift register is simply a logic circuit that consists of a series of flip/flops connected so that the content of one f/f is moved to the next one when the device is clocked. The data 'shifts' to the next f/f, hence the name. The functional description of a shift register stops at that.

    A driver of any kind is one which increases the power at its output in response to its sole input. No logic involved.

    It is common for logic circuits (like a shift register) to just do logic. The outputs are strong enough to drive other logic of a similar technology and that's it. When its time to 'drive' something that is NOT a similar technology (an LED, relay or 400 horsepower synchronous motor etc.) you need a 'driver' i.e. something that performs the same logic at a higher power.

    Its common to see shift registers used to increase the number of outputs from a microcontroller. Depending on the technology of the shift register and/or type of LED a driver (to increase the power to the LED) may be required. An example would be a 74HC597 shift register to hold the data and a ULN2003 to drive the LEDs or other loads.

    All of that said.. the TLC59116 is a different animal than above. It has driver circuitry (programmable constant current too!) but is not a shift register per se. Instead, it uses I2C to write to internal registers to perform functions (LED on/off, brightness etc). While I2C is serial, its a step above the simple clock/data of a classic shift register.

    Looks like a nice part but don't confuse it with the classic shift-register/driver model.

    Don't know which videos you are referencing but these things are done by multiplexing i.e. arranging the circuitry so that the LEDs are turned on only for a fraction of what the eye perceives as the the total ON time. By 'scanning' the array of LEDs in firmware, the whole array looks like its on all the time due to visual persistence in the eye.
    Last edited: Sep 9, 2012
  4. Pawel19

    Thread Starter New Member

    Sep 1, 2012
    Wow, thank you! Been on here for a week asking MANY questions and that was definitely the most informative answer I got (although that might be due to my quickly growing knowledge of what the hell people are talking about).

    The videos I was referring to used 2 shift registers daisy chained off 3 pwms to run 16 LEDs. Don't think they were multiplexed (and don't think that would be a solution for my project because my LED's will be moving somewhat quickly and I don't want there to be any artifacts), but probably just run at a low current.

    Would the TLC59116 and a microcontroller alone allow me to drive 5 rgb LEDs? Would I need additional transistors or anything? Could I use 2 of these to drive 10 rgb LEDs off a single microcontroller? Thanks for the help, I really appreciate it!
  5. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    This is a pretty cool device. Mikey likes!

    Yes. Each RGB LED needs 3 outputs, so 5 of these require 15 outputs, and this thing has 16.

    Nope. Each output is a PWM switched controlled current sink, so the LEDs wire in directly. See Figure 10 of the spec sheet.

    DO pay attention to the DISSIPATION RATINGS on sheet 4. Even the SOIC is rated for 1.2 watts, that's a lot. The QFN package is better at 3 watts but that will need a good thermal pad underneath, basically one huge pad with vias to the other side to help spread the heat generated. Without this pad it may be comparable to the SOIC package.

    When you pick some LEDs stop back and we can check how much power they will dump into the package. It's basically (your Vcc - the LED diode drop) times the current you drive them at, sum for each and every LED.

    If the power gets excessive then some external resistors can help (a lot!).

    Each device has 4 pins to set the I2C address, so you could add 16 of these things on a single I2C bus. And since you could conceivable have several I2C buses off the same micro you can keep stacking these things up.

    Hey I just got here! :D
  6. Pawel19

    Thread Starter New Member

    Sep 1, 2012