N-Kanal-MOSFET zur Steuerung des 5-V-Relais vom 3,3-V-ESP8266-Pin

Heute habe ich zum ersten Mal mit einer Staffel "gespielt".

Ich hatte nur einen N-Kanal-MOSFET zur Verfügung (ein IRLZ44N) und wollte das Relais über den GPIO-Pin eines ESP8266 steuern - dh ein 3,3-V-Signal verwenden, um den Eingangspin des Relais zu steuern, der 0 oder 5 V erwartet.

ESP8266 steuert ein 5-V-Relais mit einem N-Kanal-MOSFET

  • Ich hatte einen 10K-Widerstand zur Hand, also benutzte ich ihn, um das Gate des Fets zu begrenzen. Nach meinem Verständnis kümmern sich MOSFETs nur um Spannung, nicht um Strom - daher sollte ein "großer" Strombegrenzer am Gate sowieso keine Rolle spielen.

  • Wenn der IRLZ44N ausgeschaltet ist, ist der Eingang des Relais über R1 mit 5 V verbunden - und wenn er eingeschaltet ist, geht der Eingang auf Masse. Bei dieser Betriebsart wird ein Widerstand benötigt; Ohne sie würden die 5 V direkt auf Masse gehen.

Die Schaltung funktioniert - ich habe es getestet und das Relais reagiert wie erwartet. Aber beim Messen von Spannungen habe ich gesehen, dass die Spannung nach R1 nicht 5 V beträgt; es ist weniger, da etwas Strom in den Eingang des Relais fließt. Dabei sinkt die Spannung von 5V auf 3,5V; Am Eingang des Relais gehen ungefähr 5 mA an, und 1,5 V werden an R1 verschwendet.

Wenn ich einen größeren R1 verwendet hätte, würde die Schaltung anscheinend nicht funktionieren - die Spannung würde zu weit abfallen. Und so wie es ist, können 3,5 V eine Grenzsituation für das Relais sein. BEARBEITEN: Die Verwendung des 3,3-V-Signals vom ESP direkt am IN1-Eingang löst das Relais nicht aus - daher scheinen die 3,5 V, die wir mit dieser Schaltung erreichen, tatsächlich grenzwertig zu sein

Eine weitere enttäuschende Sache an dieser Schaltung: Wenn das Relais ausgeschaltet ist, verschwenden wir Strom durch R1.

Können Sie mir eine bessere Schaltung empfehlen, die ich mit meinem IRLZ44N verwenden kann, um die 3,3 V des ESP8266 auf 5 V umzuwandeln und mein Relais optimal zu steuern?

Vielen Dank im Voraus.

Hmm, mechanische Relais haben Spulen, nicht "In, Gnd, Vcc". Hast du ein echtes Relais oder ist es ein Modul? Und während sich ideale FET-Gates nicht um Strom kümmern, haben echte FETs einen parasitären Kondensator, sodass ein niedrigerer Widerstand besser wäre (hier jedoch kein so großes Problem).
Es ist dieses Relais: tkkrlab.nl/wiki/Arduino_KY-019_5V_relay_module - in der Tat ist es ein Modul.
Es ist wahrscheinlich, dass Ihre N-FET-Schaltung unnötig und etwas wenig hilfreich ist. Ihr Link enthält jedoch keine glaubwürdige Dokumentation der internen Schaltung des Relais, sodass keine endgültigen Aussagen getroffen werden können. Die Leiterplatte scheint so einfach zu sein, dass Sie sie möglicherweise durch die Kombination einer visuellen Inspektion und einiger Ohmmetermessungen zurückentwickeln können, wenn sie nicht mit irgendetwas verbunden ist.
@ChrisStratton Mein erster Versuch bestand offensichtlich darin, das 3,3-V-Signal unverändert in den IN1-Pin des Moduls zu verwenden - aber das Relais hat nicht ausgelöst, sodass der "unnötige" Teil zumindest umstritten ist :-) Unabhängig davon, vorausgesetzt, wir tatsächlich 5 V benötigen und dass der einzige zugängliche FET dieser N-Kanal ist ... eine Idee für eine bessere Schaltung, um die 3,3 auf 5 anzuheben?
Gefunden ein "Schema" für das Modul auf dieser Website. Es ist wahrscheinlich falsch, da S8550 ein PNP-Teil ist, sie meinten wahrscheinlich S8050.
Ich weiß nicht, was genau Ihr K1-Block ist, aber es ist kein "Relais". Relais sind nur Spulen auf der Eingangsseite. Da Sie VCC-, IN- und GND-Anschlüsse für den Eingang haben, befindet sich anscheinend eine aktive Schaltung vor einem echten Relais. Ohne ein Datenblatt gibt es keine Möglichkeit zu wissen, was dieser Block wirklich will. Alles in allem wäre das Fahren eines echten Relais einfacher und kann mit einer Teilmenge der Teile durchgeführt werden, die Sie bereits verwenden.
@ttsiodras - Sie können wahrscheinlich 3,3 V am Eingang verwenden, müssen aber möglicherweise fast 5 V an der Vcc-Leitung liefern. Die Sicherheit dieser Kombination (für den ESP8266) kann jedoch nicht wirklich bestimmt werden, ohne die interne Schaltung des Relaismoduls zu kennen. Es wäre in der wahrscheinlichsten Schaltung sicher, aber das ist nur eine Vermutung, wir wissen nicht wirklich, was sich darin befindet, also wissen wir nicht wirklich, ob es sicher ist.
@ChrisStratton "Möglicherweise müssen Sie am VCC fast 5 V liefern" - das mache ich bereits; unsicher, was du hier meinst. Dieses Modul wurde anscheinend für Arduinos entwickelt - Sie speisen es mit 5 V auf VCC und abhängig vom IN1-Signal verbindet / trennt es die NO / NC-Seite des Relais.
Wenn es vernünftig ausgelegt ist , würden 5 V an der Versorgung und 3,3 V am Eingang funktionieren. Aber wir wissen nicht genau, was da drin ist. Versuchen Sie zu messen, wie viel der Versorgungsspannung über der Relaisspule selbst im Vergleich zum vermuteten Transistor abfällt, wenn er versucht, "an" zu sein.
@ChrisStratton Ich würde lieber vermeiden, mit dem Modul herumzuspielen / es zu zerlegen. Der Grund, warum ich die Frage gestellt habe, war, zu sehen, ob jemand links eine bessere Schaltung bereitstellen könnte - aber leider konzentrieren sich alle auf das Relais.
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da das Poster die erforderliche technische Dokumentation nicht bereitstellen kann und sich direkt weigert, Messungen an dem nicht dokumentierten Gerät vorzunehmen , die die erforderlichen Informationen preisgeben könnten.

Antworten (2)

Ich habe das folgende Schema auf dieser Website gefunden. Es ist jedoch wahrscheinlich in einigen Teilen falsch , da S8550 ein PNP-Teil ist, meinten sie wahrscheinlich S8050 .

Geben Sie hier die Bildbeschreibung ein

Da Sie angegeben haben, dass das direkte Anschließen eines 3,3-V-Signals nicht funktioniert hat, können Sie eine der folgenden Methoden ausprobieren (unter Berücksichtigung Ihrer N-FET-Beschränkung):

  • Verwenden Sie Ihren IRLZ44, um das Relais direkt anzusteuern
  • Setzen Sie einen Widerstand parallel zu R3, um den Strom zu erhöhen, der in die NPNs-Basis fließt, und versuchen Sie erneut, ihn mit 3,3 V auszulösen.

ps: Ich hoffe, Sie verbinden GND nicht mit Ihrem Relais mit AC, da dies ziemlich unangenehm / gefährlich sein könnte:

Geben Sie hier die Bildbeschreibung ein

Über die ps: :-) Über den Rest, wenn das der Schaltplan meines Relaismoduls wäre, sehe ich nicht, warum die 3,3 V des ESP nicht so funktionieren würden, wie sie sind; das BJT würde dirigieren, oder? Aber TBH, ich hoffe immer noch auf eine Lösung, bei der das Relaismodul nicht geöffnet werden muss - dh eine Schaltung, die "bessere" 5 V liefert als meine mickrigen 3,5 V (unter Verwendung des N-FET).
Nun, Sie könnten ein kleineres R3 verwenden, aber es wird mehr Strom verbrauchen, wenn Sie möchten, dass das Relais ausgeschaltet ist. Ich fand es auch seltsam, dass 3,3 V nicht ausreichten, um den Transistor einzuschalten. Aber vielleicht ist der Basiswiderstand höher als 1 k oder der Transistor hat eine niedrige Hfe. Vielleicht lohnt es sich, einfach einen Widerstand parallel zu schalten.
Der 3,3-V-Signaleingang ist wahrscheinlich in Ordnung, aber das Relais muss möglicherweise etwas näher an 5 V versorgt werden. Allerdings ist entweder Ihre ursprüngliche Messung von 5 mA falsch oder dies sind nicht die Schaltungs- und Komponentenwerte Ihres Relaismoduls.
@ChrisStratton - Ich bin davon ausgegangen, dass OP unabhängig vom Eingangssignal immer 5 V liefert.
@ChrisStratton Ich liefere 5 V an VCC - abhängig von IN1 (0/5 V) verbindet / trennt das Modul die NO / NC-Seite des Relais. Aus irgendeinem Grund konzentrieren sich jedoch alle auf das Relais - meine Frage steht unabhängig von Relais ... Von 3,3 bis 5 V über einen n-FET ...
@ttsiodras - Die Leute ignorieren die 3,3 V bis 5 V über einen NFET, da ein N-Kanal-Gerät das falsche Teil ist, um Strom aus einer höheren Spannung zu beziehen, und weil die Pegelumsetzung tangential zu einer effizienten Lösung Ihres Problems ist.
@ChrisStratton "das falsche Teil für den Job" - ich nehme dies als Antwort darauf, dass es mit N-FETs keine gute Lösung für dieses Problem gibt. Kannst du das so posten? Ich respektiere Ihre Erfahrung und habe Ihren Rat in der Vergangenheit befolgt - ich wollte nur sichergehen, dass ich nichts Offensichtliches übersehe.
Es ist nicht so, dass es keine guten Lösungen gibt, aber (und es tut mir leid, wenn das hart klingt), die meisten vernünftigen Leute würden es vermeiden, Informationen darüber bereitzustellen, wie ein Modul betrieben wird, für das Sie selbst keine Schaltpläne finden / bereitstellen können. Also kein Datenblatt, keine Lösung.
@WesleyLee Danke, Wes. Ich hatte auf eine generische Lösung für 3.3->5 mit n-Fets gehofft, verstehe aber aus den Reaktionen hier, dass es keine gibt.
Es gibt andere Pegelumsetzer mit anderen N-FETs als dem, den Sie verwendet haben, wie z. B. diesen , aber sie haben das gleiche Problem wie R3, da sie auch von Pull-ups abhängen. Andere Optionen wären komplizierter, als das Relais direkt mit Ihrem IRLZ44 anzusteuern. (Vielleicht ein High-Side-N-FET? Dann benötigen Sie für das Gate eine Ansteuerspannung von weit über 3,3 V.)

Es sind 3V-Relais und Relaismodule erhältlich.

Ich hatte ein ähnliches Problem und habe einen BT136 mit einer 10-W-LED-Lampe getestet und es hat funktioniert.

BT136 benötigt nur 10 mA bei 2 V, ist aber gesundheitsgefährdend, wenn kein Optokoppler verwendet wird.

\ref ESP MCU, treibt BT136 direkt an