testbericht zum WS2812

Eisebaer:
hi, dirk,

ist zwar nicht meine situation, aber so läßt es sich am einfachsten beschreiben:
stell Dir die weihnachtsbeleuchtung an einer häuserfront vor. mehrere streifen an veschiedenen plätzen. wenn ich da die enden eines streifens mit dem anfang des nächsten verbinde, komm' ich auf eher untragbare leitungslängen (da bricht mir wahrscheinlich die spannung der datenleitung weg). wenn ich allerdings einen controller in der mitte hab, sollte es problemlos gehen...

gruß stefan

Hi Stefan

wie wäre es als Leitung gutes Cat 7 Netzwerkkabel zu legen?
Durch die Schirmung lässt sich damit bestimmt einiges an Länge gewinnen.

Gruss
Diddy

//edit:
von wievielen Metern reden wir denn? evtl kann ich das testen, hab noch irgendwo 70 meter davon rumliegen :wink:

hi,

offensichtlich war die weihnachtsbeleuchtung ein schlechtes beispiel, weil man davon ausgeht, daß da effekte laufen, die ständig neu mit daten beschickt werden müssen.

ich denke aber in richtung beleuchtung. ich hab' jetzt im wohnzimmer 26 12V LED-lampen in der decke eingebaut und überlege, die steuerung von 74HC595 auf dimmbar umzustellen. gesteuert wird über webinterface von einem tablet oder smartphone. die helligkeit eines streifens mit 15 WS2812 scheint sogar größer zu sein als die einer einzelnen lampe bei mir. also warum nicht statt der LED-lampen jeweils einen 15er-streifen mit den 2812ern? einen schlitz in die deckenpaneele fräsen und mit plexglas abdecken, oben darauf den streifen...

die einzelnen zimmer, arbeitsflächenbeleuchtung in der küche, schreibtischbeleuchtung usw wären aber schöner zu schalten, wenn man je einen PIN dazu verwenden könnte. es wären ja auch insgesamt etwa 1500 WS2812. von den kosten her vertretbar, weil ein 15er-streifen etwa soviel kostet wie eine LED-lampe (5€). im vergleich zu halogen-lampen noch billig, von den stromkosten gar nicht zu reden...

einzelne atmega328 zu verwenden, ist natürlich eine alternative, die 3 euro machen's ja nicht aus, aber komplizierter.

davon abgesehen find' ich die idee mit dem "repeater" gut, aber eben für weihnachtsbeleuchtungen.

danke für das angebot mit den 70 metern, ist für andere zwecke sicher ausprobierenswert. CAT7 ist für mich ohnehin das kabel schlechthin, die fallen in der firma immer wieder an.

gruß stefan

Eisebaer:
...
aber man hat keine möglichkeit, mehrere streifen über verschiedene PINs anzusprechen. sieht da jemand einen weg? um die bibliothek umzuschreiben, bin ich nicht fit genug in der materie.
gruß stefan

Ich befürchte wegen dem kritischen Timing kann man nicht mehrere Stränge an mehrere Pins betreiben.
Die maximale Anzahl der LED (von 512 bzw 1024) ist an die Bedingung einer Bildwiederholrate von 30 Hz verknüpft. Nur in diesem Fall ist die Schnittstelle schnell genug um die Daten für alle LED in unter einer 30-stel Sekunde zu übertragen.
Wenn man weniger dynamische Verläufe akzeptiert (niedrigere Bildwiederholfrequenz), kann man auch mehr LEDs hintereinander schalten.

Ich glaube aber, es wäre kein Problem, bei relativ statischen Ansteuerungen die Ansteuerung über einen Analogmultiplexer wie zB einen CD4051 bzw CD4067 laufen zu lasssen. Jeder "Ausgang" des Multiplexers sollte dann aber mit einem 10kOhm Widerstand auf 5V geschaltet werden da ansonsten bei nicht selektionierten "Ausgang" dieser kein definiertes Potential haben würde. Mit 3 bzw 4 Ausgängen würde man dann den Strang aussuchen, auf den die Daten gerade geschickt werden.
Auch diese Methode würde die Gesamtbildwiederholfrequenz heruntersetzen, würde aber die Möglichkeit bieten, einzelne Stränge zeitweise mit hohen Bildwiederholfrequenzen zu betreiben.

Viele Grüße Uwe

hi,

uwe, Du kennst mich inzwischen...
ich hab' keine ahnung, was ein analogmultiplexer ist, deswegen erklärst Du's gleich ein bißchen und schon hilft's mir weiter :slight_smile: .
wenn ich's richtig verstehe, kann ich mit einem acht-kanal-teil mit einem datenausgang und acht bzw. drei (bei binärcodierung) leitungen den ausgang wählen. diese acht oder drei kann ich dann ja auch über 74HC595 ansprechen, oder?
wenn ich zwei oder mehr dieser analogmultiplexer brauche, ist es dann besser, einen davon vorweg zu stellen, und den dann den gewollten ansprechen zu lassen, oder stell' ich sie einfach nebeneinander, schließe den datenausgang des arduino an alle dateneingänge der multiplexer an, wähle über schieberegister den richtigen ausgang des richtigen multiplexers und lasse bei jedem einen ausgang frei, den ich verwende, wenn er nichts tun soll?
der CD4067 ist ja ein 16-kanal-ding, das über vier kanäle angespochen wird, wie ich grade gegoogelt habe. sieht gut aus, aber 16 könnten grade nicht reichen, deshalb bleiben meine fragen.
zeitkritisch ist bei mir garnichts, zwischen dem rausschalten einzelner "kanäle" bleiben immer mindestens sekunden.
sollten die 4067er die beste wahl sein, werd' ich mir mal welche bei conrad besorgen.

danke einstweilen und gruß
stefan

hi nochmal,

mir ist da dieser beitrag eingefallen:

hab' ich immer noch herumliegen.
Du, uwe, hast damals folgendes geschrieben:

4x MC14067BCP analog multiplexer: verbindet den gemeinsamen Pin mit einem der 16 Ein/Ausgänge. Auswahl durch 4 Adressleitungen. Funktioniert analog und in beide Richtungen (das Signal kann am gemeinsamen Pin oder einem der 16 angelegt werden) CMOS- Tecnologie.

wären die genausogut oder soll ich mir lieber das neuere teil besorgen? es geht nur um den weg von einer halben stunde, das geld in dieser größenordnung spielt keine rolle. könnte beim probieren mit den alten teilen was passieren oder würden die das gepulste signal beinflussen?

gruß stefan

Entschuldige Stefan. Hab nicht auf Deine Frage geantwortet. Hatte es so verstanden daß Du die WS2811/12 verwenden wolltest.
Werde Dir morgen antworten.
Grüße Uwe

hi, uwe,

verstehe jetzt nicht, Du hast genau richtig geantwortet. es geht nur darum, mehrere WS2812er-streifen getrennt voneinander mit daten beschicken zu können, und ich habe kein zeitproblem. wenn ich alle sekunden den kanal umschalten kann, und dann auf diesem kanal einmal ein datenpaket für die LEDs auf diesem kanal schicken kann, ist das schon mehr als genug.

aber jetzt gute nacht, bis morgen...

gruß stefan

Wenn es kein Zeitproblem gibt dann einfach alle WS2811 LED in Reihe schalten.

Der 4051 bze 4067 ist wie ein Stufenschalter mit 8 bzw 16 Schalterstellungen. Der gemeinsame Pol wird auf einen der 8 bzw 16 Kontakte geschalten. Die Flußrichtung kann in beide Richtungen erfolgen. Beim 4051 bzw 4067 erfolgt die Auswahl des "Ausganges"
über eine 3 bzw 4 Bit Zahl.
Du wählst den Ausgang aus und schickst die Daten an den LED-Strang der an diesem Ausgang hängt. Damit die anderen "Ausgänge" einen definierten Pegel haben schaltest Du einen Pullupwiderstand an. So bekommen die Eingänge der nicht geschaltenen WS2811 keine Störsignale.

Grüße Uwe

Naja, Eisebaer hat schon recht.
Wenn er mehrere "Einheiten" oder Räume beschicken will, sollte er nicht alle LED mitlaufen lassen, sonst frisst sich der Stromvorteil irgendwann auf.
Aber Multiplexen sollte gehen, im einfachsten Fall über eine Interruptroutine im Arduino?
Also den Ausgabepin auf einen InterruptPin legen, den Interrupt auslesen und mittels einer Variable direkt an einem anderen Port wieder ausgeben lassen?

Also mal schematisch so gedacht:
define AusgabePin 0; //irgenein Port, der Interruptfähig ist
byte Channel = 0; // Variable für späteren Ausgabeport

setup() {
}

loop() {
=> Ausgabe definieren, Channel mit Wert belegen
=> mit fastspi auf AusgabePin ausgeben
}

interrupthandler() {
Wenn Interrupt an Port AusgabePin, dann AusgabePin lesen und direkt an Channel wieder ausgeben;
}

Wäre das ein denkbarer Ansatz? Die Idee mit dem AusgabePin, der gleichzeitig wieder Interrupt-Eingang ist, habe ich aus einem DCF77-Filter-Projekt (auch hier im Forum) entliehen.

Liebe Grüße

Dirk

hi,

interessante idee, dirk, aber die lösung von uwe ist ja herrlich einfach. ich werd' mir ein paar von den 4067ern besorgen und ausprobieren. bis zum "richtigen einsatz dauert es sowieso noch, frühestens im herbst bau ich die wohnung um.
was mich abschreckt, statt weissen LEDs farbige zu nehmen, ist der geschätzt doppelt so hohe stromverbrauch. und seien wir ehrlich, die zeit, wo man farbige lampen in der wohnung haben will, hab' ich hinter mir.
wär halt nur nett, weil's geht. darüber muß ich noch nachdenken.

danke und gruß
stefan

Hallo an alle
Heute habe ich meinen WS2812 LED-Streifen bekommen. Am 28. Jan in Deutschland abgeschickt, am 7. Feb hat der Postbote versucht das Einschreiben abzugeben, aber ich als arbeitssamer Single war am Unsinnigen Donnerstag Schlittenfahren (kann Euch sagen 30 km roden sind viel. Geht in die Beine das runterfahren. Rauf mit Seilbahn 8) )
Am 8. abens Benachrichigung gefunden und heute abgeholt. Gleich Kabel mit Stecker angelötet.

Erste Zweifel bei der fastSPI Library; welchen Chipsatz muß ich auswählen? Was hast Du Stefan genommen?

Anderes Beispiel gesucht, gefunden noch andere Bibliothek herutergeladen:
Hab mal nach FastSPI LED Effects [UPDATED TO WORK WITH FastSPI_2] » funkboxing probiert.
Ängstlich mal nur 10 LED angesteuert, weil ich nicht weiß wieviel die USB verträgt.

Funktionier, Blinkt hypnotisch.
Morgen weitermachen.
Grüße Uwe

hi, uwe,

seltsam, daß das so lange gedauert hat bei Dir...

den strip anschließen, im beispielsketch die anzahl der leds angeben und bei der auswahl des chipsets
FastSPI_LED.setChipset(CFastSPI_LED::SPI_WS2801); auswählen und ausbessern auf:
FastSPI_LED.setChipset(CFastSPI_LED::SPI_WS2811);

hat auf anhieb funktioniert.

gruß stefan

seltsam, daß das so lange gedauert hat bei Dir...

Was soll ich Dir sagen: Italien.

Danke Stefan.
Auf die Idee von WS2801 auf WS2811 auszubesser wäre ich nie gekommen.
Grüße Uwe

hi, uwe,

Auf die Idee von WS2801 auf WS2811 auszubesser wäre ich nie gekommen.

in der bibliothek ist WS2811 definiert, nur im beispielsketch haben sie drauf vergessen...

gruß stefan

Ja, die Bibiothek hab ich mir auch nicht genau angeschaut.
Grüße Uwe

Aber manchmal hilft lesen, Eisebaer hat das schon im ersten Post dieses Threads geschrieben :slight_smile:

LG
Dirk

Hallo,

ich habe letztens beim Arduino Open Space bei uns in Dresden ein paar Sachen gesehen, die ein paar Leute mit den WS2812 LEDs angestellt haben. Es waren 2 Arrys dabei. Einer hatte Stripeabschnitte als Matrix verschaltet. Die Datenleitungen linear, also quasi zickzack und Die Versorgungsspannung E-förmig in die Stripes eingespeist, so das die Stücke parallel geschaltet sind.
Ein 5V 30A Netzteil lief permanent an der "Kotzgrenze" :slight_smile:
Das Ganze hat er mit der Glediator-Software gefüttert. Sieht jedenfalls gigantisch aus. Am brilliantesten sehen Streifen mit Siliconbeschichtung aus. Das sieht wie eine Lackierung aus. Werde mir bei Gelegenheit auch mal welche bestellen :smiley:

Gruß Gerald

dischneider:
Aber manchmal hilft lesen, Eisebaer hat das schon im ersten Post dieses Threads geschrieben :slight_smile:
LG
Dirk

Ihr habt mich ertappt.
(hoffentlich war das ein Teil meiner 0,36733% Fehlerrate :wink: :wink: :wink: )
Grüße Uwe

hi,

kein problem, uwe, das war kein fehler, sondern eine unachtsamkeit. nachdem ich nicht Deine frau bin, wird das einfach übergangen...

gruß stefan

hi,

frage an uwe:
ich hab' eine bibliothek gefunden, die diese streifen mit 8MHz ansteuern kann, habe aber keine möglichkeit (chip), das hier auszuprobieren. hast Du sowas herumliegen?

ich baue gerade für einen freund so einen streifen mit atmega328P und quarz auf 16MHZ. wär praktisch, diesen quarz nicht verbauen zu müssen. muß mir gleich attiny85er bestellen, nur blöd, daß guloshop nicht nach ö liefert.

gruß stefan