Go Down

Topic: controlling multiple 8x8 RGB LED matrix (Read 3 times) previous topic - next topic

berkeleythings


I forgot to ask...do you want full color? (PWM on the leds). If so, forget the MAX2719...


Full color would be ideal, but if having only the 3 color combinations is substantially easier to assemble, then that would be alright.

fungus



I forgot to ask...do you want full color? (PWM on the leds). If so, forget the MAX2719...


Full color would be ideal, but if having only the 3 color combinations is substantially easier to assemble, then that would be alright.


I was just thinking some more about this...it's not an easy thing to do.

I think the only real way to do it is to multiplex it in software.

Assuming the matrices are in a horizontal row, you'll need to connect all the anodes together then use 8 PNP transistors to switch power to them (probably MOSFETs).

Along the bottom you'll need 3x8x10=240 current sinks for all the columns. 15 TLC5940s chained together would do it, plus you'd get full color. You could use non-PWM chips but in the long run it's not going to be any simpler to build.

Bear in mind that 240 LEDs at 20mA adds up to about 5A of current. Switching that much power at high speed is difficult. You might need to feed power in on both sides of the array to make it work (ie. 16 PNP mosfets, 8 on the left and 8 on the right). Put lots of big decoupling capacitors on all the power lines (a mixture of ceramics and electrolytics) and don't forget the usual decoupling on all the chips, etc. Bad power design will cause random glitches.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

CrossRoads

What you can do is use 3 MAC7219 per matrix, as long as the matrix are common cathode RGBs, and take advantage of their Shutdown mode:

"When the MAX7219 is in shutdown mode, the scan oscillatoris halted, all segment current sources are pulled to
ground, and all digit drivers are pulled to V+, thereby blanking the display."

You will need to add 8 schottky diodes (~0.3V drop) per MAX7219 on the DIGIT pins, which control the common cathode.
On each Digit pin, connect the diode anode to the common cathode of the matrix, and the diode cathode to the MAX7219, so the active MAX7219 can pull the common cathode low to enable the column being driven (MAX7219 muxes the matrix at 800 Hz, so you can't really do more than turn each one off or on).

Multiplex each color in software by having 2 MAX7219's in shutdown while the 3rd is active so that only 1 color at a time is being driven.
If each color is left on for 5mS at a time, that would yield a 15mS refresh time or 67 Hz. Could try 10mS per color, 33 Hz, see how that looks.
Be sure to use SPI.transfer( ) to send the data and shutdown commands out so the changes are made quickly.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

CrossRoads

MAX7219 available for $1.25 each from taydaelectronics.com
This diode
1N5817 Diode Schottky 1A 20V
wouldn't be too bad, 0.45V Vf.
One of the others might be better, they don't all have Vf listed, you can look them up at digikey.com or similar.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

fungus


What you can do is use 3 MAC7219 per matrix, as long as the matrix are common cathode RGBs, and take advantage of their Shutdown mode:


I'm not sure you can because the anodes (or cathodes) are connected together in adjacent columns. If you connect more than 1 MAX7219 to the array they'll clash with each other.

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Go Up