Forum: Mikrocontroller und Digitale Elektronik WS2812B flackert bei gleichen DMX-Werten


von Bubbl (Gast)


Lesenswert?

Hallo liebe Gemeinde,

ich bin relativ neu in der Digitaltechnik, also bitte nicht gleich hauen 
:)

Zu meinem Projekt: Ich habe vor mir eine LED-Matrix aus insgesamt RGB 
LEDs (SMD 5050 WS2812B) zu bauen und diese über DMX anzusteuern.
Dazu habe ich mir die besagten LEDs und einen DMX zu SPI decoder bei 
Ebay bestellt: http://www.ebay.de/itm/321254966298.

In meinem Fall steuere ich das ganze über die DMX-Software DMXControl 
und ein USB2DMX Interface.
Zum Testen habe ich erstmal nur eine WS2812B LED am Decoder 
angeschlossen.
Wenn ich nun also einen Kanal ausgebe, leuchtet die entsprechende Farbe 
der LED. Das ganze geht auch mit allen drei Kanälen der LED.

Nun zu meinem Problem:
Sobald zwei Kanäle exakt den gleichen DMX-Wert annehmen, fängt die LED 
an zu flackern.
Beispiele:

Grün 100, Rot 255 - Alles super
Grün 100, Rot 100 - flackert
Grün 255, Rot 255 - flackert
Grün 255, Rot 254, Blau 253 - Alles super
Grün 255, Rot 254, Blau 254 - flackert
...
usw.

Der Decoder und die LEDs werden mit 5V betrieben, mein Steckernetzteil 
kann an 5V bis 2,4 Ampère. Und bei einer einzigen LED plus Decoder 
sollte das nicht überschritten sein.
Ich frage mich nun, an was es liegen kann. Am Decoder? An der LED?

Kondensator zwischen +5V und GND sowie einen 200 Ohm Widerstand am 
Anfang der Datenleitung habe ich schon probiert, ohne Besserung.

Würde mich über Vermutungen zur Fehlerursache freuen. Danke schon mal 
und viele Grüße aus Hannover!

Stefan

von Bubbl (Gast)


Lesenswert?

Hi Leute,

ich muss das nochmal hochholen, da ich leider immer noch nicht zu einer 
Lösung gekommen bin.
Ich habe bereits festgestellt, dass, wenn ich Kondensatoren mit höheren 
Kapazitäten zwischen +5V und GND verwende, das Flackern weniger wird.
Laut verschiedenen Anleitungen und Google-Suchen (z.B. hier: 
http://3.bp.blogspot.com/-J33RF-HsmWk/UqHEvbOy1kI/AAAAAAAAAO4/3-XGi2HcA80/s1600/Esquema-Arbol-de-Navidad-Shield-Arduino.jpg) 
sind pro LED nur 100nF nötig. Das Flackern wird jedoch erst bei 800uF 
(!) deutlich weniger (weg ist es aber weiterhin nicht) - und es ist 
weiterhin nur eine LED angeschlossen.

Mittlerweile tritt das Flackern auch nur noch auf, wenn alle 3 Kanäle 
mit dem selben DMX-Wert angesteuert werden. Bei gleichen flackert es 
nicht mehr, obwohl ich nichts verändert habe.

Weiß jemand Rat? Ist vielleicht das Netzteil im Eimer, dass es bei drei 
gleichen PWM-Frequenzen keine saubere Gleichspannung mehr raus gibt?
Ich habe leider kein Oszi zur Verfügung, sonst hätte ich das mal 
durchgemessen. So bleibt uns nur das Spekulieren :(

Danke im Voraus und Grüße aus Hannover!

PS: Ich habe hier mal ein Video verlinkt, bei der man das Problem 
erkennen kann. Leider hat die Kamera das Flackern nicht so richtig 
aufgezeichnet, aber ich denke man kann es trotzdem erahnen. (Bitte nicht 
die Lötkünste bewerten. Ist momentan nur ein Test und wird später 
natürlich sauber auf Platinen verlötet!)
http://stefan-koehne.de/files/ws2812b_error.mov

von Falk B. (falk)


Lesenswert?

@Bubbl (Gast)

>Ich habe bereits festgestellt, dass, wenn ich Kondensatoren mit höheren
>Kapazitäten zwischen +5V und GND verwende, das Flackern weniger wird.
>Laut verschiedenen Anleitungen und Google-Suchen (z.B. hier:
>http://3.bp.blogspot.com/-J33RF-HsmWk/UqHEvbOy1kI/...)
>sind pro LED nur 100nF nötig. Das Flackern wird jedoch erst bei 800uF
>(!) deutlich weniger (weg ist es aber weiterhin nicht) - und es ist
>weiterhin nur eine LED angeschlossen.

Willkommen in Monty Phytons wunderbarer Welt der HF-Technik. Dein 800uF 
Kondensator ist falsch, sowohl vom Typ als auch von der Platzierung.

http://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator

Ein weiteres potentielle Problem ist deine Leitungsführung. Die drei 
Kabel für GND, SCK und MOSI sollten direkt vom Controller eng geführt 
auf dein Board gehen. Es kann funktionieren,so wie im Video zu sehen, 
muss aber nicht. Vor allem das Massekabel sollte nicht endlos lang sein. 
Siehe Wellenwiderstand.

>>Weiß jemand Rat? Ist vielleicht das Netzteil im Eimer, dass es bei drei
>gleichen PWM-Frequenzen keine saubere Gleichspannung mehr raus gibt?

Kann sein, dafür könnte man 100-1000uF einmal einbauen, der Ort ist dann 
auch weniger kritisch.

>http://stefan-koehne.de/files/ws2812b_error.mov

Naja, ein gescheites Bild unter Beachtung der Bildformate hätte es 
auch getan, deine 77MB sind nich sooo informativ.

von Bubbl (Gast)


Lesenswert?

Hi falk,

danke für die schnelle Antwort und die Tipps!

SCK gibt es bei den WS2812b nicht. Die laufen nur über eine digitale 
Leitung.

Trotz der geringen Leitungslängen von knapp 15cm habe ich mal ein 
DMX-Kabel mit 110 Ohm eingesetzt und den Elko durch einen 100nF Keramik 
ersetzt (Danke für den Link, das wusste ich noch nicht :])
Nun habe ich das Problem aber leider auch wieder bei nur zwei gleichen 
Kanälen. Es flackert weiterhin :/

von Tim  . (cpldcpu)


Angehängte Dateien:

Lesenswert?

Das Problem ist die geringe PWM Frequenz der WS2812. Die LEDs erzeugen 
einen erheblichen Ripple auf der Versorgungsleitung, die PWM Frequenz 
liegt aber nur bei 430Hz. Ein Stabilisierungskondensator muss in der 
Lage sein, für 1ms +60mA zu sourcen ohne dass die Spannung nennenswert 
einbricht. Wenn man das nachrechnet kommt man auf überraschend hohe 
Werte. Die 100nF können nur Störungen durch den Digitalteil abfangen.

von Bubbl (Gast)


Lesenswert?

Hi falk,

ich habe jetzt erste Erfolgserlebnisse zu verzeichnen.
Habe jetzt für die LED 2x 100nF Keramik eingesetzt (bei 1x100nF hat er 
noch leicht geflackert) und für die Stabilisierung des Netzteils 
insgesamt 670uF (musste ich aus mehreren parallel schalten). Das läuft 
soweit gut.
Ich hoffe das bleibt auch relativ stabil, wenn ich mehr LEDs ansteuern 
möchte. Vermutlich brauche ich dann für jede LED ein bis zwei 100nF 
Kondensatoren? Das wird ein ganz schöner Aufwand, zumal es als Endziel 
meines Projektes 170 RGB-LEDs werden sollen :{. Dafür habe ich mir auch 
schon ein passendes Netzteil bestellt, welches hoffentlich besser läuft 
als mein jetziges Steckernetzteil zum Probieren.

Du hast mir auf jeden Fall schon sehr geholfen. Vielen Dank!

von Falk B. (falk)


Lesenswert?

@ Bubbl (Gast)

>möchte. Vermutlich brauche ich dann für jede LED ein bis zwei 100nF
>Kondensatoren?

Einer reicht, wenn er NAH (<20mm) am IC sitzt. Logischerweise auch mit 
ebenso kurzen Verbindungen!

von Stefan K. (ndr)


Lesenswert?

Falk Brunner schrieb:
> @ Bubbl (Gast)
>
>>möchte. Vermutlich brauche ich dann für jede LED ein bis zwei 100nF
>>Kondensatoren?
>
> Einer reicht, wenn er NAH (<20mm) am IC sitzt. Logischerweise auch mit
> ebenso kurzen Verbindungen!

Das war es! Die Kondensatoren waren durchs Steckbrett zu weit weg. Alles 
klar, es läuft nun tadellos! Vielen Dank!

PS: Ich bin der TO. Hab mich mal registriert ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.