Forum: Mikrocontroller und Digitale Elektronik WS2812 flackert random


von Alex A. (alextbg)


Lesenswert?

Moin,
Habe Ein LED Band 
(https://www.amazon.de/-/en/WS2812B-144LEDs-Individually-Addressable-Waterproof/dp/B08BLLCDVQ/ref=sr_1_15?crid=2CSUCY58LFI75&keywords=ws2812b%2B144&qid=1645015874&sprefix=ws2812b%2B144%2Caps%2C142&sr=8-15&th=1) 
dieses Steuere ich mit einem UC an. Das Ding ist, alles funktioniert 
gut. Nur wenn ich die Farben im Fading Effekt anzeigen lassen, flackert 
hin und wieder, ohne sich wiederholende Muster, die erste LED kurz auf. 
Externe Spannungsquelle hab ich schon überprüft, an dem liegt es nicht. 
Hat jemand eine Idee dazu?

von Falk B. (falk)


Lesenswert?


von Alex A. (alextbg)


Lesenswert?

uC: nrf52832
SDK: nrfConnect v1.9.1
WS2812 treiber ist aus dem sdk unter zephyr/drivers/led_strip

Die LEDs gehen mit 5V und die Daten Leitung bei 3V3 (hab auch schon mit 
einem Levelshifter auf 5V hochgeregelt, hat aber nichts gebracht...) Es 
flackert hin und wieder weiter hin die ersten 2 LEDs....

von Falk B. (falk)


Lesenswert?

Alex A. schrieb:
> Die LEDs gehen mit 5V und die Daten Leitung bei 3V3 (hab auch schon mit
> einem Levelshifter auf 5V hochgeregelt,

Naja, nicht wirklich hochgeregelt. Aber egal, Was für einen 
Pegelwandler hast du denn? EIn Schaltplan wäre sinnvoll, es reicht 
eine lesbare Skizze auf Papier (old school)

> hat aber nichts gebracht...) Es
> flackert hin und wieder weiter hin die ersten 2 LEDs....

Vermutlich hast du noch andere Probleme. Wackelkontakt, HF-untaugliche 
Verdrahtung, Masseprobleme. Zeig mal ein gescheites Bild vom Aufbau. 
Ansonsten gibt es hier eine recht gute, detailierte Anleitung, wie man 
es richtig macht.

http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf#page=83

von Stefan F. (Gast)


Lesenswert?

Kann es sein, dass die Software auf dem Controller kein sauberes Signal 
erzeugen kann, weil signifikant Zeit für die Bluetooth Schnittstelle 
verbraucht wird?

Das war doch auch beim ESP8266 ein "Problem" welches inzwischen durch 
DMA und Missbrauch der I²S Schnitstelle umgangen wird.

von Stefan F. (Gast)


Lesenswert?

Alex A. schrieb:
> WS2812 treiber ist aus dem sdk unter zephyr/drivers/led_strip

Welche Version?
Dazu gibt es einen relevanten Bug Report: 
https://github.com/zephyrproject-rtos/zephyr/issues/29877

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Das war doch auch beim ESP8266 ein "Problem" welches inzwischen durch
> DMA und Missbrauch der I²S Schnitstelle umgangen wird.

Missbrauch würde ich das nicht nennen, sondern Gebrauch. Es ist auch auf 
anderen µC absolut üblich, einigermaßen passende Hardware abseits ihrer 
eigentlichen Bestimmung kreativ zu nutzen, um bestimmte Anforderungen 
umzusetzen.

Noch geiler ist natürlich, wenn programmierbare Hardware verfügbar ist, 
die von vorherein auf keinen bestimmten Zweck ausgelegt wurde, sondern 
alles sein kann (im Rahmen ihrer technischen Möglichkeiten), z.B. die 
PIOs der RP2040. Da entfällt dann auch der "gefühlte Missbrauch". ;o)

von Alex A. (alextbg)


Lesenswert?

Stefan ⛄ F. schrieb:
> Welche Version?
> Dazu gibt es einen relevanten Bug Report:
> https://github.com/zephyrproject-rtos/zephyr/issues/29877

Der Bug wurde ausgeschlossen, also das ist nicht der Fehler. Habe schon 
probiert die Kommunikation selbst zu schreiben und mittels Logic 
Analyzer zu überprüfen. Leider hat es auch nichts bewirkt. Es scheint 
halt immer, als würde ein Paket falsch die ersteren LEDs übergeben 
werden aber da es random ist, ist das auch so eine Geschichte...

Stefan ⛄ F. schrieb:
> Kann es sein, dass die Software auf dem Controller kein sauberes Signal
> erzeugen kann, weil signifikant Zeit für die Bluetooth Schnittstelle
> verbraucht wird?
hätte ich eigentlich schon nachgemessen, wäre sauber

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Bei Timingproblemen waren immer "alle" (angesprochenen) LEDs betroffen 
und das abhängig vom Bitmuster.
Das nur die erste LED betroffen war, kam nie vor.

Daher:
Falk B. schrieb:
> Vermutlich hast du noch andere Probleme. Wackelkontakt, HF-untaugliche
> Verdrahtung, Masseprobleme. Zeig mal ein gescheites Bild vom Aufbau.

von Alex A. (alextbg)



Lesenswert?

Falk B. schrieb:
> Vermutlich hast du noch andere Probleme. Wackelkontakt, HF-untaugliche
> Verdrahtung, Masseprobleme. Zeig mal ein gescheites Bild vom Aufbau.

Habe hier mal im Gerber Viewer die Platine hinzugefügt und ein Bild vom 
echten Board. Die Pfeile sollen den Data Pin anzeigen, sprich mit dem 
Pin steuere ich die LEDs, habe diese möglichst kurz gehalten und einen 
Widerstand dazugegeben. Habe mit und ohne R bereits probiert.
Das ist der Chip, den ich verwende: 
https://www.mouser.at/ProductDetail/aconno/ACN52832?qs=sGAEpiMZZMu3sxpa5v1qriV5vgGpNFXkq15wINh9zNk%3D

von Stefan F. (Gast)


Lesenswert?

Kann es sein, dass die Stromversorgung überlastet ist? Ich denke dabei 
auch an den Innenwiderstand des USB Kabels.

von Alex A. (alextbg)


Lesenswert?

Habe mit einem externen Trafo gearbeitet, der viel mehr Strom zur 
Verfügung stellen kann. Also daran wirds eher nicht liegen.

von Falk B. (falk)


Lesenswert?

Alex A. schrieb:
> Habe mit einem externen Trafo gearbeitet, der viel mehr Strom zur
> Verfügung stellen kann. Also daran wirds eher nicht liegen.

Ein Trafo stell im Allgemeinen Wechselspannung bereit. Ein Netzteil eher 
Gleichspannung. Für deine LEDs braucht man stabile 5V Gleichspannung.

von Falk B. (falk)


Lesenswert?

Alex A. schrieb:
> Habe hier mal im Gerber Viewer die Platine hinzugefügt und ein Bild vom
> echten Board.

Naja, von dem Label-Suchspiel im Schaltplan mal abgesehen, sieht das 
erstmal alles OK aus.

Den Pegelwandler kann ich nicht sehen, denn sollte man UNBEDINGT 
einsetzen.

Dann muss man versuchen zu unterscheiden, ob es ein Software- oder 
Hardwareproblem ist.

Hardwaretest. Erzeuge ein Muster auf Voll-Weiß und Schwarz und laß es 
mit ca. 1s blinken. Das ist ein Stresstest für die Hardware. Das kann 
man auch noch etwas verfeinern, indem man immer abwechslend 5 LEDs weiß 
und 5 schwarz macht und dann gleichzeitig alles umschaltet. Das Gleiche 
mit den Primärfarben RGB. wenn das alles paßt, muss man an die Software 
ran. Denn auch die kann sporadischen Unsinn erzeugen. Fang mit möglichst 
einfache Testmustern an.

von Stefan F. (Gast)


Lesenswert?

Ich sehe neben jeder LED einen Kondensator. Also ist es wohl die alte 
version, die nicht 3,3V kompatibel ist.

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.