Arduino Forum

International => Deutsch => Topic started by: Eisebaer on Jan 31, 2013, 07:05 pm

Title: testbericht zum WS2812
Post by: Eisebaer on Jan 31, 2013, 07:05 pm
hi,

ich hab' jetzt grad meinen strip mit WS2812er rgb-leds bekommen:
http://www.ebay.at/itm/370732507841?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649 (http://www.ebay.at/itm/370732507841?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649)
lieferung war in ordnung, freitag abend bestellt, donnerstag angekommen.
die WS2812 sind 5050er SMD-RGB-LEDS mit eingebautem WS2811-controller. es gibt nur eine leitung vom arduino zum strip. keine clock-leitung, deswegen ist das timing sehr wichtig, aber das erledigt diese bibliothek:
http://code.google.com/p/fastspi/ (http://code.google.com/p/fastspi/)
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);

sketch hochladen und das testprogramm läuft. wär nur alles so einfach...

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Jan 31, 2013, 07:37 pm
Quote
ich hab' jetzt grad meinen strip mit WS2812er rgb-leds bekommen:

Du glücklicher Du, oder Ich warte noch auf meine.
Felix Austria!!
Danke für Deinen Erfahrungsbericht.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 01, 2013, 08:23 pm
Ui, cool.
Also erst mal Karma+ für den Erfahrungsbericht an Eisebaer.
Und dann gleich ein paar Verständnisfragen, die du beantworten könntest, falls du Zeit zum rumspielen hast.

- Müssen die WS permanent mit Daten versorgt werden oder kann eine (wenn ja, Zeitlimit?) Pause nach Datensatz für alle WS + Anzeigereset kommen?
- Gibt es Probleme mit einigen Zentimetern Bahn oder Kabel zwischen Dout und Din nach jeweils etwa 5-7 LED mit kleinem Abstand, wie störanfällig ist der Dout/Din-Bus?
- Muss der letzte Dout terminiert werden?
- kann man die Anzahl der WS irgendwie ermitteln, wenn die Anzahl dynamisch ist?

Erklärung: ich überlege die WS2812 als Statusanzeigen einer Remote-Lichtsteuerung einzusetzen, wenn ich mal Zeit dafür habe.
Also will ich dem Arduino Farbmischung und Helligkeit füttern und eine oder mehrere WS2812 mit den Werten als optische Kontrolle anzeigen lassen.
Dafür hat mein Sketch dann mehrere Sachen zu tun und kann sich nicht nur um die LEDs kümmern.
Und evtl. will ich modular erweitern können, also mehrere "Signalgeber-/Kontrollanzeigeeinheiten" seriell hintereinanderhängen (Eingabe passiert über I2C, MAX127).
Falls "dynamisch zählen" nicht geht muss ich das anders realisieren, z.B. über I2C-Abfragen, ob da "jemand" auf der Adresse "wohnt".

Dankeschön schon mal für die Infos bisher.

Dirk

PS: Bei Interesse male ich mal auf, wie mein bisheriger "Version-0-Gedankenspiel-Ansatz" ist ...


Title: Re: testbericht zum WS2812
Post by: Diddy5 on Feb 01, 2013, 10:26 pm
Den Thread habe ich jetzt erst gesehen, aber da so viele Interesse an den LEDs haben schreibe ich das hier auch nochmal, da Eisebaer ja per PN angefragt hatte.

Der Schaltplan ist wirklich nicht schön (erster eagle Versuch)  und ich bin auch kein Elektroniker, aber zur Veranschaulichung sollte er reichen.
(und ob der so funktioniert weiß ich auch noch nicht)

http://imageshack.us/photo/my-images/802/ws2812.png/

Pinbelegung der LED
unbelegt  4      3  Plus
Plus         5      2  Data In
Masse(-)   6      1  Data Out

Wie man sieht, hat man 2 mal Plus, welche miteinander verbunden werden.
Jeweils der Data Out Pin muss auf den Data In Pin der nächsten LED.


Hier ein Teil meines Codes. Mit dem habe ich getestet, es sind eigene Funktionen dabei und es muss jeder selber wissen ob er die benötigt.
Ansich ist vieles davon eine Portierung des Adafruit Codes des WS2801.

Anschluss der ersten LED des Data In Pins auf Arduino-Pin #13.

Der Code ist noch nicht ganz schön, basiert jedoch auf der FastSPI library.. aber ich glaub hier wird mehr Interesse auf Funktion gegeben


Code: [Select]
#include <FastSPI_LED.h>
#define NUM_LEDS 25  // Anzahl der LEDs definieren



struct CRGB { unsigned char g; unsigned char r; unsigned char b; };  // die WS2812 haben GRB anstelle RGB
//struct CRGB { unsigned char r; unsigned char g; unsigned char b; };   // Bei bedarf ersetzen, wenn rot und grün vertauscht sind
struct CRGB *leds;
#define PIN 13  

void setup()
{
 FastSPI_LED.setLeds(NUM_LEDS);            
 FastSPI_LED.setChipset(CFastSPI_LED::SPI_WS2811);
 FastSPI_LED.setDataRate(2);
 FastSPI_LED.setPin(PIN);
 FastSPI_LED.init();
 FastSPI_LED.start();


 leds = (struct CRGB*)FastSPI_LED.getRGBData();
}


void loop() {

// Alle LEDs nacheinander rot aufleuchten lassen
int i;
for (i = 0; i < NUM_LEDS; i++){

 setPixelColor(i, 255,0,0);
FastSPI_LED.show();  // Daten ausgeben
delay(500); // nur ein delay,

}

blanking(1000); // Alle LEDs ausschalten
rainbow(50);
rainbowCycle(50);


}
 void rainbow(uint8_t wait) {
 int i, j;
 
 for (j=0; j < 256; j++) {    
   for (i=0; i < NUM_LEDS; i++) {
     colorHex(i, Wheel( (i + j) % 255));
   }  
   FastSPI_LED.show();  
   delay(wait);
 }}
 


void rainbowCycle(uint8_t wait) {
 int i, j;
 
 for (j=0; j < 256 * 5; j++) {    
   for (i=0; i < NUM_LEDS; i++) {
      colorHex(i, Wheel( ((i * 256 / NUM_LEDS) + j) % 256));
   }  
   FastSPI_LED.show();  
   delay(wait);
 }}


uint32_t Wheel(byte WheelPos){  
  if (WheelPos < 85) {
  return Color(WheelPos * 3, 255 - WheelPos * 3, 0);  }
  else if (WheelPos < 170) {
  WheelPos -= 85;
  return Color
 (255 - WheelPos * 3, 0, WheelPos * 3);  }
 else {
  WheelPos -= 170;
  return Color(0, WheelPos * 3, 255 - WheelPos * 3);  }}

// 24 Bit Farbwert umwandeln
   void colorHex(int pix, uint32_t c){
 leds[pix].r = (c >> 16) & 0xFF;
 leds[pix].g = (c >> 8) & 0xFF;
 leds[pix].b = c & 0xFF;
 }


// 3 x 8 bit color to 24bit color
 uint32_t Color(byte r, byte g, byte b){
 uint32_t c;
 c = r;
 c <<= 8;
 c |= g;
 c <<= 8;
 c |= b;
 return c; }
 
 
 // Aufruf mit setPixelColor(LED, rot, grün, blau); mit jeweils 0-255 als Wert.  
   void setPixelColor(int pix, int rr, int gg, int bb){
 leds[pix].r = rr;
 leds[pix].g = gg;
 leds[pix].b = bb;  
 }
 
 
 // Alle LEDs ausschalten
 
void blanking (uint16_t wait) {
   int i;
   for (i=0; i < NUM_LEDS; i++) {
   setPixelColor(i, 0,0,0); }
   FastSPI_LED.show();
   
 delay(wait);}
   
   



// edit

Quote from: dischneider
- Müssen die WS permanent mit Daten versorgt werden oder kann eine (wenn ja, Zeitlimit?) Pause nach Datensatz für alle WS + Anzeigereset kommen?
- Gibt es Probleme mit einigen Zentimetern Bahn oder Kabel zwischen Dout und Din nach jeweils etwa 5-7 LED mit kleinem Abstand, wie störanfällig ist der Dout/Din-Bus?
- Muss der letzte Dout terminiert werden?
- kann man die Anzahl der WS irgendwie ermitteln, wenn die Anzahl dynamisch ist?



1. Sobald keine Daten mehr kommen, bleiben die LEDs in ihrem letzten "Status" - hast du z.B. einer LED gesagt sie soll rot sein und du trennst die Data Leitung - bleibt diese rot, sofern noch Strom vorhanden ist.
2. Ich habe keine Probleme gehabt mit ca 10 cm - aber da kann ich nichts genaueres dazu sagen.
3. der Dout muss nicht terminiert werden
4. Soviel ich weiß muss man das manuell festlegen, die Daten werden ja einfach nur durchgeschoben wie bei einem Schieberegister und keine zurückgegeben.


Falls ihr noch einen Ethernet Adapter habt, empfehle ich euch noch folgenden Link: http://www.deskontrol.net/blog/arduino-based-artnet-node-for-led-pixels/
Dazu z.B. die Software "Glediator" oder ein anderes Artnet LED Pixel Programm. Für mein großes Projekt werde ich das Artnet nutzen, für mein kleines POV Display bleibe ich bei der FastSPI ;)

Ich hoffe dass damit die meisten in die WS2811 einsteigen können, ganz so einfach ist das Thema ja leider nicht, da sind die WS2801 einfacher aber leider teurer


// edit 2
Die Strips bekommt man jedoch auch wesentlich günstiger über China (50% vom Bucht Preis). Ich habe dort noch nichts bestellt, aber ab 4 metern lohnt sich das eher und werde über china auch bestellen (ich werde wohl aber auch ca 40-50 meter benötigen)

China LED Strips WS2811 (http://www.aliexpress.com/store/product/BLACK-PCB-4m-WS2811-LED-digital-strip-60leds-m-with-60pcs-WS2811-built-in-the-5050/701799_700420631.html)
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 02, 2013, 02:12 am
Danke für die Antworten, das war genau das, was ich brauchte!

Dirk
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2013, 11:01 am
hi,

danke erstmal an Dich, diddy. ich hatte starke bedenken, ob ich das mit dem timing usw hinbekomme, und wollte, während ich auf den stripe wartete, schon mal infos einholen. dank der library ist alles sehr einfach und hat auf anhieb funktioniert. danke trotzdem für die hilfe und die PN.

die fragen von Dir, dirk, hat diddy ja im großen und ganzen beantwortet, hier ein paar ergänzungen:

1. wie diddy sagt, zustand bleibt stabil.
2. ich hab' grad mal Deiner frage wegen einen meter litze zwischen die schon angeschlossenen 15 LEDs und die restlichen 105 gelötet. einfach anzahl der LEDs im sketch geändert, funtioniert einwandfrei.
3. diddy
4. es werden nur daten rausgeschoben, also kein feedback. kein I²C, also auch keine abfragen, wer wo wohnt. aber es könnte Dir helfen, daß die daten nicht, wie bei einem schieberegister, immer weitergeschoben werden, sondern das erste triple, das Du sendest, in der ersten LED bleibt, das zweite triple in der zweiten LED usw.. wenn Du also zb. vier mal 15 LEDs ansteuern willst, kannst Du trotzdem als anzahl 90 angeben, die daten für die nicht vorhandenen 30 LEDs laufen einfach ins leere. und Du kannst dann jederzeit noch 30 hinten anhängen, ohne am sketch was ändern zu müssen. also eigentlich eine frage der reihenfolge.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2013, 11:12 am
hi,

gleicher chip, anderes thema:

ich finde ja genial, daß man von der bibliothek ein array zur verfügung gestellt bekommt, in dem man die werte ändert, und mit show werden dann die LEDs beschickt. einfacher geht's nicht.

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
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 02, 2013, 11:25 am
Hi Eisebaer,

danke dir für die Infos.
Damit hab ich alles, was ich brauche.
Doch, I2C würde bei mir gehen, würde mehrere geleiche Platinen mit je einem MAX127 und diversen LED aufbauen und dann seriell aneinanderhängen.
Dann kann ich die MAX127 abfragen.
Die haben zwar nicht primär was mit den LED zu tun, aber ich hätte die Anzahl :)
OK, mehr beschicken als ich hab geht auch ... mal wieder was zum grübeln.

Zu deiner Frage:

Wozu mehrere Stripes an verschiedene PINS, wenn du doch alle hintereinanderhängen kannst?
Oder brauchst du mehr, als du auf einmal ausgeben kannst?
Du kannst doch mit einem Konstruktor die Daten für Stripe1, Stripe2, Stripe 3 miteinander verketten und dann rausjagen?
So kannst du dann auch die Datensätze einzelner Stripes aktualisieren und die restlichen unverändert lassen ...

Dirk
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2013, 11:26 am
noch ein nachtrag zum schaltplan, diddy:

im datenblatt zum WS2812er ist eine abbildung mit je einem widerstand und einem kondensator, häng' ich unten an.
den widerstand seh' ich auf meinem streifen nicht, aber ein kondensator ist da verbaut. sieht man auch hier:
http://www.ebay.at/itm/370732507841?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649 (http://www.ebay.at/itm/370732507841?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649)
und hier noch einmal eine günstige adresse:
http://rita.en.alibaba.com/product/677814159-213640342/5050_SMD_RGB_LED_with_built_in_WS2811_IC.html (http://rita.en.alibaba.com/product/677814159-213640342/5050_SMD_RGB_LED_with_built_in_WS2811_IC.html)


gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2013, 11:39 am
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
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 02, 2013, 12:16 pm
Hmm, ich seh noch nicht, warum du dann nicht die Stripes hintereinander hängen kannst.
Da Din und Dout ja definierte Signale bzw Pegel hane würde ich einfach eine WS281x nach ein paar Metern (ausprobieren?) als Repeater zwischenhängen und nicht ansteuern (blinde LED), alternativ die +5V für die LED nicht beschalten (die für den IC natürlich schon).
Wird nur schwierig, wenn du einen Stern bauen müsstest ... aber eine bessere Idee hab ich momentan auch nicht, ausser mehrere Arduino als Steuergeräte über I2C miteinander koppeln und jeweils einen Stripe damit beschicken. Hätte den Vorteil, dass du nur jeweils den mit Daten beschicken musst, der etwas ändern soll.

Dirk

PS: Mir gefallen die "Waterproof", die Diddy postete, gut. Aber der Versand ...
Title: Re: testbericht zum WS2812
Post by: Diddy5 on Feb 02, 2013, 12:21 pm

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 ;)
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2013, 01:27 pm
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


Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 03, 2013, 12:18 am

...
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2013, 12:59 am
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 :) .
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2013, 01:17 am
hi nochmal,

mir ist da dieser beitrag eingefallen:
http://arduino.cc/forum/index.php/topic,134544.msg1012124.html#msg1012124 (http://arduino.cc/forum/index.php/topic,134544.msg1012124.html#msg1012124)
hab' ich immer noch herumliegen.
Du, uwe, hast damals folgendes geschrieben:
Quote
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
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 03, 2013, 01:33 am
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2013, 01:45 am
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
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 03, 2013, 02:12 am
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

Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 03, 2013, 12:18 pm
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2013, 03:06 pm
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
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 12, 2013, 12:51 am
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 http://funkboxing.com/wordpress/?p=1366 probiert.
Ängstlich mal nur 10 LED angesteuert, weil ich nicht weiß wieviel die USB verträgt.

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



Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 12, 2013, 02:32 pm
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

Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 12, 2013, 02:53 pm
Quote
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 12, 2013, 03:42 pm
hi, uwe,

Quote
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
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 12, 2013, 06:45 pm
Ja, die Bibiothek hab ich mir auch nicht genau angeschaut.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 12, 2013, 06:53 pm
Aber manchmal hilft lesen, Eisebaer hat das schon im ersten Post dieses Threads geschrieben :)

LG
Dirk
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Feb 12, 2013, 09:09 pm
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"  :)
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  :D

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 12, 2013, 10:58 pm

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


Ihr habt mich ertappt.
(hoffentlich war das ein Teil meiner 0,36733% Fehlerrate  ;) ;) ;) ) 
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 12, 2013, 11:50 pm
hi,

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

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 22, 2013, 05:29 pm
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
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 22, 2013, 05:45 pm
noch eingefallen:

wenn ich diese biblothek richtig verstehe, kann man auch bis zu 8 streifen unabhängig ansteuern. ist zwar momentan nicht mehr interessant, die idee von oben hab' ich verworfen, aber prinzipiell natürlich paktisch.

noch ein gruß, noch ein stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 22, 2013, 06:20 pm

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


Hallo Stefan.
Soweit ich das Datenblatt studiert habe, gibt es 2 Betriebsmodi beim 2811 wobei beim 2812 nur der langsamere möglich ist da das Pin zur auswahl nicht herausgeführt ist und fix verschaltet ist.
http://www.nooelec.com/files/WS2811.pdf

* When the refresh rate is 30fps, low speedmodelc
ascade number are not less than 512 points, high
speed mode not less than1024 points.
* Send data at speeds of up to 400 Kbps and 800
Kbps two patterns

Ein Bit ist immer 2,5µS bzw 1,25µS lang. Da Verhältnis im langsamen Modus von H zu L ist für ein 1-Bit 0,5 zu 2,0 und für ein 0-Bit 1,2 zu 1,3µS. Alle Zeiten auf eine Genauigkeit von 0,15µS.

Da kann ich mir nicht vorstellen wie den WS2811/12 schneller ansteuern zu können.

Quote
ich hab' eine bibliothek gefunden, die diese streifen mit 8MHz ansteuern kann,

Welche Bibiothek ist das?

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 22, 2013, 06:25 pm
Ähm, wenn der PIN nicht herausgeführt ist und fix verschaltet, dann gehen nur die 800 kbaud, oder?
Und ob der uC mit 8 oder 16 MHz läuft dürfte doch nur für das Timing spannend werden, arbeiten die Bibliotheken mit Zeiten oder Taktzyklen?
Bei ersterem sollte der Takt doch egal sein?
Nur wie empfindlich gegen Taktschwankungen ist das Ganze, wenn man einen ATTiny mit internem Takt fährt?
Wollte auch testen, bin noch nicht zum bestellen gekommen ...

Liebe Grüße

Dirk
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 22, 2013, 06:31 pm
hi, uwe,

ich wußte nicht, ob's Dich interessiert, und ich muß da noch was dazu erklären.
erstmal:
http://rurandom.org/justintime/index.php?title=Controlling_WS2811_led_strings_at_800kbit/s_without_external_oscillator (http://rurandom.org/justintime/index.php?title=Controlling_WS2811_led_strings_at_800kbit/s_without_external_oscillator)
hab die ws2811_8.h-datei in die libraries gelegt und in einem leeren sketch includiert.
fehlermeldung: no _delay_us declared in this scope oder so ähnlich. diese funktion hab ich in einer delay.h im arduino-verzeichnis gefunden (gibt 2). die delay.h ins sketch-verzeichnis gelegt und auch includiert (mit " -zeichen). jetzt läßt es sich kompilieren, aber wie gesagt, kein chip zur hand. außerdem muß ich mir noch ansehen, ob dieses struct CRGB dort genauso funkt wie in der fast_SPI.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 22, 2013, 06:35 pm
jetzt wo ich's nochmal lese, uwe. ich meinte einen 8MHz chip verwenden, die Ansteuerung muß natürlich gleich schnell bleiben.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 22, 2013, 11:55 pm

Ähm, wenn der PIN nicht herausgeführt ist und fix verschaltet, dann gehen nur die 800 kbaud, oder?
Und ob der uC mit 8 oder 16 MHz läuft dürfte doch nur für das Timing spannend werden, arbeiten die Bibliotheken mit Zeiten oder Taktzyklen?
Bei ersterem sollte der Takt doch egal sein?
Nur wie empfindlich gegen Taktschwankungen ist das Ganze, wenn man einen ATTiny mit internem Takt fährt?
Wollte auch testen, bin noch nicht zum bestellen gekommen ...

Liebe Grüße

Dirk

Ich glaube mich zu erinnern daß es 400kBaud sind.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 23, 2013, 12:04 am

hi, uwe,

ich wußte nicht, ob's Dich interessiert, und ich muß da noch was dazu erklären.
erstmal:
http://rurandom.org/justintime/index.php?title=Controlling_WS2811_led_strings_at_800kbit/s_without_external_oscillator (http://rurandom.org/justintime/index.php?title=Controlling_WS2811_led_strings_at_800kbit/s_without_external_oscillator)
hab die ws2811_8.h-datei in die libraries gelegt und in einem leeren sketch includiert.
fehlermeldung: no _delay_us declared in this scope oder so ähnlich. diese funktion hab ich in einer delay.h im arduino-verzeichnis gefunden (gibt 2). die delay.h ins sketch-verzeichnis gelegt und auch includiert (mit " -zeichen). jetzt läßt es sich kompilieren, aber wie gesagt, kein chip zur hand. außerdem muß ich mir noch ansehen, ob dieses struct CRGB dort genauso funkt wie in der fast_SPI.

gruß stefan

Heute (Nacht) interssiert es mich nicht mehr; nach dem Wochenende geren.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 23, 2013, 12:05 am

jetzt wo ich's nochmal lese, uwe. ich meinte einen 8MHz chip verwenden, die ansteuerung muß natürlich gleich schnell bleiben.

gruß stefan

Da habe ich Dich wirklich falsch verstanden.

Ich weiß nicht wie kritisch der WS2811/12 auf Timingungenaugikeiten reagiert. Ein interner RC-Taktgenerator ist viel ungenauer als ein Resonator oder ein Quarz.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 23, 2013, 01:21 am
uwe, Du treibst gerade Deine (natürlich immer noch lächerlich geringe) fehlerquote hoch. die 2812er laufen mit 800.

ich hab' mir jetzt 20 attiny85 bestellt, schlimmstenfalls nehm' ich sie als streusel für kekse.
bestenfalls verwende ich einen für meinen arbeitskollegen, dann bleiben mir immer noch 19 für die kekse. ich kann einfach nicht einen um 2€ kaufen, wenn ich 20 um 22€ krieg'. Ihr solltet mich mal im puff erleben...

gruß stefan

Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 23, 2013, 01:52 am

uwe, Du treibst gerade Deine (natürlich immer noch lächerlich geringe) fehlerquote hoch. die 2812er laufen mit 800.


auch wenn ichs so unbestimmt formuliere?
Quote
Ich glaube mich zu erinnern daß es 400kBaud sind.


Kann man den ATtiny85 wenns sein muß nicht auch mit externen 16 Mega Quarz betreiben?

Gute Nacht nach Wien.
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 23, 2013, 10:16 am
Ist ganz klar mein Fehler, nicht Uwes!
Ich hätte ja dazuschreiben können, dass ich dein vage formulierten Einwand 800kbaud aus dem Datenblatt entnommen habe und mir daher eigentlich ziemlich sicher war ...

Liebe Grüße

Dirk
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 26, 2013, 12:50 pm
Hallo zusammen,

erstmal vorweg, vielen Dank für diesen hilfreichen Thread.
Habe mir ebenfalls 2m WS2812 Strips bestellt also 120 LEDs.

Will diese mit dem Arduino Due verbinden. Hab dazu schon extrem viele Seiten gelesen, Interesannt ist für mich das Thema ob ich nicht mehrere Pins für verschiedene Strips verwenden kann.
Für mein Projekt "Wohnzimmerbeleuchtung" brauch ich über 40m Strips. Was dann folglich über 2400 LEDs sind.
Diese an einem Pin zu betreiben erscheint mir ein Ding der Unmöglichkeit. Da ich mit dem Due eine höhere Taktrate habe, müsste ich die Strips doch bei 800kHz auf mehreren Pins parallel betreiben können, oder sehe ich das falsch?

Ich bin ein absoluter Anfänger in Sachen Mircocontroller. Und würde mich echt freuen, wenn Ihr mir bei dem Projekt unter die Arme greift.

Lieben Gruß

Til

Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 01:24 pm
hi,

kein problem, du mußt dann nur das:
Code: [Select]
         LD __tmp_reg__, %a[dataptr]+" "\n"
"            LSL __tmp_reg__" "\n"
"            LDI %[bits], 4"    "\n"
"            BRCC L13" "\n"
"            RJMP L5" "\n"
"    H1:     NOP" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            NOP" "\n"
"            RJMP END" "\n"
"    L1:     SUBI %[bits], 1" "\n"
"            BREQ M2" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            LSL __tmp_reg__" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            BRCC L8" "\n"
"            NOP" "\n"
"    L15:    NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            RJMP L9" "\n"
"    M4:     LDI %[bits], 4" "\n"
"            LD __tmp_reg__, %a[dataptr]+" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            SUBI %[bytes], 1" "\n"
"            BREQ H1" "\n"
"            LSL __tmp_reg__" "\n"
"            BRCS L9" "\n"
"            NOP" "\n"
"    L16:    OUT %[portout], %[downreg]" "\n"
"            NOP" "\n"
"    L13:    OUT %[portout], %[upreg]" "\n"
"            LSL __tmp_reg__" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            BRCC L10" "\n"
"            SUBI %[bits], 1" "\n"
"            BREQ M4" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            LSL __tmp_reg__" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            BRCS L15" "\n"
"            NOP" "\n"
"    L8:     NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            RJMP L16" "\n"
"    M2:     LDI %[bits], 4" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            NOP" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            LD __tmp_reg__, %a[dataptr]+" "\n"
"            SUBI %[bytes], 1" "\n"
"            BREQ H1" "\n"
"            LSL __tmp_reg__" "\n"
"            BRCC L16" "\n"
"            NOP" "\n"
"    L9:     OUT %[portout], %[downreg]" "\n"
"            NOP" "\n"
"    L5:     OUT %[portout], %[upreg]" "\n"
"            LSL __tmp_reg__" "\n"
"            BRCS L1" "\n"
"            SUBI %[bits], 1" "\n"
"            BREQ M1" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            LSL __tmp_reg__" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            BRCC L4" "\n"
"            NOP" "\n"
"    L12:    NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            RJMP L5" "\n"
"    M3:     LD __tmp_reg__, %a[dataptr]+" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            LDI %[bits], 4" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            SUBI %[bytes], 1" "\n"
"            BREQ H2" "\n"
"            LSL __tmp_reg__" "\n"
"            BRCC L16" "\n"
"            NOP" "\n"
"            RJMP L5" "\n"
"    L10:    SUBI %[bits], 1" "\n"
"            BREQ M3" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            LSL __tmp_reg__" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            BRCS L12" "\n"
"            NOP" "\n"
"    L4:     NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            RJMP L13" "\n"
"    M1:     LD __tmp_reg__, %a[dataptr]+" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            LDI %[bits], 4" "\n"
"            OUT %[portout], %[upreg]" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"
"            SUBI %[bytes], 1" "\n"
"            BREQ H2" "\n"
"            LSL __tmp_reg__" "\n"
"            BRCS L9" "\n"
"            NOP" "\n"
"            RJMP L13" "\n"
"    H2:     NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"            NOP" "\n"
"    END:    NOP" "\n"

so umschreiben, daß es zur taktfrequenz des DUE paßt, und dann natürlich auch noch an die anzahl der verwendeten strips anpassen.
was ich damit sagen will:
das ist KEINE sache, die Du mit einem sketch lösen kannst, und Du wirst hier im (deutschsprachigen) forum niemanden finden, der das kann. nimm Dir zwei UNOs, lass die beiden miteinander reden und zwei streifen steuern. einer davon ist der "master". dann nimm den anderen, den "slave", aus dem UNO raus, steckst ihn auf ein breadboard, und einen neuen ATMega328 mit bootloader um 3€ in den sockel des uno. dann kannst Du drei miteinander reden lassen. wenn Du dann, sagen wir mal, fünf hast, bist Du fertig. fünf chips, die zusammen 2400 rgbLEDs steuern können. anders wirst Du das nicht lösen können.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 26, 2013, 01:38 pm

Hallo zusammen,

erstmal vorweg, vielen Dank für diesen hilfreichen Thread.
Habe mir ebenfalls 2m WS2812 Strips bestellt also 120 LEDs.

Will diese mit dem Arduino Due verbinden. Hab dazu schon extrem viele Seiten gelesen, Interesannt ist für mich das Thema ob ich nicht mehrere Pins für verschiedene Strips verwenden kann.
Für mein Projekt "Wohnzimmerbeleuchtung" brauch ich über 40m Strips. Was dann folglich über 2400 LEDs sind.
Diese an einem Pin zu betreiben erscheint mir ein Ding der Unmöglichkeit. Da ich mit dem Due eine höhere Taktrate habe, müsste ich die Strips doch bei 800kHz auf mehreren Pins parallel betreiben können, oder sehe ich das falsch?

Ich bin ein absoluter Anfänger in Sachen Mircocontroller. Und würde mich echt freuen, wenn Ihr mir bei dem Projekt unter die Arme greift.

Lieben Gruß

Til

Ich glaube nicht, daß die Bibliothek zur Ansteuerung des WS2812 mit dem Arduino DUE funktioniert.
Du mußt Dir wahrscheinlich eine Ansteuerung selbst schreiben. Auf alle Fälle mußt Du den 3,3V Ausgang des DUE auf 5V bringen.

Die Max mögliche Länge des Strips hängt einzig von der gewollten Wiederholrate ab. Bei 30 neuen Daten pro Sekunde sind ca 1000 LEDs möglich. Wenn Du 2400 in einem Strang verwendest dann kannst Du ca alle 80mSec neue Daten auf die Strips schreiben. Bei einer Wohnzimmerbeleuchtung ist ein dynamische Lichtgestaltung mit schnellen Wechseln eigentlich nicht erforderlich.

Du weißt schon, daß 2400 Stück WS2812 144A brauchen und das bei 5V 720W sind wenn alle LED weiß leuchten. Es sind natürlich weniger wenn nur ein Teil oder nur bestimmte Farben leuchten.
Dir ist schon bewußt, das das eine Stadion-Tageslicht-Beleuchtung in Deinem Wohnzimmer wird?

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 02:16 pm
hi,

naja, til hat geschrieben, daß er schon viel zu dem thema gelesen hat, also ist ihm hoffentlich klar, daß er auch 10.000 WS2812 mit einem uno steuern kann. wenn er also meint, 2400 nicht mit einem zu schaffen, will er wohl verläufe regeln, und das wird mit nur einem uno nicht flüssig laufen.
til, ich hab' hier eine biblothek, die bis zu acht pins ansteuern kann, aber Du machst einen denkfehler: das timing bein WS2811 ist so eng, daß das rausschicken der befehle "in einem rutsch" erfolgen muß. also erst alles, was dieser braucht, an den ersten pin, dann wird der zweite pin abgearbeitet usw..
also der gleiche effekt, als ob Du gleich alles in einem rausschreibst.
der DUE ist etwa fünfmal so schnell, also schickt er die daten fünfmal so schnell, und das versteht der WS2811 nicht, der muß die daten fast mikrosekundengenau kriegen. also eine library für einen DUE suchen, oder eine für den raspberry.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Helmuth on Feb 26, 2013, 02:24 pm
Hi,

hat von Euch jemand schonmal mehr als 1m eine Weile weiß leuchten lassen?
Wieviele Meter lassen sich ohne Spannungseinspeisung "unterwegs" am Stück betreiben?
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 02:31 pm
hi,

hab ich noch nicht probiert, und momentan keinen uno zur hand. um das berechnen zu können, müßte man die stärke der leiterbahn kennen.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 26, 2013, 03:00 pm
Hi,

Danke für die Tipps. Arduino Due hab ich schon lange bestellt.

Irgendwo hab ich auch gelesen, dass die Signalspannung beim ersten LED auch 3.3V betragen kann, die Strecke zwischen den DUE und dem ersten LED darf wohl nur nicht zu lang sein. Ansonsten kommt halt n Pegelwandler rein.

Hab euch mal n Bild von dem Wohnzimmer angehangen.

Ist warscheinlich nicht nötig alle LEDs gleichzeitig mit weiss zu beschalten. Sondern dann halt nur jedes zweite oder dritte.
Allerdings strahlen die LEDs nach oben. Und das Licht kommt nur aus einem 4-6cm großem Spalt.

Die Bildrate für Farbübergänge sind nicht sooo wichtig, natürlich will ich einen flüssigen farbverlauf sehen.

Meint ihr es könnte klappen die 40m an einen Strang zu bauen?

Ein typisches Anwendungsbeispiel in meinem Wohnzimmer wäre abends zum Beispiel:
- Leinwand unten, Licht in Abschnitt III wird nicht gebraucht
- Abschnitt II leuchtet weiß (jede 5. LED)
- Abschnitt I leuchtet weiß (jede 3. LED)

Meine Frau will dann was lesen, dann muss Abschnitt I heller werden, da hier die Couch steht. also Leuchtet jede 2. LED.

Beispiel 2:
ein Farbwechsel soll von Abschnitt I über die Mitte in Abschnitt II bis in Abschnitt III laufen. Also von Links nach Rechts.

Lichtprogramm technisch mach ich mir dazu weniger gedanken, das bekomm ich hin. Nur die Ansteuerung der LEDs, wie am sinnigsten, das macht mir gedanken.

Die Ansteuerung über 3 unterschiedliche PINs würde mir hier am logischsten erscheinen.

Gruß

Til









Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 03:16 pm
hi,

Quote
Die Bildrate für Farbübergänge sind nicht sooo wichtig, natürlich will ich einen flüssigen farbverlauf sehen.


diese beiden aussagen widersprechen sich. mit 2400 WS2812 kannst Du die werte nur 12mal in einer sekunde ändern. wenn Du jetzt also zb fließend von rot auf blau ändern willst, wird das deutlich "ruckeln".

flüssig wird das erst ab drei UNOS, aber ist dann unter umständen nicht trivial. ein lauflicht, das von einem bereich in den nächsten übergeht, muß überlegt programmiert werden. wenn so etwas nicht nötig ist, ist es leicht.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 04:28 pm
hi,

was sind wir doch für deppen.
keiner denkt an den speicherbedarf. pro LED 3 byte. das wird ein uno nicht schaffen, auch drei nicht.
ein ATmega1284 müßte gehen. 5€.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 26, 2013, 06:22 pm
es scheint als habe ich das Loesungsproblem gefunden.
schaut mal hier:
http://www.pjrc.com/teensy/td_libs_OctoWS2811.html

bis zu 8 Strips an einem Teensy 3.0. Der Due hat ebenfalls DMA. Könnte ich das evtl. portieren?

Gruß

Til
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 07:01 pm
ja, das hab' ich auch gefunden, wie ich ws2811 und raspberry gesucht habe. eine schöne lösung, und mit der arduino IDE zu programmieren. am günstigsten hab' ich's hier gefunden:

http://www.ebay.de/itm/Teensy-3-0-USB-Entwicklungs-Board-32bit-ARM-Cortex-M4-MK20DX128VLH-Original-PJRC-/261116450779?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3ccbc0d7db (http://www.ebay.de/itm/Teensy-3-0-USB-Entwicklungs-Board-32bit-ARM-Cortex-M4-MK20DX128VLH-Original-PJRC-/261116450779?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3ccbc0d7db)

auf dem DUE kann diese library nicht laufen.

gruß stefan


Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 26, 2013, 07:30 pm
Ich hab noch immer keine WS bestellt :(

Aber: die Bibliothek kann doch Ports initialisieren, hat das jetzt schon mal jemand *getestet*?

Code: [Select]

  FastSPI_LED.setPin(PIN);
    FastSPI_LED.init();
  FastSPI_LED.start();


initialisiert das Ganze, also kann der PIN übergeben werden
Was passiert, wenn man im Sketch mit

Code: [Select]
FatsSPI_LED.stop();

das ganze beendet und auf einem anderen Port neu initialisiert??

Eventuell noch mit verschiedenen Längen diese anpassen (FastSPI_LED.setLeds).

Das einzige Problem könnte die Verzögerung sein, die dann zwischen den Strängen entsteht, aber ist das ein Problem?

Und @Til: Wenn du deine Beleuchtung zonenabhängig machst, willst du dann die LED einzeln ansprechen können? Ansonsten könnte man ja auch Stränge parallel betreiben?

Dirk
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 26, 2013, 08:22 pm
Hi, das ist glaub ich auch ne Idee.
Kannst du abschätzen wie lange die Umschaltzeit ist?
Die LEDs sollen natürlich einzeln steuerbar sein.
parallel wird wohl nicht klappen, wie soll denn dann ein farbwechsel laufen?

Aber nochmal ne Frage, warum soll man OctoWS2811 nicht auf den DUE portieren können? der DUE kann doch ebenfalls DMA.

Til
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 26, 2013, 09:12 pm

diese beiden aussagen widersprechen sich. mit 2400 WS2812 kannst Du die werte nur 12mal in einer sekunde ändern. wenn Du jetzt also zb fließend von rot auf blau ändern willst, wird das deutlich "ruckeln".

Wieso sollte das denn Ruckeln? Am Ende ist doch die Zeit für den Farbverlauf entscheidend. Der größte "Abstand" bei einer Grundfarbe sind 256 Schritte (von 0 auf 255), das wäre dann in 21,3 Sekunden zu machen. Bei einer immer noch vertretbaren Schrittweite von 2 kommt man schon auf knapp 10 Sekunden.
Problematisch wird es also erst bei sehr schnellen Farbwechseln, die nicht "springen" sollen.

Der Hinweis mit dem Speicher ist allerdings gut.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 09:15 pm
hi,

Du hast noch nicht verstanden, wie die WS2811 arbeiten.

man schickt bits an die chips, und zwar in dieser form:
entweder
0,25 mikrosekunden strom ein,
1 mikrosekunde strom aus, das heißt 0.
oder
0,6 mikrosekunden strom ein,
0,65 mikrosekunden strom aus, das heißt 1 (toleranz 150 nanosekunden).

und das muß in Deinem fall ohne pause in einem rutsch für alle 2400*3 leds passieren. daher auch die berechnung der zeit, die man braucht, um einen streifen mit 2400 rbgLEDs zu beschreiben:
2400* 3 * 8Bit * 1,25 mikrosekunden = 72.000 mikrosekunden, also 13,8mal pro sekunde
der arduino läuft mit 16 millionen takten pro sekunde, er muß also alle paar takte den strom ein- oder ausschalten. und mittendrin auch noch die richtigen bits an die richtige stelle weiterschieben. das geht nur, wenn man direkt mit diesen takten arbeitet, und das ist der code, den ich oben reingeschrieben hab.

Code: [Select]

"            LDI %[bits], 4"    "\n"
"            BRCC L13" "\n"
"            RJMP L5" "\n"
"    H1:   NOP" "\n"
"            NOP" "\n"
"            OUT %[portout], %[downreg]" "\n"


manche dieser assemblerbefehle brauchen einen takt, manche mehrere. NOP heißt, daß er einen takt nichts machen soll (sind also reserven da :P).
BRCC und RJMP sind sprungbefehle, mit OUT schreibt er wohl den inhalt eines prozessorregisters in einen bestimmten port(pin).
alleine wegen der unterschiedlichen taktgeschwindigkeit der beiden prozessoren kann man nicht einfach umschreiben. außerdem sind es zwar beides ARM-prozessoren, aber ob der assembler-befehlssatz gleich ist, ist auch nicht sicher.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 09:20 pm
Quote
Wieso sollte das denn Ruckeln


weil man bei einer frequenz von 13,8 eben ein ruckeln sieht, oder man macht diese wechsel sehr langsam. 10 sekunden für einen farbwechsel sind eben sehr viel, stell Dir als beispiel so ein nightrider-licht vor.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 26, 2013, 09:36 pm
Hallo Eisbaer,

wieso 16MHz?
Der DUE rennt doch mit 84MHz?
genuegend Zeit die Pins zu wechseln, und wieder zurueckzuschalten, oder?

Til
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 26, 2013, 09:43 pm
Nein, genau das eben nicht.
Das Timing muss passen, die Daten müssen an die Kette im 125us-pro-Bit-Rhytmus, ohne Pause bis zum Reset (anzeigen).
Da passt ein umschalten in sauberen Prozessorzyklen kaum, es sei denn, du programmierst das in Assembler selbst.

Mein Ansatz war: Daten komplett an Kette raus, falls möglich Port wechseln, nächste Kette.
Oder eben, wenn die Wechsel immer gleich von links nach rechts gehen, parallel laufende Ketten gleichzeitug versorgen.

Dirk

Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 26, 2013, 09:51 pm

Ich hab noch immer keine WS bestellt :(

Aber: die Bibliothek kann doch Ports initialisieren, hat das jetzt schon mal jemand *getestet*?

Code: [Select]

  FastSPI_LED.setPin(PIN);
    FastSPI_LED.init();
  FastSPI_LED.start();


initialisiert das Ganze, also kann der PIN übergeben werden
Was passiert, wenn man im Sketch mit

Code: [Select]
FatsSPI_LED.stop();

das ganze beendet und auf einem anderen Port neu initialisiert??

Eventuell noch mit verschiedenen Längen diese anpassen (FastSPI_LED.setLeds).

Das einzige Problem könnte die Verzögerung sein, die dann zwischen den Strängen entsteht, aber ist das ein Problem?

Und @Til: Wenn du deine Beleuchtung zonenabhängig machst, willst du dann die LED einzeln ansprechen können? Ansonsten könnte man ja auch Stränge parallel betreiben?

Dirk


Es ist kein Unterschied ob 3x2400Byte an einen Ausgang verschickt oder diese nacheinander in Teilen an verschiedene Pins. Die Zeit um für 2400 LED die Daten zu senden bleibt fast gleich (die Stückweise Sendung ist etwas langsamer, da das Umschalten und Initialisieren auch Zeit braucht).
Wenn wir jetzt die 2400 LED so gruppieren, daß bei Farbwechseln nur eine Gruppe beteiligt ist, dann ist die Wiederholrate natürlich größer und der Übergang weicher. 

Die Ansteuerung der WS2811/12 ist sehr zeitkritisch. Da muß man schon gute Assembler / Maschienensprachekenntnisse haben und das Innenleben des Kontrollers kennen Um das Programm zu schreiben. Ich traue es mir das zB nicht zu.
Die Ansteuerung zB des WS2801 (in einem Anderen aktuellen Tread) ist weniger Zeitkritisch da die Daten mit eimen Takt übergeben werden und die max mögliche Frequenz größer ist.

Wie bereits Vorgeschlagen würde ich einen Teensy3.0 nehmen (da dort bereits Beispiele gibt) oder die LED in Gruppen aufteilen und jeweils von einen ATmega328 oder ATmega2560 ansteuern lassen. Das Programm wird von einem zentralen "Server" übergeben. Da könnte jeder ATmega 328 ca 150 LED ansprechen da so der Speicher für 2 bis 3 Datensätze ausreichend ist und die Wiederholrate bei Farbüberläufen genügend hoch ist. Man muß Zeit für die Datenübertragung und auch die Zeit für die Berechnung der neuen Werte berücksichtigen.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 26, 2013, 09:56 pm

Nein, genau das eben nicht.
Das Timing muss passen, die Daten müssen an die Kette im 125us-pro-Bit-Rhytmus, ohne Pause bis zum Reset (anzeigen).
...
Dirk


Der WS 2811/12 hat eine Zykluszeit von 1,25µS pro Bit im Fast-Modus; der WS2811 auch eine Zykluszeit von 2,5µS im slow Modus.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 26, 2013, 10:05 pm
Ups, da ist mir das Komma verloren gegangen, Uwe entgeht mal wieder nichts.
War ein Test :)


Es ist kein Unterschied ob 3x2400Byte an einen Ausgang verschickt oder diese nacheinander in Teilen an verschiedene Pins. Die Zeit um für 2400 LED die Daten zu senden bleibt fast gleich ( die stückweise sendung ist etwas langsamer da das umschalten und initialisieren auch Zeit braucht.
Wenn wir jetzt die 2400 LEd so gruppieren, daß bei Farbwechseln nur eine Gruppe beteiligt ist, dann ist die Wiederholrate natürlich größer und der Übergang weicher.


Das war mir klar, es ging eher um die Möglichkeit einzelne Stränge definiert anzusprechen, um ggf. statische Stränge gar nicht ansprechen zu müssen.

Danke für die Fehlerkorrektur.

Dirk
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 10:09 pm
hi,

Quote
wieso 16MHz?
Der DUE rennt doch mit 84MHz?
genuegend Zeit die Pins zu wechseln, und wieder zurueckzuschalten, oder?


Du hast keine library für den DUE !!!

bei der library für den teensy gibt es kein umschalten.

außerdem war das nur ein beispiel, um Dir zu erklären, wie die WS2811 arbeiten und welche zeitprobleme es gibt. auf das umschalten bin ich nirgends eingegangen. was das umschalten bringen könnte, wäre, speicherplatz zu sparen. dafür hat man auch nirgends den istzustand gespeichert. muß aber auch nicht unbedingt sein.

ansonsten kommt es darauf an, was man mit den LEDs zeigen will.
langsame farbübergänge sind mit dem teensy möglich, aber um als beispiel ein knight-rider-licht einmal um den raum laufen zu lassen, geht eben nicht. bei diesem beispiel wird jede led innerhalb nicht mal einer sekunde von 0 auf 100% und wieder zurück gesetzt. das geht nicht in vertretbaren schritten mit 2400 LEDs, die von einer zentralen stelle gesteuert werden, egal ob das ein UNO, ein DUE oder ein cray-supercomputer ist.

ich sehe nicht viele möglichkeiten. mit einem UNO kannst Du, sagen wir mal, 500 LEDs steuern, dann geht Dir der speicher bald aus. also jeder raumteil mit zwei UNOs, aber dann wird die programmierung für ein solches knightrider-licht in einem solchen raumteil sehr unkomfortabel.

oder ein ATmega1284P für jeden raumteil, gesteuert von einem zentralen uno, am besten mit ethenet-shield, dann kannst Du alles vom handy/tablet/computer aus steuern

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 26, 2013, 10:21 pm
hi,

Quote
die LED in Gruppen aufteilen und jeweils von einen ATmega328 oder ATmega2560 ansteuern lassen. Das Programm wird von einem zentralen "Server" übergeben. Da könnte jeder ATmega 328 ca 150 LED ansprechen da so der Speicher für 2 bis 3 Datensätze ausreichend ist


vernünftige aussage.
nur die 150 seh' ich als zu niedrig an. jede rgbLED braucht 3 Byte, also sollten 400 doch leicht machbar sein. ein ATmega1284P mit 16k speicher für 800 LEDs geht sicher. und mit 800 LEDs hat man eine wiederholrate von sagen wir mal 30fpS, weil rechnen will der microconroller ja auch.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 26, 2013, 10:36 pm

War ein Test :)

Das zieht bei mir nicht.  ;) ;) ;) Ein italienische Politiker windet sich auch immer aus den Fettnäpfchen indem er sagt, man habe ihn falsch verstanden oder falsch zitiert oder es war gar nicht so gemeint.  ]:D ]:D ]:D  Wenn ich mich so recht erinnere hat er nie gesagt, daß er eigentlich gar nicht da war.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 26, 2013, 10:53 pm

...
ich sehe nicht viele möglichkeiten. mit einem UNO kannst Du, sagen wir mal, 500 LEDs steuern, dann geht Dir der speicher bald aus. also jeder raumteil mit zwei UNOs, aber dann wird die programmierung für ein solches knightrider-licht in einem solchen raumteil sehr unkomfortabel.

oder ein ATmega1284P für jeden raumteil, gesteuert von einem zentralen uno, am besten mit ethenet-shield, dann kannst Du alles vom handy/tablet/computer aus steuern

gruß stefan


500 LED sehe ich für den Arduino UNO schon zuviel, da die Daten dafür satte 1500Byte sind. Bei 2048 Byte RAM des UNO ist da nicht mehr viel Platz für anderes. Da muß mann schon mit allen kniffen Programmieren und RAMverwendung extrem sparen.

Meine Wahl der max LED basiert auf folgender Überlegung:
*Bildwiederholrate über 25-30 /sec.
*Berechnung der Werte zB dimmen von 1 Farbe von 0 auf 255 oder Farbüberläufe mit neuen Werten aller 3 Farben zwischen 2 Datenübertragungen.(150 bis 450 Berechnungen)
*Übertragung der Daten von SD-Karte oder von Master zwischen 2 "Bildern"
*Speicherplatz für 2 Abbilder.
*Speicherverbrauch unter 1kByte RAM. 2x 3x150Byte = 900 Byte RAM
Ok, es könnten auch 200 LED sein. (600 Byte pro Satz) aber da wirds mit dem RAM in Arduino UNO knapp.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 27, 2013, 02:16 am
hi,

uwe, ich hab' noch nie mit "abbildern" gearbeitet, deswegen rechne ich nur einen satz von 3 byte pro rgbLED, eben das struct CRBG. "bilder" braucht man meiner meinung nach nicht bei streifen rund ums zimmer, normales licht in jeder farbe und helligkeit geht ohne, effekte werden auch erst zur laufzeit berechnet. auch eine SD-karte ist dann nicht nötig.

der uno "in der mitte" soll ja auch nichts für die satelliten berechnen, sondern nur sagen,welches ihrer "programme" sie ausführen sollen und in welchen farben. berechnen müssen sie dann selber.

aber egal wie, ein ATmega1284P mit 16k ist auf jeden fall besser, doppelt soviel RAM wie ein mega2560. damit reicht einer für jeden raumteil.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: MaFu on Feb 27, 2013, 07:35 am
am günstigsten hab' ich's hier gefunden:

http://www.ebay.de/itm/Teensy-3-0-USB-Entwicklungs-Board-32bit-ARM-Cortex-M4-MK20DX128VLH-Original-PJRC-/261116450779?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3ccbc0d7db (http://www.ebay.de/itm/Teensy-3-0-USB-Entwicklungs-Board-32bit-ARM-Cortex-M4-MK20DX128VLH-Original-PJRC-/261116450779?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3ccbc0d7db)

Bei Watterott bekommst Du den Teensy 3 schon für 18 Euro.
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 27, 2013, 08:17 am
Hallo Stefan
Als Bild oder Abbild meinte ich die vorberechneten oder vom Server übertragenen Daten die vom Arduino oder ATmega in einem Rutsch an die LED-Strippe übertragen werden. Die einzige Möglichkeit um keine vorberechneten Daten zu brauchen ist alle LED einer Strippe mit dem gleichen Wert anzusteuern.Für eine Bedingung das x-te LED

Speicherkarten haben den Vorteil, daß die Daten nicht berechnet werden müssen und auch komplizierte Muster, die zu aufwändig zum Berechnen sind, dargesellt werden können. Ist ja nur eine der möglichen Optionen.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 27, 2013, 08:42 am
Hey,

vielen vielen Dank für die ganzen Infos. Ich wollte euch damit echt nicht nerven.
Ich bin Informatiker und kein Nachrichtentechniker.
Habe bis jetzt auf jeden Fall schon viel gelernt. *thx a lot*

Wenn ich das Ganze mal zusammenfasse - so wie ich es verstanden habe - ist folgendes die beste Möglichkeit:

- Ein zentraller "Server" (am liebsten den Due, denn den hab ich schon bestellt)
* der berechnet das gesamte "Bild"
* teilt das "Bild" in die Abschnitte und schickt es an die "Slaves"

- Drei Slaves Typ "ATmega1284P" für jeden Abschnitt
* jeder Slave bekommt sein Bild und "pushed" es bei einem gemeinsamen Signal an die Strips

- Die Übertragung des Teilbildes an den Strip muss fix mit 800kHz erfolgen
- Die Übertragung des Teilbildes an die Slaves muss mit mindestes 2.4MHz erfolgen, da ja 3 Teilbilder verschickt werden
- Das Sync Signal muss vom "Server" kommen und 30 Hz betragen.
- das gemeinsame Sync-Signal darf nur die "Slaves" erreichen, die eine Änderung des Teilbildes haben, Strips die nicht verändert werden behalten so die vorherige Einstellung bei.

Ist das so richtig?

Til
Title: Re: testbericht zum WS2812
Post by: AgentTil on Feb 27, 2013, 08:54 am
Nachtrag:
Habe gerade mal den größten Abschnitt berechnet.
Dieser ist 12.4m lang, also runt 740 LEDs.
Das liegt ja dann unter den 1000 LEDs und müsste mit 30fps zu machen sein.
Oder?
Title: Re: testbericht zum WS2812
Post by: pjrc on Feb 27, 2013, 09:42 am
Hi.  I found this thread looking for people using OctoWS2811 (the library I released a few days ago).  Sorry about the English reply... I don't speak German.  :-(

One difficulty with using an ATMEGA1284P is the interrupts must be disabled while the WS2811 output is generated.  Each WS2811 LED requires 30 microseconds.  If you update 240 LEDs, the interrupts must be disabled 7.2 milliseconds.

During those 7.2 millseconds, the ATMEGA1284P can not reliably receive more than 2 bytes of serial data, because the AVR USART has only a two byte buffer.  If your Due transmits with a baud rate faster than 2777 bits/sec, it must not send during those 7.2 milliseconds.  You will need to connect another signal from each ATMEGA1284P to the Due, so it can know when the ATMEGA1284P is "blind".  If the Due waits until after the 7.2 millisecond blind time, then this system should be able to work.

I designed OctoWS2811 to solve these types of problems.  The CPU remains free for your use, and interrupts are enabled while the WS2811 LEDs update, so you can receive serial communication or use other libraries which require interrupts.

Of course I hope you'll consider Teensy 3.0 for a future project.  If you already have the Due and ATMEGA1284P chips, hopefully this message will at least help design your program to avoid frustrating data loss during those blind times while interrupts must be disabled.
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 27, 2013, 07:36 pm
Nochmal die Frage ... Brauchst Du wirklich 740 LEDs an einem Strang? Ich habe gerade den ersten Testlauf für meine Lavalampe 2.0 (altes Modell ist 20 Jahre alt, hat eine 60W Glühlampe und braucht 1h um warm zu werden) gemacht. In der neuen Lampe sind 20 von den WS2811 LEDs verbaut und ich kann damit schon einen kleinen Raum ausleuchten. Selbst bei indirekter Beleuchtung dürften Deine LEDs eher in Richtung Flutlichtanlage tendieren. Abgesehen von Stromverbrauch. Angegeben sind die Strips mit max. 3,6A pro Meter. Gemessen habe ich bei 20 LEDs max weiss gerade mal 750mA, komme also pro Meter eher auf weniger als 2,5A. Trotzdem würdest Du bei 12,4m da schon über 30 A benötigen, das sind 150 Watt was die LEDs ziehen, dazu kommt ja noch der "Verschnitt" vom Netzteil. Und das nur bei einem Strang. Entweder läufst Du immer nur auf 10% Helligkeit, kannst dann aber kaum sinvolle Farbverläufe bauen, da Du zu wenig Steps hast (0-25  bei 10% statt 0-256 bei 100%) oder Du erblindest langsam und verarmst an Deiner Stromrechnung. Da man die Strips an jeder einzelnen LED teilen kann, wäre es auch möglich (wenn auch eine schweine Arbeit) die Strips auseinander zu ziehen und z.B nur 10 LEDs pro Meter zu verwenden, das würde sämtliche Kosten drücken.
1) Anschaffung der LED Strips
2) Anschaffung Netzteil
3) Laufende Stromkosten

Btw, Danke für die Tips zu den LEDs und der Software in diesem Thread, damit war dann der mechanische Teil plus das Löten der 20 x 6 Lötaugen und der 48 Drähte (Abmessen, Zuschneiden, Abisolieren und 92 Mal anlöten) der langwierigste Teil der Lampe.
Hier ein Video vom ersten Testlauf / Funktionstest, zur Zeit noch mit einem nicht ganz passenden Demo-Sketch.
http://www.youtube.com/watch?v=k2k_QGbkKJI [/img] (http://www.youtube.com/watch?v=k2k_QGbkKJI)
Title: Re: testbericht zum WS2812
Post by: MaFu on Feb 27, 2013, 08:16 pm
Ich bekommen nur die Meldung: "Dieses Video ist privat"
Title: Re: testbericht zum WS2812
Post by: marcusw on Feb 27, 2013, 08:27 pm
Ich auch. Schade.
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 27, 2013, 09:28 pm
@mkl0815
Das hatte ich schon gesagt:
Quote from: http://arduino.cc/forum/index.php/topic,146157.msg1133534.html#msg1133534
Du weißt schon, daß 2400 Stück WS2812 144A brauchen und das bei 5V 720W sind wenn alle LED weiß leuchten. Es sind natürlich weniger wenn nur ein Teil oder nur bestimmte Farben leuchten.
Dir ist schon bewußt, das das eine Stadion-Tageslicht-Beleuchtung in Deinem Wohnzimmer wird?


Der Stromverbrauch bei gedimmten LEDs ist nicht sehr leicht zu bestimmen.
Wenn alle WS2811/12 synchron in der PWM Sequenz laufen dann braucht es auch für kleine PWM Prozenteanteile für kurze Zeiten den vollen Strom. Weil aber die WS2811/12 nicht synchronisiert werden werden sie sicher nicht synchron laufen und der Strom statistisch gesehen auf den Prozentsatz der PWM Steuerung zurückgehen mit der Möglichkeit aber auch kurzzeitig den vollen Strom zu ziehen. Die Überlegungen fußen auf eine weiße Leuchtfarbe und somit gleichmäßige Ansteuerung aller Farben. Wird nur 2 oder eine Farbe gemischt oder verwendet so sinkt der maximale Stromverbrauch auf 2/2 2/3 bzw 1/3.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: dischneider on Feb 27, 2013, 09:46 pm

Wird nur 2 oder eine Farbe gemischt oder verwendet so sinkt der maximale Stromverbrauch auf 2/2 bzw 1/3.

Du treibst deine Fehlerquote weiter hoch: gemeint waren 2/3 bzw 1/3 gehe ich von aus!?
Oder war es ein Test?

Liebe Grüße

Dirk
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 27, 2013, 09:51 pm


Wird nur 2 oder eine Farbe gemischt oder verwendet so sinkt der maximale Stromverbrauch auf 2/2 bzw 1/3.

Du treibst deine Fehlerquote weiter hoch: gemeint waren 2/3 bzw 1/3 gehe ich von aus!?
Oder war es ein Test?

Liebe Grüße

Dirk

Mensch, sind heute viele Leute mit 'ner Goldwaage unterwegs  ;) ;) ;) ;)

Danke Dirk, Habs korrigiert.

Grüß Uwe
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 27, 2013, 10:47 pm
Ups, sorry.  :smiley-sweat:
Das Video sollte nun nicht mehr privat sein. Der Haken "privat" ist eine default-Einstellung, man muss in explizit entfernen damit das öffentlich wird. Ansich sehr praktisch die Funktion, man muss halt nur dran denken. Man selbst kann das Video im Browser anschauen, daher fällt das nicht so auf  :smiley-red:

@Uwe: Daher habe ich auch bei 100% weiss (also alle PWM-Werte auf 255 Maximum gesetzt) gemessen, daher hier der maximale Strom fliessen sollte. Im Idealfall sind alle einzelnen LEDs zu jeder Zeit an.

Mario.
Title: Re: testbericht zum WS2812
Post by: Helmuth on Feb 28, 2013, 01:25 am
Hi,
kurzer Einwurf und Antwort auf meine eigene Frage: KT Elektronic sagt, den WS2812 gibt es max. als 4 m Stück, wei das die maximale zulässige Länge mit einer Spannungseinspeisung sei. 14 A, Hut ab.
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 28, 2013, 03:44 am
Trotzdem kannst Du mehr als 4m an einen Strang hängen, Du musst nur die Spannungsversorgung mind. alle 4m anklemmen. Der Datenstrang kann länger sein.

Bei mir habe ich im übrigen das Problem, das ich ab ca. 85% Helligkeit bei weiss (also alle 3 Werte RGB auf 220 oder kleiner) ein ziemliches Flackern sehe. Das dann den ganzen weiteren Bereich bis 0% bleibt.
Zumindest ist mir das bei meiner Lampe aufgefallen, ich teste das morgen nochmal mit einem 0.5m Strip.

Hatte den Effekt auch schon jemand?

Mario.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 28, 2013, 10:05 am
hi,

Quote
Bei mir habe ich im übrigen das Problem, das ich ab ca. 85% Helligkeit bei weiss (also alle 3 Werte RGB auf 220 oder kleiner) ein ziemliches Flackern sehe. Das dann den ganzen weiteren Bereich bis 0% bleibt.
Zumindest ist mir das bei meiner Lampe aufgefallen, ich teste das morgen nochmal mit einem 0.5m Strip.

Hatte den Effekt auch schon jemand?


ja, hatte ich auch bei einem netzteil mit 5V 3A.
wenn man nur eine led ansteuerte, war das flackern weg, bei mehr als einer da. anderes netzteil, effekt verschwunden.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 28, 2013, 10:36 am
Danke, dann besteht ja Grund zur Hoffnung  :)
Aktuell hängt der Prototyp noch am Labornetzteil im Keller (Einstellbar von 3 bis 12V max 3A). Am Ende wird die Lampe aber an einem dedizierten 5v,2A Netzteil hängen. Vielleicht hab ich ja Glück und es past. Auffällig ist das zum Glück nur bei weiss und das kommt bei den verschiedenen Betriebsmodi nur im "ich brauch 'ne Leselampe"-Modus zum Einsatz.
Mario.
Title: Re: testbericht zum WS2812
Post by: mkl0815 on Feb 28, 2013, 04:48 pm
Glück gehabt, mit dem geplanten Netzteil flackert es deutlich weniger. Es ist zwar nicht komplett weg, aber deutlich besser als mit dem Labornetzteil.
Wen die fertige Lampe interessiert, der kann ja hier mal schauen: http://arduino.cc/forum/index.php/topic,151444.0.html (http://arduino.cc/forum/index.php/topic,151444.0.html)
Diesmal ist das Video auch von Anfang an als "nicht" privat markiert  XD
Title: Re: testbericht zum WS2812
Post by: Helmuth on Feb 28, 2013, 05:08 pm

Glück gehabt, mit dem geplanten Netzteil flackert es deutlich weniger. Es ist zwar nicht komplett weg, aber deutlich besser als mit dem Labornetzteil.


Interessant. Hat sonst noch jemand mit dem Problem zu kämpfen? Oder sind die genannten Netzteile einfach schrottig?

Schonmal einen üppig dimensionierten Elko zur Spannungsstabilisierung ausprobiert?
Title: Re: testbericht zum WS2812
Post by: Helmuth on Mar 13, 2013, 08:52 pm
Endlich liegt die 4m Rolle hier auf dem Tisch.

Habe jetz ein paar Stunden damit gespielt und folgendes herausgefunden: Für bunte Effekte geht die Länge klar, 4m in weiss kann man allerdings vergessen. Die ersten 2m sehen ok aus, dann driftet die Farbe wegen Spannungsabfall weg. Wenn ich alle LEDs anschalte, komme ich auch nur bis 11A, das sollten eigentlich 14,4A sein. Bei 2m komme ich auf 7,1A was deutlich näher an der Herstellerangabe (7,2A) liegt.

Fazit: Wenn ihr damit was machen wollt, was auf saubere helle Mischfarben angewiesen ist - seht besser eine Spannungseinspeisung alle 2m vor.

Grüße!
Title: Re: testbericht zum WS2812
Post by: uwefed on Mar 13, 2013, 09:03 pm
Ich würde die Spannungeinspeisung alle 0,5 m machen. Du kannst ja einfach Masse und 5V an mehreren Punkten des Strips einspeisen. Der Strip muß nicht getrennt werden. Bei einer Einspeisung alle 0,5m ist die maximale Länge bis zum nächsten Einspeisungspunkt für alle LED weniger als 25cm.
Als Faustregel: 7A pro mm2 Kupferdraht.

Bei Strömen von 14A reskiert man, daß die Leiterbahnen auf dem Strip durchschmelzen.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Helmuth on Mar 13, 2013, 10:03 pm
Hi Uwe,

diese Werte hatte ich auch im Hinterkopf. Auf mehrmalige Nachfrage versicherte KT Elektronic, die Leiterfläche wäre für 4m ausreichend... Deshalb meine Tests - und die berechtigten Zweifel wurden bestätigt.
Man muß eben vorher überlegen, was man vorhat: Und wer verwendet schon adressierbaren Strip für statisches weiss?! Mit "normalen" Plasma und Co Effekten lande ich über die ganze Länge bei max. 3 A mit ca. 0,2V Spannungsabfall auf 4m. Für derartige Anwendungen kann man auf dieser Länge sicher mit einer Einspeisung leben.

Aber an der Physik führt halt kein Weg vorbei.

Beste Grüße
Title: Re: testbericht zum WS2812
Post by: nanu_ on Oct 01, 2013, 12:33 am
ich verwende für mein Projekt 7x5m, also 35m led stripes, angesteuert mit 2 arduinos, und einem atx mit insgesammt 26ampere auf 12 v (weil meine brauchen 12v). die haben 7 € pro meter gekostet...

die led ketten werden mit xlr Kabel verbunden, dabei ist es möglich 3x2m zwischen die LEd ketten zu hängen. Wie lang die Leitung zwischen arduino und LEDs ist, spielt keine Rolle, bei mir waren es dieses Wochenende ca 10 m.
danach fällt die Spannung vom data-channel zu weit ab, um noch verstanden zu werden.

Aber ich hab auch schon ca 70m zusammengehängt (mit stromeinspeisung) und ohne mehr als 50cm verbindungskabel zwischen den einzelnen stripes und es hat funktioniert.

wenn alle leds auf weiß sind (bei mir alle 3,3 cm eine led) muss nach 10 m bei der stromversorgung mit einem atx neu eingespeist werden.

flackern tuts meistens dann, wenn der Ground vom netzteil nicht richtig verbunden ist bzw. der Ground im Netzteil nicht stabil ist.

noch ein Bild:
(http://www.lames.at/site/assets/files/1364/1084916_10200249087652831_1267865299_o.jpg)

Letztes Wochenende war die Kuppel eine Bühne für drei Tage festival.
zu den leds hab ich einen alten equlizer zu einem Lichtmischpult umgelötet.
Nächste Projekte sind 2 arduinos mit i2c zusammenhängen, um sie syncron zu schalten und einen LED-Hula-Hoop reifen mit einem tiny lilly mini.
Alles ziemlich spannend. :smiley-mr-green:
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 01, 2013, 02:28 am
nanu, sieht gut aus. Ergeben die LEDs ein Muster? Kann man aus der Sicht nicht so gut erkennen.

Soviele LEDs habe ich davon nicht aneinader. Habe derzeit nur einen Prototyp für meine Regalbeleuchtung im Einsatz.

Wird derzeit noch mit dem YUN erledigt (entsprechender Modus wird über WebServer vom Linino aufgerufen). Später, sobald meine FB oder meine Bluetooth Module da sind, kommt dort ein einfacher UNO/Leonardo zu m Einsatz, bzw. je nachdem auch ein Micro Pro.

Das Wifi/LAN Modul ist für das Regal etwas zu koststpielig und kann besser woanders eingesetzt werden.

Hab ein kleines Video gerade mal aufgezeichnet.Die einfachen fadeUp/fadeDowm durchlaufen jeweils einmal einen Zyklus. Der Regenbogenmodus (ca 10Sekunden. Der Regenbogen wird in der Weite unterschieden. Beim ersten alle LEDs gleichfarbig, dann jede 4. gleichfarbig, 8, 16 und 32.
https://www.dropbox.com/s/irvkaq56gns5gtj/2013-09-30%2023.49.52.mp4

Verbaut sind 8 x WS2812 (60Leds/m). Diese Woche bekomme ich dann endlich die WS2812B mit 144Leds/m. Dann kann ich mal vergleiche ziehen. Ich glaube Eisebaer wartet auch darauf :)

P.S.: Sehe gerade, Video ist auf dem Kopf. Fade sieht am Anfang etwas ruckelig aus, liegt aber scheinbar an der Kamera, die hatte genug zu kämpfen mit dem Autofokus :smiley-roll:
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 01, 2013, 11:59 am

ich verwende für mein Projekt 7x5m, also 35m led stripes, angesteuert mit 2 arduinos, und einem atx mit insgesammt 26ampere auf 12 v (weil meine brauchen 12v). die haben 7 € pro meter gekostet...

Haben dann Deine Stripes einen WS2811 chip?
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 12:58 pm
Hallo Stefan,

habe mir heute die WS2812B von meiner Postfiliale abgeholt. Diese funktionieren einwandfrei mit den FastSPI Libary. Hier mal ein Bild zum Größenvergleich zu den WS2812 mit 60Leds/m.

Gruß Stefan
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 07, 2013, 05:46 pm
Hallo Stefan,

cool die Variante mit 144 LED/p. Meter  :D
Damit könnte man sogar eine Pseudomatrix ohne extra Leiterpatte aufbauen, indem man die Streifen nebeneinander montiert.
Was mir dazu noch im Kopf rumspukt, ist eine Uhr mit Maxi-Display mit 7 Segmentanzeige aus sollchen Streifen. Alle Streifen können in Reihe geschaltet werden und man schiebt das Ergebnis einfach durch  :)

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 07:07 pm
Hallo Stefan,

Ich habe Heute auch meine WS2812B bekommen und werde gleich einmal anfangen meine Uhr zu bestücken. Ich habe nur einmal eine Frage zu den Strips, warum sind an beiden Seiten Anschlüsse  :~ und muss ich ein extra NT anschliessen wenn ich 12 Chips für die Uhr verwende? es werden im Grunde ja von dem Arduino lediglich im Höchstfall 3 Chips (Sek,Min und Stundenzeiger ) beleuchstet.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 08:19 pm
Wieso von beiden Seiten? Gib mal Bild.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 08:39 pm
Also ich habe 4 Filmrollen bekommen so wie auf dem Bild und auf jeder ist 1mtr. Strip drauf mit Anfang und Ende verkabelt. Ich stelle mal die Bilder ein. Ach ja Stefan ich habe dein Bild bewundert und möchte mir auch so eine Platte basteln wo ich die Mini`s progtramieren kann und probieren kann was brauche ich alles dazu komme ich mit dem was ich in der Bucht gefunden habe aus, also die Platte hätte ich da ich denke an dem Seckbret und die Kabel. " Breadboard Steckbrett 700 Kontakte + 65 Kabel"
l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 09:10 pm
Die Sets sind bei mir auch so angekommen. Die Anschlüsse am hinteren Ende brauchst du nicht zwingend. Diese sind dafür gedacht, wenn du mehrere Strips hintereinander schalten möchstest. Dann wird eine weitere Spannungsquelle benötigt, da die 5V zuweit absacken.

Ich habe die Leitungen am Ende abgeschnitten. Die Leitung mit dem Stecker habe ich weitergenutzt.

Habe die 2 Versorgungsleitungen am Anfang des Strips am Netzteil angeschlossen. Nun habe ich den Kupplungsstecker vom anderen Ende an den Stecker von vorne angebracht. Die offenen Enden kommen nun auf meine Arduino als Spannungsversorgung.


Bild sieht man es vielleicht etwas besser.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 09:18 pm
Danke für die schnelle Antwort Stefan

Noch eine Frage bei 12 Chips die ich anschliessen will komme ich da ohne NT aus, da von den 12 Chips ja im Höchstfall 3 an sind bei meiner UHR, sie sollen lediglich den laufenden Sekunden, Minuten und Stundenzeiger anzeigen (Farbig) . Es wäre schade wenn ich noch extra ein NT mit anschliessen müsste , da ich den Arduino über ein USB NT betreibe.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 09:33 pm
Am USB Port kannst du soweit ich weiß bis 500mA dem Arduino entnehmen (abzüglich der internen Schalktreise). Das sollte mit deinen LEDs soweit gehen. Du belastet in diesem Fall ja nicht die Ausgänge.

Bei 3 Leds sind das max. 180mA (3x 3x 20mA). Der max Fall wäre, wenn du die 3 Leds alle weiß leuchten lassen würdest.

Dürfte somit unproblematisch werden. Ich denke, dass in deinem Fall < 100mA sein wird. Kommt halt auf die Farbverwendung an.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 09:39 pm
Super, dann werde ich mich mal daran machen, so das ich mal endlich meine Uhr komplett zusammen bauen kann, muss mir dann nur noch den Sockel schneiden wo der Arduino untergebracht wird und die Verkleidung montieren.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 10:09 pm
:~ Und ich muss bei meiner Uhr erstmal noch ein bisschen warten. Habe die 60 Leds für die kleine Equinox eine eine Stange von meinem Regal angebracht um zu testen. Warte noch auf mein Gehäuse  :smiley-zipper:
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 10:20 pm
Stefan ich habe schon so oft hier das mit der Uhr Equinox gelesen, ich weis also nur das es was mit TAG und NACHT gleich zu tuhen hat, was muss ich mir unter einer Equinox UHR vorstellen, oder gibt es da ein Tutorial, video oder sowas von ?


l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 10:31 pm
http://www.youtube.com/watch?v=JNpjX5mobfI

Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 07, 2013, 10:33 pm

Stefan ich habe schon so oft hier das mit der Uhr Equinox gelesen, ich weis also nur das es was mit TAG und NACHT gleich zu tuhen hat, was muss ich mir unter einer Equinox UHR vorstellen, oder gibt es da ein Tutorial, video oder sowas von ?
l.G.Jürgen

einfach mal Goolge bemühen und nach equinox clock suchen.
zB http://digcool.org/equinox-clock
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 07, 2013, 10:38 pm
Stefan.  Ja die habe ich einmal gesehen und war auch total fasziniert davon, aber ich wusste nicht wie die Uhr heisst. wenn Du Deine Equinox  fertig hast , must Du unbedingt ein Video einstellen. Ich bin schon sehr gespannt.

l.G.Jürgen.

PS. Uwe manschesmal bin ich ein fauler Sack....... SORRY  ]:)
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 07, 2013, 10:43 pm
Oder auf den anderen Stefan (Eisebaer) warten. Er ist auch noch dran.
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 08, 2013, 08:31 am

PS. Uwe manschesmal bin ich ein fauler Sack....... SORRY  ]:)

Das war ja als Motivation gedacht.  ;) ;) ;)
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 08:41 am
so habe ich es auch aufgefasst Uwe  ]:)

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 08, 2013, 03:15 pm
hi,

Quote
Oder auf den anderen Stefan (Eisebaer) warten. Er ist auch noch dran


lieber jürgen, an meiner equinox bin ich jetzt schon ein jahr dran.

das problem ist:

ICH BIN AUCH EIN FAULER SACK !

müßte endlich mal zum metalab fahren wegen des plexi schneiden.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 03:36 pm
Hallo Stefan

Schön Dich zu lesen, Das Projekt mit dem equinox, gefällt mir echt Gut, das werde ich Wohl als übernächstes Projekt angehen. Wenn ich meine Jetzige Uhr fertig habe werde ich mich erst einmal an die Dezimal Uhr vom Düsseldorfer Fernseturm ranmachen, den Nachbau möchte ich gerne an meinem Leuchtturm verwirklichen. Aber Du konntest mir einen Gefallen tun, ich habe Gestern auch die Strips von Alibaba bekommen mit den RGB LED Inkl. Controller. Jetzt habe ich das Problem es ist alles soweit fertig und ich bekomme auch die Strips ams laufen und in Farbe eingestellt so wie ich es gerne möchte. Jedoch weis ich nicht wie ich die Lichtstärke einstellen kann, die einzelnen Chips sind für meine Uhr zu hell und ich möchte sie gerne etwas runter Dimmen, gibt es da einen besonderen Befehl für?

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 08, 2013, 03:41 pm
Ja, gibt es. Wie steuerst du die Farben an?

Bitte kurz mit Sketch.

Die mM nach schönste Möglichkeit ist über den HSV Farbraum. Hier entspricht "hue" dem Wert von 0 - 360°. Achtung, die FastSPI Libaray arbeitet aufgrund der Performance nur mit 0 - 255!! Das heißt für dich Farbton in ° aus der Wikitabelle / 360 * 255.
http://en.wikipedia.org/wiki/File:HSV-RGB-comparison.svg

HSV
Code: [Select]

uint8_t hue = (0 ... 255); // Farbton siehe oben
uint8_t saturation = 255; // Sättigung, 255 für volle Farbsättigung
uint8_t brightness = 127; // Helligkeit, 255 für volle Helligkeit
leds[i] = CHSV(hue, saturation, brightness);



Alternativ bei RGB
Code: [Select]

uint8_t  brightness = 127;
uint8_t r = 255;
uint8_t g = 0;
uint8_t  b = 0;

leds[i] = CRGB(r * brightness / 255, g * brightness / 255, b * brightness / 255);
// oder
leds[i].r = r * brightness / 255;
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 03:56 pm
llo

Also ich habe ja immer nur eine Farbe eine für die Spitze des inutenzeigers und eine für die Spitze des Sekundenzeigers


    analogWrite(ledMin[nr2-1], 0);  // schaltet 2 weisse LED in der Momentanen stellung des Zeigers aus (5mm LED)
    analogWrite(ledMin[nr2], mi);   // schaltet 2 weisse LED an der nächsten Stellung des Zeigers an (5mm LED)
    ledspit[nr2] = CRGB::Blue;               // schaltet die Spitze des Minutenzeigers auf Blau (Chip)
    ledspit[nr2-1] = CRGB::Black;         // schaltet die Spitze der Momentanen Stellung ab.(Chip)

Zeigerstellung holt er sich aus einem Array so auch die Sekunden und die Stunden, So ist die Abfrage im Programm, nur ich bekomme die Helligkeit nicht hin.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 08, 2013, 04:00 pm

Jedoch weis ich nicht wie ich die Lichtstärke einstellen kann, die einzelnen Chips sind für meine Uhr zu hell und ich möchte sie gerne etwas runter Dimmen, gibt es da einen besonderen Befehl für?
l.G.Jürgen

Da gibt es nur die Möglichkeit kleinere Werte zu nehmen.
Statt für weis 255.255.255 nimmst Du 127,127,127 Statt einer Farbe zB 255.0.0 dann 127,0,0 bzw 255,127,63 dann 127,63,31 ecc.
Du kannst Ein map machen wobei der Maxzielwert die Helligkeit angibt. Nachteil: Du verringerst den Farbraum (Anzahl der möglichen Farben).

ps. Zu den faulen Säcken hab ich wenig zu sagen. Ich bin zu involwiert um eine unabhängige, objektive Aussage machen zu können oder anders ausgedrückt: ICH BIN AUCH EIN FAULER SACK !

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 08, 2013, 04:03 pm
Code: [Select]
ledspit[nr2].b = 127;
ledspit[nr2-1].b = 0; //oder ledspit[nr2-1] = CRGB::Black falls andere Farben damit noch angezeigt werden
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 04:17 pm
Danke zusammen, das hilft mir echt weiter. Ich fummel mich so durch und es macht echt Spaß mit den Strips zu Arbeiten, es hat auch geklappt mit den 12 Chips auf der Uhr für die Zeiger verlängerung, garkeine Probleme mit der Bestromung, Jetzt läuft die komplette Uhr mit AM und PM sowie des Strips umer den Mega , passt alle prima. ach was mir noch einfällt ich weis nicht wieso aber ein Strip gibt mir bei RGB eine fasche Farbe raus, wenn ich Red angebe ist Chip Grün und wenn ich Green angebe ist er Rot. Gut wenn mans weis ist es egal , ich habe so ein kleines Programm probiert das heist   RGBCalibrate  aber das ändert auch nichts.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 08, 2013, 04:28 pm
In void setup(), das
Code: [Select]
FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
durch das
Code: [Select]
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
austauschen.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 05:02 pm
Danke , hat geklappt

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 08, 2013, 11:23 pm
Hallo ich habe noch einmal eine Frage zu den Strips, ich habe soweit alles verbaut, jedoch habe ich das Problem bei den Strips, es sind genau 12 Chips verbaut wovon 2 immer an sind, als Lauflicht. Ein licht verlängert den Sekundenzeiger und der andere verlängert den Minutenzeiger. Soweit so Gut, Ich habe die Uhr jetzt im Dauertest seit 2 Std laufen und es funzt so wie ich es haben möchte, jedoch bei den Chips also den für den Sekundenzeiger kommt es öfters vor das nicht ein licht sondern beim Durchlauf igendwo in der Reihe noch eins an bleibt, wenn das Lauflicht wieder darüber läuft ist wieder alles normal, jedoch das kommt in unregelmässigen Abständen immer wieder vor.

//sekunden angabe
    analogWrite(ledSek[nr1-1], 0);    // löscht die letzten gebrauchten LED weiss
    analogWrite(ledSek[nr1], se);      // holt sich die Daten aus einem Array und schaltet 2 3mm weisse LED
    leds[nr1] = CRGB::Green,g,b;       // holt sich die Daten aus dem gleichen Array 1 Chip in Grün
    leds[nr1-1] = CRGB::Black;            // löscht den letzt gebrauchten Chip in Grün
   
    //minuten angabe
    analogWrite(ledMin[nr2-1], 0);     // löscht die letzten gebrauchten LED weiss
    analogWrite(ledMin[nr2], mi);      // holt sich die Daten aus einem Array und schaltet 2 3mm weisse LED
    leds[nr2] = CRGB::Blue,g,b;            // holt sich die Daten aus dem gleichen Array 1 Chip in Blau
    leds[nr2-1] = CRGB::Black;              // löscht den letzt gebrauchten Chip in Blau

Es klappt alles wunderbar ausser das im Lauflichtbei der Sekunden Anzeige ab und an 2 gleiche LED an sind,

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 09, 2013, 12:12 am
Jürgen, kannst du mal deinen ganzen Sketch hier hineinkopieren?

Ich denke, ich weiß wo dein Problem liegt. Das Problem taucht vermutlich immer an der gleichen Stelle auf. Du lässt immer die vorherige LED löschen (nr-1). Was nun, wenn deine LED an Position 0 angekommen ist? Er versucht nr-1 => -1 zu löschen. Diese ist bei dir aber nicht vorgesehen.

Ich habe es bei mir etwas anderes gemacht.

Ich lasse zu Beginn jedes loops die LEDs vom Strip löschen.
Code: [Select]

for(int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(0, 0, 0);

Alle LEDs vom Strip werden somit ausgeschaltet. Dieses geschiet aber nicht sofort, da bei uns erst FastLED.show() die Leds entsprechend beschaltet.

Somit gehst du wie folgt vor,

Code: [Select]

// 1) Alle LEDs im Schritt löschen
for(int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(0, 0, 0);

// 2) Alle LEDs einschalten, die du benötigst. Ein Ausschalten ist nicht notwendig aufgrund von Schritt 1
// nur ein Bsp
leds[12].b = 255;

// 3) Datensätze an die WS Controller scharf schalten
FastLED.show()

Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 09, 2013, 01:13 am
hi,

nimm zum löschen aller leds memset, das geht natürlich viel schneller.

memset(leds, 0, 180);

das setzt das struct leds mit 60 LEDs auf einmel zurück auf 0.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 09, 2013, 01:42 am
Mit memset habe ich das noch nicht probiert. Hatte mir deinen Sketch einmal angesehen und gewundert, wieso du diesen weg genommen hast.

Da ich noch nicht weiß, wann meine gedrehten Teile fertig werden, habe ich gerade etwas improvisiert.

Uwe hatte ja bereits mal darauf angesprochen, dass die Equinox die Wand zur Anstrahlung braucht. Das 3D Modell hatte ich irgendwo im Forum bereits einmal gepostet, finde es gerade aber nicht wieder.

Habe nun die Aufbewahrungshülle für die Leds zweckentfremdet. 60 Leds passen gut an die innere Kante des Rings.  Hier mal ein kurzes Bild, wie meine später funktionieren soll.

Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 07:34 am
Guten Morgen Ihr Stefans :)

Hier ist mein Sketsch, Ich hatte mir schon so etwas gedacht mit dem zurücksetzen der LEd, da wenn ich

leds[nr2-1] = CRGB::Black; verwende eine Null nicht gefunden werden kann. Jedoch bin ich davon ausgegangen das das Array für die Sekunden immer im gleichen Rythmus durchlaufen wird. Doch dann müsste ja auch immer die gleiche LED haken. Aber dem ist nicht so es hakt immer eine LED nach einer Zeit des Durchlaufs, aber ganz Unterschiedlich, mal die letzte, mal irgend eine mitten in der Reihe.

Die Equinox wird bestimmt ein Hingucker 8)  Ich habe mich auch mal ein wenig im INET  nach Equinox umgesehen und meinen faulen Sack überwunden *lach. Da gibt es ja echt super teile von der Equinox, Ich denke einmal irgendwann werde ich es wohl auch einmal Probieren. Aber wenn ich so überlege, wäre es da mit den Strips nicht einfach, die auf so ein gedrehtes Teil zu verbauen und dann zu programmieren. Ich weis nur nicht wie man das Programmiert das die LED`s so schön das Licht nach ziehen. Da gibt es auch einen Namen für aber der iat mir entfallen, Ja Ja das Alter  :smiley-roll-sweat:


l.G.Jürgen

Code: [Select]
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
         DigiUhr erstellt ohne Lib. am 15.09.2013
                    Hans Jürgen Mantell
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "FastSPI_LED2.h"

#define NUM_LEDS 12

// Data pin anlegen
#define DATA_PIN A10

CRGB leds[NUM_LEDS];

//UHR initialisieren

int ledBlink = 53;
const int led1 = 13;
const int led2 = 12;
const int led3 = 11;
const int led4 = 10;
const int led5 = 9;
const int led6 = 8;
const int led7 = 7;
const int led8 = 6;
const int led9 = 5;
const int led10 = 4;
const int led11 = 3;
const int led12 = 2;

// PM AM Initialisieren

const int uled18 = 50;
const int uled17 = 49;
const int uled16 = 48;
const int uled15 = 47;
const int uled14 = 46;
const int uled13 = 45;
const int uled12 = 44;
const int uled11 = 43;
const int uled10 = 42;
const int uled9 = 41;
const int uled8 = 40;
const int uled7 = 39;
const int uled6 = 38;
const int uled5 = 37;
const int uled4 = 36;
const int uled3 = 35;
const int uled2 = 34;
const int uled1 = 33;
int nr;
int nr1;
int nr2;
int st;
int mi;
int se;
int i;
int z;
int r;
int g;
int b;

         // Array für Std,Min und Sek.
int ledPin[] = {led1,led12,led11,led10,led9,led8,led7,led6,led5,led4,led3,led2};
int ledSek[] = {led1,led12,led11,led10,led9,led8,led7,led6,led5,led4,led3,led2,};
int ledMin[] = {led1,led12,led11,led10,led9,led8,led7,led6,led5,led4,led3,led2};

     // Uhrzeit holen
char time[]=__TIME__;
int stunden,minuten,sekunden;

void tickOneSecond()  // UHR laufen lassen
{
 sekunden++;
     nr1++;
     analogWrite(ledBlink,255); // Sekunden LED an
 
 
     if (sekunden >= 60) {sekunden=0;nr1=0;minuten++;}
     if (minuten >= 60) {minuten=0;nr2=0;stunden++;nr++;}
     if (stunden >= 24) {stunden=0;nr=0;}
 
}


// die Setup-Routine läuft einmal, wenn RESET gedrückt wird
void setup() {
   Serial.begin(9600);

   FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);

    for(int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(0, 0, 0);
 
 // Pin`s auf Output
 
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(led4, OUTPUT);
 pinMode(led5, OUTPUT);
 pinMode(led6, OUTPUT);
 pinMode(led7, OUTPUT);
 pinMode(led8, OUTPUT);
 pinMode(led9, OUTPUT);
 pinMode(led10, OUTPUT);
 pinMode(led11, OUTPUT);
 pinMode(led12, OUTPUT);
 pinMode(uled1, OUTPUT);
 pinMode(uled2, OUTPUT);
 pinMode(uled3, OUTPUT);
 pinMode(uled4, OUTPUT);
 pinMode(uled5, OUTPUT);
 pinMode(uled6, OUTPUT);
 pinMode(uled7, OUTPUT);
 pinMode(uled8, OUTPUT);
 pinMode(uled9, OUTPUT);
 //pinMode(uled10, OUTPUT);  // Obere 2 Reihen der Matrix aus
 //pinMode(uled11, OUTPUT);
 pinMode(uled12, OUTPUT);
 pinMode(uled13, OUTPUT);
 pinMode(uled14, OUTPUT);
 pinMode(uled15, OUTPUT);
 pinMode(uled16, OUTPUT);
 //pinMode(uled17, OUTPUT);  // Untere 2 Reihen der Matrix aus
 //pinMode(uled18, OUTPUT);
 pinMode(DATA_PIN, OUTPUT);  // Pin A10
 
 
 
 stunden=atoi(time);
 minuten=atoi(&time[3]);
 sekunden=atoi(&time[6]);

/*
stunden = 16;  // wenn Uhr von Hand gestellt wird
minuten = 23;
sekunden = 0;
*/

}

unsigned long alteSekunde;

// die Schleife Routine läuft immer
void loop() {
// Farbe,Helligkeit und Zeit für Pause
r=255;
g=20;
b=80;
z=25;
 
          // PM AM Anzeige
digitalWrite(uled16,LOW);
analogWrite(uled1,255);
analogWrite(uled2,255);
analogWrite(uled3,255);
analogWrite(uled5,255);
analogWrite(uled9,255);
analogWrite(uled1,0);
analogWrite(uled2,0);
analogWrite(uled3,0);
analogWrite(uled5,0);
analogWrite(uled9,0);
digitalWrite(uled16,HIGH);



digitalWrite(uled15,LOW);
analogWrite(uled1,255);
analogWrite(uled3,255);
analogWrite(uled5,255);
analogWrite(uled6,255);
analogWrite(uled8,255);
analogWrite(uled9,255);
analogWrite(uled1,0);
analogWrite(uled3,0);
analogWrite(uled5,0);
analogWrite(uled6,0);
analogWrite(uled8,0);
analogWrite(uled9,0);
digitalWrite(uled15,HIGH);



digitalWrite(uled14,LOW);
analogWrite(uled1,255);
analogWrite(uled2,255);
analogWrite(uled3,255);
analogWrite(uled5,255);
analogWrite(uled7,255);
analogWrite(uled9,255);
analogWrite(uled1,0);
analogWrite(uled2,0);
analogWrite(uled3,0);
analogWrite(uled5,0);
analogWrite(uled7,0);
analogWrite(uled9,0);
digitalWrite(uled14,HIGH);

digitalWrite(uled13,LOW);
analogWrite(uled1,255);
if ((stunden > 0) or (stunden < 12))
{
analogWrite(uled3,255);
}
else
{
analogWrite(uled3,0);
}
analogWrite(uled5,255);
analogWrite(uled9,255);
analogWrite(uled1,0);
analogWrite(uled3,0);
analogWrite(uled5,0);
analogWrite(uled9,0);
digitalWrite(uled13,HIGH);

digitalWrite(uled12,LOW);
analogWrite(uled1,255);
if ((stunden > 0) or (stunden < 12))
{
analogWrite(uled3,255);
}
else
{
analogWrite(uled3,0);
}
analogWrite(uled5,255);
analogWrite(uled9,255);
analogWrite(uled1,0);
analogWrite(uled3,0);
analogWrite(uled5,0);
analogWrite(uled9,0);
digitalWrite(uled12,HIGH);



 
 st=255;  // Stundenzeiger Helligkeit
 mi=25;   // Minutenzeiger Helligkeit
 se=10;    // Sekundenzeiger Helligkeit

        // laufender Minutenzeiger
if ((minuten >= 0) and (minuten <= 5)) {nr2=0;}
if ((minuten >= 5) and (minuten <= 10)) {nr2=1;}
if ((minuten >= 10) and (minuten <= 15)){nr2=2;}
if ((minuten >= 15) and (minuten <= 20)) {nr2=3;}
if ((minuten >= 20) and (minuten <= 25)) {nr2=4;}
if ((minuten >= 25) and (minuten <= 30)) {nr2=5;}
if ((minuten >= 30) and (minuten <= 35)) {nr2=6;}
if ((minuten >= 35) and (minuten <= 40)) {nr2=7;}
if ((minuten >= 40) and (minuten <= 45)) {nr2=8;}
if ((minuten >= 45) and (minuten <= 50)) {nr2=9;}
if ((minuten >= 50) and (minuten <= 55)) {nr2=10;}
if ((minuten >= 55) and (minuten <= 60)) {nr2=11;}
 
         // laufender Stundenzeiger
if ((stunden == 12) or (stunden == 0)) {nr=0;}
if ((stunden == 13) or (stunden == 1)) {nr=1;}
if ((stunden == 14) or (stunden == 2)) {nr=2;}
if ((stunden == 15) or (stunden == 3)) {nr=3;}
if ((stunden == 16) or (stunden == 4)) {nr=4;}
if ((stunden == 17) or (stunden == 5)) {nr=5;}
if ((stunden == 18) or (stunden == 6)) {nr=6;}
if ((stunden == 19) or (stunden == 7)) {nr=7;}
if ((stunden == 20) or (stunden == 8)) {nr=8;}
if ((stunden == 21) or (stunden == 9)) {nr=9;}
if ((stunden == 22) or (stunden == 10)) {nr=10;}
if ((stunden == 23) or (stunden == 11)) {nr=11;}

 

 

     // Sunden angaben  
   analogWrite(ledPin[nr-1], 0);
   analogWrite(ledPin[nr], st);
 
   //sekunden angabe
   leds[nr1-1] = CRGB::Black;
   analogWrite(ledSek[nr1-1], 0);
   analogWrite(ledSek[nr1], se);
   leds[nr1] = CRGB::Green,g,b;
     
   //minuten angabe
   leds[nr2-1] = CRGB::Black;
   analogWrite(ledMin[nr2-1], 0);
   analogWrite(ledMin[nr2], mi);
   leds[nr2] = CRGB::Blue,g,b;
         
   analogWrite(ledPin[nr], st);
   analogWrite(ledSek[nr1], se);
   analogWrite(ledMin[nr2], mi);
   
   if (nr1 == nr2) {leds[nr2] = CRGB::Red,g,b;} // Farbwechsel bei Überschneidung der Chips
       
 
 if (alteSekunde==millis()/1000)  return; // selbe Sekunde, loop verlassen
 alteSekunde=millis()/1000;
 
 tickOneSecond(); // Uhrzeit weiterticken lassen

analogWrite(ledBlink,0);  //Sekunden LED aus

FastLED.show();
   delay(z);

}
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 08:30 am
Hallo Ihr Lieben :)

Ich habe einmal ein Video erstellt, ist zwar nicht das Beste da ich meine Filter alle am Wohnwagen habe und auf dem Video die LED?s etwas blenden. Aber man kann den Fehler sehen. und zwar habe ich den Strip den ich als Verlängerung der Zeiger nutzen möchte im Bild unten Rechts senkrecht aufgestellt, er läuft genau mit den Sekunden und Minuten. Jedoch tritt immer der Fehler mit der zuvielen LED im Lauflicht auf. Im letzten Stück des Videos kann man es sehen mit dem Fehler. Das Rote Licht erscheint immer wenn sich der Sekundenzeiger und der Minutenzeiger überschneiden bei dem Strip.Ich denke einmal das der Mega es eventuell nicht schafft alles zu verarbeiten. Da die Uhr ansich über den Mega läuft, die Matrix unten links sowie jetzt noch die Erweiterung. Ich werde der Erweiterung einmal ein NT gönnen, im laufe des Tages jetzt meldet sich gerade meine Kaffee Maschiene und ich bin noch nicht richtig wach  ]:)

http://www.vidup.de/v/VfE03/

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 10:14 am
Ich glaube ich habe es gefunden.
 
Beisp.1
{
 sekunden++;
 nr1++;
 
 analogWrite(ledBlink,255); // Sekunden LED an
 
 
 if (sekunden >= 60) {sekunden=0;nr1=0;minuten++;nr2++;}
 if (minuten >= 60) {minuten=0;nr2=0;stunden++;nr++;}
 if (stunden >= 24) {stunden=0;nr=0;}
 
}


Beisp.2
{
 sekunden++;
 
 
 analogWrite(ledBlink,255); // Sekunden LED an
 
 
 if (sekunden >= 60) {sekunden=0;nr1=0;minuten++;nr2++;}
 if (minuten >= 60) {minuten=0;nr2=0;stunden++;nr++;}
 if (stunden >= 24) {stunden=0;nr=0;}
 nr1++;
}

Ich habe lediglich (nr1++) versetzt im Programm und zwar von der stelle Beisp.1  nach Beisp.2  ich weis nicht wieso das so ist aber jetzt läuft das Licht super durch. Aber erklären kann ich es mir nicht, da es ja eine Schleife ist die durchlaufen wird von
void tickOneSecond()  mit Rücksprung  von  if (alteSekunde==millis()/1000)  return; solange die Sekunde nicht um ist. Da dürfte sich doch nichts ändern da die nr1++ doch in der Schleife hoch gezahlt wird. Naj jetzt gefällt es mir , ich lasse es mal  1 bis 2 Stunden laufen, dann fange ich mal an zu löten. Ups, ich denke der Faule Sack kommt wieder durch  :)

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 04:57 pm
So den Strip getrennt  und die 12 einzelnen Chips auf die Uhr geklebt. Jetzt muss ich erst was warten dann löte ich die Chips mit Kupferlackdraht zusammen. Solange gehe ich einmal an mein anderes Objekt, die Dezimal Uhr vom Düsseldorfer Fernsehturm. Ich habe einmal einen entwurf gemacht für meinen Leuchtturm.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 09, 2013, 06:01 pm
hi,

wenn es genauso wie beim rheinturm werden soll, hast Du beim stundentakt irgendwas falsch, jürgen.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 07:11 pm
Ja Stefan, das habe ich auch gesehen, aber ich habe nicht soviel Platz auf der Leiste, ich habe nur 26 cm zum verbauen in der Hohe, und da Passen nur von den Stripps 32 Chips insgesmt drauf. Ich wollte erst die  10 Min und 10 Sek Takte daneben machen aber das gefällt mir nicht. jetzt habe ich den Sekundentakt mit einer LED und die 10er und 20er Std weggelassen so das ich mit 12 Stunden rechnen muss.Na mal sehen ich bin ja noch nicht soweit, ich kämpfe gerade mit den einzelnen Chips des Stripps um sie auf meine UHR zu verlöten. Gibt es eigentlich extra Lötstationen für SMD die Dinger sind ja so klein zum löten und ich habe schon eine Lupen Brille aus . Aber die Hände sind so unruhig, Eben Mandolienen Finger  :) und der Kupeflack Draht in 0,15 den fühle ich garnicht in meinen Fingern , Ich glaube für so Grobe Arbeiten bin ich nicht geschaffen.

l.G.Jürgen

Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 09, 2013, 07:36 pm

Gibt es eigentlich extra Lötstationen für SMD die Dinger sind ja so klein zum löten und ich habe schon eine Lupen Brille aus . Aber die Hände sind so unruhig, Eben Mandolienen Finger  :) und der Kupeflack Draht in 0,15 den fühle ich garnicht in meinen Fingern , Ich glaube für so Grobe Arbeiten bin ich nicht geschaffen.


Also ich habe eine ältere Conrad-Lötstation und einen dünneren bleistiftspitzen Lötkolben. Da muß alles stimmen. Die richtige Temperatur, das richtige Lot 0,5mm LSn 63, das richtige Flußmittel (Kolophonium in Isopropanol)... Ich merke auch, das mit ü40 die Augen etwas nachlassen  :smiley-red:
Mein worst case war das Verlöten von SMD LED's Gehäuse 603! Das läuft bei mir unter der Kategorie "Vogelfutter" Habe ich mit Pinzette unter der Leuchtlupe bestückt. (Ich habe alte, leuchtschwache 7-Segmentanzeigen getunt. gehäuse geöffnet, die nackten Chips runtergekratzt und die 603'er aufgelötet  :smiley-mr-green:

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 09, 2013, 09:23 pm
Ja Gerald ich muss mir auch eine Lötstation holen, ich habe einen Lotkolben auch mit dünner Spitze aber ich denke da muss es noch was dünneres geben und mit der Themperatur einstellung das ist sowas bei einem Kolben, ich werde wohl die Woche mal sehen was es so gibt an Stationen, denn mit den Kleinen Dingern, das Kommt immer mehr. ich habe hier Wiederstände , da steht 105 drauf , was ich kaum lesen kann, da habe ich garkeinen Nerv die aus der Halterung zu holen  :)

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 09, 2013, 09:46 pm

ich habe hier Wiederstände , da steht 105 drauf...


Jürgen, sei froh, das da was draufsteht. Ich habe gelesen, das die Hersteller aus Kosten- und Platzgründen sich das Bedrucken künftig sparen wollen. Im Zeitalter der Wegwerfelektronik ein nachvollziehbarer Schritt  :smiley-yell:

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 09, 2013, 10:48 pm
Bei Kondensatoren und Widerständen geht es ja noch, wenn diese nicht mehr beschriftet sind. Ablesen tu ich die Widerstände meist nicht. Sind in sortierten Kisten unterbracht, und soweit vorhanden noch auf den Bändern die ich beschriftet hab. Bei SMD fällt das natürlich weg ;).

Interessanter wird es bei LEDs ohne  Kennzeichnung (low Current? Spannung? ....) oder anderen Bauteilen, bei denen man sich bereits eine Kennlinie erstellen müsste, um zu wissen, worum es sich handelt.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 09, 2013, 11:05 pm
hi,

was ich in bezug auf diese schwierigkeiten nicht verstehe, ist, daß es nicht kürzere lötkolben gibt. die hältst Du hinten und vorne zittern sie wie ein lamplschwaf, wie man in wien sagt. kürzerer abstand, weniger zittern, aber ich finde sowas nicht.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 09, 2013, 11:23 pm

hi,

was ich in bezug auf diese schwierigkeiten nicht verstehe, ist, daß es nicht kürzere lötkolben gibt. die hältst Du hinten und vorne zittern sie wie ein lamplschwaf, wie man in wien sagt. kürzerer abstand, weniger zittern, aber ich finde sowas nicht.

gruß stefan

Die Dinger haben eine gewisse Länge, weil si ja nur vorne heiß werden sollen und nicht mittendrin oder hinten.  ;) ;) ;) ;)

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 09, 2013, 11:51 pm
Mit Handballen auflegen gehts eigentlich noch ganz gut ;) Ansonsten baut euch nen eigenen Lötkolben. Wofür gibts feuerfeste Handschuhe :D
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 08:53 am
Lach, Ja Stefan aber dann must Du auch die richtigen Handschuhe finden, die Feuerfesten die ich kenne. Da kannst Du noch niecht einmal einen Lötkolben vom Dachdecker mit halten.  Was ist eigentlich mit den Lötkolben, die habe ich mal bei Westfalia gesehen, die laufen mit Akku. Die sind schön klein. Ich weis ja nicht ob das was ist , aber keine Schnur mehr. Ich habe bei meinem Lötkolben auch immer das Problem wenn ich ihn benutze , die Leitun des Lötkolbens ist so steif das wenn ich ihn benutze die ganze Werkbank abräume mit der Leitung und diese immer da kängen bleibt wo ich es nicht gebrauchen kann. Ist schon ein Kreuz, die erfinden jeden Sch.....  nur für die Löter tun sie nichts. :)

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 10, 2013, 10:07 am
hi,

ja, ich versteh' das auch nicht. einen lötkolben halte ich ähnlich wie einen kugelschreiber, aber bei dem käme ich ja auch nicht auf die verrückte idee, ihn möglichst weit hinten zu halten.

nur den vorderen metallpart eines lötkolbens mit schlecht leitendem plastik zu ummanteln (mit abstand), und den griff hinten wegzulassen, darauf ist offensichtlich noch keiner gekommen.

ist hinten im griff überhaupt was drin?

wer hat beziehungen zu weller?

gruß stefan
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 10:33 am
Ich glaube da ist nur der Anschluss für den Strom verbaut, im Griff. Ich kann mir auch nicht vorstellen das man das nicht anders lösen kann mit der Hitze als nur die Dinger so lang zu machen. Aber ich werde einmal Dr.Google in Anspruch nehmen und mal sehen ob es nicht doch was kürzeres gibt. ich muss mir sowieso was anderes als den lötkolben den ich jetzt habe holen, der ist so Wiederspenstig, wenn ich damit arbeite  stehe ich immer kurz vor eine Wut ausbruch, weil ich mit der Leitung immer meine Krosecke ausräume und mir alles durcheinander fliegt.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 10, 2013, 11:14 am

nur den vorderen metallpart eines lötkolbens mit schlecht leitendem plastik zu ummanteln (mit abstand), und den griff hinten wegzulassen, darauf ist offensichtlich noch keiner gekommen.

Kommt aus Modell an:
Ungeregelt nur die Stromanschlüsse

Magnetische Temperaturregelung: Schalter für den Termostat und Anschluß Versorgungsspannung
(http://www.berel-am-ries.de/WVSS/Arbeitsvorlagen/Weller_Loetstation-Dateien/image002.jpg)
(http://www.hinkel-elektronik.de/img_data_node_zoom/729.gif)

Elektronische Temperaturregelung: Anschluß Temperaturfühler und Heizungsanschluß
(http://www.henri.de/media/image/thumbnail/73399495bf33dc0fba1089061aeb7597_285x255.jpg)(http://www.henri.de/media/image/thumbnail/f22c2f5d1ce729b96d43232262647cb0_285x255.jpg)


Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 10, 2013, 01:59 pm
Da kann ich mich Uwe anschließen. So kann ein Teil aussehen. Sieht nach dem Weller antistatic Lötkolben aus, der hier bei mir auf dem Tisch zu einer Weller PU81 steht.

Im Gegensatz zu meinem Ersatzlötkolben ERSA MultiTip (ohne Station) ist dieser doch gefühlt ein Stück kürzer. Macht vermutlich allein schon etwas aus, wenn am Ende keine 230V Zuleitung reinläuft sondern eine extrem flexible Anschlussleitung von der geregelten Station.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 03:42 pm
Ja Stefan, sowas suche ich, eine Station die ein total flexiebles Kabel zum Kolben hat, Mein Lötkolben hat  ein Kaben da muß ich immer mit kämpfen. Ich denke ich werde mir mal ein paar Lötstationen ansehen und mich dann entscheiden.


l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 10, 2013, 04:05 pm
Kannst ja vorm bestellen schreiben, was dir holen willst, bzw. im Auge gefasst hast.
Empfehlen kann ich die Weller Lötstationen (sind aber recht teuer). Alternativ wäre auch Ersa ein guter Vertreter. Meist sogar einiges billiger. Leistung der Lötstation/kolben sollte aber ~50Watt mindestens aufweisen.

Displays machen die Geräte meist unnötig teuer. Ich habe lediglich einen Poti für die Temperatur von 150 - 450°C. Die LED oben drüber leuchtet wenn das System sich aufheizt. Wenn die Temperatur erreicht ist, erlischt es und leuchtet danach immer nur kurz auf, wenn er wieder aufheizt um die aktuelle Temperatur zu halten.

http://www.pkelektronik.com/media/catalog/product/0/0/0053230699.jpg
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 04:29 pm
Stefan ich hatte an diese gedacht,
http://www.elv.de/elv-80-w-komfortloetstation-at-80d.html?refid=SEM_30004&gclid=CPn5lNW8jLoCFY5Q3godrm4AhQ

aber ich fahre am Freitag nach Westfalia in Hagen das ist bei mir um die Ecke, die habe auch immer eine große Auswahl. Denn ich habe bemerkt bei dem verlöten der Chips habe ich schwierigkeiten mit meinem Lötkolben. Sonst war der schon ganz OK, aber ich habe Heute verzweifelt aufgeört mit dem löten, bei den 12 einzelnen Chips für meine Uhr ging nach 9 erfolgreichen lötungen 3x was daneben, ic bekm zitterige Finger und da ging garnichts mehr, 3 Chips verbraten  :smiley-yell:

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 05:49 pm
Ich habe einmal eine Frage zu den Stripps, Ich habe Probleme bei dem löten. Wenn ich wie jetzt gemacht ein Stück von den Stripps abschneide, jetzt 40 Stück für meine Dezimal Uhr. Ich habe jetzt schon extra nah an dem nächsten stripp abgeschnitten so das ich für die Verdrahtung fast die ganzen Lötaugen habe um zu löten. Nur ich habe festgestellt, das die Lötaugen auf der Folie ziemlich schlecht das Lötzinn annehmen. Gibt es da einen Trick um diese zu verlöten? denn wenn man zu lange mit der Spitze dran geht lösen sie sich und wenn ich es kurz versuche hält das Lötzinn nich auf den Lötaugen.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 10, 2013, 05:53 pm
Also von den Akkudingern halte ich nichts. Die sind schwer und haben wenig (Akku)leistung. Um mal was am Auto zu machen, mag das ok sein, aber nix für SMD. Und mehrere stunden Dauersession kannst du vergessen. Na ja, vielleicht ändert sich das ja mit Superkondensatoren. Du legst das Ding auf den Ablageständer und er wird induktiv gleich nachgeladen  :D
Ich hab irgendwo noch eine Lötnadel. 12V und 18W, wenn ich mich recht entsinne. Die sieht aus, wie ein geschrumpfter Lötkolben. Der Heizteil hat ca. die Größe einer Großraumkugelschreibermine. Ist aber ungeregelt. Bei einem steifen Zuleitungskabel würde ich versuchen, das Kabel gegen eins aus Silicon auszutauschen. die sind flexibel und du kannst den Lötkolben notfalls darauf ablegen  :smiley-mr-green:
Die Temperaturanzeige auf der Lötstation würde ich nicht missen wollen. Wenn ich auf einem MoBo Elkos tausche und 4 Layer miterhitzen muß, dann lege ich immer noch ne Schippe drauf. statt 180°c wie sonst, stelle ich dann 320°c ein.
Das Design sollte sich prinzipiell verkleinern lassen. TEFLON als Griff kann 400°C ab. Und als Wärmeisolation dann Mineralwolle, Glasseide oder Schaumglas. Nur wer soll das bezahlen?  :smiley-eek-blue:

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 10, 2013, 06:13 pm
@Gerald: Temperaturanzeige muss aber nicht auf dem Display zu sehen sein. Es reicht ja das Feedback, "ich bin nun 320°C" heiß.

@Jürgen: Geregelter Lötkolben etwas höher stellen, Spitze auf die Kupferpads und recht zeitgleich etwas Lötzinn drauf, dass es sich am Kupfer bindet. Nun wie gehabt löten.

Lötstation sieht ansich nicht schlecht aus. Atten hab ich irgendwo schonmal gehört. Hochflexbile Silikonleitung ist auf vorhanden. Was mich ein bisschen stören würde ist die doch recht hohe Anheitzzeit von 1 Minute bei 80W. Der andere Punkt ist die Belüftung, was für jeden natürlich anders empfunden wird. Beim abknipsen von starren Beinchen (zB. Leds) fliegen diese Teile bei mir gerne mal durch die Luft. Möchte nicht wissen, wie sich die Lötstation verhält, wenn diese Teile mal durchs Gitter huschen ^^

Für den Preis aber defentiv zum Empfehlen. Für 4-5 von denen bekomme ich gerade mal meine :(
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 10, 2013, 06:26 pm
Gut das Du das erwähnst mit dem Abknipsen, das ist bei mir nicht anders. Aber ich habe mich auch noch nicht entschieden, ich warte einmal ab was mei Westfalia drinn ist und werde mal zu meinem Kumpel nach Wuppertal fahren, der betreibt da ein Elektronik Geschäft, WE Elektronik. Der war früher mit mir bei der Bundesbahn beschäftigt, bis wir uns jeder für sich selbständig gemacht haben. Mal sehen was der für mich eventuel für Kondizionen hat. Die Anzeige ist für mich auch nicht so wichtig, wenn mir das Gerät durch ein Läpchen zeigt das die Temperatur erreicht ist , das reicht mir.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 10, 2013, 06:45 pm
Und um noch einmal auf deine Frage von ganz oben zurückzukommen. Elektrolötkoben ist eher für die Mülltonne gedacht, oder für ganz kleine Korrekturen.

Alternativ stehen noch Gaslötkolben für Aussenbereich zur Verfügung. Hab da einen von ERSA für kleineres Geld.
http://www.conrad.de/ce/de/product/824280/Dremel-Gasloetkolben-VersaTip-Dremel-2000-6-F0132000JA-Leistung-12-ghBetriebsdauer-kleinstegroesste-Einstellung-904

Eine Lötstation oder einen normalen Lötkolben ohne Station konnte dieser nie ersetzen. Man muss immer mit dem Temperaturaustritt aufpassen beim löten. Den gerade da wird es ab und zu mal fummelig. Ich nutze ihn aber auch eher weniger zum löten selber. Hat halt ein breitgefächertes Anwendungsgebiet bis hin zum Fluppen anstecken.
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 10, 2013, 06:59 pm

Die Temperaturanzeige auf der Lötstation würde ich nicht missen wollen. Wenn ich auf einem MoBo Elkos tausche und 4 Layer miterhitzen muß, dann lege ich immer noch ne Schippe drauf. statt 180°c wie sonst, stelle ich dann 320°c ein.
Das Design sollte sich prinzipiell verkleinern lassen. TEFLON als Griff kann 400°C ab. Und als Wärmeisolation dann Mineralwolle, Glasseide oder Schaumglas. Nur wer soll das bezahlen?  :smiley-eek-blue:
Gruß Gerald

1) es hat keinen Sinn Wärmeresistenten Kunststoff zu verwenden da dieser ja nicht heißer als ca 35°C werden darf. Ansonsten Hälst Du ihn nicht in der Hand.
2) 180 °C Lötkolbentemperatur für Sn-Pb-Lot ist entschieden zu wenig. Du mußt mindestens 100° über der Schmelztemperatur haben damit Du anständige Lötverbindungen zusammenbekommst.  Bei einem zu kalten Lötkolben mußt Du den Lötpunkt zu lange erwärmen und somit mehr erhitzen als wenn Du mit einem heißeren Lötkolben arbeitest.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 10, 2013, 07:06 pm
ups, klar muß es 280° heißen  :)
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 10, 2013, 08:03 pm
ok , an einen Fehler hatte ich gar nicht gedacht  ;) ;)
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 13, 2013, 12:53 am
Mal so ne Frage in den Raum geworfen, hat wer bereits ein Breakout für den WS2812B gefunden?

Ich würde gerne die WS2812B auch einzeln stecken auf dem Breadboard. Stelle mir da vor, dass die Platine 3*2,54mm x 6x2,54mm groß ist.

(https://dlnmh9ip6v2uc.cloudfront.net/assets/b/8/1/7/2/51f18b71ce395f3b20000002.png) Das wäre ein Beispiel für den WS2811. Jedoch möchte ich keine Anschraubmöglichkeit haben. (möglichst kleine Platine in der Breite).

Wenn ihr auch nichts findet, bin ich am überlegen, doch einmal bei Fritzing zu bestellen.

Hier einmal eine schnelle Zeichnung mit Fritzing. Maße sind noch nicht überprüft mit dem WS2812B Chip. Preis liegt nur für das PCB < 1EUR. Wäre aber dankbar, wenn jemand eine Bezugsquelle für diese Teile hätte. WS2812B und Kerko müssen nicht enthalten sein. Eher sogar besser ohne WS2812B, da dieser Teils in DE recht teuer ist.
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 13, 2013, 11:02 am
Wiso müssen es starre Platinen sein? wieso nimmst Du nicht einen LED-Strip und schneidest den auseinander?
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 13, 2013, 01:37 pm
Die sollen zu meiner Prototyp Bastelkiste hinzukommen. Sprich Breadboard geeignet.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 13, 2013, 03:48 pm
Hallo zusammen,

ich hätte auch Interesse an solchen kleinen Platinen für die WS2812B , schade ich weis nicht wie das geht mit dem bestellen bei fritzing.Ich komme nicht damit zurecht wenn ich mir eine kleine Schaltung mit Fritzing erstelle und ich gehe unten auf den Preis, dan habe ich immer Angaben für eine Platine von 50 bis 70 €. Das ist es mir nicht wert :smiley-yell:

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 13, 2013, 04:48 pm
Das mit den 50-70€ kommt bei mir immer, wenn es Richtung Arduino Shield größe geht. Was hier natürlich nicht der Fall ist. Ansich sind die 86Cent in Ordnung als Endpreis. Kommen aber noch 4€ + Versand dazu. Leider gibt es keinen Mengenrabatt bei größeren Abnahmen. Der Preis bleibt. Werde nachher mal schaun, ob man auch angeritzte Platinen erstellen kann. Die passend gebrochen werden können. Könnte dann vielleicht günstiger werden.

Ich werd mir die Tage erst einmal die passenden Sachen für den Laserdrucker zum ätzen besorgen und das Layout testen. Zum durchnieten der Vias habe ich nichts da. Werde da einfach nen Kupferdraht durchstecken, muss reichen für den reinen Funktionstest.

Mit der Größe der Platine bin ich ansonsten bereits zufrieden. Ist nicht zu lang. Bisschen werde ich noch die Verbindungen bearbeiten. Evtl. auch Copperfill auf der Rückseite machen.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 13, 2013, 05:00 pm
hi,

zwei sachen, die ich nicht verstehe:

warum muß die platine zweiseitig sein?
und wenn Du ohnehin selbst platinen ätzen kannst, wieso muß es dann von fritzing sein?

gruß stefan
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 13, 2013, 05:06 pm
Ja die Größe der platine ist schon OK so, wenn Du alles gestestet hast und es in Ordnung geht das Du welche bestellst, sage mir Bescheit ich hätte da auch Interessen dran.  So ich habe mir bei Westfalia eine löstation bestellt, kann ich Montag oder Dienstag abholen und zwar die Weller Lötstation PU 81  sollte 265 € kosten habe sie dan auf 220 € drücken können, die sind ganz in Ordnung bei Westfalia, da habe ich schon viele Schnäppchen gemacht. Ach ja ich habe die Dezimal Uhr fertig soweit läuft auch super, jetzt möchte ich nur noch eine Routiene einbauen das wenn ich die Uhrzeit eingebe oder sie mir über Time hole die Uhr dann die kompletten gebrauchten CHips schaltet. Bis her läuft die Uhr einwand frei nur wenn ich sie anschalte dann stellt sie sich zwar mit den einzelnen Chips auf die Uhrzeit ein nur die Chips die schon vorher geschaltet wahren sagen wie einmal bei stunde 5 minute 15  da stellt sich der einzelne Chif auf hell aber die Stunde 4und davor die sind aus, die gehen erst an wenn wieder von vorne gezählt wird. Aber das bekomme ich schon hin über for schleihen beim Stellen.


l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 13, 2013, 05:44 pm
ganz blöde Idee... wenn`s nur für Testaufbauten ein Breakout Board mit dem WS2812B sein soll, dann nimm doch eins mit dem WS2811 und föhne den runter  :D
Mit ein bisschen Übung an einer Schrottplatine ist das recht easy. 5mm Edelstahldüse, 400°C eingestellt, die Heißluft nicht direkt aufs Bauteil, sondern mit kreisenden bewegungen drumherum und mit der anderen Hand und einem Uhrmacher Schraubendreher das Bauteil anschubsen, damit du mitbekommst, wann das Zinn fülssig ist.
Ich habe so schon FLASH-Chips rausgeföhnt neu geproggt und (mit Sockel) wieder eingelötet.
Wenn die Bestückungsdichte mit "Vogelfutter" sehr hoch ist, dann ein Blatt Küchenrolle naß machen zur wurst zusammendrehen, leicht auswringen, das es nichtmehr tropft und als schützenden Wall um das auszulötende Bauteil legen. Ist zwar nicht so ganz Datenblatt konform, funktioniert aber ganz hervorragend  8)

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 13, 2013, 06:11 pm
Hallo Gerald

Mir geht es nicht nur um einen Testaufbau, ich habe mir vier Strips der WS2812B geholt mit je 144 Chips, die sind echt klasse wenn ich sie als Strecke zusammen habe und programiere. Aber ich hatte mir eine Uhr aus LED`s gebaut und wollte mit den einzel Chips die Zeiger verlängern. Das gat auch , da ich 12 Chips brauchte bei 9 Stück gut geklappt mit dem verdrahten und verlöten. aber bei den letzten 3 bin ich schier verzweifelt, da die Chips ja auf folie mit Lötaugen sind und wenn man sie abtrennt sie dann nur noch halbe Lötaugen haben ausserdem ganz schlecht beim löten das Zinn annehme und wenn man einen auchblick zu lange mit dem Kolben dran ist die Folie weichwird u.s.w. habe ich mal erst Schluß gemacht mit dem Loten 3 Chips verbaten, naja das ist ja nicht Tragisch. Jetzt habe ich mir eine Lötastation bestellt und werde dann mal sehen ob es damit besser klappt. Nur es wäre schon schön wenn man die Chips Nackt auf einer festen Platine hätte, die Chips die Du benennst WS2811 da habe ich noch 40 Stck von, gibt es den fafür fertige Platinen zu kaufen , das wäre schön .Den die WS2811 haben 6 Anschlüsse wovon nur 5 gebraucht werden und die anderen haben nur noch 4 Anschlüsse.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 13, 2013, 06:52 pm
Hallo Jürgen,

ich hatte den Tröt nur überflogen, als ich vom WE rein kam. Die abgelichteten Breakout Boards hat ja sschultewolter. Da hatte ich die Idee, wenn die einen da sind und die anderen fehlen, die einfach umzulöten. Aber mit nichts, außer einer Handvoll Heimaterde, ist das natürlich nicht machbar.
Mich juckt es ja auch in den Fingern, mir von den 144'er Streifen welche zu ordern. Aber ich habe so viel Pläne, bestelltes Zeugs und einerseits Zeitmangel und andererseits Probleme mit dem Coden, so das ich (schweren Herzens) erst mal noch nicht bestelle.
Momentan schage ich mich mit dem Programmieren des 328'er's über die ISP Schnittstelle rum  :smiley-yell:
Habe mir aus Chinaland einen USBasp Clon bestellt. Der soll unter Windows 7 64 Bit seinen Dienst tun.
Den Treiber hat das System jetzt gefressen. Nur will er nichts von einem Chip wissen. Weder in der IDE, noch mit der SW eXtremeburner. Momentan weiß ich nicht, ist es ein Treiberproblem, ist der USBasp Clon Müll, oder habe ich auf der Lochrasterplatte einen Fehler gemacht - what ever...
Nun werde ich systematisch rangehen und fehlerquellen ausmerzen. Ich habe noch einem GALEP4 (Parallelportprogrammer für so ziemlich alles). Wenn's damit funzt, dann ist der Chip i.o. dann mit einem alten PC mit Windows 2000, dann nochmal auf einem Breadboard usw.
Ist halt alles nur ziemlich zeitintensiv und frustrierend, wenn es nicht so will, wie man selber.

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 13, 2013, 06:54 pm

Die sollen zu meiner Prototyp Bastelkiste hinzukommen. Sprich Breadboard geeignet.

http://www.watterott.com/de/WS2812-Breakout?xf65d6=9736c08967de3f05c3b70a057379060f kennst Du schon? Die sind zwar WS2812 und nicht WS2812B aber das ist für die Ansteuerung egal.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 13, 2013, 07:34 pm
Ja Gerald ich kenne das, ich bin erst mit dem basten vor gut eine dreiviertel Jahr angefangen. Bei mir hapert es meisten bei dem Elektronik verständniss, das Programmieren für die Codes habe ich nicht so große Scxhwierigkeiten mit. Was ich nicht verstehe z.B. ist die Chips der WS2812B verbrauchen einzelnd 60 mA  und meine Dezimal Uhr besteht an stück aus 38 Chips X 60 mA == 2280mA ich betreibe die Dezimal Uhr über den Uno der die 2280mA ja nicht liefern kann. Und als ich alles verlötet hatte und den Stripauf Plexi gehlebt hatte wollte ich Ihn auch mal Leuchten sehen und habe mir von Stefan (sschultewolter) den Sketsch Regenboge runter Kopiert und ich sage Dir der Leichtet in seinen 38 Chips so Fantastisch obwohl es doch mit dem Uno garnicht gehen dürfte , da steige ich dann nicht so schnell hinter, warum es doch geht. Die dezimal Uhr läuft auch mit dem UNO nur wenn die die Stunden Leuchten erreicht gehen in den Minuten Leuchten lichter aus, was nicht passiert wenn ich zusätzlich den Strip mit 5V 3A NT betreibe.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Oct 13, 2013, 08:41 pm
Hallo Jürgen,

Netzteile sollten nie zu knapp dimensioniert sein, denn sonst passieren allerlei "komische Dinge". Bestenfalls tut die Schaltung sporadisch nicht was sie soll, schlimmstenfalls knallt und stinkt es  :)
Wobei heutzutage Netzteile fast nichts mehr kosten. Und wenn es etwas mehr Strom sein soll, dann kann man auch ein PC-Netzteil mittels Überbrücken zweier Kontakte des ATX-Steckers zur Zusammenarbeit überreden. Ich kenne noch eine Zeit, wo eine Quarzuhr aus 74'er TTL-Zählern aufgebaut wurde und bei 5V mal eben 3A schluckte und man mittels "zu Fuß" aufgebauten Längsreglers versorgen mußte. Bei einem Kurzschluß war der Leistungstransistor schneller, als eine Sicherung und wenn man Pech hatte, dann starben noch ein paar IC's an Überspannung. Da kostete ein IC im Verhältnis in etwa soviel, wie eine ganze Arduinoplatine  :smiley-eek:

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: eberduino on Oct 13, 2013, 09:30 pm
Hier ist noch ein Breakout-Board:

https://www.tindie.com/products/EmbeddedArea/ws2812-rgb-led-breakout/ (https://www.tindie.com/products/EmbeddedArea/ws2812-rgb-led-breakout/)  Der Preis ist sehr anspruchsvoll :).

Gruß Eberhard
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 13, 2013, 09:49 pm
Da sind die ich vorgeschlagen habe aber billiger (Preis für 5 Stück)
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 13, 2013, 10:30 pm
So, bin wieder da. Fange mal an.
@eberduiono: Die Breakouts habe ich auch über Google Bilder Suche gefunden, aber defentiv dafür zu teuer.

@Uwe: Nein, die kannte ich noch nicht. Die wären ansich bereits schon sehr gut, zumal wenn ichs richtig sehe, auch bereits die RGB Leds verbaut sind. 1,70€ ist als Preis human für die Teile.

@Gerald: Heißluftfön wäre da, WS2811 auslöten geht aber auch problemlos ohne.

@Stefan: Habe wenig Lust, die Platinen, sagen wir mal 10 Stk davon anzufertigen. Das Bohren und Schneiden per Hand, Lötstoplack hätte ich keinen daheim. Bis 1€ würde ich bei so einer Platine garnicht erst daran denken, selber zu machen.

@Jürgen: Mit der Weller PU81 machste nichts falsch. Preis ist mehr als in Ordnung. Habe ja die gleiche. Hat damals aber > 300 gekostet. Habe aber einen anderen Lötkolben an der Station von Weller.
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 13, 2013, 11:04 pm
Stefan, ich denke ich werde auch einen anderen Lötkolben brauchen, im Katalog sah der noch dicker aus als mein Handlötgerät. Was konntest Du den empfehlen, wenn ich Dich fragen kann, ich suche etwas mit einer dünnen Spitze , da ich davon überhaupt keine Ahnung habe , frage ich lieber hier als wieder was Falsch zu machen. Es sollte sich schon lohnen, das teil. Ich habe es jetzt auch raus gefunden um einen kleineren Preis bei Fritzing zu sehen, ich muste die Platine nur verkleinern, also manchesmal glaube ich man wird im Alter nicht Weiser, sondern man denkt nur anders *lach
ich habe noch ca. 40 von den WS2812 also die mit den 6 lötstellen wo nur 5 von gebraucht werden, wenn das die WS2812 sind. dafür mochte ich gerne so kleine Platinen haben, weil das sind nur die Chips ohne der Folie drunter. Weist Du vielleicht ob es da was fertiges gibt, sonst mache ich die in Fritzing und bestelle mir dafür welche. Wenn die unter 1,50€ liegen würde ich die einfach bestellen, den selber äzen finde ich Äzent :) da ich das nicht kan oder vielmehr noch nie gemacht habe.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Oct 13, 2013, 11:32 pm
hi,

Quote
@Stefan: Habe wenig Lust, die Platinen, sagen wir mal 10 Stk davon anzufertigen. Das Bohren und Schneiden per Hand, Lötstoplack hätte ich keinen daheim. Bis 1€ würde ich bei so einer Platine garnicht erst daran denken, selber zu machen.


achso, da sind wir einfach verschieden. mir macht das am meisten spaß.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 13, 2013, 11:42 pm
@Jürgen: Planen tue ich die Platte für die B-Variante. Kann diese vllt auch an den normalen anpassen. Hab die gerade noch etwas angepasst.

Wegen deinem Lötkolben, kann ich dir das nicht 100% sagen. Wie auf dem Bild zu sehen, habe ich da den Antistatic Lötkolben von Weller im Einsatz. Der hat vorne (vorm Plastik) eine Kontermutter. Wenn ich den löse, kann ich die komplette Hülse abnehmen. Dann kann ich die Lötspitze vorhe einfach herausziehen und gegen eine andere tauschen. Ich denke, das gleiche ist bei deiner die schwarze Kunstoffrändelmutter. Frag bei deiner Westfalia nach, ob die auch im Set weitere Lötspitzen anbieten. Ich habe bei meinen Lötkolben damals keine dabei bekommen (der Lötkolben war im Gegensatz zur Station gebraucht). Die Lötkolbenhalterung hat aber Löcher für weitere Lötspitzen zur Lagerung. Auf dem Bild bei Conrad von der PU81 ist die Lötspitze echt sehr dick ;) Meine ist da einiges schmaler.

P.S.: Meine Lötspitze muss keiner sehen. Die ist eigentlich schon seit 1 Jahr optisch defekt. Habe ein paar Stellen (oberhalb der Spitze) die kein Zinn mehr annehmen. Sind nur schwarz.

@Stefan: Ne, sowas liegt mir nicht. Ich habe lieber bei solchen Kleinteilen "ordentliche" Platinen. Die Platine für meine Projekte kommen auf selbst erstellten Platinen (Mini Pro sowie Steckleisten für die Erweiterungen und Spannungsversorgung).

@Uwe (Nachtrag):Habe bei den normalen WS2812er Strips (60Leds/m) nach jeder LED abgeschnitten und die Printstecker angelötet. Das RM Maß ist kleiner von den Strips, geht bei 3 Printsteckern so gerade noch mit Lötzinn. Für die WS2812 geht das nicht. Die Fläche der Lötaugen ist zu gering, um Halt zu garantieren. Sind halt immer nur halbe Lötpads. Für fertig verkabelte sachen, die nicht nach jedem Stück gelötet werden reicht das (Equinox).
Title: Re: testbericht zum WS2812
Post by: uwefed on Oct 14, 2013, 12:02 am
@Jürgen
Der Lötkolben müßte ein Weller LR21 sein. Ca 9 cm vom Ende des Griffs bis zur Spitze. Den hab ich auch nachdem mein LR20 kaputtgegangen ist (nach 20 Jahren ist das Plastik des Griffes gesprungen). 

@sschultewolter
Ok wenn Du pins dranlöten willst dann sind einzelne Elemente eines LEDStrips nicht besonders praktisch.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 14, 2013, 12:09 am
Danke Stefan für die Antwort, dann werde ich mal sehen ob die mir bei Westfalia eine dünne Lötspitze von Weller besorgen konnen, Bei meiner Station ist ja der Lötkolben bei, aber die Spitze kan mir so dick vor, villeicht irre ich mich ja, mal sehen wie e ist Morgen oder Dienstag. Wegen der Platinen, die werde ich mir dann selber erstellen, ich habe vorhin mit Fritzing gespielt, wenn ich das so hinbekomme wie beim Sielen und diese dann auch so bestellen kann käme ich bei einer Platine auf knapp über 70 cent.
Das müsste eigentlich gehen, ich habe ja das Bauteil von Fritzing den Chip mit den 6 anschlüssen und wenn ich den auf die Leiterplatte bringe und die Leiterplatte so verkleiner das ich noch den Rand für die Lötpads habe liege ich unter 1cm im Quadrat das wäre für meine Chips schon ideal. Dann könnte ich diese mit Lotpaste in meinem kleinen Backofen  :) löten .
l.G.Jürgen

Title: Re: testbericht zum WS2812
Post by: sschultewolter on Oct 14, 2013, 12:22 am
@Uwe: Glückwunsch zu 20 Jahren ;) Ich hoffe doch, das meine mindestens gleichlange hält. Hat nun 8? Jahre auf den Buckel. Nur eine neue Spitze wird es demnächst geben. Kann man keinen zeigen. Bei dem Ersa hatte ich ich immer Probleme mit den Lötspitzen. Mir ist bereits eine feine Spitze abgebrochen. Die nachbestelle Spitze habe ich nun auch soweit, dass die einen Haarriss hat ;)
Title: Re: testbericht zum WS2812
Post by: malerlein on Oct 14, 2013, 06:05 am
Danke Uwe und Guten Morgen

Jetzt weis ich wenigstens nach was ich fragen muss wegen der Lötspitze. Ich denke einmal das die mir so eine besorgen können oder eventuell sogar in Ihrem Lager haben.

l.G.Jürgen
Title: Re: testbericht zum WS2812
Post by: carl125 on Nov 19, 2013, 07:06 am
Vor ein paar Tagen habe ich meine LED-Stripes bekommen, bestückt mit den
WS2812-LEDs (http://www.ledlightinghut.com/144-led-m-ws2812-digital-intelligent-rgb-led-strip-light.html). Ich habe mich daraufhin am Wochenende mal aufgerafft eine
AVR-Routine zur Ansteuerung zu schreiben, die möglichst exakt die
Vorgaben des Datenblatts einhält und dennoch flexibel ist.
Title: Re: testbericht zum WS2812
Post by: uwefed on Nov 19, 2013, 07:42 am
Quote
Ich habe mich daraufhin am Wochenende mal aufgerafft eine AVR-Routine zur Ansteuerung zu schreiben, die möglichst exakt die Vorgaben des Datenblatts einhält und dennoch flexibel ist.

Kannst Du Assembler programmieren?
Ansonsten nimm die FastSPI Bibliothek
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 02, 2014, 10:32 pm
Guten Abend.

Ich hätte da mal kurz eine Frage, die sich auch um die WS2812B dreht.
Und zwar hatte ich mir vor kurzem einen derartigen Streifen mit WS2812B gekauft (5V,DI,GND only) der sich, wie sich erst im nachhinein herausstellte nicht mit dem Raspberry Pi als Ambilight nutzen lässt, weil zu timing-kritisch.

Jetzt versuche ich bereits jemanden zu finden der gewillt wäre den WS2812B Strip gegen den WS2801 zu tauschen, der wunderbar mit
dem Pi zusammenarbeiten soll, bisher ohne Erfolg, also denke ich das ich mir zusätzlich nochmal ein Strip WS2801 kaufen muss.

Naja aber nun zum eigentlichen Punkt, ich will versuchen den WS2812B als alternative Innenraumbeleuchtung oder Moodlight einzusetzen, und dafür soll wohl ein Arduino unabdingbar bzw. am günstigsten sein.

Nun habe ich schon ein bisschen bei Conrad und co. herumgeguckt und bin dabei auf Preise für einen Uno von 25-30€ gestoßen.
Ich habe dann auf Ebay weitergeguckt in der Hoffnung günstiger dranzukommen, und die Angebote aus Fernost ausgelassen und bin dabei auf zwei Kandidaten gestoßen.

Arduino Nano V3 für 15€ samt USB-Kabel, sowie den Arduino Uno R3 samt USB-Kabel.

Beide wie gesagt für einen Gesamtpreis von 15€ mit Versand, und als Leihe schauen die beiden auch relativ baugleich zu sein, bis auf den kleineren Formfaktor, gibt es etwas was der Uno kann das nicht auf dem Nano V3 zu realisieren ist?
Ich würde den hauptsächlich für den Strip nutzen wollen um zeitgesteuerte farbwechsel des RGB-Strips hinzukriegen, später eventuell ein paar Relais-Sachen um das ein oder andere ein/aus-zuschalten wobei ich dort auch auf den Pi zurückgreifen könnte.


Ich danke schon mal herzlichst für eure Hilfe!
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 02, 2014, 10:44 pm
Was du vor hast, kannst du eigentlich mit jedem Arduino bewerkstelligen. Du solltest aber darauf achten, dass es sich um die 5V/16MHz Variante handelt, denn mit 3,3V/8MHz bekommste die  Leds nicht ohne Zusatzhardware am laufen.

Wenn du zwischen dem Nano und Uno nur die Wahl hast, nehm den Nano. Ansonsten würde ich von der Bauform eher zu einem Pro Mini greifen, der liegt ohne Versand bei etwa 10€, hier wird aber ein FTDI Breakout benötigt.
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 02, 2014, 11:09 pm
Danke für die schnelle Antwort :)
Ich denke das müsste es sollte die 16Mhz-Version vom Nano sein, ich verlinke es einfach mal kurz:
http://www.ebay.de/itm/Nano-V3-0-ATmega328P-fur-Bascom-und-Arduino-Projekte-incl-USB-Kabel-/121263734851

Wäre persönlich auch meine erste Wahl gewesen, weil warum zum vergleichweise klobbigen UNO greifen, wenn die wichtigen Pins am Nano genausogroß sind und von den Spezifikation her identisch.

Was ich mich da natürlich Frage ist wie genau der Nano angeschlossen wird, genauer woher er seinen Strom bezieht, laut der Website
entweder über Mini-USB oder 5V+GND Pin, also müsste es doch rein theoretisch möglich sein sowohl den Nano als auch die LED-Strips mit dem gleichen Netzteil zu betreiben, da beide 5V benötigen, richtig?


Nehmt es mir nicht böse wenn ich doppelt und dreifach frage, will nicht noch einen Fehlkauf auf der Kappe haben ;)
Title: Re: testbericht zum WS2812
Post by: uwefed on Feb 02, 2014, 11:35 pm

Nun habe ich schon ein bisschen bei Conrad und co. herumgeguckt und bin dabei auf Preise für einen Uno von 25-30€ gestoßen.
Ich habe dann auf Ebay weitergeguckt in der Hoffnung günstiger dranzukommen, und die Angebote aus Fernost ausgelassen und bin dabei auf zwei Kandidaten gestoßen.

Arduino Nano V3 für 15€ samt USB-Kabel, sowie den Arduino Uno R3 samt USB-Kabel.

Beide wie gesagt für einen Gesamtpreis von 15€ mit Versand, und als Leihe schauen die beiden auch relativ baugleich zu sein, bis auf den kleineren Formfaktor, gibt es etwas was der Uno kann das nicht auf dem Nano V3 zu realisieren ist?
Ich würde den hauptsächlich für den Strip nutzen wollen um zeitgesteuerte farbwechsel des RGB-Strips hinzukriegen, später eventuell ein paar Relais-Sachen um das ein oder andere ein/aus-zuschalten wobei ich dort auch auf den Pi zurückgreifen könnte.

Das sind beide Fälschungen (Nichtarduino die als Orginal-Arduino verkauft werden) Orginal-Arduino UNO R3 kosten um die 26 € und der Arduino NANO auch ähnlich (weiß es nicht auswendig)

Arduino UNO und Arduino Nano sind ähnlich (elektrisch gesehen). Der Unteschied ist der USB- Serial Adapter den sie verwenden. Die beiden verschiedenen USB- Serial Adapter sind funktionell gesehen für die meisten Anwendungen gleich. 
Billigere Arduino sind der Arduino MINI oder MINI PRO oder der Nachbau Wattuino PRO MINI. Alle sind ohne USB- Serial Adapter. Zum Übertragen des Programms brauchst Du dann entweder einen USB- Serial Adapter oder einen ISP-Programmierer.

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 02, 2014, 11:37 pm
hi,

frag nur, hier ist keiner böse.

klar kannst Du beides am gleichen netzteil betreiben, nur nicht VCC oder GND "über" den arduino auf den strip ziehen.

und pass mit den 2812ern auf, die sind empfindlich bei statischer aufladung Deinerseits.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 03, 2014, 12:05 am
Jetzt bin ich etwas verwirrt, was soll heißen das ich ein USB-Seriell Adapter benötige um das jeweilige Programm rüberzuschieben?
Dachte das würde normal über USB vonstatten gehen? Ich vermute mal du beziehst dich auf Mini& Mini Pro?

Ich frag mal anders, was würde ich noch zusätzlich benötigen wenn ich mir den zuvor verlinkten Nano V3 bestellen würde?
Außer Geduld mich in die Materie einzuarbeiten ein Kabel, LED-Strip und 5V10Amp-Trafo?


Bin ein absoluter Neuling auf dem Gebiet deswegen  :)
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 03, 2014, 12:16 am
Für den Nano brauchst du genauso wie den Uno nur das USB Kabel. Für den Mini Pro brauchst du dieses zB. Teil http://arduino.cc/en/Main/USBSerial
Title: Re: testbericht zum WS2812
Post by: malerlein on Feb 03, 2014, 12:28 am

hi,

frag nur, hier ist keiner böse.

klar kannst Du beides am gleichen netzteil betreiben, nur nicht VCC oder GND "über" den arduino auf den strip ziehen.

und pass mit den 2812ern auf, die sind empfindlich bei statischer aufladung Deinerseits.

gruß stefan


Jetzt habe ich das schn 2x von Dir gelesen, das verwirrt mich ein wenig. Ich hantiere jetzt schon eine geraume Zeit mit den ws2812b strips , den losen und die auf einzel Platine und ich muss echt zuheben ich bin beim Basteln ein Rappel  :)  aber durch Statische ent oder Aufladung ist mir bis jetzt noch kein Chip kaputt gegangen und ich gehe mit den Chips bestimmt nicht so vorsichtig um . Ich habe die Strips schon im Betrieb nachgelötet ohne das was kaputt ging. Deshalb kann ich das wirklich nicht bestätigen, das soll nicht heissen das jetzt jeder so verfahren soll wie ich aber ich hatte echt noch keine Probleme mit Statischer aufladung.
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 03, 2014, 12:37 am
Danke!
Das hatte ich mir schon fast gedacht, nachdem ich geguckt habe wofür der gegenüber zum Mini-Pro fehlende FTDI-Chip des Nano's zuständig ist (RS232-USB)

Also würde der genannte Nano vollkommen für mein vorhaben reichen oder vergess ich irgendwas was ich eventuell noch benötigen würde?
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2014, 01:10 am
hi, malerlein,

wir hattens schon 2,3mal im forum, daß die jeweils erste led kaputt wurde und jemand hat dann gemeint, ihm wäre das einige male passiert, bis er sich vor dem hantieren geerdet hat. mir ist es auch noch nicht passiert, aber wir beide sind wohl schon zu vertrocknet, um uns aufzuladen...

gruß stefan
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 03, 2014, 05:28 am
Mal eine andere Frage bzw. Idee die mir gerade durch den Kopf ging...

Soweit ich weiß setzt das Adalight-Projekt auf ein Arduino-Uno als Basis, was ich allerdings nie wirklich verstanden habe ist wo der Arduino die Daten abgreift?
Ich vermute mal das der Arduino im Adalight-Fall konstant per USB mit dem PC verbunden ist und dort seine Werte herbekommt.

Wäre es so nicht möglich meine bestehenden LED-Streifen(WS2812) zu nutzen anstatt sich WS2801 zu besorgen?

Folgendes müsste doch eigentlich funktionieren oder reicht die Rechenleistung dafür nicht aus? :


WS2812 --> Arduino Nano --USB--> Raspberry Pi (Abspielgerät)--HMDI-> TV


Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2014, 08:24 am
hi,

es gibt da verschiedene ansätze. was Du meinst, einen computer (PC oder PI) als abspielgerät zu verwenden, wurde schon oft gemacht, ist aber unflexibel. das gleiche gilt für dreamboxen (obwohl ich eine DM8000 hab, überleg da schon länger...).

am besten ist es, das signal aus dem HDMI-signal zu holen, dann ist egal, woher das bild kommt. hier gab's mal einen thread drüber:
http://forum.arduino.cc/index.php?topic=201134.0 (http://forum.arduino.cc/index.php?topic=201134.0)

dort wird auch ein pi verwendet, aber nicht als abspielgerät, sondern zur signalauswertung.
fertige lösung gibt es von georg kaindl (ich glaube, so hieß er, ist auf jeden fall im thread zu finden). vielleicht kennst Du das ja schon, wenn Du von 2801 sprichst. im obigen thread findest Du hinweise zur umsetzung auf 2812. auch bei kaindl hat sich jemand dran versucht.

gruß stefan
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 03, 2014, 02:26 pm


hi,

frag nur, hier ist keiner böse.

klar kannst Du beides am gleichen netzteil betreiben, nur nicht VCC oder GND "über" den arduino auf den strip ziehen.

und pass mit den 2812ern auf, die sind empfindlich bei statischer aufladung Deinerseits.

gruß stefan


Jetzt habe ich das schn 2x von Dir gelesen, das verwirrt mich ein wenig. Ich hantiere jetzt schon eine geraume Zeit mit den ws2812b strips , den losen und die auf einzel Platine und ich muss echt zuheben ich bin beim Basteln ein Rappel  :)  aber durch Statische ent oder Aufladung ist mir bis jetzt noch kein Chip kaputt gegangen und ich gehe mit den Chips bestimmt nicht so vorsichtig um . Ich habe die Strips schon im Betrieb nachgelötet ohne das was kaputt ging. Deshalb kann ich das wirklich nicht bestätigen, das soll nicht heissen das jetzt jeder so verfahren soll wie ich aber ich hatte echt noch keine Probleme mit Statischer aufladung.


Die Probleme hatte ich jedoch schon ein paar Mal, ist aber auch kein großer Akt. Habe die SMD5050 Leds (ca 400Stk) hier ebenfalls rumliegen, wenn ich durch Unachtsamkeit mal den ersten zerschossen hatte ging es mit dem Lötkolben dran und die erste SMD Led wurde ausgelötet und eine neue eingelötet.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 03, 2014, 02:38 pm
hi ssw.

warte ein paar jahre, dann bist Du auch ausgetrocknet und kannst gefahrlos hantieren...

hast Du den eindruck, es wäre durch die aufladung passiert, bzw. ist es nicht passiert, wenn Du Dich vorher geerdet hattest?

gruß stefan
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 03, 2014, 03:28 pm
Das wäre reine Spekulation. Aufladung ist hier schonmal gut möglich, habe ein Teppich unterm Arbeitstisch (Statische Ladungen treten hier auf jedenfall auf, denn ich komm ich mit der Hand zum Heizkörper der dann immer knistert).

Würde aber bzgl. der evtl. Probleme mit Überladungen nicht schlecht von den WS sprechen. Ist eigentlich üblich, dass man, bevor mal elektronische Geräte anfasst, sich entsprechend erdet. Passiert ist mir die ganze Sache 1mal bei dem Equinox Strip und halt bei kleinen Teststreifen (bis 15Leds), mit denen ich aber alles andere als Behutsam umgeh. Bei dem 60er Strip dachte ich erst an einem Totalschaden, aber man konnte einfach mal die DataIn an die nächste LED halten und konnte sehen, das meist nur die eine LED defekt ist, scheinbar "zerfetzt" es hier nur den Daten Ein und Ausgang. Mit 20c Aufwand hab ich den 60er Strip schnell wieder zum laufen gebracht.

Wenn man einigermaßen geschickt mit dem Lötkolben und Entlötlitze/Pumpe umgehen kann, sind ein paar einzelne SMD5050 nicht verkehrt. Falls mal wer ein paar braucht und nicht die unnötig teuren von ebay kaufen möchte, bzw. keine 4 Wochen warten will, kann sich auch per PN bei mir melden. Die Teile passen ja in einem einfachen Briefumschlag ;)
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 09, 2014, 02:04 am
Hallo ich bins nochmal!
Der Arduino Nano ist mittlerweile angekommen, und ich hab auch schon ein paar Testsketches durchlaufen lassen und hab mit dem "Knightrider-Sketch" (rote LED jeweils um eine Stelle verschieben und das selbe zurück) und es sind alle voll funktionstüchtig.

Aber nun zu meinen weiteren Fragen ich las irgendwo das die WS2812B 20mA pro LED benötigen, bezieht sich das auf alle drei angeschalteten(GRB)-Kanäle oder ist das pro Kanal gemeint also 60mA pro LED.
Ich will mir demnächst nämlich ein passendes Netzteil kaufen und das würde dort schon ein erheblichen Unterschied machen (7,2A im Vergleich zu, 2,4A bei 120LEDs)

Sofern letzteres der Fall wäre, was wäre von diesem NT zu halten:

https://secure.reichelt.de/SNT-RS-15-5/3/index.html?&ACTION=3&LA=446&ARTICLE=137080

Sollte doch sofern meine vorherige Rechnung zutrifft ausreichend für die LEDs sein?


Und die nächste Frage, gibts hier irgendwo einen Thread (von mir aus auch im englischen Forum) der sich mit dem nutzen von
den WS2812B Streifen mit Adalight beschäftigt, würde das ganze Projekt in nicht allzuferner Zeit fertigzustellen wollen :)


Liebe Grüße!
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 09, 2014, 04:18 am
Je SMD Element sind das die 3 Farbkanäle mit je 20mA. Somit haste dann 60mA pro SMD Element. Die 60mA fließen aber nur wenn du die Farbe weiß wiedergeben willst (rot = volle Helligkeit, grün = volle Helligkeit, blau = volle Helligkeit).

Das Netzteil ist von der Bauform in Ordnung. Aber nicht leistungsstark genug im maxFall. Zumindest sind hier mal Kunstoffkappen an den Anschlüssen der Netzspannung (im Vergleich zu den Chinesen. Das kein Wasserschutz vorhanden ist, sollte dir aber zu bedenken geben. Wenn du mit Adalight Ambilight meist, dann wirst du die Led Streifen zurechtschneiden müssen. Dann kannst du besser jeweils 30 Leds oder 40 Leds immer an ein neues Steckernetzteil hängen. z.B. sowas
http://www.ebay.de/itm/Netzteil-5V-2-5A-Steckernetzteil-D-Link-/221366439488

Erster Strip 5V(NT1) DIN (Arduino) GND (NT1 + Arduino)
Zweiter Strip 5V(NT2) DIN(DOUT Strip1 GND(NT2 + GND NT1)
...
Title: Re: testbericht zum WS2812
Post by: J3RE on Feb 09, 2014, 04:22 am
Hallo Carsten.
Jeder Kanal benötigt max. 20mA, somit 60mA pro LED.
Bei 120 LEDs sind das 36W, dafür brauchst du ein stärkeres Netzteil.

z.B: http://www.reichelt.de/SNT-RS-50-5/3/index.html?&ACTION=3&LA=446&ARTICLE=137094&artnr=SNT+RS+50+5&SEARCH=5V++10A+netzteil (http://www.reichelt.de/SNT-RS-50-5/3/index.html?&ACTION=3&LA=446&ARTICLE=137094&artnr=SNT+RS+50+5&SEARCH=5V++10A+netzteil)

Grüße J3RE
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 09, 2014, 04:38 am
Danke, hatte ich mir schon fast gedacht, macht also ein ziemlichen Unterschied  ]:D

Schade das das 10A Modell bei reichelt.de ausverkauft ist, das wäre wohl auch meine erste Wahl gewesen.
Muss es dann wohl von hier beziehen, ist dann halt ein Euro teurer: http://www.ebay.de/itm/Schaltnetzteil-case-Meanwell-RS-50-5-5V-10A-/360731097468

Oder gibts das NT bei einem anderen namenhaften Onlineversender?

@sschultewolter

Ich seh das mit der nicht vorhandenen Wasserdichte nicht so wild, so oft regnets hier drin nicht, und dort wo es stehen wird, besteht auch eigentlich keine Gefahr ein glas Wasser zu verschütten(TV per Vesa-Mount befestigt Arduino+NT sollte dahinter platz finden.



Besten Dank noch!
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 09, 2014, 04:42 am
J3RE und Carsten, bei den NTs müsst ihr aufpassen! Hier liegen die Anschlussklemmen für Netzspannung 230V offen. Da muss nur die Frau mal eben mitte Finger drankommen! Die Teile haben an den Seiten so wie ich das sehe Öffnung zur Montage. Bau dir da einen gescheiten Rahmen drum, am besten eine komplett geschlossene Box, die nur beim Mesh offen ist,.
Title: Re: testbericht zum WS2812
Post by: CarstenW on Feb 09, 2014, 04:52 am
Das werde ich wohl machen, und zur Sicherheit  den Input nochmal mit Heißkleber drüber.
Die wahrscheinlichkeit das was passiert ist zwar gering, aber das Risiko will ich dann nicht eingehen wollen.

Schätze ich werde mal schauen ob Conrad PVC-Boxen in der Größe vorrätig hat :)


Hoffe ja das das ganze noch klappt, dieser Forumseintrag hört sich nicht allzu optimistisch an, weiß jemand mehr?

https://www.adafruit.com/forums/viewtopic.php?f=47&p=202663

Ich habe das dumpfe gefühl das ich am Ende auch mit dem Arduino nicht das gewünschte Ambilight zu Stande kriegen (zumindest mit dem Nano :( )

Schätze am Ende wirds doch noch so weit kommen, das ich die WS2801-Streifen kaufen muss....


PS. Beim Test heute habe ich nebenbei die Masse nicht auch am Arduino angesteckt (nicht genug female-female jumper gehabt :D)
Und konnte kein flackern bemerken :)



Schöne Grüße
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on Feb 09, 2014, 10:58 am
Guck dir mal dieses NT an:
http://www.pollin.de/shop/dt/NTc4ODQ2OTk-/Stromversorgung/Netzgeraete/Festspannungs_Netzgeraete/Hutschienen_Schaltnetzteil_MEANWELL_MDR_60_5_5_V_10_A.html (http://www.pollin.de/shop/dt/NTc4ODQ2OTk-/Stromversorgung/Netzgeraete/Festspannungs_Netzgeraete/Hutschienen_Schaltnetzteil_MEANWELL_MDR_60_5_5_V_10_A.html)
Bzw. so ziemlich jeder Bastler hat doch ein ATX Netzteil aus dem PC rumliegen. Auch das kann man recht easy zur Zusammenarbeit überreden  8)
http://logbuch.dmaertens.de/hardware/pc-netzteil-kurzschliessen (http://logbuch.dmaertens.de/hardware/pc-netzteil-kurzschliessen)
Da muß man nur aufpassen, wieviel die 5V Rail liefern kann (Typenschild)

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Feb 09, 2014, 11:22 am
hi,

Quote
Und die nächste Frage, gibts hier irgendwo einen Thread (von mir aus auch im englischen Forum) der sich mit dem nutzen von den WS2812B Streifen mit Adalight beschäftigt, würde das ganze Projekt in nicht allzuferner Zeit fertigzustellen wollen


hier geht's genau darum:
http://forum.arduino.cc/index.php?topic=201134.0 (http://forum.arduino.cc/index.php?topic=201134.0)

gruß stefan
Title: Re: testbericht zum WS2812
Post by: Raymond75 on May 02, 2014, 06:07 am
ich stehe gerade vor folgendem Problem:

Ich habe an ein SEDU-Board einen WS2812B-Streifen (http://www.lightingnext.com/ws2812-chip-built-in-neopixel-digital-rgb-led-strip.html) angeschlossen und jedes Mal wenn ich den USB-Stecker ziehe, wird der erste Pixel zerstört (der winzige Controller in der LED hat ein Luftbläschen über sich :-/ ).
Weiß jemand woran das liegen könnte?

Ich vermute, es liegt an der Verkabelung des Ganzen: Der Streifen ist sowohl an Ground und +5V des Steckernetzteils als auch an Ground und Data des SEDU-Boards (welches über USB versorgt wird) angeschlossen. Auf dem SEDU läuft übrigens die tpm2 -> WS2801 Firmware.
Wenn man zuerst das Steckernetzteil zieht, passiert glaube ich nichts. Kann es sein dass sich da ein Kondensator entlädt und so die WS2812B zerstört?

Ich wäre für jede Antwort dankbar, so langsam gehen mir die Pixel aus
Title: Re: testbericht zum WS2812
Post by: nix_mehr_frei on May 02, 2014, 08:26 am
Klare Sache, du schickst Daten an den WS2812, wenn keine Versorgungsspannung anliegt. Damit ist dessen Eingang nicht mehr Hochohmig, wie normal, sondern dessen ESD-Schutzdioden werden durchlässig und es fließen recht hohe Ströme. Dann gibt der Schwächere nach. Entweder der treibende Ausgang, oder in diesem Fall eben der Eingang. Hänge mal zwischen Arduino Ausgang und den WS2812 einen 4,7K Widerstand. Damit bekommst du maximal ganz knapp über 1mA bei 5V hin. Bei einem CMOS Eingang sollte das kein Problem mit den Umladeströmen und der Taktgeschwindigkeit sein. Nach Einfügen des Widerstandes solltest du mal diesen Fall mehrmals provozieren. Berichte mal  :)

Gruß Gerald
Title: Re: testbericht zum WS2812
Post by: uwefed on May 02, 2014, 08:40 am
Quote
Auf dem SEDU läuft übrigens die tpm2 -> WS2801 Firmware.

Das Interface des WS2811/WS2812 ist nicht kompatibel mit dem Interface des WS2801. Ein WS2812 Streifen müßte gar nicht ansteuerbar sein.

Ich habe keine Ahnung wieso die Leds kaputtgehen. Du solltes mal bei http://www.sedu-board.de/sedu-faq/ nachfragen oder über Email http://www.sedu-board.de/impressum/

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: uwefed on May 02, 2014, 08:46 am

Klare Sache, du schickst Daten an den WS2812, wenn keine Versorgungsspannung anliegt. Damit ist dessen Eingang nicht mehr Hochohmig, wie normal, sondern dessen ESD-Schutzdioden werden durchlässig und es fließen recht hohe Ströme. Dann gibt der Schwächere nach. Entweder der treibende Ausgang, oder in diesem Fall eben der Eingang. Hänge mal zwischen Arduino Ausgang und den WS2812 einen 4,7K Widerstand. Damit bekommst du maximal ganz knapp über 1mA bei 5V hin. Bei einem CMOS Eingang sollte das kein Problem mit den Umladeströmen und der Taktgeschwindigkeit sein. Nach Einfügen des Widerstandes solltest du mal diesen Fall mehrmals provozieren. Berichte mal  :)

Gruß Gerald



So klar ist mir das nicht, denn mach Beschreibung von Raymond75 passierrt es wenn er die Stromversorgung des Steuerbords (Ausgang) abschaltet und die Versogungsspannung des LED-Streifen an ist.

Quote
.. und jedes Mal wenn ich den USB-Stecker ziehe, wird der erste Pixel zerstört (der winzige Controller in der LED hat ein Luftbläschen über sich :-/ ). ...
...Der Streifen ist sowohl an Ground und +5V des Steckernetzteils als auch an Ground und Data des SEDU-Boards (welches über USB versorgt wird) angeschlossen. ...
...Wenn man zuerst das Steckernetzteil zieht, passiert glaube ich nichts. ...


Einen Widerstand zwischen Steuerboard und LED-Strips einfügen ist sicher einen Versuch wert.
Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Jul 25, 2014, 02:44 am
Ich grab den Thread hier noch einmal wieder raus. Habe ein Anliegen was die WS2812B betrifft.
Mir ist immer noch nicht 100% bewusst, was wirklich visuell dem Auge am ehesten nach Fading betrifft.

Im Mikrocontroller.net gibt es dazu ja eine endsprechende Diskussion

Ein direktes betrachten der WS2812B halte ich hier aus überflüssig, da diese doch meist mehr als passives Licht genutzt werden.

Gibt es eurerseits bereits Erfahrungsberichte?

Ich habe ein paar Tabellen bereits versucht.
Interessant ist ein sauberes Fading für einen Sekundenzeiger (-> Equinox).

Bin mit der linearen Kurve derzeit sehr zufrieden.


Code: [Select]

// linear
const uint8_t fade[32] =
{
7,15,23,31,39,47,55,63,
71,79,87,95,103,111,119,127,
135,143,151,159,167,175,183,191,
199,207,215,223,231,239,247,255
};
//log
const uint8_t fade[32] =
{
20,22,24,26,28,30,33,36,
39,42,45,49,54,58,63,69,
74,81,88,95,103,112,122,132,
144,156,169,184,199,216,235,255
};
//linear+20
const uint8_t fade[32] =
{
20,28,35,43,50,58,65,73,
81,88,96,103,111,119,126,134,
141,149,156,164,172,179,187,194,
202,210,217,225,232,240,247,255
};
Title: Re: testbericht zum WS2812
Post by: Helmuth on Aug 20, 2014, 03:13 pm
Hi,

ich empfand ein logarithmisches Helligkeitsmapping  als hinreichend linear.  ;)

Gruss

Helmuth.
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Aug 20, 2014, 03:17 pm
100% zufrieden bin ich nicht geworden,
jedoch habe ich mich letzendlich für
Code: [Select]
const uint8_t fade[32] =
{
7,15,23,31,39,47,55,63,
71,79,87,95,103,111,119,127,
135,143,151,159,167,175,183,191,
199,207,215,223,231,239,247,255
};

entschieden. Bei einer passiven Beleuchtung ist hier ausreichend für ein sauberes Fading gesorgt.
Title: Re: testbericht zum WS2812
Post by: uwefed on Aug 20, 2014, 10:25 pm
Hab ein WS2812 in 8 mm LED-Form in die Finger bekommen.
(http://static2.watterott.com/20110917_2.jpg)
http://www.watterott.com/de/WS2812-8mm-LED

Es gibt sie auch als 5mm LED.
Das ganze hat einen Hasenfuß:
Die Reihenfolge der Farben ist verschieden gegenüber der 5050SMD Version.

5050SMD  --    RGB
LED           --        GRB

https://github.com/watterott/WS2812-Breakout/raw/master/pcb/WS2812LED.pdf

Viele Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Aug 20, 2014, 10:37 pm
Bei uns heißt das eigentlich, dass es da einen Hacken gibt :D

Jedoch hast du dich da vertan.
Die Anordnung bei den WS2812LED ist RGB,
und die WS2812(B) haben GRB.

Aber sehe da soweit kein Problem, muss man halt ggf. kleine Änderung beim struct vornehmen oder man nutzt die FastLED, wo man als Init-Parameter auch die RGB-Order mitgibt.
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Aug 20, 2014, 11:53 pm
hi,

will ja nicht klugscheißern, aber Ihr habt beide nicht ganz recht, es hat weder mit einem hasen zu tun noch mit einer hacke, sondern mit einem haken oder einem pferd.

ich glaube wikipedia bestimmt nicht alles, aber die beiden phrasen kenne ich von kind auf:
Quote
„Die Sache hat einen Pferdefuß." - Die so bezeichnete Abmachung enthält eine versteckte Falle oder einen unschönen Nebeneffekt. Synonym: „Die Sache hat einen Haken."


gruß stefan
Title: Re: testbericht zum WS2812
Post by: uwefed on Aug 21, 2014, 12:41 am

...
Jedoch hast du dich da vertan.
Die Anordnung bei den WS2812LED ist RGB,
und die WS2812(B) haben GRB.


Ich beziehe mich auf die Reihenfolge der Bits im Datenstrom und da ist es genau umgekehrt. Ist aber nicht weiter schlimm wenn man weiß, daß nicht alles Leuchtmittel auf WS2811/12 Controller-Basis die gleiche Übertragungsreihenfolge haben.

@Eisebaer
In Anlehnung an die It Sprache sagen wir: "iaz hett's mi foscht fregiert".

Grüße Uwe
Title: Re: testbericht zum WS2812
Post by: Eisebaer on Aug 21, 2014, 12:50 am
hi, uwe,

mit     "iaz hett's mi foscht"    komm' ich klar, aber woher kommt   "fregiert"     ?

erkenne da keinen wortstamm...

gruß stefan
Title: Re: testbericht zum WS2812
Post by: uxomm on Aug 21, 2014, 01:13 am
Quote
In Anlehnung an die It Sprache sagen wir: "iaz hett's mi foscht fregiert".


Tippe auf:
fregare (reiben, aber auch betrügen)
fregatura - Betrug, Reinfall

:-)

Gruß
Udo
Title: Re: testbericht zum WS2812
Post by: Helmuth on Aug 21, 2014, 09:19 am
@Eisebaer: Ich liebe Deine Kommentare!

@sschultewolter: Zum schnell faden habe ich immer diese Tabelle von Paul Stoffregen verwendet

Code: [Select]
//Gamma Correction Curve
uint8_t const exp_gamma[256] PROGMEM=
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,
4,4,4,4,4,5,5,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,10,10,10,11,11,12,12,12,13,13,14,14,14,15,15,
16,16,17,17,18,18,19,19,20,20,21,21,22,23,23,24,24,25,26,26,27,28,28,29,30,30,31,32,32,33,
34,35,35,36,37,38,39,39,40,41,42,43,44,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,70,71,72,73,74,75,77,78,79,80,82,83,84,85,87,89,91,92,93,95,96,98,
99,100,101,102,105,106,108,109,111,112,114,115,117,118,120,121,123,125,126,128,130,131,133,
135,136,138,140,142,143,145,147,149,151,152,154,156,158,160,162,164,165,167,169,171,173,175,
177,179,181,183,185,187,190,192,194,196,198,200,202,204,207,209,211,213,216,218,220,222,225,
227,229,232,234,236,239,241,244,246,249,251,253,254,255
};


Seit FastLED v2.1 Temporal Dithering unterstuetzt hat sich das aber auch erledigt und man kann auch ohne Korrekturtabellen sehr schoen weich im unteren Bereich faden, jedenfalls wenn die Striplaenge >100 fps erlaubt (sonst nehmen sensible Menschen ein leichtes flimmern wahr). Das entspricht ca. 300 LEDs an einem Strang.
Falls nicht bekannt: Beim Dithering wird sozusagen die Hardware PWM der LEDs durch eine Software PWM moduliert, um die gefuehlte Aufloesung im unteren Bereich deutlich zu erhoehen und das logarithmische Helligkeitempfinden des menschlichen Auges auszugleichen. Macht aber nur bei langsamen Fades wirklich Sinn.  

@Uwe: Mir ist kein Grund bekannt, FastLED nicht zu verwenden. Kenne nichts, was kleiner kompiliert, weniger RAM braucht oder flexibler in der Anwendung waere. Ausser vielleicht, man ist Copy + Paste Artist und probiert mal schnell fremden Code aus...  ;)

Farbreihenfolge wird beim Initialisieren festgelegt:

Code: [Select]
FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);

Bei COLOR_ORDER einfach RGB oder GRB oder sonstwas eintragen und fertig.

Gruss

Helmuth
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Aug 21, 2014, 02:17 pm

@Uwe: Mir ist kein Grund bekannt, FastLED nicht zu verwenden. Kenne nichts, was kleiner kompiliert, weniger RAM braucht oder flexibler in der Anwendung waere. Ausser vielleicht, man ist Copy + Paste Artist und probiert mal schnell fremden Code aus...  ;)

https://github.com/cpldcpu/light_ws2812

Hab nur die AVR-GCC Variante im Einsatz, die für Arduino noch nicht getestet. Sollte aber deutlich kleiner sein. Aber es fehlt einiges an Komfort aus der FastLed-Libary.

Habe mir die meisten Funktionen dafür selber zusammengebastelt um sie Projektorientiert zu nutzen.
Title: Re: testbericht zum WS2812
Post by: Kramie on Sep 04, 2014, 10:04 pm
Hy, an alle! Super Forum.

Ich bin kompletter Neuling auf dem Gebiet Arduino und Programmieren, trotzdem hatte ich mir in den Kopf gesetzt eine Treppenbeleuchtung mit dem Arduino und WS2812b Strips zu realiesieren. Hat soweit auch ganz gut geklappt. Doch jetzt möchte ich natürlich auch nen paar Besonderheiten einbauen, nur weis nicht so richtig wie ich Anfangen soll! Habe nen bisschen mit dem Code des Moodlight 2.0 gespielt, nur jetzt das Problem:
Kann ich einen Farbverlauf quasi im Hintergrund laufen lassen und dann Stufe für Stufe Hell-werden lassen?

MfG
Danke Schonmal :)

Title: Re: testbericht zum WS2812
Post by: sschultewolter on Sep 04, 2014, 10:11 pm
Moodlight 2.0 kannte ich nicht. Hab gerade ein Video dort gesehen https://www.youtube.com/watch?v=9IisUrFWD5c. Ist das sowas?

"Im Hintergrund laufen lassen" musst du genauer erklären. Bei einem AVR gibt es kein Multithreading o.ä. bei dem man bestimmte Sachen im Hintergrund laufen lässt. Die Einfachste Möglichkeit ist es mit dem HSV-Farbraum zu arbeiten und den V-Anteil langsam hochzuregeln,
Title: Re: testbericht zum WS2812
Post by: Kramie on Sep 05, 2014, 12:09 am
hy, danke für die schnelle Antwort. Sorry, hatte mich Verschrieben, hier mal das video: www.youtube.com/watch?v=6jfAZXOzzec
Das mit dem Multithreading hab ich schon rausgefunden, ich hatte mir das so gedacht, das ich im loop den Farbwechsel permanent laufen lasse und über nen Event (tastendruck) die Stufen nacheinander hochregel.
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Sep 05, 2014, 12:27 am
Sollte kein Problem sein. Ein paar Effekte hatte ich auch hier mal im Forum hinterlegt. Werden von mir aber nicht weiter entwickelt und sind keinesfalls die HighEnd Lösung. Dort sind einige Sachen bereits stark überarbeitet (vereinfachteter Code, weniger Speicher und weniger Auslastung). Die sind aber noch nicht veröffentlicht, da ich gerade eine größere Sammlung anlege.
http://forum.arduino.cc/index.php?topic=198987.0
Wie gesagt, dort werden keine Optimierungen mehr wahrgenommen. Die Anwendungen dort sind lediglich für 1D Optik gedacht. Die Neuentwicklung beinhaltet erst einmal auch in erster Hinsicht alles Richtung 1D. Die Effekte, sofern noch nicht geschehen sind komplett skalierbar.
Title: Re: testbericht zum WS2812
Post by: Kramie on Sep 05, 2014, 12:47 am
Hy, ich schau mir das mal an und Probier nen bissel aus.
Ich füge mal meinen Aktuellen Code der Treppenbeleuchtung .
Code: [Select]
#include "FastLED.h"
#define NUM_LEDS 80
// Data pin
#define DATA_PIN 13

CRGB leds[NUM_LEDS];

int pirPin1 = 7;     //the digital pin Taster Unten
int pirPin2 = 8;     //the digital pin Taster Oben

int globaldelay = 5;
       
int mode;
int treppe = 70;      
int ledsstufe = 5;   // Anzahl der LED´s Pro Stufe
int laufzeit= 15000; // Maximal laufzeit
int helli = 200;     // hier die max helligkeit vorgeben
int fadezeit =5;     // Zeit zum hochlauf/ablauf der Helligkeit
int fadestufen = 10;
int an = false;      
int oben = false;
int unten = false;
int fa1 =0;

////////////////



void setup()
{
 FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
 
 Serial.begin(9600); // connect to the serial port

}


////////////////
// ausschalten aller Stufen von unten nach oben

void untenAN (){



 for (int stufe=0; stufe<=treppe ; stufe+=ledsstufe){
     if (fa1 == 0){
           for (int i=0; i<=helli; i+=fadestufen){
             
              leds [stufe] =CRGB(0,i,0);        //
              leds [stufe+1] =CRGB(0,i,0);      //
              leds [stufe+2] =CRGB(0,i,0);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,i,0);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,i,0);      //  
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
                FastLED.show();
            delay(fadezeit);
         
           }
     }
     
     if (fa1 ==1){
          for (int i=0; i<=helli; i+=fadestufen){
             
              leds [stufe] =CRGB(0,0,i);        //
              leds [stufe+1] =CRGB(0,0,i);      //
              leds [stufe+2] =CRGB(0,0,i);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,0,i);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,0,i);      //  
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
                FastLED.show();
            delay(fadezeit);
         
           }      
     }
}

}


/////////////////
// anschalten aller Stufen von oben nach unten

void obenAN (){


 for (int stufe=treppe; stufe>=0 ; stufe-=ledsstufe){
   if (fa1 ==0){
   
           
           for (int i=0; i<=helli; i+=fadestufen){
              leds [stufe] =CRGB(0,i,0);        //
              leds [stufe+1] =CRGB(0,i,0);      //
              leds [stufe+2] =CRGB(0,i,0);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,i,0);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,i,0);      //  im Moment 1 LED´s pro Stufe
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
           FastLED.show();
        delay(fadezeit);
  }
   }
 if (fa1==1){
    for (int i=0; i<=helli; i+=fadestufen){
             
              leds [stufe] =CRGB(0,0,i);        //
              leds [stufe+1] =CRGB(0,0,i);      //
              leds [stufe+2] =CRGB(0,0,i);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,0,i);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,0,i);      //  
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
                FastLED.show();
            delay(fadezeit);
}
}

 }
}
///////////////
// ausschalten aller Stufen von unten nach oben

void untenAUS (){


 for (int stufe=0; stufe<=treppe ; stufe+=ledsstufe){
       if (fa1 ==0){
           for (int i=helli; i>=0; i-=fadestufen){
              leds [stufe] =CRGB(0,i,0);        //
              leds [stufe+1] =CRGB(0,i,0);      //
              leds [stufe+2] =CRGB(0,i,0);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,i,0);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,i,0);      //  im Moment 1 LED´s pro Stufe
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
          FastLED.show();
        delay(fadezeit);
           }
}
      if (fa1 ==1){
        for (int i=helli; i>=0; i-=fadestufen){
             
              leds [stufe] =CRGB(0,0,i);        //
              leds [stufe+1] =CRGB(0,0,i);      //
              leds [stufe+2] =CRGB(0,0,i);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,0,i);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,0,i);      //  
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
                FastLED.show();
            delay(fadezeit);
         
           }
      }
}

}



////////////////
// ausschalten aller Stufen von oben nach unten

void obenAUS (){


 for (int stufe=treppe; stufe>=0 ; stufe-=ledsstufe){
  if (fa1 ==0){
           for (int i=helli; i>=0; i-=fadestufen){
              leds [stufe] =CRGB(0,i,0);        //
              leds [stufe+1] =CRGB(0,i,0);      //
              leds [stufe+2] =CRGB(0,i,0);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,i,0);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,i,0);      //  im Moment 1 LED´s pro Stufe
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
           FastLED.show();
        delay(fadezeit);
  }
 }

 if (fa1 ==1){
       
           for (int i=helli; i>=0; i-=fadestufen){
              leds [stufe] =CRGB(0,i,0);        //
              leds [stufe+1] =CRGB(0,i,0);      //
              leds [stufe+2] =CRGB(0,i,0);      //  Hier müssen manuell die Leds
              leds [stufe+3] =CRGB(0,i,0);      //  pro Stufe geschaltet werden
              leds [stufe+4] =CRGB(0,i,0);      //  im Moment 1 LED´s pro Stufe
              //leds [stufe+5] =CRGB(i,0,0);      //  
              //leds [stufe+6] =CRGB(i,0,0);      //
           FastLED.show();
        delay(fadezeit);
         
           }  
   
}
}

}

void rainbow2(int mode){

 //for (int t = 0; t<=200;){
   for(int i = 255; i >= 0; i--)
   {
     for (int col = 0; col < 14; col++) {
       for(int row = 0; row < 5; row++) {
         int v = ((10*row) + i) % 255;
         setHue2(v,(5*col + row));        
       }
     }
     //t +=1;
     Serial.print("  ");
     Serial.print(i);
     Serial.print("  ");
     FastLED.show();
     delay(100);
     
   }

   
 //}delay(100);

}




/**
* function to set a specific LED in the chain to a given value of the HVS color-circle
*
* this is simplified version of HVS to RGB comversion
* see: http://en.wikipedia.org/wiki/HSL_and_HSV#Converting_to_RGB
*
* in all cases saturation and value are "1" so we do not have to calculate all parts
*
* we also use a range of 0 to 255 instead of 0 to 360 for HUE
**/
void setHue2(int h, int pin) {
 //this is the algorithm to convert from RGB to HSV
 double r=0;
 double g=0;
 double b=0;

 double hf=h/42.5;

 //calculate with 255 instead of 360° for the whole color-circle so we have to divide by 42.5 instead of 60°
 int i=(int)floor(h/42.5);
 double f = h/42.5 - i;
 double qv = 1 - f;
 double tv = f;

 switch (i)
 {
 case 0:
   r = 1;
   g = tv;
   break;
 case 1:
   r = qv;
   g = 1;
   break;
 case 2:
   g = 1;
   b = tv;
   break;
 case 3:
   g = qv;
   b = 1;
   break;
 case 4:
   r = tv;
   b = 1;
   break;
 case 5:
   r = 1;
   b = qv;
   break;
 }

 //set each component to a integer value between 0 and 255
 leds[pin].r = constrain((int)255*r,0,255);
 leds[pin].g = constrain((int)255*g,0,255);
 leds[pin].b = constrain((int)255*b,0,255);

}

/**
* function to set a specific LED in the chain to concrete R, G and B values
*
**/
void setRGB(int r, int g, int b, int pin) {
 //set each component to a integer value between 0 and 255
 leds[pin].r = r;
 leds[pin].g = g;
 leds[pin].b = b;

}




Title: Re: testbericht zum WS2812
Post by: Kramie on Sep 05, 2014, 12:48 am
Code: [Select]

void pausenschleife1(){


    for(int i = 0; i<= 1500; i++){
      delay(10);
      if (digitalRead(pirPin2) == HIGH & i>=550){
      i =1500;
      }
      if (digitalRead(pirPin1) == HIGH){
      i =1500;
      oben = true;
      }
     
         
    }

}

void pausenschleife2(){


    for(int i = 0; i<= 1500; i++){
      delay(10);
      if (digitalRead(pirPin1) == HIGH & i>=550){
      i =1500;
      }
      if (digitalRead(pirPin2) == HIGH){
      i =1500;
      unten = true; 
    }
     
    }

}
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////  LOOP   //////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
void loop(){


 
  if (digitalRead(pirPin1)== HIGH){ 
         an = true ;
         
         untenAN();   //the leds turned on from bottom to top
         if (digitalRead(pirPin1) == HIGH){
           rainbow2(mode);
         }
         pausenschleife1();
         if (oben == true){
         obenAUS();
         }
         else{
         untenAUS();  //the leds turned off from bottom to top
         }
         an = false;
         oben = false;
         
}





         
   if (digitalRead(pirPin2) == HIGH){     
         
         an = true;
         
         obenAN();   //the leds turned on from top to bottom
         if (digitalRead(pirPin2) == HIGH){
           rainbow2(mode);
         }
         pausenschleife2();
         if (unten == true){
         untenAUS();
         }
         else{ 
         obenAUS();  //the leds turned off from top to bottom
         }
        an = false;
        unten = false;
         
           
}

//Serial.print(fa1); 
}

Danke schonmal für die hilfe, ist wie gesagt nen Anfängercode! :)
Title: Re: testbericht zum WS2812
Post by: Chris72622 on Feb 01, 2016, 12:27 pm
Endlich liegt die 4m Rolle hier auf dem Tisch.

Habe jetz ein paar Stunden damit gespielt und folgendes herausgefunden: Für bunte Effekte geht die Länge klar, 4m in weiss kann man allerdings vergessen. Die ersten 2m sehen ok aus, dann driftet die Farbe wegen Spannungsabfall weg.
Ein alter Thread, ja. Trotzdem von mir folgende Frage:

Wie viele LEDs pro Meter hatten die hierbei von Dir verwendeten LED-Streifen?

Gruß Chris
Title: Re: testbericht zum WS2812
Post by: Helmuth on Feb 01, 2016, 01:18 pm
Falls das Zitat von mir ist, das waren 60 Leds/m.

Wenn Du FastLED verwendest, kannst Du den Strom begrenzen = dynamische Helligkeitsregelung.

4A Dauerstrom mit einer Einspeisungsstelle geht klar, 8A für kurze Impulse.

(Und ich sehe Uwe mit dem Kopf schütteln...)

Gruß,

Helmuth
Title: Re: testbericht zum WS2812
Post by: Chris72622 on Feb 01, 2016, 01:54 pm
Dank Dir. :)

Kann jmd. bestätigen, ob es mit 30 LEDs pro Meter auch zu den von Helmuth beschriebenen Problemen (http://forum.arduino.cc/index.php?topic=146157.msg1155280#msg1155280) kommt?

Gruß Chris
Title: Re: testbericht zum WS2812
Post by: sschultewolter on Feb 01, 2016, 06:08 pm
Du solltest versuchen, etwa alle 30 Leds neu einzuspeisen. Die Probleme kommen daher, dass der Spannungsabfall zu hoch wird. Wie im anderen Thread bereits geschrieben, macht es Sinn, parallel zum Strip noch 2 Versorgungsleitungen zu ziehen.

Eine andere, in meinen Augen sogar bessere Lösung wäre es,  wenn du alle 30 - 40 Leds einen StepDown setzt, welches über 12 - 12V gespeisst wird. Die 5V dann an den Streifen.
Title: Re: testbericht zum WS2812
Post by: agmue on Feb 01, 2016, 10:01 pm
Eine andere, in meinen Augen sogar bessere Lösung wäre es,  wenn du alle 30 - 40 Leds einen StepDown setzt, welches über 12 - 12V gespeisst wird. Die 5V dann an den Streifen.
Wenn Du die vierfache Spannung nimmst, fließt nur ein Viertel des Stroms durch die Versorgungsleitung, womit sie dünner ausgelegt werden kann.
Title: Re: testbericht zum WS2812
Post by: Helmuth on Jun 21, 2017, 09:00 am
Hier nochmal das offizielle Statement von Worldsemi:

(https://blog.particle.io/uploads/WS2812B-english.jpg)

Grüße, Helmuth
Title: Re: testbericht zum WS2812
Post by: staivoup on Jun 21, 2017, 11:07 am
Funktioniert fastled noch? Oder spielt die Resettime keine so große Rolle?
Title: Re: testbericht zum WS2812
Post by: Helmuth on Jun 21, 2017, 12:56 pm
Mit den alten ja, mit den neuen momentan nein. Außer Daniel Garcia kenne ich aber niemanden, der die neuen schonmal in der Hand hatte und er hat sie direkt von Worldsemi geschickt bekommen.

Wird noch ein paar Wochen/Monate dauern, bis die auf dem europäischen Markt auftauchen.

Daniel hat angesagt, dass er einen Fix veröffentlicht, sobald der erste Mensch ein Problem hat, weil er die neuen benutzt.

Falls es also irgendwann ein Problem gibt - neuste FastLED Version installieren und alles ist fein. Die Chance, dass die LEDs zuerst in der FastLED Community auftauchen liegt bei 100%.

Grüße,

Helmuth

Hier noch ein Text zu dem Problem. (https://blog.particle.io/2017/05/11/ws2812b-neopixels-are-about-to-change/)

Quote
In other words, the new WS2812B NeoPixels, which carry the same part number as the old ones, may cause breaking changes to the behavior of your project.
Title: Re: testbericht zum WS2812
Post by: staivoup on Jun 21, 2017, 01:28 pm
Unklarheiten zu der Resettime: Im ganz normalen Betrieb ist das doch nicht notwendig, oder? Ich schiebe immer neue Bits in das Array und schiebe die mit leds.show() in den Streifen.
Title: Re: testbericht zum WS2812
Post by: Helmuth on Jun 21, 2017, 02:07 pm
Quote
Unklarheiten zu der Resettime: Im ganz normalen Betrieb ist das doch nicht notwendig, oder?
Doch, bei jedem einzelnen Frame, dass an die LEDs gesendet wird.

Guckst Du hier auf Seite 5. (http://www.seeedstudio.com/document/pdf/WS2812B%20Datasheet.pdf)

Am Ende eines Frames muss die Resetzeit gewartet werden, damit die erste LED weiß, dass die nächsten Daten wieder für sie selbst bestimmt sind.

Dir als FastLED Benutzer ist das egal - das macht die Lib für Dich.

Ohne Not wird Daniel diesen Wert nicht anheben, weil die ohnehin schon langsamen 2812B damit dann noch langsamer laufen.

Gruß, H.
Title: Re: testbericht zum WS2812
Post by: staivoup on Jun 21, 2017, 02:15 pm
Ich Bestelle mir sicherheitshalber ein paar Rollen.