Parallel ULN2803A

Discussion in 'General Electronics Chat' started by portreathbeach, May 4, 2015.

  1. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    I am making an 8x8x8 LED.

    The actual cube is done, I'm just designing the driving circuit. The LEDs are arranged with a common cathode for each layer. I am going to use current source LED driving shift registers for the the anode columns, but not sure what to use for switching the layers.

    I was originally going to use MOSFETs, but I had a few ULN2803As hanging around and wondered if I could use them. They will look much neater on my control board too. Also, MOSFETs have the gate capacitance to worry about when switching at higher frequencies. They are only rated at 500mA output per Darlington output, but the datasheet says they can be paralleled to get higher output. Now my question is....

    A max of 64 LEDs on one layer multiplied by 20mA = 1.28A

    Could I parallel 3 or 4 of the outputs of a ULN2803 without any worry? The cube obviously multiplexes each layer, so the average current will be 1/8th of 1.28A.

    Any thoughts.
     
  2. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    You need to describe how you're multiplexing the LEDs. If you drive one at a time and you want the equivalent power dissipation of driving constantly at 20mA, you need to drive the LEDs much harder (60X) so you get equivalent brightness. If you drive rows or columns at a time, you need a current source.

    But to answer your question, yes you can use ULN2803A if they will provide the drive you require if you're driving LEDs individually and you can use them in parallel for more drive (if they're in the same package - because parameters will be more closely matched).
     
  3. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    When I say 20mA each, I mean they will have 20mA flow through them when they are on, so actually they will average 1/8 x 20mA = 2.5mA.

    Actually, 2.5mA is quite small. So I may have to drive them slightly higher.

    I know I could use dicrete NPN transistors, but for the price of the ULN2803s and the size, they will look better and make the project neater. MOSFETs are obviously the first choice for this type of thing, but the gate capacitance can be an issue at higher frequencies. I have a 32x32 RGB LED matrix that I have been playing around with and it had some horrendous ghosting issues until I soldered 10K resistors from the drain to ground.

    Obviously if I can use ULN2803s, there will be a lot less components needed.


    EDIT: Just tried one of the LEDs at 2.5mA and it isn't actually that dim. I may run them a little higher though. At 30mA per LED, that gives a total (if all LEDS in one layer were on) of 30mA x 64 = 1.92A. I could parallel 4 outputs of the ULN2803
     
    Last edited: May 4, 2015
  4. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    You're going to need to drive them a lot harder. Before you commit to a design, you should breadboard and see what brightness you want/need.
    You still haven't provided sufficient details regarding how you intend to multiplex to receive a decent answer. It sounds like you're going to drive a row/column at a time, but will you run multiple planes or just single. In either case, if you intend to drive more than one LED at a time, you need to use a current source. If you try to drive with either of the methods you've mentioned, LED current will depend on the number of LEDs turned on and you'll have issues with brightness.
     
  5. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    Ok. Sorry.

    Each layer has 64 LEDs. All the cathodes are connected together.

    I will have 64 anodes all together and 8 cathodes.

    The 64 anodes will be powered by MBI5026 LED driver shift registers.

    I will shift out the state of the LEDs in a layer into the shift registers, enable their outputs and switch the NPN for that layer. I will then turn off the enable of the shift registers and also the NPN. I do this again for the next layer etc. until all 8 layers have been done, and then repeat.

    I made a 3x3x3 cubes years ago, but this simply used 9 outputs from a PIC for the anodes and 3 NPN transistors for the cathode switching.


    If I am only putting the current through the darlington transistors for an 1/8 of the time, could I possibly push them a little harder, as the average current through them will be a lot less?


    EDIT: The datasheet says a maximum of 500mA
     
  6. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    Still not enough information. Will you drive more than one LED in a layer? The current that your cathode driver needs to sink depends on how many LEDs you'll have on simultaneously and the operating current.
    You need to follow max current and power dissipation specs for the drivers.
     
  7. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    Each layer will have a maximum of 64 LEDs on at one time, so the cathode will take the full current of all the LEDs.

    I think it might be silly paralleling 4 of the outputs of a ULN2803, so I had a look around in my component boxes. I have a load of TIP122 NPN transistors. According to the datasheet these have a max rating of 5A, and it says 8A pulsed, so would be perfect for what I want.

    The LED driver shift register chip I am using can be set to give a maximum of 90mA per channel, so I guess I could run the LEDs at 90mA, which would give an average of 11.25mA (1/8 duty because of the multiplexing). So if all the LEDs were on in one layer, I would have to sink a maximum of 64 x 90mA 5.76A, which the TIP122 could handle.

    As dl324 said, I will have to experiment and see how bright they actually are when multiplexed.

    Anyway, here is a pic of the current build:
    cube.jpg

    Just out of interest, here is the back of the 32x32 LED matrix display I modded to get the MOSFETs to work better:
    board2.jpg

    The little purple board is a driver board I made that keeps the LED matrix refreshed. It is an SPI slave and gets the data to display over SPI from another PIC. Works well.
    board.jpg

    I got the boards made by OSHPark. Very reasonable prices.

    I reedit to show the photos.
    Scott Wang.
     
  8. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    After all this I have just read on the net that Darlongton transistors can drop a volt or more across them depending on current, so maybe I'll go back to the MOSFET idea.

    I will experiment with a tip122 as a volt dropped may not be an issue, as the LED driving shift register puts out a constant current, so it may be OK.

    I'll have to experiment.


    EDIT: Just run one of my LEDs at 1/8 duty cycle at 5V with a 33R in series with it.

    LED forward voltage is about 3v, so 5-3 = 2V. 2v/33R = 60mA

    60mA at 1/8 duty cycle is average of 7.5mA

    Seems bright enough to me :)
     
    Last edited: May 4, 2015
  9. ScottWang

    Moderator

    Aug 23, 2012
    4,855
    767
    The Darlington transistors as uln2803 provided Imax=500mA whatever total or each channel are the same, but for the using life and light fading, also considering the heat, so never use it over 1/3 rating current, the better is about 100mA.

    The Darlington transistors has a Vce about 0.7~1.1V that it depends on the Ib current, also use Ic current as uln2803.
     
  10. portreathbeach

    Thread Starter Active Member

    Mar 7, 2010
    143
    5
    I think I may stick with my logic level MOSFETs after all. They are rated for 30A. Just have to take care with the switching frequencies and gate capacitance.
     
Loading...