Forum: Mikrocontroller und Digitale Elektronik WS2812B LED-Strip per High-Side Switch schalten


von Matze (Gast)


Lesenswert?

Hi Leute !!!

Ich habe ein paar Fragen zur theoretischen Überlegung, einen WS2812B 
LED-Strip bei Bedarf mittels High-Side Switch, realisiert durch einen 
IRF4905, von der Spannungsversorgung zu trennen. Dabei wird der IRF4905 
vom selben µC gesteuert, der auch den LED-Strip programmiert. Der 
gedachte Ablauf wäre dann folgender:

Ausgeschalteter Zustand

> µC-Data-Pin (-> WS2812B DI): Tri-State
> IRF4905 sperrt

Betriebszustand

> IRF4905 schaltet durch
> µC-Data-Pin (-> WS2812B DI): Output

Ist bei dieser Konfiguration bezüglich der WS2812B LEDs grundsätzlich 
mit irgendwelchen Problemen zu rechnen? Und wäre der IRF4905 vor oder 
nach dem obligatorische Elko (1000 µF), der sich ja normalerweise so 
nahe wie möglich am Strip befinden sollte, zu positionieren?

Grüße,
Matze

von hinz (Gast)


Lesenswert?

IRF4905 ist kein Logikpegel-MOSFET!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?


von Falk B. (falk)


Lesenswert?

@Matze (Gast)

>Ich habe ein paar Fragen zur theoretischen Überlegung, einen WS2812B
>LED-Strip bei Bedarf mittels High-Side Switch, realisiert durch einen
>IRF4905,

Ein 74A MOSFET mit 20mOhm. Willst du WIRKLICH deinen LED-Streifen mit 
74A versorgen? ;-)
Außerdem schaltet das Ding erst mit 10V U_GS sicher.

https://www.mikrocontroller.net/articles/FET#Gate-Source_Threshold_Voltage

Such dir lieber einen, der das schon mit 5V kann. Da reicht auch ein 20V 
MOSFET.

> von der Spannungsversorgung zu trennen.

Warum? Ist die Ruhestromaufnahme so hoch? Warum nicht einfach die LEDs 
per Befehl ausschalten?

>Ausgeschalteter Zustand

>> µC-Data-Pin (-> WS2812B DI): Tri-State

LOW geht auch.

>Ist bei dieser Konfiguration bezüglich der WS2812B LEDs grundsätzlich
>mit irgendwelchen Problemen zu rechnen?

Geht so.

>Und wäre der IRF4905 vor oder
>nach dem obligatorische Elko (1000 µF), der sich ja normalerweise so
>nahe wie möglich am Strip befinden sollte, zu positionieren?

Naja, beides ist möglich. Wenn der Elko vor dem MOSFET sitzt, muss der 
nicht bei jedem Einschalten geladen werden, was einen ordentlichen 
Strompuls auf deiner Stromversorgung verursacht. Das ist also etwas 
besser.

von Jim Beam (Gast)


Lesenswert?

Schalte doch LOW-Side ab.
Z.B. mit einem IRLML2502, Logic-Level, 4Amp.

Dann aber die Datenleitung wirklich auf HiZ, und nicht auf L.

Und ja: der Ruhestrom ist schon ein Thema, besonders natürlich bei 
vielen Leds/Strip. Kann leicht in den Bereich einiger 10mA gehen (ganzer 
Strip), z.B. bei Batt.Betrieb ist eine Abschaltung also sinnvoll.

von Matze (Gast)


Lesenswert?

Danke Euch für die Infos.

@ hinz

" ... IRF4905 ist kein Logikpegel-MOSFET! ... "

@ Falk Brunner

" ... Außerdem schaltet das Ding erst mit 10V U_GS sicher. ... Such dir 
lieber einen, der das schon mit 5V kann. ... "

Also im Datenblatt ist VGS(th) mit -2.0 V bis -4.0 V angegeben. Sollte 
der IRF4905 demnach nicht trotzdem auch mit Logikpegel zu betreiben 
sein?

" ... Ist die Ruhestromaufnahme so hoch? Warum nicht einfach die LEDs 
per Befehl ausschalten? ... "

Wie mein Vorredner bereits angedeutet hat, können die rund 0,8 mA pro 
LED beispielsweise bei Batteriebetrieb schon sehr negativ ins Gewicht 
fallen.

@ Jim Beam

" ... Schalte doch LOW-Side ab. ... "

Ich meine mich zu erinnern, bereits des Öfteren gelesen zu haben, daß 
man diesen LED-Strips besser nicht die Masse "entzieht", also 
stattdessen lieber spannungsseitig schaltet.

Grüße,
Matze

von Falk B. (falk)


Lesenswert?

@ Matze (Gast)


>" ... IRF4905 ist kein Logikpegel-MOSFET! ... "

>" ... Außerdem schaltet das Ding erst mit 10V U_GS sicher. ... Such dir
>lieber einen, der das schon mit 5V kann. ... "

>Also im Datenblatt ist VGS(th) mit -2.0 V bis -4.0 V angegeben.

Dann lies mal GENAU was dort steht, außerdem war mein Link nicht zur 
farblichen Gestaltung gedacht!

https://www.mikrocontroller.net/articles/FET#Gate-Source_Threshold_Voltage

>Sollte
>der IRF4905 demnach nicht trotzdem auch mit Logikpegel zu betreiben
>sein?

NEIN!

>Ich meine mich zu erinnern, bereits des Öfteren gelesen zu haben, daß
>man diesen LED-Strips besser nicht die Masse "entzieht", also
>stattdessen lieber spannungsseitig schaltet.

Eben.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Matze schrieb:
> Danke Euch für die Infos.

Leider hast Du vergessen, auf meinen Beitrag oben etwas zu schreiben.

Hier nochmal:

https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Schalten_der_5V-Versorgungsspannung_f.C3.BCr_die_LED-Stripes

Das ist eine praxiserprobte und sehr simple Schaltung, die hundertfach 
eingesetzt wird, um WS2812-Stripes abzuschalten.

von Jim Beam (Gast)


Lesenswert?

Falk B. schrieb:
>>Ich meine mich zu erinnern, bereits des Öfteren gelesen zu haben, daß
>>man diesen LED-Strips besser nicht die Masse "entzieht", also
>>stattdessen lieber spannungsseitig schaltet.
>
> Eben.


Eben nicht.

Solange die Datenleitung hochohmig ist,
ist es völlig egal ob Masse oder Plus geschaltet wird.

Der Grund für Probleme liegt daran, dass sich der WS versucht die
Masse über die Eingangsdioden zu "holen" und der Dateneingang 
üblichwerweise an L liegt wenn keine Daten laufen.

Läge er an H träte das gleiche Problem/Defekt auf,
wenn Plus geschaltet wird.

von Maxim B. (max182)


Lesenswert?

Matze schrieb:
> Also im Datenblatt ist VGS(th) mit -2.0 V bis -4.0 V angegeben. Sollte
> der IRF4905 demnach nicht trotzdem auch mit Logikpegel zu betreiben
> sein?

Nein, natürlich nicht. Im schlimmsten Fall (wenn VGS(th)== -4.0 V ) wird 
Transistor nur ein bißchen geöffnet.
Logik-Transistor hat VGS(th) höchstens 3 V.
Noch genauer kann man Logik-Transistor merken: in Datenblatt sollte u.a. 
auch RDS(ON)für -4,5 V stehen, nicht nur für 10 V.

Als Beispiel für P-Kanal:
IRFR5305: VGS(th) -2.0 - -4.0 V, RDS(on) 0.065 Ohm bei VGS = -10V. Das 
ist KEIN Logik-Transistor.
AOD409: VGS(th) -1.2 - -1.9 - -2.4 V, RDS(ON) 32 mOhm bei VGS=-10V und 
43 mOhm bei VGS=-4.5V. Das IST Logiktransistor (für 5V-Logik).

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jim Beam schrieb:
> Läge er an H träte das gleiche Problem/Defekt auf, wenn Plus geschaltet
> wird.

Eben, deshalb muss die Software gewährleisten, dass sie am Datenpin 
hochohmig geht, bevor sie die Spannung abschaltet.

Wenn man sehr vorsichtig ist, kann man den Datenpin (z.B. bei einem 
STM32) (auch während des Betriebs) auf OpenDrain stellen und die Arbeit 
einen Pullup-Widerstand auf der Datenleitung machen lassen.

Genauso macht das auch die WordClock, denn es hat sich herausgestellt, 
dass ab ca. 5.1V Betriebsspannung die WS2812-LEDs einen High-Pegel eines 
STM32 nicht mehr zuverlässig als solchen erkennen. Deshalb werden die 
WS2812-LEDs grundsätzlich über einen OpenDrain-Ausgang gesteuert. Ein 
zusätzlicher externer Pullup an 5V sorgt dann für den Pegel an DIN. 
Dieser tötet aber keine WS2812, da zu hochohmig. Wenn man ihn an die 
geschalteten 5V hängt, ist man sowieso im grünen Bereich.

: Bearbeitet durch Moderator
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.