Forum: Analoge Elektronik und Schaltungstechnik Probleme beim Schalten eines Displays mit MOSFET und ESP32


von Janek (jn2508)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich stehe vor einem Rätsel, das ich mir nicht erklären kann. Ich möchte 
mit einem MOSFET (HL 2302V) ein Display (GMT020-02 mit ST7789V2) ein- 
und ausschalten. Eine vereinfachte Skizze der Schaltung könnt ihr im 
Bild sehen.

Das Schalten des MOSFETs über den ESP32 funktioniert grundsätzlich gut, 
aber das Problem ist, dass das Display (bzw. die Hintergrundbeleuchtung) 
danach nicht angeht. Wenn ich die Spannung zwischen VCC und GND am 
Display messe, habe ich festgestellt, dass nur 2,5 V ankommen (was für 
das Display natürlich nicht aussreicht). Wie dieser Spannungsabfall 
zustande kommt, ist mir allerdings momentan ein Rätsel.

Da ich Elektronik nur hobbymäßig betreibe, fehlt mir sicherlich an 
einigen Stellen das Fachwissen. Daher kann es gut sein, dass ich einen 
grundlegenden Denkfehler gemacht habe.

Ich würde mich freuen, wenn mir jemand weiterhelfen könnte!

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Um den Plus-Pol zu schalten brauchst du einen P-Kanal MOSFET.
Siehe http://stefanfrings.de/transistoren/index.html#mosfet

Außerdem willst du 5V mit einem 3,3V Mikrocontroller schalten. Wegen der 
unterschiedlichen Pegel brauchst du einen zweiten Transistor.

Siehe http://stefanfrings.de/transistoren/index.html#p-mosfet (zweite 
Schaltung). R2 kannst du in deinem Fall weg lassen.

von H. H. (hhinz)


Lesenswert?

Du brächtest so gut 2V mehr am Gate als am Ausgang, je nach 
Thresholdspannung des MOSFET.

Verwende einen p-MOSFET in Souceschaltung, und zwar einen mit nicht zu 
niedriger Thresholdspannung, sonst reichen die 3,3V vom ESP32 nicht, um 
den MOSFET zu sperren.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Janek schrieb:
> Wie dieser Spannungsabfall
> zustande kommt, ist mir allerdings momentan ein Rätsel.

Damit ein n-Channel-MOSFET durchschaltet, muss über Gain-Source eine 
gewisse Spannung abfallen (typabhängig). Die Spannung am Output-Pin des 
ESP32 müsste also deutlich höher als 5V sein, damit hier auch 5V am 
Ausgang rauskommen.

Der ESP32 gibt aber wohl nur 3.3V aus, und somit ist die Spannung am 
Source genau um so viel weniger als 3.3V, sodass der Abstand zwischen 
Gate und Source hoch genug ist. 0.8V sind sogar ein ziemlich guter Wert.

Mit einem High-Side-Driver könnte man die Spannung am Gate auf über 5V 
heben damit der Transistor voll durchschaltet. Das ist hier aber totaler 
Overkill. Stattdessen könntest du einfach einen PNP-Transistor nehmen, 
oder einen p-Channel-MOSFET plus einen n-Channel-MOSFET.

von H. H. (hhinz)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Außerdem willst du 5V mit einem 3,3V Mikrocontroller schalten. Wegen der
> unterschiedlichen Pegel brauchst du einen zweiten Transistor.

Naja, wenn das Display nur wenig Strom braucht, dann kann man auf den 
zweiten  Transistor verzichten.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Wenn dann die Schaltung korrigiert ist, befürchte ich das nächste 
Problem:

Das Display nimmt beim Einschalten so viel Strom auf, dass die 5V 
Versorgung einbricht.

Hast du ein Oszilloskop, um das zu kontrollieren? Würde ich machen, um 
später nicht von sporadischen Aussetzer überrascht zu werden.

von Georg M. (g_m)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Niklas G. schrieb:
> Stattdessen könntest du einfach einen PNP-Transistor nehmen
Der wäre hier aber ständig (ein wenig) eingeschaltet, weil schon die 
Differenz 5V-3,3V = 1,7V höher als die nötige Basisspannung ist.

H. H. schrieb:
> Verwende einen p-MOSFET in Souceschaltung, und zwar einen mit nicht zu
> niedriger Thresholdspannung
Das ist ein heiße Kiste, denn da muss man ggfs. den Mosfet von Hand 
selektieren.

Ich würde das technisch sicher so machen:
1
                P
2
5V -------o------.  -------------
3
          |    | ^ |
4
         47k   =====
5
      R1  |      |
6
          '------o
7
                 |
8
               |-
9
   µC-----o----|<  N
10
          |    |-|
11
         47k     |
12
      R2  |      |
13
GND ------o------o----------------

Der R2 sorgt dafür, dass der N Mosfet im Reset zuverlässig abschaltet.

: Bearbeitet durch Moderator
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Lothar M. schrieb:
> Niklas G. schrieb:
>> Stattdessen könntest du einfach einen PNP-Transistor nehmen
> Der wäre hier aber ständig (ein wenig) eingeschaltet, weil schon die
> Differenz 5V-3,3V = 1,7V höher als die nötige Basisspannung ist.

Pin auf Open-Drain schalten?

von Wastl (hartundweichware)


Lesenswert?

Vorschlag hier mal mit npn/pnp Transistoren:

Beitrag "Re: ESP32 3.3V Logik Level Mosfet"

von H. H. (hhinz)


Lesenswert?

Niklas G. schrieb:
> Pin auf Open-Drain schalten?

Gute Idee, dann kann man sogar einen Logikpegel p-MOSFET nehmen, und der 
kann dann auch mehr Strom schalten.

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

H. H. schrieb:
>> Pin auf Open-Drain schalten?
> Gute Idee

Vielleicht sollte einer von euch dazu erklären, warum das in diesem 
speziellen Fall geht. Sonst versucht er das später mit 12 Volt und 
versteht nicht, warum das nicht geht.

von H. H. (hhinz)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Vielleicht sollte einer von euch dazu erklären, warum das in diesem
> speziellen Fall geht.

Mach mal.

von Frank K. (fchk)


Lesenswert?

Nimm einen High Side Switch wie den hier:
https://www.ti.com/lit/ds/symlink/tps2051b.pdf
https://www.ti.com/product/de-de/TPS2051B
https://de.farnell.com/texas-instruments/tps2051bdbvr/switch-current-ltd-1a-5sot23/dp/3124035

Damit kannst Du problemlos mit einem 3.3V Signal eine 5V Versorgung 
schalten, und Du hast für den Fehlerfall auch noch einen Überstromschutz 
mit dabei, der Schäden verhindert. Und teuer ist sowas auch nicht.

fchk

von Rainer W. (rawi)


Lesenswert?

H. H. schrieb:
> Du brächtest so gut 2V mehr am Gate als am Ausgang, je nach
> Thresholdspannung des MOSFET.

Das reicht nicht. Das Display springt erst an, wenn der MOSFET richtig 
leitet. Die Threshold Spannung gilt bei den meisten 
Kleinleistungs-MOSFETs für einen DS-Strom von lediglich 250µA, d.h. die 
gibt nur an, bei welcher U_GS der FET ANFÄNGT, nennenswert zu leiten.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Niklas G. schrieb:
> Pin auf Open-Drain schalten?
Auch bei Open Drain wird die Pinspannung üblicherweise nicht auf 
wesentlich mehr als Vcc+0,3V ansteigen, weil dann die ESD-Schutzdiode zu 
leiten beginnt.

Und der µC wird dabei im Prinzip ausserhalb der Spec betrieben.

Rainer W. schrieb:
> Das Display springt erst an, wenn der MOSFET richtig leitet.
Leider "springt" das Display schon an wenn der Mosfet auch nur halb 
leitet. Aber es "springt" dann eben auch nur irgendwie halb an.

von H. H. (hhinz)


Angehängte Dateien:

Lesenswert?

Rainer W. schrieb:
> H. H. schrieb:
>> Du brächtest so gut 2V mehr am Gate als am Ausgang, je nach
>> Thresholdspannung des MOSFET.
>
> Das reicht nicht.

Janek schrieb:
> HL2302

Siehe Anhang.

von H. H. (hhinz)


Lesenswert?

Lothar M. schrieb:
> Auch bei Open Drain wird die Pinspannung üblicherweise nicht auf
> wesentlich mehr als Vcc+0,3V ansteigen, weil dann die ESD-Schutzdiode zu
> leiten beginnt.
>
> Und der µC wird dabei im Prinzip ausserhalb der Spec betrieben.

Hat der ESP32 nicht 5V tolerante GPIOs?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

H. H. schrieb:
> Hat der ESP32 nicht 5V tolerante GPIOs?
Der ESP8266 hatte die.
Und es gingen Gerüchte um, der ESP32 könne das auch: 
https://forum.arduino.cc/t/connecting-modules-with-esp32e-module-3-3v-or-5v/1139552/5

Allein: das Datenblatt gibt das nicht her. Da steht "max. VDD+0,3V".

von H. H. (hhinz)


Lesenswert?

Lothar M. schrieb:
> H. H. schrieb:
>> Hat der ESP32 nicht 5V tolerante GPIOs?
> Der ESP8266 hatte die.
> Und es gingen Gerüchte um, der ESP32 könne das auch:
> 
https://forum.arduino.cc/t/connecting-modules-with-esp32e-module-3-3v-or-5v/1139552/5
>
> Allein: das Datenblatt gibt das nicht her. Da steht "max. VDD+0,3V".

Schade.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Der ESP8266 hatte die.

Hatte er nicht, gemäß Datenblatt. Ich habe mal eins der ersten von 2013 
angehängt. Die Angabe von maximal 3,6 Volt ist bis heute so geblieben.

Die Story hat nach meinem Kenntnisstand jemand erfunden, als er 
entdeckte, dass die Schutzdioden* seines konkreten ESP8266 erst oberhalb 
von 5V ansprechen. In einem Statement zu dem "Fall" erklärte ein 
Mitarbeiter Espressif, dass die Schutzdioden typischerweise irgendwo 
zwischen 4 und 6 Volt ansprechen.

Verlassen kann man sich aber nur auf die zugesicherten 3,6 Volt.

*) Genau genommen sind es keine einfachen Dioden wie sonst üblich, aber 
ich will nicht mit zu vielen Details ablenken.

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