I have a large LED array (huge, actually). It's 38 rows x 76 columns (2888) LEDs in total. The LEDs are 3mm, rated at 2.0 forward voltage and 20mA. The 38 rows (positive) are multiplexed using TPIC6B595N shift registers. However, the rows are divided into sections of 8 for a total of 5 sections with the last section containing only 6 rows. Each section has its own ground lines. Then, these sections are multiplexed in parallel – this is done so that the LEDs have a reasonable duty cycle of 1/8 instead of 1/38 to avoid losing too much brightness.
Since the TPIC6B595N registers can only sink current, they are connected to PNP transistors on the positive side to source the current. My problem is I'm not sure how to distribute the power properly. By my calculations, 7.6A (76*5*0.02) are needed to power the LEDs since a maximum of 76*5 LEDs could be on at any given time. Furthermore, a total of 55 (ceil(76/8)*5) shift registers need to be powered, and I think the datasheet suggests 150 uA for each register so the current needed for the ICs may be insignificant. Each sink needs to have a resistor (that's 5 * 76 = 380 resistors), and I need some guidance in selecting an appropriate resistance based on the power conditions. Last but not least, the array is driven by a Raspberry Pi which will need 800mA itself.
I am thinking of using a standard supply like 5V 10A to power the LED array, but I don't know how to go about distributing it appropriately – I don't want the LEDs to burn if only a few of them are on so how do I prevent them from drawing more than 20mA of current? How would I go about distributing the power over various components if they have different voltage and current ratings?
Note: My background is first-year computer engineering, so please bear with me and guide me if you think there is a flaw in my design.
Here is my best attempt at a diagram: