Forum: Analoge Elektronik und Schaltungstechnik PC-USB --> RP2040 --> WS2812: Kabellänge


von Dietmar B. (theq)


Angehängte Dateien:

Lesenswert?

Hallo,

ich steuere eine WS2812 LED Kette, die auf einem E-Piano über den Tasten 
liegt, von einem MIDI PC Programm an.
Ziel: ich spiele ein MIDI File ab und die jeweiligen LEDs über den 
E-Piano Tasten leuchten auf.
Funktioniert im Prinzip auch. Allerdings leuchten immer mal wieder LEDs 
auf die nicht leuchten sollten (und umgekehrt, falsche Farben, usw.). 
Also gibt es keine saubere Signalübertragung.

Die gesamte Strecke zwischen PC und E-Piano(WS2812 Kette) sind so 
~4..5m.
~3m für USB. Der RP2040 unterstützt USB1.1 d.h. die 3m Meter sind schon 
grenzwertig.
Pegelwandlung 3,3V auf 5V mit einem HEF4093B.
Und dann noch mal ~1.5m twisted pair zu der WS2812 Kette.

Bevor ich jetzt alles Mögliche ausprobiere, hat jemand eine Idee wie man 
die Signalübertragung robuster macht?

- noch einen HEF4093B direkt vor die WS2812 Kette?
- USB länger und twisted pair kürzer?
- twisted pair länger und USB kürzer?
- geschirmtes Kabel statt twisted pair?
- twisted pair im geschirmten Kabel?
- von WS2812 auf WS2815 umsteigen?
- oder ....?

: Bearbeitet durch User
von F. (radarange)


Lesenswert?

Das sollte eigentlich unproblematisch sein.
1) Die WS2812 nehmen gegebenenfalls auch 3.3V-Pegel; tritt das Problem 
immer noch auf, wenn der Pegelwandler weggelassen wird?
2) Stimmt der Code?
3) Wie sieht die Spannungsversorgung aus, wieviele LEDs leuchten 
gemeinsam bei welcher Helligkeit? WS2812 brauchen ggf. schon recht viel 
Strom.

von Dietmar B. (theq)


Lesenswert?

F. schrieb:
> Das sollte eigentlich unproblematisch sein.
> 1) Die WS2812 nehmen gegebenenfalls auch 3.3V-Pegel; tritt das Problem
> immer noch auf, wenn der Pegelwandler weggelassen wird?
> 2) Stimmt der Code?
> 3) Wie sieht die Spannungsversorgung aus, wieviele LEDs leuchten
> gemeinsam bei welcher Helligkeit? WS2812 brauchen ggf. schon recht viel
> Strom.

1) ja, deshalb habe ich den Pegelwandler erst eingebaut ...hat aber 
nichts verbessert.
2) ja
3) Wieviele LEDs gleichzeitig leuchten hängt vom MIDI Musikstück ab. 
Aber da ich Klavierstücke abspiele (max. 10 Finger), sind es also max. 
10 LEDs gleichzeitig. Helligkeit aller WS2812 ist auf 20% reduziert. Die 
Stromaufnahme liegt so bei <300mA.

von Gerd E. (robberknight)


Lesenswert?

USB verwendet Prüfsummen. Wenn es auf USB-Ebene Probleme geben würde, 
würdest Du entweder eine ungewöhnlich hohe Latenz sehen, also Ruckeln, 
oder das Gerät wird gleich ganz rausgeworfen und neu erkannt, also 
Aussetzer von 2-3 Sekunden plus Eintrag im Syslog.

Ich vermute eher Probleme mit dem HEF4093B oder dem Twisted Pair Kabel.

Hast Du mal nen anderen Peglewandler probiert? Ich würde z.B. 74LVC1T45 
empfehlen. Natürlich 2 Keramikkondensatoren direkt an dessen beide 
Spannungseingänge. Das GND von dem Twisted-Pair-Kabel direkt an das GND 
des 74LVC1T45.

Die 5V zur Versorgung der WS2812 und ein dickes GND dazu separat zum 
5V-Netzteil führen. So dass der Strom zur Versorgung der WS2812 
möglichst nicht durch das Twisted-Pair zum Pegelwandler fliesst.

von Falk B. (falk)


Lesenswert?

Dietmar B. schrieb:

> Funktioniert im Prinzip auch. Allerdings leuchten immer mal wieder LEDs
> auf die nicht leuchten sollten (und umgekehrt, falsche Farben, usw.).

Aha.

> Die gesamte Strecke zwischen PC und E-Piano(WS2812 Kette) sind so
> ~4..5m.
> ~3m für USB. Der RP2040 unterstützt USB1.1 d.h. die 3m Meter sind schon
> grenzwertig.

Nö.

> Pegelwandlung 3,3V auf 5V mit einem HEF4093B.

Falscher IC. Nimm einen 74HCTirgendwas. Und dann eine 
Serienterminierung, hier ca.33 Ohm.

> - noch einen HEF4093B direkt vor die WS2812 Kette?

Nö.

> - USB länger und twisted pair kürzer?

Nein.

> - twisted pair länger und USB kürzer?
> - geschirmtes Kabel statt twisted pair?
> - twisted pair im geschirmten Kabel?
> - von WS2812 auf WS2815 umsteigen?
> - oder ....?

Alles nein. Siehe oben. Außerdem eine andere Masseanbindung. Dein 
Netzteil muss DIREKT zum Eingang der LED-Kette gehen! VOn dort dann die 
VErdrillte Leitung mit Masse + Signal zum RP2040.

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

Beitrag "Re: Differnz-Signal für WS2812B"

von Εrnst B. (ernst)


Lesenswert?

Falsch leuchtende Pixel können auch von Timing-Problemen in der Software 
kommen, IRQ während der Übertragung etc.

Sollte beim RP2040 eigentlich ausgeschlossen sein, wenn die 
Möglichkeiten der Hardware genutzt werden (PIO+DMA bietet sich an).

Aber um schnell zu prüfen ob's ein Hardware oder Software Problem ist:

Spiel einfach eins der vielen tausenden Beispielprogramme für 
RP2040+WS2812 drauf, eins was ohne USB usw. einfach nur ein Muster, 
Farbverlauf o.Ä. ausgibt. Wenn das auch falsche Pixel zeigt => Hardware.

von Reinhard R. (reirawb)


Lesenswert?

Hallo,

ich stand letztens bei einem Projekt vor ähnlichen Fragen. Längere 
Leitungen zwischen einzelnen WS2815 und zwischen der Signalquelle und 
der eresten WS2815. Dafür habe ich im Voraus einige Versuche am 
Basteltisch mit max. 3,5m Länge durchgeführt (Bild), wobei in meinem 
Projekt max. 0,8m vorkommen. Ich hatte dafür aber gleich 
Reihenwiderstände von 100 Ohm in der Signalleitung zwischen den WS2815 
vorgesehen. Keine Probleme.

Nach Fertigstellung hatte ich aber ähnliche Probleme mit falschen Farben 
und LEDs. Dann fiel mir auf, dass zwischen der Signalquelle (µC mit 
3,3V) und der ersten LED kein Widerstand war. Nachdem ich deisen 
Widerstand eingefügt hatte, läuft alles wie geplant, auch mit 
3,3V-Quelle ohne Pegelwandler.

von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

Sorry, Bilder fehlten.

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.