Hallo,
ich habe ein Kauftool, welches mit einen Pixelstripe mit einigen Pixeln
(Typ WS2812 ODER SK6812 <- das weiß ich leider nicht genau) ausgibt.
Nun möchte ich aber einige Pixel Doppeln und das mit WS2811 (der Grund
hierfür ist, dass man mit den Chips hier Leistungsstärkere LEDs haben
kann <- in meinem Fall 30W).
Leider unterstützt das Tool die WS2811 LEDs nicht und da die
Spezifikationen ähnlich sind, habe ich das Bereits getestet, bekomme
aber nur "unschönes" Flimmern.
Nun die Frage, ob man (hoffentlich nicht zu hohen Aufwand) einen Adapter
bauen kann, der die Signale "übersetzt"...
=> wichtig hierbei ist, dass keine all zu hohe Latenz entsteht, da die
alten LEDs bestehen bleiben sollen und es nicht gut ausschaut, wenn beim
Farbwechsel die 20W immer "nachziehen"
Hat jemand eine Idee für mich
> ist die Fragestellung soweit klar?, gerne nachfragen wenn ich etwas nicht genau
beschrieben habe...
- Sven
nein, wenn ich dir das sagen könnte, würde ich Ihn nutzen...
ich nutze auch nur die WS2811 <- aber die arbeiten nicht mit der Basis
(Software) von WS2812 :/
ich sehe in der Ansteuerung keinen Unterschied
wenn man also 100 normale ws2811 mit LEDs ansteuert dan einfach 100
ws2811 parallel ohne LEDs hängen und nur den WS2811 bestücken mit LED
Treiber und hi power LEDs
was flimmert denn?
falscher Treiber?
falsche Beschaltung?
falsche Speisung?
falsche Farben?
es kann natürlich eine Interferenz geben wenn hi power LED Treiber und
PWM aus dem ws2811 nicht zusammenpassen
Sven schrieb:> ich habe ein Kauftool, welches mit einen Pixelstripe mit einigen Pixeln> (Typ WS2812 ODER SK6812 <- das weiß ich leider nicht genau) ausgibt.
Eigentlich sollte jede Software, die den WS2812 ansprechen kann, auf den
WS2811 bedienen können. Wenn es sich aber um ein Tool für SK6812
handelt, werden ganz andere Timings verwendet und mich wundert es dann
nicht, dass Dein Test mit den WS2811 gar nicht funktioniert.
Jetzt mal Butter bei die Fische: Kann Dein "Kauftool" WS2812 bedienen
oder nicht? Das muss doch in der Bedienungsanleitung stehen.
Um festzustellen, dass Dein "Kauftool" tatsächlich keine WS2812
ansprechen kann, bedarf es nur des Kaufs eines kleinen Streifens für
eine Handvoll Euro und eines Tests.
Wenn sich dann rausstellt, dass Dein "Kauftool" keine WS2812 (und damit
auch keine WS2811) ansprechen kann, ist es schlicht für Dein Vorhaben
ungeeignet.
Du bräuchtest dann auch einen "Adapter" von SK6812 nach WS2811, also was
ganz anderes!
Also: Systematisch WS2812 und SK6812 mit dem "Kauftool" zu testen ist
hier erstes Gebot. Vorher kannst Du noch nichtmals die Anforderungen
formulieren.
@Frank M.
diese Aussage war für sehr Informativ und hilfreich.
> hier mal (um eine bessere Meinung bilden zu können das Tool https://www.ambivision.tv/)
Ja, ich habe beim Hersteller nachgefragt und er meinte wortwörtlich:
> None of our kits supports WS2811. Our products support only WS2812 and SK6812.
das heißt (nach deiner Aussage), der LED-Streifen den ich jetzt dran
habe ist ein SK6812 !?!?
aber woher weiß das Tool, dass ich einen WS2812 dran habe <- MUSS ich
das zwingender weise vorgeben, oder kann er das auch "erkennen"? <- weil
Settings gibt es nicht sooo viele.
hier kann man das Tool mal sehen, mehr "Einstellungen" und schon
garnicht "ich habe WS2812 oder SK6812"
> https://www.youtube.com/watch?v=rHad7jyy6VY
https://cdn-shop.adafruit.com/datasheets/WS2811.pdfhttps://cdn-shop.adafruit.com/datasheets/WS2812.pdfhttps://cdn-shop.adafruit.com/datasheets/WS2812B.pdfFrank M. schrieb:> Eigentlich sollte jede Software, die den WS2812 ansprechen kann, auf den> WS2811 bedienen können.
Wenn man die Timings in den DBs vergleicht, ist eher das Gegenteil zu
erwarten. Insbesondere die T0-Zeiten weichen erheblich voneinander ab.
Auch bei den anderen beiden weichen die Timings voneinander ab und eine
Übereinstimmung ergibt sich nur, indem man mit den Toleranzen
aufeinander zugeht.
Es ist bekannt, daß man die T0-Zeit auch verlängern kann. Aber nicht
beliebig. Denn dabei läuft man wiederum Gefahr, in den Bereich des Reset
zu geraten. Daß aus 50µs ganz schnell nur 5µs werden können, hatten wir
ja erst kürzlich. Was natürlich, nicht bei allen der Fall ist. Aber wie
kann man das auch erwarten?
Ich denke aber schon, daß man das irgendwie hinbekommen an. Allerdings
nicht ohne die Möglichkeit, das Timing individuell anpassen zu können.
Was bei einem Kauftool natürlich nicht der Fall ist.
Sven schrieb:> Ja, ich habe beim Hersteller nachgefragt und er meinte wortwörtlich:>> None of our kits supports WS2811. Our products support only WS2812 and>> SK6812.
Aha. SK6812 benutzt aber ein erheblich abweichendes Timing gegenüber
WS2812. Das kann nur über eine Einstellung gehen.
> das heißt (nach deiner Aussage), der LED-Streifen den ich jetzt dran> habe ist ein SK6812 !?!?
Glaube ich nicht. SK6812 sind ziemlich selten. Aber woher soll ich das
wissen...
> aber woher weiß das Tool, dass ich einen WS2812 dran habe <- MUSS ich> das zwingender weise vorgeben, oder kann er das auch "erkennen"? <- weil> Settings gibt es nicht sooo viele.
Siehe oben. Es muss eine Einstellung geben, um WS2812 und SK6812
unterscheiden zu können. Oder der Hersteller liefert vielleicht zwei
Produktvarianten mit unterschiedlicher Firmware.
> hier kann man das Tool mal sehen, mehr "Einstellungen" und schon> garnicht "ich habe WS2812 oder SK6812"
Thomas hat in seinem Beitrag oben die Datenblätter verlinkt. Schau mal
rein :-)
Thomas E. schrieb:> Auch bei den anderen beiden weichen die Timings voneinander ab und eine> Übereinstimmung ergibt sich nur, indem man mit den Toleranzen> aufeinander zugeht.
Du hast recht, ich hatte das verwechselt mit WS2812 vs. WS2812B. Hier
findet man innerhalb der Toleranzen gemeinsame Werte, zu den WS2811 aber
nicht mehr.
Fassen wir mal die Daten zusammen:
1
WS2811 WS2812 WS2812B
2
T0H 500ns 350ns 400ns
3
T1H 1200ns 700ns 800ns
4
T0L 2000ns 800ns 850ns
5
T1L 1300ns 600ns 450ns
6
RES >50µs >50µs >50µs
Da alle Toleranzen mit 150ns angegeben sind, bekommt man mühelos Werte
für die WS2812 und WS2812B, die für beide Varianten passen.
Die Werte für T1H und T1L liegen bei den WS2811-LEDs aber viel zu weit
weg.
@TO: Du brauchst offenbar wirklich einen Adapter von WS2812 nach WS2811.
Das Problem ist aber nicht nur die Timing-Umsetzung, sondern zusätzlich
noch ein echtes Zeitproblem: Die Übertragung eines WS2811-Bits dauert in
jedem Fall länger als die des WS2812-Bits.
Der "Adapter" muss also nicht nur die Zeiten anpassen, sondern auch noch
einen ziemlich großen Zwischenspeicher zum Buffern der Daten haben. Die
Größe hängt dabei von der Anzahl der LEDs ab und von den Pausen, die Dir
das "Kauftool" als Verschnaufpause lässt, um Deinen Zwischenpuffer auch
irgendwann leerzubekommen.
Wenn das "Kauftool" ohne jegliche Pause Daten raushämmert, wird Dein
Adapter niemals fertig. Wenn Du Glück hast, kannst Du natürlich die
RESET-Zeit dafür verwenden, wenn Du WS2811-Chips findest, die mit
erheblich weniger als 50µs auskommen.
Insgesamt ist das also ein gewagtes Unterfangen.
Die SK6812 liegen also doch noch im Toleranzrahmen, wenn man SK6812-RGB
und nicht SK6812-RGBW (für welche die SK6812 eigentlich bekannt sind)
benutzt.
Mit einer Pause von 80µs zwischen den Frames passt das dann.
@TO: Vermutlich verwendet Dein Kauftool eine Pause von mindestens 80µs,
um kompatibel zu den SK6812 zu bleiben. Dann hast Du pro Frame für alle
LEDs zusätzliche Luft von 80µs - 50µs = 30µs, um die überschüssigen
Daten aufgrund der langsameren Übertragungsrate zu den WS2811
zwischenzuspeichern.
Wieviele LEDs sollen denn in einer Kette zusammenhängen?
Frank M. schrieb:> Mit einer Pause von 80µs zwischen den Frames passt das dann.
Meinen SK6812-RGBW reichen auch 40µs. Damit passt das dann wieder ins
Schema der WS.
Was alle nicht mögen, ist eine zu lange T0H-Zeit, die dann als T1H
erkannt wird, obwohl die angegebene T1H noch gar nicht ereicht ist. Was
den Schluss zulässt, daß alles, was länger als T0H ist, als T1H erkannt
wird.
Die T0L dagegen kann man auch verlängern. Aber, wie schon oben
geschrieben, können das übereifrige WS2812B als Reset erkennen. Den
meisten von denen reichen schon 5µs als Reset-Zeit aus.
Wie auch schon gesagt, könnte man das alles heterogen hinbekommen. Nur
dazu reicht es nicht, ein paar Parameter einstellen zu können, sondern
dazu muß man im Quelltext des Steuercontrollers mit den NOPs spielen.
Zur Ausgangsfrage:
Sven schrieb:> Nun die Frage, ob man (hoffentlich nicht zu hohen Aufwand) einen Adapter> bauen kann, der die Signale "übersetzt"...
Das ist um ein vielfaches Aufwendiger, siehe Franks Beitrag dazu, als
einen kompletten Steuerungscontroller zu programmieren. Das setzt
natürlich voraus und das soll jetzt nicht arrogant rüberkommen, daß man
das auch kann.
Noch etwas zur Verkabelung: Man darf sich nicht darauf verlassen, daß
die Sechs-Quadrat-Masse der mehrfach eingespeisten Stromversorgung es
schon richten wird. Es muß immer zur Datenleitung eine gleich lange
Signalmasse mitgeführt werden. Das bewirkt zu 100% reproduzierbare
Wunder. Insbesondere dann, wenn der Strang nicht durchgehend verlegt,
sondern (mehrfach) unterbrochen wird.
@ Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
>Noch etwas zur Verkabelung: Man darf sich nicht darauf verlassen, daß>die Sechs-Quadrat-Masse der mehrfach eingespeisten Stromversorgung es>schon richten wird. Es muß immer zur Datenleitung eine gleich lange>Signalmasse mitgeführt werden. Das bewirkt zu 100% reproduzierbare>Wunder.Beitrag "Re: Differnz-Signal für WS2812B"
Das sollte mit den WS2812 kompatibel sein.
Aber jetzt kommt das Aber: RES > 300µs
Wenn das "Kauftool" die Pause kürzer als 300µs hält, klappts damit
leider auch nicht. Aber Probieren geht ja bekanntlich über Studieren ;-)
Meine Erfahrung ist, dass man mit den aktuellen Versionen von
Adafruit-Library etc. problemlos WS2811, WS2812, WS2812b und SK6812
(3-Kanal) sowie SK6812 (4-Kanal) ansprechen kann, eine Software-Änderung
ist nur für 3- vs. 4-Kanal notwendig.
Bei den WS2811 muss man ggf. beachten, dass die auf 800kHz konfiguriert
sind (die lassen sich per Pin auf 400kHz runterstellen...).
Viele Grüße,
Simon
also ziel ist es aus einer Kette von 100 LEDs 4 LEDs abzukoppeln und
diese DEUTLICH zu verstärken...
etwas so:
1
- x - x - x - x - x - x - x - x - x - x - x -
2
| |
3
30W 30W
d.h. ich brauch bei der Abzweigung nur 1 LED welche man sich merken
muss...
Ich habe ein paar WS2812 da und werde diese heute Abend mal Testen, Aber
wenn ich nicht "umschalten" kann, dann brauch ich auch die WS2811
garnicht versuchen...
evtl. muss ich den Plan auch verwerfen, da mir die
Elektronikerkenntnisse fehlen um hier einen Adapter zu bauen.
Ich dachte mit Kondensatoren könnte man da was "hinpuffern" ... aber das
Klingt eher nach Microcontroller...
Sven schrieb:> also ziel ist es aus einer Kette von 100 LEDs 4 LEDs abzukoppeln und> diese DEUTLICH zu verstärken...
Ich würde diese 4 LEDs aber nicht abkoppeln, sondern eher einfach am
Eingang "DI" von diesen 4 LEDs einen WS2812-Adapter-oder-was-weiß-ich
(z.B. den oben genannten WS2818) parallel schalten. Du brauchst die
Kette also nicht zu trennen.
Sven schrieb:> Hier der High-Power Adapter
Den hast Du also schon. Und da ist jetzt ein WS2811 drauf? Was passiert,
wenn Du den jetzt an DI von einen der 100 anderen LEDs anschließt?
nun, genau das mach ich doch!?
ich nehme die 20. WS12LED und zweige ab und schalte parallel meine
WS11LED zu.
aber wie oben beschrieben, flimmert diese nur wirr und zeigt nicht
annähernd die gewünschte Farbe.
Am Arduino mit AdaFruid Lib funkioniert die WS11LED wie gewünscht sehr
hell und sehr sauber.
Sven schrieb:> aber wie oben beschrieben, flimmert diese nur wirr und zeigt nicht> annähernd die gewünschte Farbe.
Okay. Dann könntest Du den WS2811-IC auf Deinem High-Power Board gegen
einen WS2818-IC (s.o.) tauschen. Wenn Du Glück hast, macht Dein Kauftool
zwischen den einzelnen Frames Pausen von >300µs und es läuft.
Ansonsten muss ein Adapter her, der das Signal für eine LED (24 Bits)
abzweigt und in das Timing einer WS2811 umwandelt und während der
(langsameren) Ausgabe die weiter reinkommenden Bits zwischenpuffert.
Kann man mit einem Mikrocontroller machen.
wenns jemanden interessiert wie es weiter geht...
> ich habe beim Hersteller lieb guck gemacht und jetzt bekomm ich eine
abgeänderte Version mit WS2811
-Sven