Go Down

Topic: Using the MAX7219 to Drive Higher Current (Read 2071 times) previous topic - next topic

t0nes

Apr 21, 2011, 03:30 am Last Edit: Apr 21, 2011, 09:37 pm by t0nes Reason: 1
Hi Folks,

I've got a Maxim7219 controlling an 8x8 grid of LEDs. But I'm not able to get the LEDs bright enough.

Rather than powering the LEDs directly with the 7219's output-current, I'd like to implement the transistor circuit described here:
http://www.maxim-ic.com/app-notes/index.mvp/id/1196

I think I'm able to use the Arduino's 5V supply voltage to light my LEDs, so I'm aiming to use the 'Figure 1' circuit for the DIG pins.

Can anyone help me determine which microchips to use for these transistors? I am quite new to working with transistors and am confused.

If I read this correctly, it looks like I need to use two different chips: An array of FETs on the DIG pins, and an array of NPNs on the SEG pins.

Some of the chips I've been looking at include:

  • UDN2981 "8 channel source driver / Darlington array." This seems promising, but I can't tell whether it would belong on the DIG or COL side. http://is.gd/QjflEV

  • ULN2803 Darlington array. This chip is inverting, so I think is not useful here. http://is.gd/WZSnWf

  • ULN2003: http://is.gd/9ooR1V

  • CA 3086: A simple NPN array. http://is.gd/vCqn0s


But I'm really not qualified to tell these chips apart or understand precisely what they do.

Any guidance would be greatly appreciated!!

(I've also heard it suggested that this Maxim circuit may not be the best way to do this. If anyone knows a simpler circuit that would work, then please share!)

=Tim=


http://timjon.es/

Magician

I'd suggest you have a look into TLC5940:

• Drive Capability (Constant-Current Sink)
  - 0 mA to 60 mA (VCC < 3.6 V)
  - 0 mA to 120 mA (VCC > 3.6 V)



t0nes

Quote
I'd suggest you have a look into TLC5940:


I've already built my circuit and software around the 7219. It's too late to switch to a whole new LED driver chip.


http://timjon.es/

Magician

It's a pity, in this case there is no option as to solder bunch of transistors and resistors, exactly as
it shown in Max application notes. Some chips, like Darlington array ULN2003 will help, but nevertheless.

BTW, is it really big difference to drive LEDs with 60 mA instead of 40?



t0nes

8 transistors is not so many to have to solder, if it comes to that.

Should the ULN2003 be used on the DIG side or the COL side? What transistor components should be used on the opposite side? Just ordinary IRF504s?

Could a UDN2981 substitute for the ULN2003 ok? I have a few of those available already.

And youre right, the additional few amps may not make a big difference. I might end trying to up the voltage level too, but I figure I'll try to understand the simpler circuit first.

Thanks for the help.


http://timjon.es/

Cintax

By default the LedControl library has the intensity set to 8 out of 15.

Which library are you using? Did you try to adjust the intensity variable?


t0nes

Great point Cintax. I'm using the Arduinome firmware, I'll check whether the brightness can be adjusted on that.

( http://flipmu.com/work/arduinome/download-code/  )


http://timjon.es/

Magician

#7
Apr 21, 2011, 09:41 pm Last Edit: Apr 21, 2011, 09:45 pm by Magician Reason: 1
Quote

Should the ULN2003 be used on the DIG side or the COL side?


Segment driver.

Quote

What transistor components should be used on the opposite side? Just ordinary IRF504s?
Could a UDN2981 substitute for the ULN2003 ok? I have a few of those available already.


UDN2981 is good for Digit driver.
(It is not substitute for ULN2003).

As both chips have input  current limiting resistors you can connect it directly to max7219 outputs. And you will still need 8 resistors to limit leds current.


t0nes

So, a UDN2981 on the DIG pins, and an array of IRF5??s on the COLs?

I've designed my LED grid to be common-anode. But it could be modified to common-cathode very easily.


http://timjon.es/

Magician

#9
Apr 22, 2011, 02:31 am Last Edit: Apr 22, 2011, 02:55 am by Magician Reason: 1
There is a schematics and disscision:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1212882269

And of course, you can replace uln2003 with  OOOPSSSS...  nFET!!!
logic level.  (don't have data on IRF5xx, so not sure)

or any low power npn transistors.

Go Up