Forum: Mikrocontroller und Digitale Elektronik WS2812 Leitungslänge Levelshift oder Schmitttrigger


von René K. (tesla24)


Lesenswert?

Hallo liebe Gemeinde,

ich habe ein Projekt mit WS2812 LED´s. Leider habe ich eine 
Leitungslänge vom µC zu der ersten WS2812 von 30m-40m, dies ist 
Hardskill und lässt sich auch nicht ändern.

Anzahl der LED´s sind max 70 Stück. Versorgung übertrage ich mit höherer 
Spannung und dann mit einem DC/DC Konverter wieder auf 5V runter.

Mein erster Test mit 45m Kabel hat gut funktioniert, aber es waren 
natürlich keine Rechtecke mehr die dort ankamen..., aber nach der ersten 
LED wird es ja wieder aufbereitet und die folgenden LED´s sind dann alle 
dicht an dicht.

Wie bereite ich das Signal am besten vor der ersten LED auf ? Mir ist 
das Signal so wie es jetzt ist zu schlecht und zu "unsicher"...

Meine Idee:
Entweder mit Levelshift den Pegel erhöhen und dann wieder auf 5V runter. 
Nachteil: 2 Gatter mit je rise und fall Zeit...die Frequenz liegt ja bei 
800kHz ! Und irgendwie hab ich bisher noch nichts schnelles gefunden.

Oder ich bleibe bei 5V und dann brauche ich einen Schmitt-Trigger der 
die 800kHz locker schafft.

Hat da jemand für mich einen Vorschlag wie ich das lösen kann? bzw. auch 
einen Bauteilvorschlag?

Vielen Dank schonmal

von Markus (Gast)


Lesenswert?

Ich würde vor Ort einen kleinen Controller setzen und die Daten zwischen 
beiden Controllern mit RS422 oder RS485 oder ähnlich übertragen.

von Andreas G. (andreasgs)


Lesenswert?

Warum mit uC? Kannst ja nur die RS485 Transciever verwenden, wenn die 
mit den 800kHz klar kommen.

Den Physical layer ist das Protokoll nämlich wurscht ?

von Teo D. (teoderix)


Lesenswert?

Markus schrieb:
> Ich würde vor Ort einen kleinen Controller setzen und die Daten zwischen
> beiden Controllern mit RS422 oder RS485 oder ähnlich übertragen

Der zweite Controller ist doch völlig unnötig.

von Guest (Gast)


Lesenswert?


von Markus (Gast)


Lesenswert?

Stimmt, du hast Recht.
Man kann auch direkt den Datenstrom für die LED's über die 
differenzielle Strecke jagen. Vorne und hinten dann jeweils einen 
entsprechenden Wandler...

von Joachim B. (jar)


Lesenswert?

René K. schrieb:
> 30m-40m

Markus schrieb:
> Ich würde vor Ort einen kleinen Controller setzen

ESP32 nodempu bietet sich doch an
https://www.ebay.de/i/172865713812

VCC ist vorhanden am Stripe
Data kann mit Pegelwandler, 1x BS170 reicht, eingekoppelt werden.

von Falk B. (falk)


Lesenswert?

René K. schrieb:
> Mein erster Test mit 45m Kabel hat gut funktioniert, aber es waren
> natürlich keine Rechtecke mehr die dort ankamen..., aber nach der ersten
> LED wird es ja wieder aufbereitet und die folgenden LED´s sind dann alle
> dicht an dicht.
>
> Wie bereite ich das Signal am besten vor der ersten LED auf ? Mir ist
> das Signal so wie es jetzt ist zu schlecht und zu "unsicher"...

Screenshot?

Es reicht, einen 5V Treiber mit passender Serienterminierung zu 
betreiben, dann passt das auch mit der Signalqualität.

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

Dafür braucht man aber auch Kabel mit halbwegs definiertem 
Wellenwiderstand.

von ich (Gast)


Lesenswert?

Joachim B. schrieb:
> ESP32 nodempu bietet sich doch an
> https://www.ebay.de/i/172865713812

Ein ESP32 ist dafür doch ein bisschen Übertrieben?

von René K. (tesla24)


Lesenswert?

Erstmal vielen Dank für die vielen Antworten und Anregungen!

Den Extender finde ich ja sehr interressant ! Das ist schon eine coole 
einfach Lösung.

Danke !

von Joachim B. (jar)


Lesenswert?

ich schrieb:
> Ein ESP32 ist dafür doch ein bisschen Übertrieben?

kommt darauf an ob man eine Antenne spannen möchte oder nicht.

René K. schrieb:
> 30m-40m

Kabel ist ja auch weder schön noch überall praktisch

von Stefan F. (Gast)


Lesenswert?

René K. schrieb:
> Wie bereite ich das Signal am besten vor der ersten LED auf ?

Du überträgst Zahlen per RS422 und wandelst es direkt vor der ersten LED 
mit einem µC in das WS2812 Format um.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Stefan F. schrieb:
> Du überträgst Zahlen per RS422 und wandelst es direkt vor der ersten LED
> mit einem µC in das WS2812 Format um.

Siehe oben. Wie bereits dargelegt, ist ein weiterer µC überhaupt nicht 
notwendig. Das funktioniert auch so mit zwei RS422/RS485-Wandlern. Denen 
ist nämlich das über die Leitung gehende Protokoll vollkommen egal.

von Stefan F. (Gast)


Lesenswert?

Frank M. schrieb:
> Denen ist nämlich das über die Leitung gehende Protokoll vollkommen egal.

Schon klar. Ich dachte dabei daran, dass sie das Signal möglicherweise 
zu stark verzerren. Habe gerade mal ins Datenblatt vom SN75ALS176 
geschaut, welches meine Befürchtung widerlegt.

von Wolfgang (Gast)


Lesenswert?

Stefan F. schrieb:
> Du überträgst Zahlen per RS422 und wandelst es direkt vor der ersten LED
> mit einem µC in das WS2812 Format um.

Dann kann man auch gleich beim sendenden µC die WS2812-Daten per RS422 
als differentielles Signal auf die Leitung schicken und am anderen Ende 
der Leitung vor der ersten LED mit dem RS422-Empfänger wieder auf den 
Pegel für die WS2812 umwandeln. Das spart den µC bei der ersten LED.

René K. schrieb:
> Meine Idee:
> Entweder mit Levelshift den Pegel erhöhen und dann wieder auf 5V runter.
> Nachteil: 2 Gatter mit je rise und fall Zeit...die Frequenz liegt ja bei
> 800kHz ! Und irgendwie hab ich bisher noch nichts schnelles gefunden.

Damit hast du das Thema Spannungsabfall auf der Gnd-Leitung und dadurch 
verursachte Pegelverschiebungen bei der ersten LED noch nicht im Griff.

von c-hater (Gast)


Lesenswert?

René K. schrieb:

> Wie bereite ich das Signal am besten vor der ersten LED auf ? Mir ist
> das Signal so wie es jetzt ist zu schlecht und zu "unsicher"...
>
> Meine Idee:
[...]

Bullshit. Einfach vernünftige Leitungsanpassung und STP-Kabel verwenden. 
Genügt völlig.

Nur in stark stördurchseuchter Industrieumgebung wäre ein anderes 
Konzept nötig. Wann das nötig wird, merkst du dann schon. Der Vorteil, 
wenn man gleich in die richtigen Kabel und Abschlüsse investiert hat: 
man kann die dann unverändert auch für die noch besseren Konzepte 
beibehalten...

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.