Problem mit "Reihenschaltung" LED-Streifen

Hallo,

ich stehe vor einem Problem, für das ich weder eine technische noch logische Erklärung finde.
Hintergrund ist eine Warnbake mit verschiedenen Lichtmustern.
Programmtechnisch läuft es und wurde mit einem LED-Ring a 24 LED getestet.
Um das Ganze optisch besser darzustellen habe ich fünf LED-Streifen a 8 LED bestellt und diese "in Reihe", also D(out) -> D(in) sowie GND und Vcc über die entsprechenden Lötpunkte an den Enden zusammengeschaltet.
Ein voller Reinfall, die LED haben nur Müll angezeigt, obwohl das Ganze auf dem parallel angesteuertem Ring korrekt lief.
Fehlersuche, Fehlersuche..., grübel ...
Wie kann das passieren ->

Ich habe drei Streifen hintereinander geschaltet und einen Sketch, der nacheinander alle LED mit Brightness(10) auf rot schaltet.
Bei jedem Übergang auf einen neuen Streifen (also nach jeweils 8 LED) wird die Helligkeit der LED geringer. Dabei ist es unerheblich ab welcher LED man
überhaupt einschaltet, auch wenn erst ab LED 6 eingeschaltet wird ist es ab LED 9 dunkler, ab LED 17 noch dunkler. Auf Streifen 2 und 3 wird dann gleich mit der jeweils verringerten Helligkeit eingeschaltet.

Erster Gedanke Spannungsprobleme, schlechte Lötstellen, aber die Spannung wird von der Seite eingespeist, die am dunkelsten ist.
Kontrolliert habe ich die Spannung auch.

Weiterhin verlagert sich das Problem mit dem Punkt der Einspeisung des Steuersignals.

Einspeisung an D(in) Streifen 1 - Streifen1 normal hell - Streifen2 dunkler - Streifen 3 glimmt nur -> Spg.
Einspeisung zw. Streifen 1 und 2 - Streifen 1 nicht angesteuert, aus - Streifen 2 normal hell - Streifen 3 dunkler -> Spg.

Beim einspeisen am Streifen 1 habe ich das Steuersignal zwischen Streifen 1 und 2 abgegriffen und den LED-Ring angesteuert, der leuchtet mit den angesteuerten LED 1-16 normal.
Schalte ich hier aber statt des Rings die restlichen zwei Streifen parallel übernehmen diese die Helligkeit der Streifen 2 und 3.

Sieht für mich aus als wenn die sich erkennen und den .... absprechen :slight_smile: ....

Hat jemand eine Idee?
Ich nicht mal mehr einen Hauch ....

cu

Hast du mal ausgerechnet, mit welchem Strombedarf du bei den Leds rechnen musst ?
Und ob der Strom auch über die dünne Leiterbahn geschickt werden kann ?

Gehören die Stripes auch parallel, alle...?

@HotSystems
Habe ich nicht, aber wenn es ein Problem wäre dürften diese Effekte ja nicht sein.
Die drei und die zwei zusammen geschalteten Streifen haben eigene Spannungsanschlüsse.
Beim Dreierblock sind die vom Spannungsanschluss am weitesten entfernten LED die hellsten, es kommt also genug Strom bis zum "Ende" des dritten Streifens.
Beim Zweierblock sind die unmittelbar neben dem Spannungsanschluss liegenden LED trotzdem nur so hell wie auf Streifen 2 vom Dreierblock.
Ein Problem mit dem Stromfluss kann ich da nicht erkennen, zumal der bei allen 40 LED angesteuert bei 19mA liegt.

@herbk

Die Frage verstehe ich nicht, was meinst Du mit "Gehören die Stripes auch parallel, alle...?"?
Ich kann doch die Stripes schalten wie ich will.
In meinem Fall will ich 40 LED hintereinander schalten, habe zu Testzwecken im Moment einen Block mit 24 (38), einen mit 16 (28) und einen Ring mit 24 LED. Jeder mit eigenem Spannungsanschluss. Das Steuersignal kann parallel in verschiedene Stripes/Ringe eingespeist werden.

cu

Ja, aber nur ganz allgemein eine Anleitung zur Fehlersuche.

Drei Informationsebenen:

  1. Realität1)
  2. Deine Wahrnehmung
  3. Deine Beschreibung

Was Du beschreibst klingt nach Voodoo2), hat aber vermutlich eine lächerlich einfache Erklärung. Dazu könnte ich Dir mehrere Geschichten von lustigen Situationen erzählen. Dazu gehören auch die für uns Menschen so wichtigen Emotionen, die eine sachlich begründete Frage wie "Hast Du den Stecker in die Steckdose gesteckt?" zu einer Antwort "Denkst Du, ich bin blöd!" eskalieren lassen. Ein in mehrfacher Hinsicht spannender Abschnitt unseres Daseins. Lange Einleitung für eine scheinbar aussichtslose Fehlersuche. Wichtig dabei ist, nur Du kannst den Fehler finden, wir können allenfalls Hinweise geben.

  1. Um welchen LED-Typ handelt es sich? Das hast Du nicht erwähnt. Ring, vermutlich WS2812, und Streifen könnten unterschiedlich sein.
  2. Leider verstehe ich Deine Verkabelung nicht, ich fände eine Zeichnung (Papier - Bleistift - Scanner oder wie immer Du magst) hilfreich. Keinen Schaltplan, sondern Verkabelung! Eventuell erkennst Du beim Zeichnen Deinen Fehler.
  3. Aussagekräftige Fotos könnten helfen.

Als Fehlerquelle kann ich mir nur Spannungsabfall vorstellen, da die Daten ja digital übertragen werden. Fehlende oder ungeschickte GND-Verbindung, dünne Kabel und dergleichen.


Anm.:

  1. Vermutlich werden wir die Realität nie wirklich erkennen können, ich meine hier das, was wir dafür halten.
  2. Ich mag "Voodoo Ladys Love" von James Last.

Wirklich ?
Die Frage weil:
Ich habe mal versucht eine Lichterkette, an der das Kabel gebrochen war, durch löten zu reparieren... Löten ging, aber nach der Lötstelle waren die Muster (Blinkrythmus) anders als vor der Lötstelle.

Hallo,
es klingt ein bischen nach Voodoo das sehe ich auch so. Ich bin aber dennoch der Meinung es hat etwas mit dem Spannungsverlust der Versorgung zu tun. Du hast Ja die Spannungsversurgung + und - jeweils parallel angeschlossen. Nutzt Du irgendwie für den zweiten Streifen dennoch die Kabel vom ersten. Schliesse jeweils plus und minus direkt an Deine Stromversorgung an. Auch in einem Steckbrett kann es Spannungsveluste geben.
Auf der anderen Seite machst Du Deine Versuche ja mit nur LED je Streifen, Insofern ist der Strom recht klein. Es liegt nicht an den Streifen ? die hast Du bereits mal untereinander ausgetauscht.
Heinz

Hallo,

bei Voodoo bin ich mittlerweile auch.

Ja es sind alles WS2812, habe ich ganz vergessen zu erwähnen.

Die Ringe (ich habe jetzt noch mit zwei Ringen getestet) und die Streifen sind alle aus unterschiedlichen Lieferungen, die fünf Streifen jedoch ein Gesamtpacket.

Ein zusammenschalten der Ringe funktioniert über alle möglichen Varianten, es klemmt eben nur bei den Streifen, und das voodoomäßig ....

Anbei drei Bilder

  • die rückseitige Verschaltung der Streifen zu Blöcken am Beispiel Dreierblock (ws - Data(in) Streifen 1, br - Abgriff Data zw. Streifen 1/2, rt/sw -Spg)
  • der Aufbau, die zwei LED-Blöcke mit eigenen Spg.- anschluss, wobei die Einspeisung einmal von "hinten" und einmal von "vorn" erfolgt. Die Spannung ist an den anderen Enden identisch mit der Eingangsspannung, 5 V.
    Am Dreierblock wird zwischen Streifen 1 und 2, also LED 8 und 9 das Datensignal abgegriffen und in den Zweierblock ab LED 1 eingespeist. Wobei diese und die nachfolgenden sich genau wie LED 9 - 24 des Dreierblocks verhalten.
  • das Leuchtbild, man erkennt deutlich die geringere Leuchtkraft der Streifen.

@herbk
Also eigentlich schon, mit den LED-Ringen klappt das problemlos.
Ich wüsste auch nicht was dagegen spricht, auf YT sind massenhaft Videos, wo Stripes in Reihe geschaltet werden.

cu



Ich kann mir nicht vorstellen, daß es am Programm liegt, aber bitte zeige es dennoch, damit ich es mit meinen Streifen testen kann.

Glaube ich auch nicht, den der Ring mit ebenfalls 24 LED läuft, auch eine "Reihenschaltung" zweier Ringe ....

cu

#include <Adafruit_NeoPixel.h>

#define LED_PIN    6  // Pin, an der die LED angeschlossen sind

#define LED_COUNT 24// Anzahl der LED


Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);


void setup() {

  strip.begin();           // Initializierung der LED
  strip.show();            // ausschalten aller Pixel
  strip.setBrightness(10); /* BRIGHTNESS (max = 255)wird für den gesamten Sketch eingestellt,
                              255 in -> strip.Color(255, 0, 0) wird strip.Color(50, 0, 0) */                            
}

void loop() {

  strip.clear();
  strip.show();
  delay(200);
  
  colorWipe(strip.Color(255, 0, 0), 180); 

}


void colorWipe(uint32_t color, int wait) {
  for (int i = 0; i < strip.numPixels(); i++) { 
    strip.setPixelColor(i, color);           
    strip.show();                           
    delay(wait);                           
  }
}

Versorge mal jedes Modul mit Spannung und beobachte was mit der Helligkeit passiert.

Und miss mal den Widerstand zwischen den zwei GND Leitungen. Evtl. versorge beide Leitungen mit GND.

Da habe ich die Steuerdaten nach den ersten 8 LED, also da wo das Problem optisch entsteht, ausgekoppelt und als Eingangssignal für den zweiten Block verwendet.
Nur um mal zu sehen was passiert, und siehe da ....
Der Dreierblock hat das Verhalten aber auch, wenn der braune Draht nur gelüftet :grinning: wird, hat also keinerlei Einfluß.

Die Spannungsversorgung einzeln mache ich als nächstes, habe da aber nicht viel Hoffnung, da die zwei Blöcke ja auch getrennt sind.

GND, Du meinst auf den Streifen zwischen den beiden Bahnen?
Hatte ich ganz am Anfang, beide GND angeschlossen, habe es für das ständige hin und her beim testen weggelassen.
Werde aber mal mit beiden GND und einzelner Spg.-versorgung der Streifen testen.

cu

Bitte versuche mal dieses Programm, ob der Fehler bei allen Farben auftritt:

#include <Adafruit_NeoPixel.h>

#define LED_PIN    6  // Pin, an der die LED angeschlossen sind
#define LED_COUNT 24  // Anzahl der LED
#define DELAY 5000    // Verzögerung

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup()
{
  strip.begin();
  strip.setBrightness(10);
}

void loop()
{
  strip.fill(strip.Color(255, 0, 0));      // Rot
  strip.show();
  delay(DELAY);
  strip.fill(strip.Color(0, 255, 0));      // Grün
  strip.show();
  delay(DELAY);
  strip.fill(strip.Color(0, 0, 255));      // Blau
  strip.show();
  delay(DELAY);
  strip.fill(strip.Color(255, 255, 255));  // Weiß
  strip.show();
  delay(DELAY);
}

ja.

Geh schrittweise vor.

Nimm mal nur dein gebastel mit 2 Streifen, lass alles andere weg und prüfe, bis die Farben gleich sind.
Wenn zwei Streifen funktionieren, nimm die 3er Kombination.

Gehe schrittweise vor.

und check noch mal deine 5V Leitung ... sieht am Bild so aus als wäre die nicht in der 5V Buchse des Arduino.

@agmue
Hatte ich schon probiert, Ergebnis ist dasselbe.
Einziger Unterschied, aber das liegt sicher an Ansteuerung der Farbe, bei blau ist der 3. Streifen aus und bei weiß minimal rot.
Der Helligkeitsunterschied ist auch da, wenn man jeden Streifen mit einer anderen Farbe (r-g-b) ansteuert.

@noiasca
Die 5V stimmen, das Layout vom Board ist anders. Sonst hätte ich ja schon beim messen der Spannung stutzig werden müssen.

Reihenschaltung Ring mit 12 LED und dann den Zweierblock.
Der Helligkeitsunterschied ist nur zwischen den zwei Streifen.

Dreierblock mit LED-Ring parallel zu Streifen 2 und 3.
Der Ring leuchtet mit normaler Helligkeit, die Streifen machen ihr Ding wie gehabt.

Mache jetzt Einzelbehandlung ....

cu

Da wüsste ich gerne, was das für eines ist.
Der PIN ist normalerweise nackt - sprich ohne Verbindung zu irgendwas.

@noiasca / @agmue sagt mal, ist es möglich, das die Streifen sich parasitär ernähren, wenn nur GND und DATA bzw. 5V und DATA beschaltet sind?

Und wenn man die Rezensionen bei Amazon liest, scheint es ein massives Problem mit den PCB zu geben.

ICH würde da nix mehr an Zeit investieren und aus der Ferne die Fehlersuche sein lassen. Wer die Teile auf dem Tisch hat, ist mit Lupe und Lötkolben gut bedient, aber alles andere halte ich für Murx.

Ja, sehr gute Idee! Aber warum sind dann die Übergänge gerade nach acht Pixeln? DOUT und DIN sind ja verbunden wie bei den anderen Pixeln. Die dunklen sind ja die, die direkt Spannung bekommen.

Als Workaround wäre eine einzelne Ansteuerung der Streifen denkbar:

#include <Adafruit_NeoPixel.h>

#define LED_PIN1   6  // Pin, an der die LED angeschlossen sind
#define LED_PIN2   7  // Pin, an der die LED angeschlossen sind
#define LED_PIN3   8  // Pin, an der die LED angeschlossen sind
#define LED_COUNT  8  // Anzahl der LED
#define DELAY 5000    // Verzögerung

Adafruit_NeoPixel strip1(LED_COUNT, LED_PIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip2(LED_COUNT, LED_PIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip3(LED_COUNT, LED_PIN3, NEO_GRB + NEO_KHZ800);

void setup()
{
  strip1.begin();
  strip2.begin();
  strip3.begin();
  strip1.setBrightness(10);
  strip2.setBrightness(10);
  strip3.setBrightness(10);
}

void loop()
{
  strip1.fill(strip1.Color(255, 0, 0));      // Rot
  strip2.fill(strip2.Color(255, 0, 0));      // Rot
  strip3.fill(strip3.Color(255, 0, 0));      // Rot
  strip1.show();
  strip2.show();
  strip3.show();
  delay(DELAY);
  strip1.fill(strip1.Color(0, 255, 0));      // Grün
  strip2.fill(strip2.Color(0, 255, 0));      // Grün
  strip3.fill(strip3.Color(0, 255, 0));      // Grün
  strip1.show();
  strip2.show();
  strip3.show();
  delay(DELAY);
  strip1.fill(strip1.Color(0, 0, 255));      // Blau
  strip2.fill(strip2.Color(0, 0, 255));      // Blau
  strip3.fill(strip3.Color(0, 0, 255));      // Blau
  strip1.show();
  strip2.show();
  strip3.show();
  delay(DELAY);
  strip1.fill(strip1.Color(255, 255, 255));  // Weiß
  strip2.fill(strip2.Color(255, 255, 255));  // Weiß
  strip3.fill(strip3.Color(255, 255, 255));  // Weiß
  strip1.show();
  strip2.show();
  strip3.show();
  delay(DELAY);
}

Funktioniert es damit?

Die Erklärung denke ich gibt es in den Amazonkommentaren.
Die haben alle irgendwo an den Enden rumgelötet.

kurz Ausprobiert:
Fehlt 5V fällt der erste Streifen sofort aus.
Fehlt GND läufts.
Ich wollte aber keinen zweiten 8er Streifen risikieren.

Ich hab hier zwei ähnliche 8er Streifen , normal verkabelt kann man die "daisy chainen". Kein Farbunterschied nach 8 pixel.

PS/OT: Schaut zwar nicht danach aus, aber z.B. auf vielen 8fach 7 Segment Anzeigen mit MAX7219 ist auch eine Diode nach Vin und dem Vout fehlen dann 0,7V, da ist auch nichts mit einfachem "Daisy Chain" von 3 Modulen.

@hawe07546
du musst halt mal so ein Modul durchmessen.
Wie viel Ohm hat die 5V Bahn zwischen Links und Rechts?
Wie viel Volt misst du am 5V Ausgang während du 5V am Eingang hast?
Wie viel Ohm hat die GND Leitung zwischen Links und Rechts?
Wie viel Ohm hat die GND Leitung diagonal?

Danke, die hatte ich noch nicht gelesen, meist steht da nur "pünktlich geliefert", was nicht hilft. Die schlechte Qualität dieses Versenders scheint sich zu bestätigen.

Müll also zurückschicken, wir verschwenden unsere Zeit!