Forum: Mikrocontroller und Digitale Elektronik Neopixel simulieren, welcher Controller?


von Korbinian G. (korbinian_g10)


Lesenswert?

Guten Abend zusammen,

ich habe gerade ein kleines Spaßprojekt und möchte eine größere Handvoll 
SK6812RGBW-NW auf Aluplatinen an Aluprofilen (40 Stk./m) befestigen und 
das Ganze als flexible und anpassbare Konstruktion einsetzen.
Quasi so ähnlich wie das da:
https://www.thomann.de/de/stairville_led_pixel_rail_40_rgb_mkii.htm
Nur eben nicht proprietär, mit zusätzlichem Weiß und normalem seriellen 
Aufbau der Neopixel.
Problem: Bei einer gewissen Anzahl von LEDs steigt naturgemäß allein 
durch die Menge das Ausfallrisiko entsprechend.

Bei der Stromversorgung, Mechanik etc. werde ich mir Mühe geben und 
ausreichende Kapazitäten, Querschnitte, DC-DC vor Ort, Suppressordioden, 
etc. einbauen, aber man weiß ja nie.
Zwischen den Profilen hätte ich RS485 (terminiert, mit Bias) benutzt.

Wenn eine einzige SK6812RGBW-NW aussteigt, dann war's das für den 
restlichen Streifen. Das würde ich gerne vermeiden und den Schaden auf 
maximal ein Profil begrenzen.
Ja, ich kenne die WS2813 mit den doppelten Datenleitungen, allerdings 
können die kein echtes Weiß und eine Kopie mit RGBW ist mir auch nicht 
bekannt :(.

Am liebsten würde ich den Datenausgang des Profils gar nicht von einer 
SK6812 machen lassen, sondern von einem Mikrocontroller, der so tut, als 
wäre er 40 SK6812. Nach meinem Verständnis verringert sich dann das 
Ausfallrisiko erheblich, weil statt 40 darf-nicht-ausfallen nur noch ein 
darf-nicht-ausfallen vorliegt.

Allerdings befürchte ich, dass normale AVRs mit ihren 20 MHz dazu zu 
langsam sein werden, immerhin rauschen die Bits schon mit 800 kHz durch 
und bisschen verändern muss ich die ja auch noch.

Da ich bisher nichts mit so schnellen Daten/Controllern gemacht habe 
hätte ich gerne ein paar Meinungen :)

1. Ist das Konzept zur Erhöhung der Ausfallsicherheit 
Käse/Overkill/nachvollziehbar? Oder liest man zu viele Geschichten und 
die Neopixel machen in der Hinsicht normalerweise keinen Ärger?
2. Mit welchen Controllern könnte/sollte/müsste ich so was angehen?

Danke und schönen Montagabend noch!

von Falk B. (falk)


Lesenswert?

Korbinian G. schrieb:
> Da ich bisher nichts mit so schnellen Daten/Controllern gemacht habe
> hätte ich gerne ein paar Meinungen :)
>
> 1. Ist das Konzept zur Erhöhung der Ausfallsicherheit
> Käse/Overkill/nachvollziehbar?

Overkill. Bau es gescheit auf, dann tut das auch ziemlich siecher und 
lange.

> Oder liest man zu viele Geschichten und
> die Neopixel machen in der Hinsicht normalerweise keinen Ärger?

Wenn man es richtig (tm) macht, geht das.

> 2. Mit welchen Controllern könnte/sollte/müsste ich so was angehen?

Vergiss es. Dazu braucht es einen CPLD.

http://stefanfrings.de/ws2812/index.html

von Bauform B. (bauformb)


Lesenswert?

Korbinian G. schrieb:
> Am liebsten würde ich den Datenausgang des Profils gar nicht von einer
> SK6812 machen lassen, sondern von einem Mikrocontroller, der so tut, als
> wäre er 40 SK6812.

Wenn trotz Overkill ein uC auf jedem Profil sitzt, kann der die Daten in 
jedem beliebigen Format weiter leiten. Und zwar nicht an die nächste 
LED, sondern an den nächsten uC. Jeder uC versorgt dann nur seinen 
eigenen LEDs. Wahrscheinlich kann er auch 2 verschachtelte Ketten zu je 
20 LEDs versorgen, dann fällt im Zweifelsfall nur jede 2. aus.

Es kommt noch schlimmer: die uC müssen nicht in Reihe geschaltet werden, 
gute RS-485 Transceiver erlauben mehr als 200 parallele Empfänger. Ja, 
dann muss sich ein eigenes Protokoll ausdenken :(

von Benedikt M. (bmuessig)


Lesenswert?

Ein RP2040 sollte das über die PIO relativ problemlos möglich machen.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Wenn man die LEDs nicht überlastet, sollten sie allerdings wie andere 
Halbleiter auch niemals kaputt gehen. Da muss man schon starke Gründe 
haben, den Aufwand zu rechtfertigen.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Die Frage ist auch: Fallen bei den LEDs nur die LED selber aus, oder 
auch der Controller mit? Eventuell leiten verstorbene LEDs die Daten ja 
klammheimlich doch weiter durch, nur ohne selbst zu leuchten...

von C-hater (c-hater)


Lesenswert?

Falk B. schrieb:

>> Oder liest man zu viele Geschichten und
>> die Neopixel machen in der Hinsicht normalerweise keinen Ärger?
>
> Wenn man es richtig (tm) macht, geht das.

So sieht's aus. Es ist bloß oft nicht ganz einfach, es richtig zu 
machen. Das Hauptproblem ist fast immer ein vernünftiges thermisches 
Konzept. Hat man das, sterben auch keine LEDs den plötzlichen Wäremetod.

>> 2. Mit welchen Controllern könnte/sollte/müsste ich so was angehen?
>
> Vergiss es. Dazu braucht es einen CPLD.

Nunje, ich habe irgendwie das Konzept des TO nicht so richtig 
verstanden. Grob gesagt soll das Konstrukt sich wohl so verhalten wie 
eine Kette aus 40 dieser programmierbaren LEDs.

Und das geht schon mit einem "classic"-AVR8 mit 16..20Mhz (wenn auch mit 
etwas Asm-Mühe), schon deutlich entspannter mit einem der AVRxDy mit 
24MHz (ja, da kann man sogar den eingebauten "Mini-CPLD" mal sinnvoll 
benutzen, muss es aber nicht) und natürlich völlig problemlos mit sowas 
wie den PIOs eines PiPico.

Was ich allerdings nicht so ganz verstanden habe, ist folgendes (Zitat 
TO):

> und bisschen verändern muss ich die ja auch noch

Was will er hier an dem Datenstrom ändern? Und warum? Wie gesagt: 
irgendwie habe ich sein Konzept nicht verstanden.

von Korbinian G. (korbinian_g10)


Lesenswert?

Falk B. schrieb:
> Overkill. Bau es gescheit auf, dann tut das auch ziemlich siecher und
> lange.

Alles klar, dann versuche ich es so.

Bauform B. schrieb:
> Ja,
> dann muss sich ein eigenes Protokoll ausdenken :(

Das würde ich gerne vermeiden, weil ich die Ansteuerung gerne mit 
existierender Software machen würde, sonst habe ich noch eine zweite 
Baustelle.

C-hater schrieb:
> Was will er hier an dem Datenstrom ändern? Und warum?

An jedem Profil gibt es einen Eingang für den Datenstrom und einen 
Ausgang.
Der Eingang hängt am Daten-Eingang der ersten LED, der Ausgang am 
Ausgang der letzten.
Die Idee war, den Datenausgang nicht von der letzten LED zu speisen, 
sondern von einem Mikrocontroller. Dazu hätte ich einen Pin mit dem 
Daten-Eingang verbunden und aus dem seriellen Datenstrom dieselbe Menge 
an Bits entfernt, die auch die 40 LEDs entfernt hätten und dann auf den 
Ausgang zum nächsten Profil ausgegeben.
Aus meiner Sicht hätte das den Vorteil gehabt, dass statt 40 Bauteilen 
nur ein Bauteil in der Kette kritisch gewesen wäre und somit die 
Ausfallwahrscheinlichkeit reduziert worden wäre.

Da das Ganze aber offenbar weniger heikel ist als gedacht sollte das 
auch so gehen.

Thermische Probleme erwarte ich eigentlich nicht, weil die LEDs auf eine 
Aluplatine kommen, die dann (mit Wärmeleitpaste) auf ein 60x30x3-Profil 
geschraubt wird. Bei 40 LEDs kommen da 10-15W pro Meter raus, das sollte 
eigentlich nicht zu warm werden.

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.