Forum: Analoge Elektronik und Schaltungstechnik LED-Streifen über Microcontroller ein/ausschalten


von Nils W. (derniwi)


Lesenswert?

Hallo zusammen,

ich arbeite gerade an einem kleinen Projekt mit einem ESP32 und einem 
LED-Streifen (120 LEDs, Typ WS2812B, 5V, Strom wird alle 20 LEDs 
eingespeist).

Soweit klappt auch alles, über einen 74HCT14 als Level Converter von 
3,3V auf 5V kann ich erfolgreich die LEDs ansteuern. Hier habe ich kein 
Problem.

Allerdings soll das Licht natürlich nicht die ganze Zeit leuchten, die 
meiste Zeit des Tages ist der ESP32 im Tiefschlaf (Deep Sleep).Jedoch 
benötigen die ICs in den LEDs trotzdem Strom, den ich mit ca. 70mA 
messen kann. Ich habe davor einen Spannungswandler auf 5V / 10A, mit dem 
ich den ESP32, den 74HCT14 und auch die LEDs betreibe. Um den 
Stromverbrauch weiter zu reduzieren, würde ich gerne die Stromzufuhr der 
LEDs über einen Pin des ESP ein- und ausschalten.

Würden alle LEDs mit voller Helligkeit leuchten, sollte hier ein 
maximaler Strom von 7,2A fließen. Das wäre also so ziemlich die 
Obergrenze der Leistung, die zu schalten wäre - aktuell liege ich 
deutlich darunter.

Jetzt kenne ich mich mit den entsprechenden Bauteilen nicht so gut aus 
bzw. einiges ist auch viele Jahre her. Gesucht habe ich natürlich auch 
schon, aber bin nicht so richtig fündig geworden.

Wäre hier ein MOSFET, das Gate über einen Widerstand mit dem ESP 
verbunden, Masse an Source und am Drain die Masseleitung der LEDs, das 
Mittel der Wahl? Wie gesagt, die LEDs sollen nicht darüber gesteuert, 
lediglich die ganze Strippe ein- oder ausgeschaltet werden (also keine 
wirklichen Frequenzen schalten).

Was gibt es noch zu beachten?

Danke und Gruß
Nils

von Jörg R. (solar77)


Lesenswert?

Nils W. schrieb:
> Wäre hier ein MOSFET, das Gate über einen Widerstand mit dem ESP
> verbunden, Masse an Source und am Drain die Masseleitung der LEDs, das
> Mittel der Wahl? Wie gesagt, die LEDs sollen nicht darüber gesteuert,
> lediglich die ganze Strippe ein- oder ausgeschaltet werden (also keine
> wirklichen Frequenzen schalten).

Ich würde dem Streifen nicht GND wegnehmen, sondern Vcc. Des weiteren 
musst Du dafür sorgen dass der Streifen kein Signal am Datenpin bekommt.

von Pepe T. (pepe_t)


Lesenswert?

Jörg R. schrieb:
> nicht GND wegnehmen, sondern Vcc

Warum?
Die ansteuerung eines fet der gnd wegnimmt ist einfacher.
Wie würdest du denn vcc wegnehmen?

Nils W. schrieb:
> einen 74HCT14 als Level Converter

Brauchts nicht. Du kannst den out-pin auf open-drain schalten und über 
1K auf +5V ziehen. Geht bei mir bestens.

von Nils W. (derniwi)


Lesenswert?

Ok, aber wie nehme ich Vcc weg? Mit einem P-Kanal-MOSFET?

Der Datenpin ist eigentlich auf Low, kommt aber effektiv aus dem 
Schmitt-Trigger.

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Pepe T. schrieb:
> Warum?
> Die ansteuerung eines fet der gnd wegnimmt ist einfacher.
> Wie würdest du denn vcc wegnehmen?

Weil sonst die erste LED draufgeht, wenn da an Din noch Spannung 
ansteht. Deshalb baut man ja auch gerne einen angst Widerstand von 
100-300-Ohm ein.

von Wolfgang (Gast)


Lesenswert?

Nils W. schrieb:
> Wäre hier ein MOSFET, das Gate über einen Widerstand mit dem ESP
> verbunden, Masse an Source und am Drain die Masseleitung der LEDs, das
> Mittel der Wahl? Wie gesagt, die LEDs sollen nicht darüber gesteuert,
> lediglich die ganze Strippe ein- oder ausgeschaltet werden (also keine
> wirklichen Frequenzen schalten).
>
> Was gibt es noch zu beachten?

Das Datenblatt der LEDs.

Pepe T. schrieb:
> Warum?
> Die ansteuerung eines fet der gnd wegnimmt ist einfacher.
> Wie würdest du denn vcc wegnehmen?

Beispielsweise mit einem P-Kanal FET, der durch ein Gatter von einem 
74HCT14 gesteuert wird.

Teo D. schrieb:
> Weil sonst die erste LED draufgeht, wenn da an Din noch Spannung
> ansteht. Deshalb baut man ja auch gerne einen angst Widerstand von
> 100-300-Ohm ein.

Da hast du etwas falsch Verstanden. Der Widerstand dämpft Schwingungen 
auf der Datenleitung und sorgt damit für sauberere Flanken der Daten.

Bei aktivem Ausgang des µC würden trotz Widerstand die Absolute Maximum 
Ratings verletzt und über die Klemmdiode am Eingang der LED ein Strom 
von etlichen Milliampere fließen.
Auf derart hohe Dauerströme ist die normalerweise nicht ausgelegt. Die 
Tatsache, dass für den Klemmdiodenstrom im Datenblatt kein Maximalstrom 
spezifiziert ist, ist kein Freibrief. Die Einhaltung des in den Maximum 
Ratings genannte Bereichs für die Eingangsspannung stellt sicher, das 
gar kein Strom durch die Dioden fließt. Wenn Gnd in der Luft hängt, 
werden diese Maximum Ratings verletzt. Doohve Idee.

von Stefan F. (Gast)


Lesenswert?

Ich habe sehr oft gelesen, dass die LEDs kaputt gehen, wenn sie ein 
Signal ohne Versorgungsspannung bekommen. Dass man an langen Leitungen 
etwas zur Reduktion von Reflexionen tun muss, stimme ich zu.

Schau mal hier: 
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf

Kapitel 3.4.4 zeige eine Transistorschaltung für dein Vorhaben.
Kapitel 2.2 erklärt, wie die Transistoren funktionieren.
Kapitel 9.4 erklärt sie Sache mit den Widerständen in der 
Signal-Leitung.

von Pepe T. (pepe_t)


Lesenswert?

Wolfgang schrieb:
> Wenn Gnd in der Luft hängt,
> werden diese Maximum Ratings verletzt.

Bei der von mir vorgeschlagenen "open drain" ansteuerung nicht.
Dann erübrigt sich auch der aufwendige level shifter.

von HildeK (Gast)


Lesenswert?

Nils W. schrieb:
> Ok, aber wie nehme ich Vcc weg? Mit einem P-Kanal-MOSFET?

Genau. Wenn du schon einen HCT14 als Pegelwandler fürs Datensignal 
erfolgreich betreibst und da ja noch weitere fünf Inverter drin sind, 
kannst du über einen zweiten das Gate des pMOS zum Ein-/Ausschalten 
ansteuern.

Pepe T. schrieb:
> Bei der von mir vorgeschlagenen "open drain" ansteuerung nicht.

Unsauber. Der Ausgang jedes µCs hat Schutzdioden gegen VCC. Darüber 
fließt dann immer noch Strom, auch wenn du auf OpenDrain geschaltet 
hast. Kann beim Übergang von 3.3V auf 5V vielleicht gerade so noch 
akzeptabel sein, richtigerweise nimmt man einen NPN-/nMOS-Transistor, 
der dann echtes OC oder OD liefert. Dann geht das auch an 12V oder mehr.

von Jörg R. (solar77)


Lesenswert?

Pepe T. schrieb:
> Wolfgang schrieb:
>> Wenn Gnd in der Luft hängt,
>> werden diese Maximum Ratings verletzt.
>
> Bei der von mir vorgeschlagenen "open drain" ansteuerung nicht.
> Dann erübrigt sich auch der aufwendige level shifter.

Die Schaltung hatte der TO selbst im Blick, ist also nicht von Dir 
vorgeschlagen;-) Open Drain ist die klassische Ansteuerung für Standard 
LED(RGB)-Streifen. Die LEDs haben aber auch keine integrierte 
Elektronik.

von Pepe T. (pepe_t)


Lesenswert?

Nils W. schrieb:
> den 74HCT14

Jörg R. schrieb:
> ist also nicht von Dir
> vorgeschlagen;-)

Was ist dein problem?

von Nils W. (derniwi)


Lesenswert?

Danke für die viele Antworten.

Die LED-Streifen sind mit WS2812B bestückt, die einen IC integriert 
haben. Die LEDs werden seriell angesteuert, nehmen sich aus dem 
Datenstrom dann drei Byte (für Grün, Rot und Blau) weg und schieben den 
Rest jeweils an die nächste LED weiter.

Ein P-Kanal-MOSFET wäre dann das Bauteil der Wahl, um die Plus-Leitung 
zu trennen. Das Schalten der Masse schient zwar üblich zu sein, aber in 
meinem Fall eher weniger geeignet (vom Bauch her finde ich das Schalten 
der Plusleitung eh richtiger, aber das ist ja nicht das Thema).

Wenn ich hier weiter suche, finde ich den AOI409. Aber ich werde mir 
erst mal die Dateien von Stefan Frings vornehmen, um da ein wenig tiefer 
einzusteigen.

Über den 74HCT14 (invertierender Schmitt-Trigger) kann ich den 
Logik-Level auf 5V anheben, so wie ich das mit der Datenleitung für die 
LEDs bereits mache. Dann würde ich mit 5V am Gate als Steuerspannung die 
Plusleitung für die LEDs mit ebenfalls 5V steuern.

Da ich die Stromzufuhr der LEDs über den gleichen ESP steuere, kann ich 
dort natürlich dafür sorgen, dass die Datenleitung vor dem Einschalten 
der FET-Steuerleitung einen bestimmten Zustand hat.

von Nils W. (derniwi)


Angehängte Dateien:

Lesenswert?

Ich habe mich jetzt in das Thema MOSFET eingelesen, bin mir aber mit den 
Anschlüssen irgendwie unsicher. Ich habe mal versucht, einen möglichen 
Schaltplan zu erstellen (hier allerdings einen Arduino angegeben, weil 
meine alte Fritzing-Version keinen ESP32 kennt). Der ESP hat auf der 
Platine einen Spannungswandler von 5V nach 3,3V, den ich hier zur 
Verdeutlichung separat eingezeichnet habe. Ein Ausgang des MC wird dann 
über den Schmitt-Trigger (doppelt, da invertierend) als Steuerleitung 
für die LED-Kette (Neopixel, WS2812B...) genutzt. Wie gesagt, das 
funktioniert alles wie gewünscht.

Kann ich den P-Kanal-MOSFET AOI409 so anschließen (grüner Draht mit 
Pull-Up-Widerstand)? Wenn ich das Datenblatt richtig lese, schaltet 
dieser bei V(GS)=-2,4V voll durch, womit das durch die 3,3V des ESP 
gegeben wäre. Mein gedankliches Problem ist, dass bei einem 
N-Kanal-MOSFET durchaus zwei verschiedene positive Spannungen genutzt 
werden können, aber der Minuspol gemeinsam mit dem ESP anzuschließen 
wäre. Jetzt möchte ich hier einen P-Kanal-MOSFET nutzen, demzufolge muss 
ja eine Spannung vom Pluspol (5V) zum Gate gesteuert werden. Kann ich 
das so direkt machen oder wäre ein Transistor als Zwischenschalter 
nötig, welcher dann den Pullup-Widerstand auf Minus zieht?

Sorry für diese Fragen, wie gesagt, MOSFET ist noch nicht so mein Thema, 
der Rest der Elektronik ist auch eher viele Jahre her... ;-)

Danke und Gruß
Nils

von Jörg R. (solar77)


Lesenswert?

Nils W. schrieb:
> Ich habe mich jetzt in das Thema MOSFET eingelesen, bin mir aber
> mit den Anschlüssen irgendwie unsicher.

Drain und Source sind vertauscht.

von Nils W. (derniwi)



Lesenswert?

Update
So richtig?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Nils W. schrieb:
> Update
> So richtig?

du hast doch noch freie Gatter über, warum nutzt du nicht 2 Gatter um 
den P-Mos nicht direkt aus dem ESP mit 3,3V (mit 5V am pullup eher doof) 
zu speisen, sondern die 5V aus dem Gatterausgang vom 74HC14.

Nutze deine freien Gatter, bringe auch die P-Mos Ansteuerung zu 5V.

Für ungenutzte Gatter gibts kein Geld zurück.

: Bearbeitet durch User
von Nils W. (derniwi)


Lesenswert?

Ja, das ist noch eine Idee und würde den Ausgang des ESP gegen den 
Pullup schützen. Aber rein technisch: wenn der ESP 3,3V am Ausgang 
liefert, macht der MOSFET nichts, da er ja durch den Pullup sperrt. Nur 
wenn der ESP den Ausgang auf den Minuspol / GND ziehr, sollte der FET 
schalten. In dem Fall sollte es doch egal sein, ob der Ausgang zwischen 
0V und 5V schaltet, oder zwischen 0V und 3,3V?

Wäre die Schaltung so ok?
Und passt der AOI409? Oder gibt es einen alternativen MOSFET, der besser 
geeignet wäre?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Nils W. schrieb:
> wenn der ESP 3,3V am Ausgang
> liefert

und der pullup an 5V hängt wer gewinnt ESP mit 3,3V oder 5V vom pullup?

Deine Idee mag funktionieren, bleibt aber unsauber.

von Nils W. (derniwi)


Angehängte Dateien:

Lesenswert?

Unsauber soll es nicht werden, daher frage ich ja. :-)
Und ich Danke Euch auch herzlich für die Antworten. Wenn die Schaltung 
so ok ist, vielleicht hilft sie ja auch anderen Laien (wie ich es bin).

von Joachim B. (jar)


Lesenswert?

eine kleine Ergänzung noch!

Der Pullup am FET hat 15k somit fliesst nicht mal bei 12V ein Strom von 
1mA.
Jeder elektro Pups auf der Leitung kann stören!
Ich würde mehr Strom spendieren, 20mA wie die gute alte Telefonschleife 
muß es ja nicht sein, dein 74HCT14 kann Ausgangsstrom je nach Datenblatt 
bis +-20mA.
5-10mA scheint mir ein guter Kompromiss also bei 12V 2,4kOhm bis 1,2kOhm 
runter.

Schadet nicht dem HCT und gewinnt an Störsicherheit!

: Bearbeitet durch User
von Nils W. (derniwi)


Lesenswert?

Ok, klingt auch logisch. Da am FET aber nur 5V anliegen, wäre der Pullup 
dann mit 500-1.000 Ohm zu planen.

von N. M. (mani)


Lesenswert?

Meine analogen Zeiten sind ziemlich lang her, aber würde im Reset Fall 
des ESP nicht gerade das eintreten wovor vorher gewarnt wurde.

Stefan ⛄ F. schrieb:
> Ich habe sehr oft gelesen, dass die LEDs kaputt gehen, wenn sie ein
> Signal ohne Versorgungsspannung bekommen.

High am Gatter ist durch die doppelte Invertierung High am Ausgang. 
MOSFETs sperrt. Keine Versorgungsspannung an der LED, aber High am 
Datenpin.
Wäre es also nicht besser bei der Abschaltung eine Invertierung 
wegzulassen damit man mit Low einschaltet?

von Stefan F. (Gast)


Lesenswert?

N. M. schrieb:
> Wäre es also nicht besser bei der Abschaltung eine Invertierung
> wegzulassen damit man mit Low einschaltet?

Eher gehört an den Ausgang des Mikrocontroller ein Pull-Down Widerstand, 
damit er in der Start-Phase keinen undefinierten Pegel hat.

von Nils W. (derniwi)


Lesenswert?

Noch ein guter Hinweis, danke.
Der ESP32 soll eigentlich sehr oft und lang schlafen (deep sleep). In 
dem Zustand müssten die Ausgänge eigentlich auf Gnd schalten. Somit 
würde dann der FET durchschalten. Da muss dann doch eine 
Schmitt-Trigger-Stufe raus und ich muss per Software den FET mit einem 
High einschalten.

von Nils W. (derniwi)


Angehängte Dateien:

Lesenswert?

Ich habe die Ämderungen eingezeichnet, ich habe auch noch einen ESP 
gefunden und somit den Arduino ersetzt.
Betrieben wird nach wie vor mit 5V, auf dem ESP wird der integrierte 
Spannungswandler von 5V->3,3V verwendet, um das zu verdeutlichen ist ein 
zusätzlicher Wandler eingezeichnet und an den 3,3V-Anschluss des ESP 
verdrahtet.
Über den GPIO17, der jetzt mit einem Pulldown-Widerstand versehen ist, 
wird die Datenleitung der LED-Module über einen doppelten 
Schmitt-Trigger als Level-Converter gesteuert. Pulldown hier bedeutet 
dann, dass bei ausgeschaltetem ESP (deep sleep) die Steuerleitung der 
ersten LED auf 0V gezogen wird.
Über GPIO21, der mit einem Pulldown-Widerstand versehen ist, wird der 
MOSFET ebenfalls über den Schmitt-Trigger als Level-Shifter, gesteuert. 
Da nur einer der invertierenden ST genutzt wird, sorgt der Pulldown im 
Falle eines schlafenden ESP dafür, dass das Gate des MOSFET mit 5V 
angesteuert wird und somit sperrt, die LEDs bekommen also keinen Strom. 
Über die Software muss ich dann dafür sorgen, dass GPIO21 auf HIGH 
geschaltet wird, um das Gate des MOSFET auf 0V zu ziehen und somit die 
LEDs mit Strom zu versorgen.

Ich habe auch noch einen 10uF-Widerstand zur Stabilisierung nahe der 
LEDs eingezeichnet, der auch aktuell benutzt wird. Macht das so Sinn, 
oder sollte dessen Pluspol an den Drain-Anschluss des MOSFET anstelle 
von Source, damit dieser Kondensator nur genutzt wird, wenn die LEDs 
eingeschaltet sind? Dann würde ich einen weiteren, kleineren Elko (1uF) 
näher an die Spannungsquelle anschließen, um hier den Strom für den ESP 
und den Schmitt-Trigger zu glätten.

Und nochmal die Frage: ist der AOI409 als TTL-MOSFET ok oder gibt es 
hier einen anderen, der besser geeignet, leichter zu bekommen und 
günstiger ist?

von Joachim B. (jar)


Lesenswert?

Achtung Falle:
ich denke die ganze Zeit da stecken in mehreren Betrachtungen etliche 
Logikfehler drin. Ich hasse negative Logik!

These
Nils W. schrieb:
> Aber rein technisch: wenn der ESP 3,3V am Ausgang
> liefert

durch nichts bewiesen weil der Pullup an 5V hängt, was stellt sich 
wirklich ein?
Das würde nur funktionieren wenn der Ausgang ein OC open Collector wäre.

N. M. schrieb:
> Wäre es also nicht besser bei der Abschaltung eine Invertierung
> wegzulassen damit man mit Low einschaltet?

lässt du die Invertierung weg ist welcher Pegel am FET?
Wer gewinnt, der pullup oder der ESP?

Stefan ⛄ F. schrieb:
> Eher gehört an den Ausgang des Mikrocontroller ein Pull-Down Widerstand,
> damit er in der Start-Phase keinen undefinierten Pegel hat.

mit einem Pulldown am P-Mosfet ist der eingeschaltet die WS2812B 
bekommen VCC aber keine definierten Data Signale, da kann alles Mögliche 
leuchten, ob man das immer will?

Der pullup soll ja gerade VCC an den WS2812B verhindern wenn nicht 
regulär eingeschaltet wird mit LOW auf den ESP Ausgang und dafür braucht 
man die doppelte Invertierung, aber mangels OC ist das wieder Makulatur 
weil nur eine Mischung zwischen 3,3V und 5V rauskommen kann.

: Bearbeitet durch User
von Nils W. (derniwi)


Lesenswert?

Joachim B. schrieb:
> N. M. schrieb:
>> Wäre es also nicht besser bei der Abschaltung eine Invertierung
>> wegzulassen damit man mit Low einschaltet?
>
> lässt du die Invertierung weg ist welcher Pegel am FET?
> Wer gewinnt, der pullup oder der ESP?
Aber wie ist das jetzt mit Pulldown am Ausgang des ESP, also vor dem 
7414? Der 7414 hängt ja immer am Strom, also konvertiert er den Eingang 
immer. Ok, wenn der ESP den Ausgang im Schlafmodus auf 3,3V schaltet 
(kann ich mal messen), dann ist das natürlich doof. Ist der Ausgang 
undefiniert, sollte der Pulldown auf 0V ziehen, der 7414 liefert dann 5V 
für den MOSFET, oder? Und wenn der Ausgang des schlafenden ESP AUF 0V 
gezogen wird, dann wäre der Pulldown überflüssig. Da aber viele 
Anwendungen des ESP auch bei schlafendem ESP wenig Strom verbrauchen 
sollen, kann ich mir in dem Modus nur "0V" oder "undefiniert" als 
Ausgangsspannung vorstellen, "3,3V" würde dann ja direkt angeschlossene 
LEDs weiter leuchten lassen. Ich habe im Netz danach schon gesucht, aber 
nichts offizielles gefunden, suche aber nochmal.

Joachim B. schrieb:
> Stefan ⛄ F. schrieb:
>> Eher gehört an den Ausgang des Mikrocontroller ein Pull-Down Widerstand,
>> damit er in der Start-Phase keinen undefinierten Pegel hat.
>
> mit einem Pulldown am P-Mosfet ist der eingeschaltet die WS2812B
> bekommen VCC aber keine definierten Data Signale, da kann alles Mögliche
> leuchten, ob man das immer will?
>
> Der pullup soll ja gerade VCC an den WS2812B verhindern wenn nicht
> regulär eingeschaltet wird mit LOW auf den ESP Ausgang und dafür braucht
> man die doppelte Invertierung, aber mangels OC ist das wieder Makulatur
> weil nur eine Mischung zwischen 3,3V und 5V rauskommen kann.
Der Pulldown am Ausgang des ESP ist ja noch vor dem Eingang des 7414. 
Somit ist der Pulldown am ESP ein Pullup am MOSFET, oder habe ich das 
falsch verstanden?

von Joachim B. (jar)


Lesenswert?

Nils W. schrieb:
> Der Pulldown am Ausgang des ESP ist ja noch vor dem Eingang des 7414.

stimmt ändert nicht das im Bootvorgang Pins wackeln können.
Ist der Pulldown zu schwach gewinnt der ESP, ist der pulldown zu stark 
kann er nicht überwunden werden oder belastet zu stark.
Ich bin hier Freund von OC oder offener Leitung zum pullup am FET.

findet sich kein Pegelwandler mit OC,
Basischaltung eines bipolaren Transistors 5-10mA kann der ESP immer,
https://rn-wissen.de/wiki/index.php/Transistor

oder ein FET BS138/BS170 als Pegelwandler.
https://www.mikrocontroller.net/articles/Pegelwandler#BIDIREKTIONAL
Beitrag "Pegelwandler 3,3V <->5V bidirektional mit Belastung"

: Bearbeitet durch User
von N. M. (mani)


Lesenswert?

Langsam, es gab 2 Vorschläge.
Ein Dritter kam von dir Joachim B dazu.

Joachim B. schrieb:
> lässt du die Invertierung weg ist welcher Pegel am FET?
> Wer gewinnt, der pullup oder der ESP?

Mein Vorschlag war, nur 1 Inverter Gatter zu verwenden. In der 
Voraussetzung dass der Pin im Reset einen Weak Pullup hat. Wenn der Pin 
des uC alleine zu Weak sein sollte, kann man jederzeit einen externen 
Pullup hinzufügen der niederohmig ist.
Der Leakage Current des Gatters liegt bei 0,1uA bei normalen 25°C und 
bei 1uA über den kompletten Einsatzbereich.
Wir reden also um 3,3M Ohm bis 33M Ohm bis der ausreichende Strom 
fließt. Wenn der ESP von Haus aus dass nicht schafft, dann macht man 
halt besagten externen Pullup dran. Was immer ein Kompromiss zwischen 
EMV Verhalten, maximalem Strom des uC Pins und Input Current des Gatters 
ist. Irgendwas zwischen 10k-100k ist mit Sicherheit nicht so verkehrt.

Stefan ⛄ F. schrieb:
> Eher gehört an den Ausgang des Mikrocontroller ein Pull-Down Widerstand,
> damit er in der Start-Phase keinen undefinierten Pegel hat.

Das war der 2. Vorschlag.
Hierfür muss dass 2. Gatter drin bleiben damit die LEDs aus bleiben.
Der externe Pull Down bildet dann einen Spannungsteiler mit dem evtl 
Default Pullup des ESP. Der externe Pulldown muss in diesem Fall 
ausreichend niederohmig sein damit sich ein Pegel eingestellt der auch 
sicher als 0 vom Gatter erkannt wird.
Man hat also eine Abhängigkeit zum absoluten Wert des internen Pullups. 
Komplett niederohmig kann man es auch nicht machen, da ansonsten der uC 
evtl den High Fall nicht mehr gut hinbekommt. Finde ich persönlich 
beides nicht so gut.

Joachim B. schrieb:
> Ich bin hier Freund von OC oder offener Leitung zum pullup am FET.

Wäre die dritte Möglichkeit.



Letzten Endes muss die Außenbeschaltung zum Verhalten des ausgewählten 
Pins am uC passen. Als erstes sollte man also klären wie sich welcher 
Pin im Resetfall verhält. Von den meisten uC die ich kenne ist das Weak 
Pullup im Reset.

von N. M. (mani)


Lesenswert?

N. M. schrieb:
> Als erstes sollte man also klären wie sich welcher Pin im Resetfall
> verhält.

Die Übersicht IO_MUX ist hierfür ganz interessant.

N. M. schrieb:
> Von den meisten uC die ich kenne ist das Weak Pullup im Reset.

Etwas strange finde ich dass es 2 Spalten gibt in denen sich die Werte 
eines Pins unterscheiden. At Reset und After Reset.
Sprich, es gibt Pins die im Reset sich anders verhalten als nach dem 
Reset. Also eine Art Default Config nach Reset?

von Nils W. (derniwi)


Lesenswert?

N. M. schrieb:
> Langsam, es gab 2 Vorschläge.
> Ein Dritter kam von dir Joachim B dazu.
>
> Joachim B. schrieb:
>> lässt du die Invertierung weg ist welcher Pegel am FET?
>> Wer gewinnt, der pullup oder der ESP?
>
> Mein Vorschlag war, nur 1 Inverter Gatter zu verwenden. In der
> Voraussetzung dass der Pin im Reset einen Weak Pullup hat. Wenn der Pin
> des uC alleine zu Weak sein sollte, kann man jederzeit einen externen
> Pullup hinzufügen der niederohmig ist.
Wenn ich das mit dem FET richtig verstehe, muss doch am Gate eine 
möglichst hohe Spannung anliegen (hier also +5V), damit dieser sperrt. 
Erst wenn die Spannung auf 0V gezogen wird, entstehen doch die -5V als 
Schaltspannung. Das heißt aber, dass am Eingang des Inverters 0V 
anliegen müssen, damit an dessen Ausgang 5V ankommen und der FET sperrt. 
Somit wäre hier ein Pulldown am Ausgan des ESP (und somit am Eingang des 
Inverters) notwendig, oder?

Mit der Tabelle IO_MUX 
(https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf, 
kannte ich auch noch nicht) finde ich ein paar GPIO-Pins (z.B. 10, 12, 
15...), die während und nach dem Reset als Vorgabe als Eingang mit einem 
schwachen Pulldown angegeben sind. Bedeutet das, dass diese Pins 
elektrisch eigentlich nicht wackeln sollten? Dann muss ich mal schauen, 
ob ich von diesen Pins welche nutzen kann, die von mir genutzte 
FastLED-Bibliothek schließt ein paar Pins aus (die wohl laut Espressif 
nicht sinnvoll für die LEDs genutzt werden können, da hier evtl. auch 
andere Funktionen belegt sind).

: Bearbeitet durch User
von Nils W. (derniwi)


Lesenswert?

Joachim B. schrieb:
> Ich bin hier Freund von OC oder offener Leitung zum pullup am FET.
Hier gebe ich zu, nicht zu verstehen, was Du meinst. Wenn der Anschluss 
am ESP als Eingang definiert und weder Pullup- noch Pulldown-Widerstand 
geschaltet ist, dann hat der Pin keinen definierten Zustand. Meinst Du 
mit offener Leitung zum FET, dass hier dann keine Level-Converter / 
Invertierer oder so etwas davor geschaltet ist, sondern analog über 
Transistor, der dann ja auch keinen festen Pegel hat?

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.