Arduino Forum

Using Arduino => LEDs and Multiplexing => Topic started by: RichKC24 on Dec 06, 2017, 01:51 am

Title: MAX7219 max current per output
Post by: RichKC24 on Dec 06, 2017, 01:51 am
Reading the MAX7219 datasheet it says max sink current is 500mA and max source current is 100mA.
If I have 11 LEDs in a row to be lit up at one time the max allowed current per LED is 100mA/11 LEDs = 9mA per LED.

Is this correct?  thanks.

Title: Re: MAX7219 max current per output
Post by: Wawa on Dec 06, 2017, 02:48 am
What do you mean with "in a row".
Post a diagram showing how you have connected the LEDs.

A multiplexer basically drives the LEDs with the full set current for for "1/n outputs" time.
If you set current with Rset to 40mA, then each LED on the eight outputs gets 40mA for 1/8 of the time.
So average LED current is 5mA, but peak current is 40mA.
Leo..
Title: Re: MAX7219 max current per output
Post by: larryd on Dec 06, 2017, 02:59 am
The chip multiplexes, they are not all on at the same time.

Referring to this typical drawing, what are you asking?

(http://howtomechatronics.com/wp-content/uploads/2017/04/How-It-Works-MAX7219-8x8-LED-Matrix.png?x57244)
Title: Re: MAX7219 max current per output
Post by: RichKC24 on Dec 06, 2017, 03:25 am
In the diagram you posted, is the MAX7219 multiplexing rows and columns or individual LEDs?

That is, when multiplexed would 1 pin would sink 8 LEDs in Row 1 at the same time or is the MAX7219 actually multiplexing each individual LED in Row 1 one at a time? 

Title: Re: MAX7219 max current per output
Post by: Wawa on Dec 06, 2017, 03:54 am
Eight LEDs are selected at the time, then the next eight, etc.

If you only want to use 11 LEDs, then it might be easier to use a shift register (no multiplexing).
Or addressable LEDs (no chips at all).

What are you trying to do.
Leo..
Title: Re: MAX7219 max current per output
Post by: RichKC24 on Dec 07, 2017, 12:32 pm
I am driving a 10 x 11 LED matrix using shift registers with multiplexing.  Was considering going to MAX7219 but the data sheet shows a max sink current of  500mA and max source current of 100mA.

If I have 11 LEDs in a row to be lit up at one time and multiplexed with other rows, the max allowed current per LED is 100mA/11 LEDs = 9mA per LED
(crux of question -  is this math right for multiplexing?)

Don't most LEDs have specs showing up to 20mA current?  Seems like MAX7219 cannot provide much current.

This math brought me to using TPIC6A595 with sink current of 350mA and MIC2981 with source current of 500 mA.  

I don't trust my logic since so many people use MAX7219.  With my logic an 8x8 matrix where a full row lights up can be provided 100mA/8 = 12.5 mA per LED.  This may be plenty.  When going to larger numbers of LEDs per row the current per LED drops.

Is this correct, or does multiplexing change this math?
Title: Re: MAX7219 max current per output
Post by: Wawa on Dec 07, 2017, 08:51 pm
This math brought me to using TPIC6A595 with sink current of 350mA...
If this chip has to sink a row, then you have to divide that current by the number of LEDs in that row.
A 10x11 matrix is weird and un-economic for digital chips that usually work in eigthts.

The MAX7219 only drives eight LEDs at the time (and then switches to the next eight).
The LEDs should be connected common cathode (the 500mA sink output).
500/8 = 62.5mA per LED.

Are you sure your LEDs are ok with those peak currents (see datasheet).
There might also be thermal limitations with a MAX, since LED current limiting is done internally (no CL resistors).
Leo..
Title: Re: MAX7219 max current per output
Post by: RichKC24 on Dec 08, 2017, 02:26 am
That makes sense.  Just to be sure I get it, looking at the LED matrix larryd posted above,  Is this right?  (I know LEDs cannot handle this current, just trying to understand the concept:

One MAX7219 pin sinks a row of 8 LEDs - the chip can sink 500ma per pin = 500/8 = 62.5mA per LED

That same row is sourced by 8 pins,1 per LED - the chip can source 100ma per pin = 100mA/1 = 100mA per LED


So in my case using 11 LEDs (agree not efficient chip wise) MAX7219 can provide:

Sink      500mA/11 LED = 45mA per LED
Source  100mA/ 1 LED = 100 mA per LED


Too high of course, but opposite and better problem than I started with, not enough current! 
Is my math & reasoning right?



Title: Re: MAX7219 max current per output
Post by: Wawa on Dec 08, 2017, 04:37 am
One MAX7219 pin sinks a row of 8 LEDs - the chip can sink 500ma per pin = 500/8 = 62.5mA per LED
That same row is sourced by 8 pins,1 per LED - the chip can source 100ma per pin = 100mA/1 = 100mA per LED


So in my case using 11 LEDs (agree not efficient chip wise) MAX7219 can provide:
Sink      500mA/11 LED = 45mA per LED
Source  100mA/ 1 LED = 100 mA per LED
1) Almost. "the chip can sink 500ma per digit pin" and "the chip can source 100ma per segment  pin".

2) No. The MAX only has 8 source (segment) outputs, not 11. So it can't drive 11 at the same time.

Leo..
Title: Re: MAX7219 max current per output
Post by: RichKC24 on Dec 08, 2017, 01:16 pm
Ok, then is this correct, with regard to data sheet max current:
1) In the picture above from larryd -
     A digit pin can sink a row at 500mA/8LED = 45mA per LED
     8 segment pins can each source a single LED at 100ma


2) Right, I would need a second chip to handle the rows/columns beyond 8x8.
Title: Re: MAX7219 max current per output
Post by: larryd on Dec 08, 2017, 05:30 pm
I haven't been following lately, but in that drawing they are driving 64 LEDs.
You want to drive 11.
What's the issue?


.
Title: Re: MAX7219 max current per output
Post by: Wawa on Dec 08, 2017, 06:50 pm
500mA/8LED = 45mA per LED
Not on my calculator.