Go Down

Topic: help with 8x8x8 led cube (Read 2643 times) previous topic - next topic

6laz3r

my first post!

I need some help with a 8x8x8 white led cube.

I have earlier made a 5x5x5 led cube which was powered off the arduino uno directly through 4 chained 74HC595 shift registers. 25 of the 32 outputs were connected to the common anodes of the LEDs through limiting resistors. 5 outputs connected to BC547 transistors, again through resistors, to control cathode layers. so the only connections from the Arduino to the driver circuit are 3 lines for SPI. this cube works fine. has been running for over 3 months.

inspired by this (and unfortunately without researching further), I and a friend have now constructed an 8x8x8 cube. now we realize that the current required cannot be supplied by Arduino. even if we hook an external power supply, the 74HC595s will not be able to take the current flow if all 8 LEDs in a column are to be lit at the same time.

since the driver circuit is already setup and done :( now i am looking for a way to use an external power source but keep it isolated from the arduino. so the driver circuit and arduino itself it powered by the usual way through USB but the LEDs are powered through a separate 5v power supply. how can i do this? the only way i can think of is to connect outputs of the 595s to PNP transistors which will switch the anode columns of the cube. so 1 transistor per anode column. for cathode layers, we will stick to the earlier method of using NPN transistors.

will this work? is there a better way? any help is appreciated!

thanks!

fungus


since the driver circuit is already setup and done :( now i am looking for a way to use an external power source but keep it isolated from the arduino. so the driver circuit and arduino itself it powered by the usual way through USB but the LEDs are powered through a separate 5v power supply. how can i do this?


Connect the power supply ground to Arduino ground, use the external supply for the LEDs+595s...and that's it!


the only way i can think of is to connect outputs of the 595s to PNP transistors which will switch the anode columns of the cube. so 1 transistor per anode column. for cathode layers, we will stick to the earlier method of using NPN transistors.

will this work?


Yes.


is there a better way?


Without using more Arduino pins...?

Advanced Arduino

6laz3r

thanks for the answers fungus! a few follow up questions...


Connect the power supply ground to Arduino ground, use the external supply for the LEDs+595s...and that's it!


i wanted to use the external supply ONLY for the LEDs. you mentioned that i can use it for the 595s as well. will the current through the 595s will not be too much? each 595 might need to switch on 64 LEDs together (i only have 74HC595s, no access to TPICs). hence i thought of powering the 595s off the arduino itself and limit the external power supply to the LEDs only. is my logic wrong? and is this doable?


Without using more Arduino pins...?


no! i am using only 3 pins from the arduino anyway. I am ok with using all the pins on the arduino if required. in fact for this cube i am planning to connect the 'cathode layer' transistors to the pins directly instead of passing data through a shift register. will just make for easier coding for me. I just wanted to confirm if there better way to get out of my problem other than to use a PNP transistor for each anode column.

also, which transistor would you recommend for these loads? each transistor will have to let enough current through for 8 LEDs, each rated at 20mA.

fungus


thanks for the answers fungus! a few follow up questions...


Connect the power supply ground to Arduino ground, use the external supply for the LEDs+595s...and that's it!


i wanted to use the external supply ONLY for the LEDs. you mentioned that i can use it for the 595s as well. will the current through the 595s will not be too much? each 595 might need to switch on 64 LEDs together (i only have 74HC595s, no access to TPICs). hence i thought of powering the 595s off the arduino itself and limit the external power supply to the LEDs only. is my logic wrong? and is this doable?


I don't mean a power supply will magically increase the current a 595 can handle. I just imagined the only thing coming from the Arduino would be signal lines.





Without using more Arduino pins...?


no! i am using only 3 pins from the arduino anyway. I am ok with using all the pins on the arduino if required.


The number of pins will depend on how you arrange your LEDs. Most people power up a layer at a time with MOSFETs then have 64 current sinks in the base (eg. 8x595s) for the LEDs on the layer. Doing less than a complete layer makes the wiring more complicated and the LEDs dimmer due to extra multiplexing.

Advanced Arduino


6laz3r


Most people power up a layer at a time with MOSFETs then have 64 current sinks in the base (eg. 8x595s) for the LEDs on the layer. Doing less than a complete layer makes the wiring more complicated and the LEDs dimmer due to extra multiplexing.


back with a few more questions! the cube i am making is all anodes in columns and all cathodes in layers. so a total of 64 anode columns and 8 cathode layers. I have attached a very simplified diagram of what i am thinking of doing. it only shows a single anode column being driven. After reading up on transistors (a lot), i am more confused than ever about which transistors to use! 1,2 and 3 in the diagram are what i need help with. I am thinking that 1 and 2 can be NPN transistors and 3 can be a N-channel MOSFET. am I correct?



Go Up