Forum: Mikrocontroller und Digitale Elektronik WS2812 zu hell / kleiner als 1 dimmen


von Bittermelone (Gast)


Lesenswert?

Guten Abend,

ich habe hier ein Array aus WS2812, die ich im Dunkeln als Anzeige 
benutzen möchte. Dafür sind diese LEDs aber selbst beim kleinsten 
RGB-Wert noch zu hell, bzw hat man dann keine Abstufungen mehr.
PWM interferiert mit der internen PWM der LEDs und es flackert. Mit 
Strombegrenzung (mit Transistoren, wie hier beschrieben: 
https://www.mikrocontroller.net/articles/Konstantstromquelle) schaltet B 
schon ab wenn R und G noch hell leuchten.

Gib es noch andere Möglichkeiten, diese Licht-Monster weiter zu dimmen?

Danke

von Klaus R. (klaus2)


Lesenswert?

Opt. Filter...was sonst.

Klaus.

von Max D. (max_d)


Lesenswert?

Dunkle Scheibe davor? SCNR

von Bittermelone (Gast)


Lesenswert?

Ja, das würde auch besser aussehen. Aber bei Batteriebetrieb möchte man 
natürlich nicht auf diese Weise Energie verschwenden.

von Falk B. (falk)


Lesenswert?

@ Bittermelone (Gast)

>benutzen möchte. Dafür sind diese LEDs aber selbst beim kleinsten
>RGB-Wert noch zu hell,

Beim Wert 1?

> bzw hat man dann keine Abstufungen mehr.

>PWM interferiert mit der internen PWM der LEDs und es flackert.

Glaub ich nicht. Dann ist eher deine Ansteuerung oder Stromversorgung 
schlecht.

> Mit
>Strombegrenzung (mit Transistoren, wie hier beschrieben:
>https://www.mikrocontroller.net/articles/Konstantstromquelle) schaltet B
>schon ab wenn R und G noch hell leuchten.

Welche LEDs hast du denn GENAU, denn unter dem Namen sind verschiedene 
LEds in Umlauf. Flackern tut da aber nichts.

>Gib es noch andere Möglichkeiten, diese Licht-Monster weiter zu dimmen?

Monster? Bist du photosensitiv?

von Bittermelone (Gast)


Lesenswert?

Falk B. schrieb:
> Beim Wert 1?

Ja. 1 geht gerade, aber ich hätte gerne noch ein paar dunklere Stufen.


>>PWM interferiert mit der internen PWM der LEDs und es flackert.
>
> Glaub ich nicht. Dann ist eher deine Ansteuerung oder Stromversorgung
> schlecht.

Nein, das ist so. Ist auch logisch, weil die Dinger eine eigene PWM drin 
haben die dann interferiert, wenn man die Ansteuerung auch wieder 
moduliert. Konkret habe ich einen SPI-Puffer so mit Daten gefüllt, dass 
die LEDs erst auf 1 geschaltet werden und nach kurzer Zeit auf 0. Das 
wird per gelooptem DMA kontinuerlich an das Array geschickt. Wenn ich 
statt 0 nochmal 1 schicke, flackerts nicht. Das Timing Stimmt auch, ich 
kann präzise einzelne LEDs und Farben ansteuern.



> Welche LEDs hast du denn GENAU, denn unter dem Namen sind verschiedene
> LEds in Umlauf. Flackern tut da aber nichts.

WS2812B in einem NeoPixel Feather Wing.


>>Gib es noch andere Möglichkeiten, diese Licht-Monster weiter zu dimmen?
>
> Monster? Bist du photosensitiv?

Wenn ich mal aus versehen eine auf 255 setze, bin ich jedes Mal für ein 
paar Sekunden blind. Die sind einfach so irre hell.

von Klaus R. (klaus2)


Lesenswert?

Die laufen auch mit ~3.3V und sind dann dtl dunkler...

Klaus.

von Falk B. (falk)


Lesenswert?

@Bittermelone (Gast)

>Ja. 1 geht gerade, aber ich hätte gerne noch ein paar dunklere Stufen.

Geht halt nicht.

>>>PWM interferiert mit der internen PWM der LEDs und es flackert.
>
>> Glaub ich nicht. Dann ist eher deine Ansteuerung oder Stromversorgung
>> schlecht.

>Nein, das ist so. Ist auch logisch, weil die Dinger eine eigene PWM drin
>haben die dann interferiert, wenn man die Ansteuerung auch wieder
>moduliert.

Stimmt.

> Konkret habe ich einen SPI-Puffer so mit Daten gefüllt, dass
>die LEDs erst auf 1 geschaltet werden und nach kurzer Zeit auf 0. Das
>wird per gelooptem DMA kontinuerlich an das Array geschickt.

Dafür sind sie halt nicht gedacht.

von Falk B. (falk)


Lesenswert?

@Klaus R. (klaus2)

>Die laufen auch mit ~3.3V und sind dann dtl dunkler...

Nö, denn der Treiber-IC hat Konstantstromausgänge.

von Bittermelone (Gast)


Lesenswert?

Stimmt, die hängen ja am USB mit 5V. Werde mal ne Batterie anschließen.

von Klaus R. (klaus2)


Lesenswert?

Falk das mag stimmen aber mit meinen WS2812 habe ich es gestern erst 
probiert um eine Lipo Versorgung abzusichern. Sie werden dunkler aber 
laufen brav weiter.

Klaus.

von Bittermelone (Gast)


Angehängte Dateien:

Lesenswert?

Ist schon etwas milder mit 3V. Aber so zum direkt drauf schauen in 
dunkler Umgebung immer noch mehr als ausreichend.

Die Beleuchtung auf dem Foto ist heller als es scheint, man kann da noch 
gut Zeitung lesen. Ich habe die Blende etwas zugemacht und trotzdem 
überstrahlt die LED.

von Klaus R. (klaus2)


Lesenswert?

Gerade grün ist halt ÜBEL, weil homo sapiens dafür besonders empfindlich 
ist. Rot ist dagegen kaum zu sehen. Was spricht jetzt gegen den Filter? 
Die paar wenigen mAh musst du verschmerzen oder das Konzept komplett 
ändern - you decide!

Klaus.

von Bittermelone (Gast)


Lesenswert?

Dann werd ich wohl das Konzept komplett ändern, sodass ich nach belieben 
runterdimmen kann. Ist halt so schön bequem mit adressierbaren LEDs, 
alles andere ist doch deutlich aufwändiger.

von Klaus R. (klaus2)


Lesenswert?

Halte ich nicht für ökonomisch...aber: vll sind APA102 oder SKxxxx 
dunkler oder iwie anders steuerbar, zB Common Anode extern oder sowas?

Klaus.

von Harald A. (embedded)


Lesenswert?

APA102 hat noch zusätzlich Global dimming, hat aber ein paar Nachteile:

https://cpldcpu.wordpress.com/2014/08/27/apa102/

von Teo D. (teoderix)


Lesenswert?

Falk B. schrieb:
> @Klaus R. (klaus2)
>
>>Die laufen auch mit ~3.3V und sind dann dtl dunkler...
>
> Nö, denn der Treiber-IC hat Konstantstromausgänge.

Doch, dat funst!
Kann aber grad nur auf 3V runter, dann resettet der µC. Sollte aber bis 
ca. 2,8V runter gehen. Dann aber bitte keinen 5V in DI jagen....

Klaus R. schrieb:
> Falk das mag stimmen aber mit meinen WS2812 habe ich es gestern erst
> probiert

Vor ~3s...

von Bittermelone (Gast)


Lesenswert?

Harald A. schrieb:
> APA102 hat noch zusätzlich Global dimming, hat aber ein paar Nachteile:

Interessant, allerdings zu teuer.

Eine Möglichkeit wäre vielleicht noch, in jedem PWM-Zyklus die LEDs kurz 
ganz auszuschalten, um die interne PWM zu synchronisieren. Der 
entsprechende Transistor müsste natürlich hinter die (4 uF) 
Abblockkondensatoren, was etwas fummelig wird auf dieser Platine.

von Falk B. (falk)


Lesenswert?

@Teo D. (teoderix)

>> Nö, denn der Treiber-IC hat Konstantstromausgänge.

>Doch, dat funst!

Es "funst" viel, aber meist nur durch parasitäre Effekte. Z.B. weil die 
Flußspannung der LEDs angeknabbert wird. Nicht aber weil ein 
Vorwiderstand weniger Spannung sieht, denn den haben die WS2812 LEDs 
nicht.

von Klaus R. (klaus2)


Lesenswert?

Es funst. Nichts anderes habe ich behauptet. Egal was im DB über KSQ 
steht.

19.2khz pwm und spi der apa sind "eigentlich" ja dtl uC freundlicher und 
an sich besser...interessant.

Klaus.

von Harald (Gast)


Lesenswert?

Bittermelone schrieb:
> Interessant, allerdings zu teuer.

APA102 kostet so ca. 15 Cent, was bezahlst du für die WS2812?

Es gibt einen schönen Nebeneffekt bei der APA102. Wenn man die originale 
LED mit dem modifizierten Package (Thermal Pad unter dem Package) beim 
Hersteller in Taiwan kauft (neon-world.com, auch kleinere Mengen sind 
ok), ist man damit sicher vor irgendwelchen Fakes von minderer Qualität, 
vertauschten Farben usw. Das modifizierte Package baut nämlich keiner 
nach, die Clones haben allesamt PLCC6, meist in diesem ominösen 
„Weichplastik“ wie die WS2812.

Relativ neu ist die APA102-2020, alles identisch nur kleiner (2x2mm)

von Klaus R. (klaus2)


Lesenswert?

...würd ich mir ja gerne mal als "Teststreifen" kaufen, aber WS2812 
gibts 8fach für nen Euro bei ebay - bei APA102 ist man davon weit 
entfernt :)

Klaus.

von Harald (Gast)


Lesenswert?

Und dann ist es auch noch so, dass die Stripes eigentlich immer mit 
APA102-lookalikes (SK9822 z.B.) bestückt sind. Die Variante mit thermal 
Pad habe ich auf Stripes noch nicht gesehen.

von Bittermelone (Gast)


Lesenswert?

Ach so, 15 cent sind schon OK. Hatte nur Suchergebnisse überflogen, aber 
das waren Preise für 10er Packungen... Dann schau ich mir die APA102 mal 
näher an.

von Bittermelone (Gast)


Lesenswert?

Die eingebaute Elektronik ist allerdings auch ein Faktor beim 
Energieverbrauch, die 32 Stück WS2812 verbrauchen zusammen schon gut 20 
mA wenn sie aus sind. Bei der APA102 steht dazu leider nichts im 
Datenblatt, aber der "Dunkelstrom" wird wohl auch im mA Bereich liegen.

Muss ich bei einer konventionellen Matrix mit ein paar 74HC595 und 
Transistoren auch mit solchen Verlusten rechnen?

von Klaus R. (klaus2)


Lesenswert?

Nein, weil da rechnet nichts wenn "aus"...

0.15€ für ne APA102? Wo?

Klaus.

von Bittermelone (Gast)


Lesenswert?

Natürlich "rechnet" da was bei einem RGB Wert von 0. Der Oszillator muss 
ja weiter laufen um Daten empfangen zu können und die PWM läuft 
vermutlich auch, halt mit einer Pulsweite von 0. Steht auch im 
Datenblatt: Static power
consumption / IDD: 1mA.

von Bittermelone (Gast)


Lesenswert?

Auch so Du meintest die konventionelle Matrix. Sorry.

von Harald (Gast)


Lesenswert?

Ok, habe gerade mal die Rechnung von neon-world rausgesucht, da lagen 
die bei 1000 Stück bei 19 Dollar-Cent. Also 15 Cent aus der Erinnerung 
waren nicht ganz richtig.
Die kompatiblen SK9822 bei Ali kosten allerdings nur 101USD/1000 Stück 
oder 13USD/100Stück. Probleme hatte ich damit auch noch nicht, 
allerdings vertraue ich lieber dem Original.
https://de.aliexpress.com/item/10-1000pcs-APA102-LEDs-Chips-IC-SMD-5050-RGB-For-Strip-Screen-DC5V-with-DATA-and/32323146870.html

Sonst bei neon-world fragen (die E-Mail unten auf der Seite) und fragen, 
ob die auch günstigen Postweg machen würden.

Ich kann echt sagen, dass man das SPI-Interface sehr schnell schätzen 
lernt und dann auch nie wieder zur 2812 zurück will.

von Karl K. (karl2go)


Lesenswert?

Bittermelone schrieb:
> Ist auch logisch, weil die Dinger eine eigene PWM drin
> haben die dann interferiert, wenn man die Ansteuerung auch wieder
> moduliert.

Das würd ich nochmal prüfen, kannst ja einfach mal die PWM ändern. So 
logisch ist das nicht, dazu müssten die Frequenzen schon zueinander 
passen.

> Konkret habe ich einen SPI-Puffer so mit Daten gefüllt, dass
> die LEDs erst auf 1 geschaltet werden und nach kurzer Zeit auf 0. Das
> wird per gelooptem DMA kontinuerlich an das Array geschickt.

Da würde ich eher vermuten, dass der Ausgabetakt schwankt oder 
unterbrochen wird, oder dass Signale mitunter nicht empfangen werden, 
und dadurch Helligkeitsschwankungen auftreten.

> Wenn ich
> statt 0 nochmal 1 schicke, flackerts nicht. Das Timing Stimmt auch, ich
> kann präzise einzelne LEDs und Farben ansteuern.

Das sagt nichts, da können dennoch Jitter oder Aussetzer in der 
Ansteuerung sein, die würdest Du in dem Fall nicht sehen.

von Bittermelone (Gast)


Lesenswert?

Das ist keine soft-PWM, sondern nur ein SPI-DMA auf loop gesetzt, 
ansonsten passiert da nichts, die main Schleife ist leer. Kein Callback, 
keine anderen DMAs, wüsste nicht, wo da Jitter oder Unterbrechungen 
herkommen sollten. Aber möglich ist es natürlich, dass da noch irgendwas 
dazwischen funkt, zumal es Arduino ist.
Die PWM Frequenz ergibt sich aus der länge des DMA-Puffers und ich habe 
verschiedene ausprobiert. Die interne PWM ist auch nicht soo schnell, 
man kann sie bei schnellen Bewegungen sehen. Da ist es nur logisch, dass 
es interferiert. Vielleicht dauert die Datenverarbeitung in der LED auch 
einfach eine gewisse Zeit.

Angesichts des Stromverbrauchs der internen Elektronik ist es aber auch 
egal. Es lohnt nicht, noch ein paar uA durch Dimmen einzusparen, wenn 
jede einzelne LED schon im Leerlauf ein mA verbrät. Da ist kurzfristig 
eine getönte Scheibe in der Tat die beste Lösung, mittelfristig der 
Umstieg auf die klassische Matrix-Schaltung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.