PL9823 blitzen bei anlegen der Stromversorgung sofort hell auf

Gast #7314179
Lesenswert?

Hallo, ich experimentiere seit geraumer Zeit, LED's PL9823 mit einem Arduino UNO anzusteuern. Funktioniert soweit auch sehr gut - und fehlerfrei.

Nun zu meinem Thema: Sofort bei Anlegen der Spannung (per USB) blitzen alle LED's kurz hell auf --> der Uno bootet parallel --> danach läuft der geladene Sketch fehlerfrei ab und alle (unabhängig von der Anzahl) PL9823-LED's funktionieren wie vorgesehen - fehlerfrei. Also, noch bevor der Microcontroller fertig gebootet hat/bereit ist, habe ich das 'Blitzthema' auf dem Tisch.

Gibt es für dieses 'Blitz'-Thema irgendeine (evtl. technische) Lösung - die ja im Vorfeld des Arduino-Uno-Betriebs liegen muss - oder muss ich mich mit dem unschönen 'Anfangsblitz' bei diesem LED-Typ einfach abfinden? Vielen dank für Euren hilfreichen Input.

Gast #7314181
Lesenswert?

Fur potentielle Antwortgebende waere es hilfreich, wenn Du die vollstaendige Schaltung offen legen koenntest, wie die LEDs am Arduino angeschlossen wurden. Also z.B. vom Portpin nach + oder nach GND? Oder womoglich ueber einen Treibertransistor? Welcher Vorwiderstand? Ganz viel Infos, die fuer eine qualifizierte Antwort fehlt. Am besten den kompletten Schaltplan, denn das Problem kann auch von der Spannungsversorgung herruehren.

#7314249
Lesenswert?

welu schrieb:

Gibt es für dieses 'Blitz'-Thema irgendeine (evtl. technische) Lösung - die ja im Vorfeld des Arduino-Uno-Betriebs liegen muss - oder muss ich mich mit dem unschönen 'Anfangsblitz' bei diesem LED-Typ einfach abfinden?

vielleicht hilft es ja einen Resetcontroller zu verbauen und Data auf low zu halten (100µs) bis VCC richtig steht, bzw. bis der µC bereit ist und Daten liefern könnte und seine Ports richtig stehen.

Als erstes reicht es ja Data In abzutrennen und auf low zu legen ob es dann noch blitzt.

Gast #7314372
Lesenswert?

Hallo, danke für die raschen Antworten.

Eine Antwort/Frage davon trifft genau die auf mein Thema zu. Die Blitze bzw. Dauerbeleuchtung werden auch 'standalone' - also ohne irgend eine Verbindung mit dem Arduino (ganz schön blöd) - nur bei Anlegen einer 'externen' 5 V Spannung (nicht über USB) an die LED PL9823 erzeugt - kein Anschluss an DIN vorgenommen. Nur 5 V+ und 5 V- (GND) mit 1000my/16V Stützkondensator zwischen + und GND und schon blitzt es bzw. ist die Dauerleuchtung der LED's vorhanden. Dies gilt es zu verhindern und/oder (technisch) zu unterdrücken.

Ich sehe an den vielen Antworten, dass dieses Thema auch bei anderen Usern relevant und sicher interessant ist.

Einen 'Schaltplan' habe ich für diesen einfachsten Anschluss (externe Einspeisung) noch nicht erstellt.

Danke nochmal für Eure Mühe.

#7314378
Lesenswert?

welu schrieb:

Nur 5 V+ und 5 V- (GND) mit 1000my/16V Stützkondensator zwischen + und GND und schon blitzt es bzw. ist die Dauerleuchtung der LED's vorhanden. Dies gilt es zu verhindern und/oder (technisch) zu unterdrücken.

deswegen pulldown dauer low ohne Signal (1k bis 470 Ohm) versuchen

Joachim B. schrieb:

Als erstes reicht es ja Data In abzutrennen und auf low zu legen ob es dann noch blitzt.

#7314451
Lesenswert?

welu schrieb:

Hallo Joachim, bitte erläutere doch kurz, was mit 'pulldown dauer low ohne Signal' (technische Realisierung) gemeint ist.

google pulldown

OK ich mach das mal für dich

https://de.wikipedia.org/wiki/Open_circuit https://www.elektronik-kompendium.de/public/schaerer/pullr.htm

Hintergrund ist das ohne definierten Pegel alles mgliche passieren kann weil ein offener Eingang auf Störungen regaiert!

Die WS und Konsorten wollen ein low Signal für den Reset und offen gibt es kein festes low an Data In.

#7314609
Lesenswert?

Joachim B. schrieb:

Markus M. schrieb:

Nützt bei meinen PL9823 allerdings nichts. Selbst wenn ich den Eingang fest auf "low" setze leuchten sie einfach blau

und mit einem Resetcontroller der definiert Data In auf low tastet?

Also was ich versucht habe:

  • Vcc an, mit unbeschaltetem Eingang -> Leuchtet blau
  • Vcc an, mit Eingang auf GND -> Leuchtet blau
  • Vcc an, Eingang "high", dann auf 1s auf "low" gesetzt -> Leuchtet blau

Es sieht für mich so aus, als ob der Wert in dem internen Register der LED nach dem Einschalten einfach 0x00, 0x00, 0xff (RGB) ist. Das behält die solange bis sie über DIN neue Daten empfangen hat.

#7314611
Lesenswert?

oszi40 schrieb:

@TO Welu: Warum ist die Einschaltreihenfolge so gewählt, dass diese PL9823 schon Spannung bekommen, bevor die Logik sauber arbeitet?

Weil die LEDs aus der gleichen Spannungsversorgung gespeist werden wie der Controller. Der braucht dann ein paar ms bis er die ersten Daten schickt, in dieser Zeit leuchten die LEDs eben kurzzeitig (bei mir blau) bis sie zum ersten mal Daten empfangen haben.

Das kenne ich von den WS28xx jedenfalls auch nicht, scheint ein "Feature" der PL9823 zu sein ;-)

#7314734
Lesenswert?

Markus M. schrieb:

Es sieht für mich so aus, als ob der Wert in dem internen Register der LED nach dem Einschalten einfach 0x00, 0x00, 0xff (RGB) ist. Das behält die solange bis sie über DIN neue Daten empfangen hat.

dann sind die PL9823 Mist

Michael B. schrieb:

Es gibt sogar modernere. Wo warst du die letzten 50 Jahre ?

im Homeoffice du Laberkopp, merke nicht alles Moderne taugt was, erlebe ich halt öfter!

Beitrag #7314737 wurde von einem Moderator gelöscht.
Gast #7315528
Lesenswert?

Hallo zusammen, nach weiteren ausführlichen Test's kann ich leider die Ergebisse, die Markus geschildert hat, nur bestätigen. Schade, dass ich nicht daneben lag. Ich habe mich entschieden, die PL9823 daher nicht in meinem Vorhaben einzusetzen. Es aber kann sicherlich ja andere Anwendungen geben bei denen der 'Anfangsblitz' nicht störend ist. Ich werde einen Strip mit WS2812er LED's einsetzen. Da blitzt nichts beim Anlegen der Spannung - egal zu welchem Zeitpunkt. Ich werde jetzt eben bei der Realisierung und bei Einsatz von LWL einen anderen Weg suchen; mit der PL9823 LED wäre es aufgrund der bedrahteten LED-Form halt einfacher gewesen. Ich möchte mich bei allen vielmals bedanken, die sich für meine Anfrage engagiert und gute Beiträge gepostet haben.

#7333347
Lesenswert?

Hallo Zusammen,

ich habe mir ebenfalls die PL9823 für mein Projekt gekauft. Allerdings als 5mm Version. Das Aufblitzen der LEDs habe ich auch, und sehe ebenfalls keinen Weg, es weg zu bekommen. Legt man an den PL9823 nur die Spannung an, leuchten sie blau. Egal ob DataIn auf Masse oder VCC (5V) liegt.

Schließe ich original WS2812b an den Arduino an, leuchten die WS2812b erst, wenn mein Programm es sagt. Daran liegt es sicherlich nicht.

Schade, die 5mm Version gefällt mir sehr gut. Gibt es die original WS2812b auch als 5mm Version?

Gruß Toby

#7364313
Lesenswert?

Hi,

der Thread ist ja schon ein bisschen älter, aber ich hab für das blaue Problem mit den DL9823 einen funktionierenden Workaround gefunden. Vielleicht ein bisschen unschön, aber ich bin kein Experte und habe eine Lösung gesucht die einfach nur funktioniert.

Ich habe in die Stromversorgung für die LEDs ein Relais eingesetzt, das ich mit dem Arduino schalte. Direkt nach dem Schaltsignal, die Leitung zwischen Relais und LEDs solange auslesen, bis das Relais durchgeschaltet hat. Dann direkt im Anschluss die LEDs resetten. Das funktioniert schnell genug, um nichts mehr von dem blauen Aufblitzen zu sehen.

Getestet mit Arduino IDE, Arduino Uno, Adafruit NeoPixel Library und bis jetzt nur einer einzelnen DL9823. Werde es aber bald nochmal mit einer längeren Kette probieren.

Hier noch der Code:

1
#include <Adafruit_NeoPixel.h>
2

3
#define LED_PIN     3
4
#define LED_COUNT   1
5

6
#define READ_PIN    2
7
#define RELAIS_PIN  4
8

9
Adafruit_NeoPixel strip ( LED_COUNT , LED_PIN , NEO_RGB + NEO_KHZ800 ) ;
10

11
void setup()
12
{ 
13
  pinMode(READ_PIN,   INPUT) ;
14
  pinMode(RELAIS_PIN, OUTPUT) ;
15
  
16
  digitalWrite(RELAIS_PIN, 1) ;      // Schaltsignal für Relais
17
  
18
  while (!digitalRead(READ_PIN)) ;   // Auf Relais warten
19
  
20
  strip.begin() ;                    // LED init Funktion
21
  strip.show() ;                     // LED ausschalten 
22
}
#7364558
Lesenswert?

Tobi L. schrieb:

Ich habe in die Stromversorgung für die LEDs ein Relais eingesetzt, das ich mit dem Arduino schalte.

Es reicht, wenn am Anfang (bei Reset) DIN auf "0" bleibt. ATMega hat während Reset alle Ausgänge hochohmig, das wirkt auf LED wie "1". Relais - das ist zu groß... Es reicht, zwischen Eingang und Erde einen Widerstand zu schalten (und evtl. noch Puffer, damit "0" sauberer wird). Ich benutze WS2812 über HC138 und HC132, während Reset bleibt "0". Kein Problem wie geschrieben.

Allerdings sind WS2812-ähnliche LEDs unbequem: Mikrocontroller kann in der Zeit nichts anderes machen. Viel interessanter sind LEDs wie SK9822, quasi SPI. Hier kann Takt ungleichmäßig werden (z.B. wenn ISR kommt) und passiert trotzdem nichts.

Beitrag #7364771 wurde von einem Moderator gelöscht.
Moderator (Firma: Titel) Persönliche Seite #7364807
Lesenswert?

Tobi L. schrieb:

while (!digitalRead(READ_PIN)) ; // Auf Relais warten

Ich hoffe, dir ist klar, dass so ein Relais ganz heftig prellen kann. Das Prellen kann anfang noch kurz sein und erst nach ein paar Monaten kommen.

Angehängt mal ein paar Bilder eines "üblichen" FTR-F1 Relais mit dem aus der roten 24V-Spannungsquelle der dunkelblaue 24V-Verbraucher eingeschaltet wird. Das letzte Bild ist die Streuung nach einem Nachtlauf mit ca. 15k Einschaltzyklen. Man sieht, dass das Relais eine Prelldauer bis zu 1,5ms hat.

Klaus R. schrieb:

Relais ist etwas..."rough", aber die Lösung gut wenns zuverlässig ist!

Wenns darauf ankommt, dass die Spannung nach 1 Schaltbefehl 1 einziges Mal ansteigt, dann nimmt man einen Halbleiterschalter.

Angehängte Dateien:
#7364934
Lesenswert?

Maxim B. schrieb:

Joachim B. schrieb:

ja genau wie 2N3055 und BC107B, beide NPN

Nicht nur. Auch Timing ist gleich.

Das mag sein, aber wir konnten das hier nachvollziehbar testen, das die PL9823 immer blau leuchten nachdem sie Spannung bekommen, egal was man mit DIN gemacht hat.

Am Ende sind sie eben doch nicht gleich.

Die Überlegung die Versorgungsspannung erst zu schalten wenn der Controller bereit ist, und dann sofort danach alle LEDs mit #000000 zu versorgen ist gut.

Statt Relais einen brauchbaren Mosfet wie obens schon angemerkt würde es dann perfekt machen.

#7365191
Lesenswert?

Hi,

Lothar M. schrieb:

Ich hoffe, dir ist klar, dass so ein Relais ganz heftig prellen kann. Das Prellen kann anfang noch kurz sein und erst nach ein paar Monaten kommen.

Wie gesagt, ich bin echt kein Experte. Hab noch nicht so viel Erfahrung mit dem Schalten mit MOSFET. Inzwischen ist die Schaltung aber mit MOSFET statt Relais aufgebaut und das funktioniert genauso gut und auch um einiges schneller.

Trotzdem danke für die Hinweise.

Gruß Tobi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren