APA102C LED Project idiot check

Status
Not open for further replies.
I'm an electronics hobbyist with software background. I've made my way through a 400 ws2801 pixels teensy 2 LED project, and I've made Paul's 1920 ws2811 pixels driven by teensy 3 octows2811 project...those were my intro to microcontrollers and LEDs. Have since tinkered with some motor control, radios, etc. The teensy and this forum have been source of learning with no end...

I'm considering an LED project, a 390 x 11 matrix in 45' x 15". I'm considering 30 LED/m APA102-C strips, for a total of about 150M - 4500+ LEDs, to be finalized.

I've got some choices on the visuals generation including the Pixelcontroller, which I use with my WS2801 panels.

I need to order some strips and PSUs ASAP but I'm still working on the basics and I have some questions, please.

I have one APA102C 5M 150 LED strip I'm driving with a Teensy 3 (at 3.3V!) , Adafruit library, with some simple loops,flashes etc. Hardware SPI and getting decent results with NUMPIX=4500, loading all pixels, and using some delays to simulate the time taken to generate visuals on a PC coming in USB.

Can one teensy 3 or 3.1 really drive 4500 APA102 LEDs as fast as the data is coming in...assuming acceptable framerates from the visuals software?

32 bits/LED for 4500 LED over 8Mhz SPI means 1000000/(4500 * (32/8000000)) = 55 refreshes per second, ideal. Correct?

I have not checked out Pixelcontroller at 390 x 11 yet, but I will do that soon.

Besides the price (about 80 cents/meter more for APA102C) is there any advantage to going with the WS2812 LEDs and octows2811?

I understand the importance of distributing some beefy power. But I want to get the size right, safety first, but without overkill. 4500 LEDs full on pulls 270A. At 5V, this is 1350W. Full on could happen, but would be a tiny portion of total time on.

I'm considering 5 PSUs such as Meanwell NES-350-5, 5V 60A. 1500W total.

Sound reasonable? Are there better arrangements of more or less PSU of different capacity? I'll need to run this by some code inspector later but want a good starting point.

Thanks for any tips! Much appreciated.
 
32 bits/LED for 4500 LED over 8Mhz SPI means 1000000/(4500 * (32/8000000)) = 55 refreshes per second, ideal. Correct?

Yes, if 8 MHz actually works for such a large number of LEDs.

Don't forget you might spend some of the time not sending anything, like when you're busy reading USB data or doing other things. Even if 8 MHz works, that would also reduce your frame rate.
 
The biggest advantage the APA102C has over the WS2812B is the global brightness setting - during firmware development I set the global brightness to 0x01 (full range is 0x00 to 0x1F).
(so 3.125% brightness [note: it won't visually appear as 3.125%, it's more like 3.125% of the current, but about 10-20% human eyeball brightness])
This means I don't get blinded and still have 24 bits of colour dimming. Caveat: the global brightness dimming PWM frequency is an order of magnitude slower than the main RGB PWM frequency but for static purposes you wouldn't notice the flicker. For POV applications it may be a concern.

I would like to figure out how to have a buffer in my program that I can set (random access), i.e. int ledColour[ledCount] and have a DMA SPI channel automatically pull an entire copy from this buffer when empty, does anyone have any tips? The end effect would be that the user can just set values in the buffer and just let the magic behind the scenes do the actual sending over SPI with no CPU usage.
 
Status
Not open for further replies.
Back
Top