Go Down

Topic: help with some multiplexing and brightness (Read 4211 times) previous topic - next topic

kimkash

hi there!
I'm building an arcade machine based on 32x32 LED matrix,normally multiplexed:all rows are anode connected,all columns are cathode connected.
At the time my idea of controlling the screen is by Persistence Of Vision-switching the LED fast enough so it'll look like their all running at the same time. by doing so I've noticed the brightness of the LED's are not as strong as regular operation,I've read about TLC5940 and some other chips so i wanted to ask what is the best chip/other way the switching fast the state of the LED's without comprising on the brightness....probably there's a chip the can supply continuous voltage to LED's while being able to update them very quickly (1024 LED's,after all..)

I'm running Arduino Mega 2560 Rev3 btw...using currently almost every pin to control the LED's  8)
I tried to find similar question in earlier posts but i couldn't find one....

Grumpy_Mike

Quote
switching fast the state of the LED's without comprising on the brightness

The trick is to give the LED a lot more current when it is on to compensate for the fact hat it is not on for very long.
However you have to make sure that the LEDs can stand such a pulse current and also that your drivers can stand this current. The down side is that if the multiplexing stops for any reason your LEDs and / or drivers burn out.

Quote
probably there's a chip the can supply continuous voltage to LED's while being able to update them very quickly

Then you will not be multiplexing them and so you need a lot of driver chips.

fungus


hi there!
I'm building an arcade machine based on 32x32 LED matrix,normally multiplexed:all rows are anode connected,all columns are cathode connected.
At the time my idea of controlling the screen is by Persistence Of Vision-switching the LED fast enough so it'll look like their all running at the same time. by doing so I've noticed the brightness of the LED's are not as strong as regular operation,I've read about TLC5940 and some other chips so i wanted to ask what is the best chip/other way the switching fast the state of the LED's without comprising on the brightness....probably there's a chip the can supply continuous voltage to LED's while being able to update them very quickly (1024 LED's,after all..)

I'm running Arduino Mega 2560 Rev3 btw...using currently almost every pin to control the LED's  8)
I tried to find similar question in earlier posts but i couldn't find one....



I'd wire it as four separate 8x8 matrices and control it with four MAX7219 chips. That gives maximum 8:1 multiplexing with only a few Arduino pins.


Advanced Arduino

kimkash

I read a little about the MAX7219 and i want to ask-how do you control it serially? you keep sending commands for 8 slots which the chip updates and using current from external source of power and not the Arduino?
Mike I'll definitively not be using your suggestion with the LED drivers because my matrix is built from the 8x8 per-assembled LED matrix unit that can be easily found on eBay,so i can't risk burning LED nor chips nor LED drivers....I'm not that rich  8)

kimkash

btw what does it mean it is daisy-chainable?

I understand basically the principle but if i have 16 pins to control on one chip-once i chain another does it act like a 32-output pin chip or does it act in another way?

Grumpy_Mike

Quote
btw what does it mean it is daisy-chainable?

It means you can string many of them together on one set of control lines.
So if you have two then you can drive two matrices, you can chain four together to give you a 16 by 16  but you need eight for 32 by 32.
The data sheet shows you how to do it.

kimkash

cool stuff =]
probably gonna use it because it sounds the best way to control such big grid with good operational properties.

Thank you for everyone that helped!

Code: [Select]

void setup()
{
   Serial.begin(9600);
}

void loop()
{
   Serial.print("Thank you!");
}

fungus


you can chain four together to give you a 16 by 16  but you need eight for 32 by 32.


16, I think you'll find.

But don't feel bad, I messed up, too. 32x32 LEDs is 4x4 matrices.
Advanced Arduino

kimkash

In order to build matrix of size X by Y,i need a chip that can control positive current to X pins and a chip that can drain Y pins. is the MX7219 can do just the supply/drain jobs or both? In other words-in order to run 16X by 16Y matrix i need one chip of MAX7219 to control supply lines (=anodes) and one chip to control drain lines (=cathodes) or do i need one to control one of them and other chip to control the second type (supply/drain)?

CrossRoads

One MAX7219 controls the anodes & cathodes for a 8x8 matrix.

16x16 = 4 x (8x8), so need 4 chips, each controlling an independent 8x8 matrix.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

fungus


In order to build matrix of size X by Y,i need a chip that can control positive current to X pins and a chip that can drain Y pins. is the MX7219 can do just the supply/drain jobs or both?


Both. It has 8 source and 8 drain pins.

It's designed to be able to control a matrix.
Advanced Arduino

fungus


One MAX7219 controls the anodes & cathodes for a 8x8 matrix.

16x16 = 4 x (8x8), so need 4 chips, each controlling an independent 8x8 matrix.


He wants 32x32...that's 16 chips.


Advanced Arduino

kimkash

And (hopefully) last question: is there a chip able to control more pins? What is the chip with biggest number
of control pins? Refering of course to LED matrix type of application...??

CrossRoads

MAX6953 can control four 5x7 matrixes, so 20x28 total.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Grumpy_Mike

So the MAX6953 will control 140 LEDs but not in the square format you want.

The MAX6954 can control 128 LEDs in eight 4X4 matrices. So for 32 by 32 you need eight.

Go Up