Hi trying to build a POV display using a 8 WS2812B LEDs and I'm

Hi

trying to build a POV display using a 8 WS2812B LEDs and I’m running into problems.
As a test I want to show all LEDs with the same color, just after the LEDs pass the starting position.
I expected a small red bar with all LEDs in a line. But I got some jitter for the different LEDs, as shown on the video.

Any hint for me?

Best regards
frank

Code is rather simple after setup

volatile unsigned char bStart;
-
void loop() {
FastLED.clear(true);
bStart = false;
while (true) {
while (!bStart) { } // set from ISR
bStart = false;

FastLED.showColor(CRGB::Red);
FastLED.showColor(CRGB::Black);

}
}

Hello, I have yet to tackle a POV project myself. Kudos for taking on this challenge. I hope someone else here with more hands on POV experience will help but here’s my humble guess as to what is happening:

The WS2812 has a built-in timing for brightness control set around 400hz ( the PWM rate ). Since each LED must control it’s brightness independently of the data transfer rate ( 800 Khz ), the 8 LEDs in your setup will not start that PWM cycle at the same time. This could explain that jittering !!

Try using faster LEDs. WS2812B don’t refresh fast enough for good POV. APA102 will serve you much better.

If my wild ass guess is right, you may be able to significantly reduce the jittering by using APA102s that have much higher PWM frequency ( around 20Khz ) that is 50 times faster and I think it may reduce that jitter by that factor as well and could be then acceptable !?

Best would be to use ‘non-adressable’ 4-pins RGB LEDs where you would have to control the brightness with your own PWM frequency. Then each RGB LED would be guaranteed to turn on and off at the same time !

Having done my fair share of POV, I will second Erin’s comment above: you need a faster LED. The WS28x series are just too slow. In the past I used discreet LPD8806 drivers to drive standard RGB LEDs. Nowadays I use APA102s.

Def use APA102/c or SK9822

Well, it depends. It’s not impossible to POV with WS2812B: https://plus.google.com/101332413535253547436/posts/h8e4e471E5E

No it’s not, however you have to go much slower with movement as they can’t update fast enough. With my project, I was trying to update a string of 48 and the data started to fail if I tried to update faster than 2ms. With the LPD drivers, I was able to update with speeds down into the 200us. In fact, the bottleneck became reading from the SD card fast enough.

Thanks a lot for your comments.

So I have to look for some new LEDs or to build a rotation speed control to reduce the rpm. The first may have an impact on the mechanics and balancing and the second may need additional electronics. I’m not sure what’s easier to do.

WS2812 and APA102 both share the same 5050 packaging. Replacing your WS2812 should be easy and should not impact the balancing too much. I assume you have some counterbalancing weight on the opposite side that may or may not require minor adjustment ?

counterbalancing weight: good idea. Unfortunately not available.
I stumbled a litte unprepared into this project. Thought the mechanics would be much easier. Especially balancing.

Please do not lough.
My setup is based on a old CPU fan, a CD mounted on top of the fan as mounting platform for a small strip board. Strip board holds arduino nano, a WS2812b LED stick with 8 LEDs, a hall sensor and a 9V battery.

missing/deleted image from Google+

There shouldn’t be any balancing issues as both LEDs come in 5050 packages (I’m assuming that’s what you’re using.)

There is nothing to laugh about there @Frank_Schnekenbuhl . That’s called prototyping. You created something with what you have on-hand, which is more than what I’ve seen a lot of others do.

However, having said that … if it’s a PWM controlled PC fan (it would have a red, black, and yellow wire), then you can adjust its speed with a PWM signal on that yellow line.

Ultimately, it’s your design, your project, and your choice of where to go with it. You can keep it as is and it suits you, or you can go as far as making custom boards and speed controlled motor … all that fun stuff.

@Frank_Schnekenbuhl , I agree, there is nothing about your setup to laugh about. You took the idea of building a POV display and got it well on its way, good job indeed !!

My suggestion for counterbalancing is just to prevent any stresses to the motor and bits and pieces coming loose and flying about !!

You may be able to just hold a pencil horizontally through the completed assembly CD’s hole and just verify that the assembled weight is not too offset. Adjustment could be made by simply moving certain parts if possible or just adding some simple weight on the opposite side like a nut and bolt and/or a blob of glue !