Anzahl WS2812 LED zählen

Hi,

Danke für die Antworten.
Ja dass man am andere Ende der Streifen noch was dran hängt ist nicht vorgesehen.
D.h es wird keine andere Möglichkeit dann geben.

LG

Einen Stromsensor in die Zuleitung und dann fortlaufend eine LED auf Weis und wieder aus schalten. Wenn der Anstieg ausbleibt, wars darüber hinaus ...

An Stelle des Stromsensors geht evtl. auch eine Messung der Betriebsspannung.

Mehrmals messen und auf eindeutige Korrelation prüfen ...

Stromsensor ist zwar einen gute Idee aber hat seine Schwächen. Du mußt 50-60mA bei einem Grundstrom von einigen 100mA (das datenblatt schweigt sich über den Stromverbrauch des Kontrollers bei ausgeschalteten LEDs aus) geht ohne Probleme; aber wenn dann über den Stronsensor 20-30A fließen müssen weil da mal 400-500 LEDs angesteuert werden ist nicht ohne.
Grüße Uwe

Danke für die vielen Antworten.
Momentan sieht es so aus, dass wir wahrscheinlich mit einer festen Anzahl an LED "arbeiten" und wenn weniger im Stripeset sind, dann gehen halt die überflüssigen Informationen "verloren".
Wir haben auch leider keinen Stromsensor zur Verfügung, wenn dann nur die Messung über die Betriebsspannung

LG

Ich würde noch folgende Idee in den Raum werfen, die unter Umständen zumutbar und realisierbar wäre:
Eine Fotowiderstand der Lichtblitze von den LED detektieren kann wäre notwendig. (Ich weiß nicht aus welcher Entfernung das noch funktioniert)
Grundidee: Wenn man den Einmessvorgang startet lässt man eine Routine laufen die die LEDs nacheinander in Weiß (weil am hellsten) kurz aufblitzen lässt. Diesen Blitz könnte man mit dem Fotowiederstand messen und wenn ein erwarteter Blitz nicht mehr detektiert wird war der LED-Stripe zu ende.
Damit das Einmessen halbwegs sicher ist muss man es in einer dunklen bzw. abgedunkelten Umgebung machen (Aber das ist wahrscheinlich eh gegeben weil man im Hellen selten LEDs betrachten möchte).
Die Lichtblitze könnte man sehr kurz halten und in einer definierten Länge (zB 100ms) um Fehlmessungen zu reduzieren.
Optimierung: Man muss nicht die LEDs einzeln durchgehen sondern kann sich logarithmisch an die gesuchte Zahl rantasten: Also bei einer maximalen Anzahl von sagen wir mal 2048 LEDs würde man nach 11 Blitzen die gesuchte LED-Anzahl herausbekommen (log2 von 2048 ist 11). BinarySearch nennt sich sowas. Das Einmessen würde dann in etwas über einer Sekunde erledigt sein.
Probleme seh ich nur darin, dass das Ansteuern der LEDs und das gleichzeitige Messen mit dem Fotowiderstand kniffelig wird wg Interrupt.

Gruß
Jarny

qualidat:
Einen Stromsensor in die Zuleitung und dann fortlaufend eine LED auf Weis und wieder aus schalten. Wenn der Anstieg ausbleibt, wars darüber hinaus ...

An Stelle des Stromsensors geht evtl. auch eine Messung der Betriebsspannung.

Mehrmals messen und auf eindeutige Korrelation prüfen ...

Wenn die Betriebsspannung sich beim Zu-/Abschalten einer LED messbar ändert, solltest Du schnellstens das Netzeil wechseln.

Gruß Tommy

LED Anzahl grob schätzen und Anzahl im Programm angeben. Bleibt hinten was dunkel, dann bei Wenigen auszählen, ansonsten Wert erhöhen und sich so rantasten. Wenn alle gehen, Wert verringern, zum rantasten. man kann ja 100 mehr, 50 weniger, 25 mehr, 12 weniger... sich nach dem Muster rantasten, bis die dunklen LEDs am Ende gut zu zählen sind.

Hi

Wenn diese Mess-Schaltung nicht während des Betrieb dran sein soll, sondern Es auch erlaubt ist, Das händisch 'einzuschleifen' - könnte man einen Vorwiderstand einsetzen, an Dem 1V bei 60mA abfallen (17Ω, per Schalter überbrückt man den Widerling).
Das reicht dicke, um Das per ADC mitzubekommen, und leuchten tut's trotzdem noch überall.

Die 17Ω sind mehr eine Hausnummer, auch könnte man den Widerstand elektronisch überbrücken - wenn 'MEEEHR' Strom fließt, sollte man Den aber AUS lassen - sonst wird Der zur Heizung oder zum Grillanzünder ...

MfG

Edit
PS: Zur 'LED-Suche' wollte ich hier ebenfalls nur Eine LED zum Leuchten bringen, da ich so auf meine ~60mA käme und an meinem 17Ω-Widerstand das eine Volt abfällt, Welches sich ganz gut detektieren lässt (also 4V oder 5V am ADC sollte man erkennen können).
Je nach Leistungsklasse des Widerstand dürfen Es auch ein paar mehr LEDs werden - dann kommt halt Hinten nicht mehr viel an, nur noch Rot leuchtet, die restlichen Farben nehmen mangels Spannung keinen Strom und ob dann meine Schlussfolgerung aus der Messung noch passt - wir gingen ja von ~60mA pro LED aus - ist wieder fraglich.

Moin,

Ich würde die logarithmische Suche mit dem Stromsensor kombinieren. Allerdings einen Stromsensor für kleine Ströme, man kann ja auch messen ob sich nur eine LED einschaltet, es müssen ja nicht alle sein. Und da der später über den schwachen Stromsensor nicht der gesamte Strom fliessen kann, muss diese Messschaltung mit einem Relais oder Transistor gebrückt werden für den regulären Betrieb.

Lieben Gruß,
Chris

themanfrommoon:
Moin,

Ich würde die logarithmische Suche mit dem Stromsensor kombinieren. Allerdings einen Stromsensor für kleine Ströme, man kann ja auch messen ob sich nur eine LED einschaltet, es müssen ja nicht alle sein. Und da der später über den schwachen Stromsensor nicht der gesamte Strom fliessen kann, muss diese Messschaltung mit einem Relais oder Transistor gebrückt werden für den regulären Betrieb.

Lieben Gruß,
Chris

Du weißt schon daß bei langen LED Streifen ganz schön Strom zusammenkommt. Der TO hat in dieser Hinsicht nicht gesagt wieviele LED er max haben könnte, aber es können schon deutlch mehr als 20A zusammenkommen. Da ist es nicht leicht einen Schalter oder Relais zu finden. Auch Transistoren (MOSFET) ist da nicht einfach.

Grüße Uwe

Die Idee mit dem Shunt und Strommessung in der Masseleitung kam mir auch schon. Und wenn man nur eine einzige Led durchschiebt oder logarithmisch testen, dann halt solange, bis der Strom von 60mA nicht mehr fliesst. Und wenn man es mit Widerstand (höherer Spannungsabfall, eindeutiger zu detektieren) macht, kann man den nach der Messung per Fet-Array oder Relais überbrücken. Wenn das Relais schaltet ohne das eine Led an ist, gibts auch keine Funken.

Funken gibt es keine aber der Kontakt muß dennoch den max Strom verkraften können.
Einem 5A Kontakt für 20A traue ich das nicht zu

Hi

Der Kontakt wird mehr Strom schadfrei leiten als schalten können.
Aber ich gebe Dir Recht, daß der Kontakt oberhalb Seiner Spezifizierung unangemessen stark leidet - ggf. ist EIN MAL Schalten schon zu viel - und wenn ich mir die Entwicklung meiner Kreationen anschaue, braucht's mehr als einen Versuch, bis was halbwegs klappt :wink:

MfG

uwefed:
Funken gibt es keine aber der Kontakt muß dennoch den max Strom verkraften können.
Einem 5A Kontakt für 20A traue ich das nicht zu

Das ist klar, dass das Relais das abkönnen muss. Ich würde eh ein Fet-Array vorziehen.

Hallo

ich würde nach der letzten LED eine weitere LED anbringen (diese muss ja nicht am Ende vom LED-Streifen sein, sondern kann über die Datenleitung irendwo sitzen) und diese allerletzte LED mit einem Fotowiderstand "abfragen".
Jetzt einfach kurz alle LED nacheinder auf weiß setzen und dabei (bzw. nach jeden aufleuchten einer LED) den Fotowiderstand abfragen.

Gruss Martin

Martin-11:
Hallo

ich würde nach der letzten LED eine weitere LED anbringen (diese muss ja nicht am Ende vom LED-Streifen sein, sondern kann über die Datenleitung irendwo sitzen) und diese allerletzte LED mit einem Fotowiderstand "abfragen".
Jetzt einfach kurz alle LED nacheinder auf weiß setzen und dabei (bzw. nach jeden aufleuchten einer LED) den Fotowiderstand abfragen.

Gruss Martin

Wieso so kompliziert
Man schaltet am ende einen Ws2811 mit einem Pullup-widerstand statt der LED uns liest digital die Spannung am pin. Den besten Widerstandswert müßte ich experimentel ermitteln.

Für beides ist aber ein Kabel vom Ende des Strips zum Arduino notwendig.

ElEspanol:
Für beides ist aber ein Kabel vom Ende des Strips zum Arduino notwendig.

Ja

peterrre:
Hi,

Danke für die Antworten.
Ja dass man am andere Ende der Streifen noch was dran hängt ist nicht vorgesehen.
D.h es wird keine andere Möglichkeit dann geben.

LG

Mein obiger Post mit dem Kabel vom Ende des Stripes bezog sich hierauf. Hätte ich zitieren sollen.