Viele (>2000 Stk.) WS2811 LED Pixel ansteuern-Speicherprobl. (Gelöst mit Teensy)

Ja, hatte aber nur eine 50er Reihe angeschlossen. Die zieht max. 3 Ampere.

Hab da einen Kabel Widerstandrechner gefunden: Widerstandsrechner für LEDs
Der gibt mir bei 20 Meter 0.36 Ohm an.

Die ganze Beleuchtung wird sowieso Sternförmig gespiesen. Wenn ich es schaffe drei 50er Reihen (max. 9 A) mit einem 1,5mm2 Kabel zu speisen komme ich klar. Mal schauen wie hoch ich die 5V Netzteile schrauben kann. Dann muss einfach jede Zuleitung eine gewisse Mindestlänge haben um die WS2811 nicht zu zerstören.

fotofreak:
Die ganze Beleuchtung wird sowieso Sternförmig gespiesen. Wenn ich es schaffe drei 50er Reihen (max. 9 A) mit einem 1,5mm2 Kabel zu speisen komme ich klar. Mal schauen wie hoch ich die 5V Netzteile schrauben kann. Dann muss einfach jede Zuleitung eine gewisse Mindestlänge haben um die WS2811 nicht zu zerstören.

Das funktioniert so nicht. Der Spannungsabfall ist proportional zum Strom. Wenn kein Strom fließt gibt es auch keinen Spannungabfall und damit volle Spannung an den WS2811. Darum laß die Netzteile bitte auf 5V !!!
Ich würde nach 25 LED die 5V neu einspeisen. Einfach an die beiden Kabel löten. Auch am Ende der 50 LED.

Die 7A pro 1mm^2 sind gerechnet daß Kabel in Kabelkanälen oder Unterputz nicht zu heiß werden; nicht auf die Spannungsverluste.

Grüße Uwe

Wenn man die FastLED Lib verwendet, kann man die maximale Stromaufnahme mittels

FastLED.setBrightness(byte brightness);

begrenzen, um einen (versehentlichen) Whiteout (= Imax) beim Entwickeln abzufangen.

Macht natürlich nur Sinn, wenn man nicht beabsichtigt, alle LEDs bei voller Helligkeit weiß leuchten zu lassen. Nach meiner Erfahrung führen "normale", dynamische, bunte Frames zu einer Stromaufnahme von 1/3 bis 2/3 Imax, aber das hängt natürlich hochgradig davon ab, was man vorhat.

Gruß

Helmuth

Achso, das hier wird aufwändig mit den WS2811:

Als Feature sollten die Lichtbilder dann noch sanft überblenden usw.

Für alles, was "sanft" aussehen (und zügig gehen) soll, brauchst Du viele frames per second. Dafür brauchst Du wenige (maximal ein paar hundert) LEDs an einer Datenleitung und davon mehrere parallel. Jedenfalls mit den lahmen WS2811 (800Kbps). LPD8806 funktionieren bis 22Mbps... (allerdings nur mit 7 Bit/Farbe)

Ein WS2811 braucht 30 µS pro LED. Bei 6000 LEDs sind das 180 mS, um einmal alle LEDs zu schreiben. Daraus ergeben sich theoretische 5,56 fps, wenn alle an einer Leitung hängen und die Daten bereits im RAM vorliegen würden.
Für einen Fade von "LED aus" zu "LED an" über 255 Schritte bräuchtest Du dann 46 (!) Sekunden. Zuzüglich der Zeit, den Übergang überhaupt zu berechnen. Das ist sinnlos. Ja, Du kannst die Schritte größer machen, aber das sieht dann im unteren Helligkeitsbereich nicht mehr sanft aus, sondern wird eine ruckelnde Standbildshow.

Die OctoWS2811 LED Library, Driving Hundreds to Thousands of WS2811 LEDs with Teensy 3.0 Lib unterstützt Paralleloutput auf 8 Leitungen mit einem Teensy 3 (welcher nebenbei dein RAM Problem löst), aber 750 LEDs / Strang ist immer noch zu viel (= zu langsam) für "sanfte" Übergänge. Mit 3 Teensys und jeweils 250 LEDs auf dann 24 Leitungen kommst Du in den grünen Bereich mit den fps. Wie Du die Daten schnell genug bereitstellst, ist eine andere Frage. Auch die Verkabelung ist bei so einem Projekt nicht trivial, da der Abstand zwischen Controller und erster LED limitiert ist. Mit geschirmten Netzwerkkabeln als Datenleitung kann man viel machen, aber auch nicht zaubern...

P.S. Hut ab übrigens, ist ein ambitioniertes Projekt, das Du da vorhast!

P.P.S. http://fastled.io/ kennst Du, oder?!

Letzte Anmerkung - Ich würde sowas hier nehmen: PJRC Store

Helmuth:
Wenn man die FastLED Lib verwendet, kann man die maximale Stromaufnahme mittels

FastLED.setBrightness(byte brightness);

begrenzen, um einen (versehentlichen) Whiteout (= Imax) beim Entwickeln abzufangen.

Macht natürlich nur Sinn, wenn man nicht beabsichtigt, alle LEDs bei voller Helligkeit weiß leuchten zu lassen. Nach meiner Erfahrung führen "normale", dynamische, bunte Frames zu einer Stromaufnahme von 1/3 bis 2/3 Imax, aber das hängt natürlich hochgradig davon ab, was man vorhat.

Gruß

Helmuth

Power notes · FastLED/FastLED Wiki · GitHub

Das sind Mittelwerte. Da die Regelung auf PWM funktioniert kann jederzeit auch bei nicht 100% angesteuerten WS2811/12 der volle Strom fließen, weil alle LEDs gleichzeitig kurz angesteuert werden.
DIe Aussagen in Power-notes sind mir suspeckt. Ich rate DRINGEND davon ab Datenausgänge auf Masse zu schalten!!!!

Grüße Uwe

Hallo Uwe,

Du meinst diesen Satz hier:

Some of these are just good engineering. Some are just plain voodoo. Use whichever ones that work for you.

At the 'far' end of long LED strips, connect the Data line to Ground.

Kann ich auch nicht nachvollziehen. Ich frage Daniel bei Gelegenheit mal, was er sich dabei gedacht hat.

Da die Regelung auf PWM funktioniert kann jederzeit auch bei nicht 100% angesteuerten WS2811/12 der volle Strom fließen, weil alle LEDs gleichzeitig kurz angesteuert werden.

Du meinst, weil bei der PWM alle LEDs gleichzeitig angehen? Sicher, dass R, G und B gleichzeitig angeschaltet werden?

Sollte dem so sein, fließt für sehr kurze Momente der volle Strom. Aber wo ist das Problem, bei einer Modulationsfrequenz von 490 Hz für die Kabelquerschnitte und die Anzahl der Einspeisepunkte mit dem Mittelwert zu rechnen?

Ich kann nur sagen, dass ich hier seit Monaten ein Setup mit 240 LEDs auf einem Strip laufen habe - gespeist aus einem alten PC Netzteil, welches den theoretischen Maximalstrom liefern kann. Ich speise nur an 2 Punkten (am Anfang und am Ende des Strips - eigentlich viel zu wenig) Spannung ein, mit einem Kabelquerschnitt, welcher rechnerisch zu dünn ist. Läuft bei meinem Content mit einem Durchschnittsstrom vom ca. 1/3 Imax seit Monaten - Anfang und Ende vom Strip schaue ich mir regelmäßig an und dort sieht es aus, wie am ersten Tag: keine Spuren von Erwärmung durch den Impulsstrom. An der Zuleitung konnte ich bisher überhaupt noch keine Erwärmung feststellen.

Relevant ist auch, dass an der Einspeisestelle immer weniger als 5 V ankommen und folglich die LEDs ihre angegebenen 60 mA nie ausschöfpen. Zuzüglich des Spannungsabfalls zwischen den Einspeisepunkten.

Beste Grüße

Helmuth

@fotofreak: Nur mal aus Interesse, wie willst Du die Ketten eigentlich verteilen?
Alle Kanten vom Haus bestücken oder einen Baum?
Oder alle Ketten nebeneinander senkrecht an die Dachrinne hängen?

Grüße

Helmuth

Hallo zusammen. Danke für die angeregte Teilnahme am LED Projekt.

Habe gerade einen neuen Blogbericht verfasst über den aktuellen Stand des Projektes:
http://www.fotofreak.ch/2014/05/06/projekt-weihnachtsbeleuchtung-2014-teil-5/

Ich werde weiterhin darüber berichten wie es läuft. Hier im Forum versuche ich das Thema auf einem 'technischem' Level zu halten. Im Blog geht es auch mal etwas emotionaler zu und her :slight_smile:

Hier, gerade veröffentlicht, kannst Du ja mal an Deiner Matrix testen: Funky Clouds 2014 - Pastebin.com

Zum Ideen bekommen empfehle ich mal eine Nacht hier zu verbringen: https://plus.google.com/communities/109127054924227823508

Und Dein freundlicher Dealer in Europa: http://www.watterott.com/

Viel Spaß und viele Erkenntnisse weiterhin!

Helmuth

Hier, gerade veröffentlicht, kannst Du ja mal an Deiner Matrix testen: Funky Clouds 2014 - Pastebin.com

Hab ich mal kurz ausprobiert. Brachte es am Arduino Ethernet jedoch nicht zum laufen.
Es leuchten einfach ca. 4 LED grün, mehr nicht.
Ist das evt. gar nicht für den Ethernet? Mich irritiert ein wenig: #define LED_PIN 23
Ich habe gar nicht so viele Daten PIN's.

FastLED sollte auf dem Arduino Ethernet laufen - hast Du denn schonmal mit den Beispielen getestet?

Wichtig: Die Pins 10, 11, 12 und 13 sind für die Verbindung mit dem Ethernet Modul reserviert

Natürlich musst Du

#define LED_PIN     23

anpassen und den Pin eintragen, den Du tatsächlich für die Kommunikation mit den Ketten verwendest.

Ebenso den Chipsatz

#define CHIPSET     WS2811

und die Auflösung Deiner Matrix:

// Matrix dimensions
 
const uint8_t WIDTH  = 16;
const uint8_t HEIGHT = 16;

Und dann schauen, ob

 Spiral(7,7,8,128);
 
  // why not several times?!
  Spiral(8,3,3,128);
  Spiral(5,12,5,128);

innerhalb dieser Größe liegt - muss bei einer Matrix kleiner als 16x16 angepasst werden.

Wenn das dann alles passt und läuft, kannst Du die Helligkeit an dieser Stelle hochdrehen:

#define BRIGHTNESS  255

fotofreak:
Der gibt mir bei 20 Meter 0.36 Ohm an.

Ja, aber das ist nur die Hälfte!
Der Strom muss hin und zurück und verursacht jedes mal Spannungsabfall.
Die Formel lautet so:
R = Länge[m]/(56 * Querschnitt[mm])
Spannungsabfall:
U = 2 * R * I

Die ganze Beleuchtung wird sowieso Sternförmig gespiesen. Wenn ich es schaffe drei 50er Reihen (max. 9 A) mit einem 1,5mm2 Kabel zu speisen komme ich klar. Mal schauen wie hoch ich die 5V Netzteile schrauben kann. Dann muss einfach jede Zuleitung eine gewisse Mindestlänge haben um die WS2811 nicht zu zerstören.

In dem Falle: R = 20m / (56 *1,5) = 240mOhm
U = 2 * 240mOhm * 9A = 4,3V!!!!
Das haut nicht hin.

Du mußt schon auf 4mm² gehen und unter 10m bleiben.

Zum Thema PWM:
ja, du kannst bei PWM-Ansteuerung den mittleren Strom rechnen. Aber nur, wenn du mit dicken Elkos die Versorgung stützt.
Ohne Elko sorgt jeder kurze PWM-Impuls für einen ebenso kurzen Spannungsabfall...

edit: Schreibfehler nach Uwes Einwurf korrigiert.

Aber nur, wenn du mit dicken Elkos die Versorgung stützt.
Ohne Elko sorgt jeder kurze PWM-Impuls für einen ebenso kurzen Spannungsabfall...

Danke für diesen wertvollen Hinweis, guntherb! Ich hatte bei kleineren Projekten schon öfters den Eindruck, dass sich die Farbtemepratur an einem soliden Labor-/AT-Netzteil verschiebt, im Vergleich zur Speisung an einem China-USB-Supply - habe dem aber nicht getraut bzw. ihm keine weitere Bedeutung beigemessen.

So macht das natürlich Sinn - die Grundfarben reagieren verschieden sensibel auf die entstehende Unterspannung bei mangelnder Glättung.

Habe ich mir das also nicht nur eingebildet...gut zu wissen, dass mein Wahrnehmung noch ok ist! :wink:

guntherb:
In dem Falle: R = 20m / (56 *1,5) = 24mOhm
U = 2 * 24mOhm * 9A = 4,3V!!!!

Das sind nicht 24 mOhm sondern 240 mOhm. Der Rest der Rechnung ist richtig.
Grüße Uwe

uwefed:

fotofreak:
Die ganze Beleuchtung wird sowieso Sternförmig gespiesen. Wenn ich es schaffe drei 50er Reihen (max. 9 A) mit einem 1,5mm2 Kabel zu speisen komme ich klar. Mal schauen wie hoch ich die 5V Netzteile schrauben kann. Dann muss einfach jede Zuleitung eine gewisse Mindestlänge haben um die WS2811 nicht zu zerstören.

Das funktioniert so nicht. Der Spannungsabfall ist proportional zum Strom. Wenn kein Strom fließt gibt es auch keinen Spannungabfall und damit volle Spannung an den WS2811. Darum laß die Netzteile bitte auf 5V !!!
Ich würde nach 25 LED die 5V neu einspeisen. Einfach an die beiden Kabel löten. Auch am Ende der 50 LED.

Die 7A pro 1mm^2 sind gerechnet daß Kabel in Kabelkanälen oder Unterputz nicht zu heiß werden; nicht auf die Spannungsverluste.

Eine andere Lösung wäre,die Netzteile möglichst nah an die Lichter zu setzen. So bekommst du kurze 5V Wege mit geringem Spannungsabfall. Für die Datenleitung zur Steuerzentrale reicht ein dünnes Käbelchen, da praktisch kein Strom fließt. Es wäre auch einen Test wert, möglichst nah an die LEDs einen dicken Stütselko zu setzen.

Für die Datenleitung zur Steuerzentrale reicht ein dünnes Käbelchen, da praktisch kein Strom fließt.

Unter dem Gesichtspunkt der Stromfestigkeit vielleicht, aber ganz so einfach ist das mit der Datenleitung leider nicht, weil das Signal an einem dünnen Käbelchen bereits nach 30 cm so aussieht:

Geschirmtes Kabel mit verdrillten Adern (z.B. CAT5) + Reihenwiderstand zur Impendanzanpassung geht mit etwas Glück bis wenige (<5) m, allerspätestens da muss das Signal aufgefrischt werden.

Das Datenblatt sagt 5m zwischen den einzelnen WS2811/12

Grüße Uwe

Ja, wenn das Kabel geeignet ist.

Mit 5 m Klingeldraht hatte ich Fehler und Aussetzer bei der Datenübertragung, z.B. ausgelöst durch Lichtschalter usw.

Grundsätzlich gehen zum Testen auch längere Strecken und das funktioniert auch (leidlich), aber dabei nimmt halt die Zuverlässigkeit der Verbindung rapide ab und die Störanfälligkeit zu.

Mit "mit etwas Glück" meinte ich, wenn man den Anspruch hat, daß kein einziges frame verlorengeht - also eine perfekte Verbindung wünscht.

Gruß Helmuth

So, dieses Wochenende machte ich einen ersten Test mit 2000 LED auf einmal.

Kontroller: T-300K (2 Kanäle benutzt 2 * 1000 LED)
Strom: 2 * 5V/60A (Sind mit Ventil belüftet und machen ziemlich laut)
Daten: Kat. 5 Netzwerkkabel (1 Strang mit 10 Meter Ethernet, 1 Strang mit 10 Meter Ethernet und ca. 5 Meter 0.14mm2 Draht ohne Schirmung)
Stromkabel Test: 6 * 50 LED über ein 30 Meter Kabel 2 * 4mm2 gespiesen > Problemlos

Speed: Seht Euch mein Testvideo an: 50 x 40 WS2811 LED Matrix mit T-300K Kontroller - YouTube
Wenn man Videos stremmen kann, werde ich meine Weihnachtsbilder mit sanften Bildwechseln hoffentlich auch noch hinkriegen.

Werde mich nun an die Programmierung des Teenys 3.1 machen.

Na wenn Dir 30 fps genug sind (Deine Vorstellung eines "sanften Bildwechsels" bedienen), ist das doch eine gute Plug + Play Lösung.

Die Ansage mit den "nicht mehr als 50m" Signalleitung halte ich für sehr optimistisch, aber wenn 10m bei Dir gut funktionieren, ist es ja schön.

http://www.kutop.com/t-300k-sd-card-led-controller.html

Falls Du weiterhin in Richtung PC-Steuerung gehen möchtest, wäre dieses Produkt sicher auch interessant für Dich:

http://forum.arduino.cc/index.php?topic=240472.0

Gruß Helmuth

P.S. Und was soll der Teensy jetzt noch machen?

Kannst mal eine Skizze stellen? Ich kann mir das noch nciht ganz vorstellen. Soll daraus ein großes Bild werden, oder mehrere? Bei 2., kannst du die Strips trennen und mit mehreren Arduinos ansteuern, die untereinander von einem Master angesprochen werden,