HI everyone. I'm looking into building a volumetric display by rotating an array of WS2812B ARGBLEDs. A 16*16 matrix will require certainly above 1 amp possibly up to 5, so batteries and/or wireless power are basically out. That leaves slip rings. Problem is that the display has to rotate at least 20 times per second, corresponding to 1200 RPM minimum. I'm not sure if slip rings can usually handle this.
I found this one which does not specify max rotation frequency.
I also found this one which specifies 500 RPM. I'm wondering if that's a hard limit or if it can be pushed, and if so how much it will affect the operational lifetime. (I don't even know if they're any good).
Does anyone know if either could be used, or if not where I could find a suitable one?
You need to re-think the choice LEDs. They are not suitable for volumetric displays because the PWM frequency is too low, and the update rate may also be too slow.
There is a type of LEDs similar to ws2812 which use separate data and clock lines for faster data rates and use a much higher PWM frequency. Can't remember what part number is for those, but search Adafruit website for "dotstar".
You might be thinking of the APA102. Unless I'm mistaken I think the WS2812B should work if each column of 16 is driven as an individual strip, no? (30 us per pixel * 16)
No. A quick search on Adafruit's website, as I suggested, reveals it as SK9822
Will that increase the speed that the whole matrix can be updated?
I think there is a library called Octa-ws2812, available on the PJRC website, that can update 8 ws2812 strips in parallel. That might help with the update rate.
But the PWM frequency will still be a problem, unless maybe if you stick to the 6 basic colours that don't need PWM.
I think it would increase the speed, because it takes a certain amount of time (apparently 30 us) to send data to each pixel in a strip, but if you have 16 individual strips all driven at the same time they update at the same time. I don't entirely understand the PWM frequency thing, but for now I'm more concerned with getting power to the assembly, and I'm open to change the led if necessary. Any thoughts on the slip rings?
No they don't. Not with the commonly used NeoPixel or FastLED libraries. They will get updated one after the other and that will take slightly longer than updating a single strip of 256. That library I mentioned can update 8 at the same time, but I'm not sure how compatible it is with Arduino compatible boards not designed by PJRC.
Then this must be your first attempt to make a volumetric display!
If your display is rotating at, let's say, 600rpm, to make the maths easy, that's a rotation every 100ms.
WS2812 LEDs have a PWM frequency of around 400Hz, let's assume 500Hz to keep that maths easy. That's a PWM cycle period of 2ms. That's only 50 PWM periods in one rotation of your display.
That means you could see 50 "stripes" of no light and full brightness light around the axis of your display. But probably not. The PWM period and rotation period won't be in step, and the PWM of each led LED won't be synchronised with each other either, so the result will be a flickery, moving mess, I suspect.
By all means go ahead and try it with ws2812. Please report back what you find on this topic.
Don't know much about them, but I imagine moving contacts will be pretty noisy. If they are supplying power, that noise can be smoothed out by circuits on the other side of the slip ring. But data signals? I suspect that noise will be a problem. But I don't know for sure.
I think if this were my project I would use slip rings to power the display, not much option there. Batteries would be too heavy and cause the whole thing to shake itself apart.
I think I would get the data to the MCU inside the display using RF (WiFi, Bluetooth, NRF2401, something with enough bandwidth). Problem is that the rotation might cause interference with the signal. I might use a simple straight dipole antenna, ideally along the rotation axis. Those have an omnidirectional gain, at least in the horizontal axis, so the rotation hopefully won't interfere with communications.
Ignoring if the LED frequency will matter, I suggest you purchase a cheap motor capable of 10 amps, take it apart, short all the segments together and use them as a simple slipring.
I was taking a look at wireless power again after I found some things like this.
Found this one. It's only 2 amps but I think I could get the display to run on that, and it's cheaper. Do you think this and/or the one you posted will actually have the performance they claim, and could the magnetic fields interfere with other electronics or the motor? (I remember something I think on the Adafruit page saying not to put metal objects in the middle, and a motor is metal and relies on magnetic principles to operate)
I don't intend to ignore the LED frequency, I'm just trying to work out power transmission for now, then I'll work on the LEDs. I think the APA102 or the SK9822 would work because of the clock operation.
I was also thinking of sending data via RF communication. If I do opt for wireless power then I'm not sure if that would be a problem with interference and such. I suppose an alternative is to pre-load the data onto the controller that's on the rotating assembly then spin it up.
I was just trying to say my response did not talk to the LED operation, just the slip rings.
I worked for an automotive OEM where we made electric motors for our product. We had operated some tests of the brush assembly where we essentially used them as slip rings (kinda).
I found this part, which (if I clamp the power, could be a reasonable compromise) seems like it would work. Can anyone say if this is legit or not, and if so, if it would be suitable? (i.e. not interfere with motors and be able to operate continuously for a long time)