[Hinweis: Dies ist die Fortsetzung einer anderen Frage , wobei die erste mein Versuch ist, dieselbe Idee mit einem N-Kanal-MOSFET zu implementieren. Basierend auf den Antworten, die ich dort erhielt, ging ich los, kaufte einen P-Kanal-MOSFET und fand mich mit noch mehr Fragen als zuvor wieder :) ]
Ich versuche, etwas Ähnliches zu implementieren: https://youtu.be/nbMfb0dIvYc?t=4m27s
Die Idee ist, dass der Mikrocontroller (in meinem Fall ein Wemos D1 Mini) durch einen externen Schalter eingeschaltet wird. Sobald es startet, richtet es einen MOSFET ein, damit es seine Stromverbindung aufrechterhalten kann, bis es die Aufgabe beendet hat, für die es eingerichtet wurde. Am Ende "tötet es sich selbst", indem es die Stromversorgung durch den MOSFET unterbricht.
Also kaufte ich einen P-Kanal-MOSFET ( IRF9Z34N - wahrscheinlich nicht ideal mit einem Vgs(th) max von -4 V, aber es war das beste Durchgangslochteil, das ich finden konnte). Und ich habe folgende Schaltung aufgebaut:
Wenn ich den Schalter drücke, schaltet sich der D1 korrekt ein, zieht den MOSFET-Gate-Pin auf Low und geht seinen gesamten Code durch. Am Ende zieht es den Gate-Pin hoch und schaltet sich selbst aus.
Allerdings stimmt etwas nicht. Beim Ausschalten (nach dem Setzen von D5 auf HIGH) hätte ich erwartet, dass die Gate-Spannung durch den Pull-up-Widerstand auf +5 V steigt. Stattdessen bleibt es bei etwa 1,25 V - genug, um den MOSFET teilweise offen zu halten, wobei genügend Strom durch ihn fließt, um die MCU in einem seltsamen, nicht lebendigen, aber auch nicht toten Zustand zu halten (die MCU tut dies nicht genügend Strom, um seinen Code weiter auszuführen, aber er erhält genug, um zu verhindern, dass er vollständig zurückgesetzt und neu gestartet wird, wenn ich den Schalter drücke).
Basierend auf dem Vorschlag von Brian Drummond zu meiner ursprünglichen Frage habe ich eine Dual-MOSFET-Anordnung gebaut:
Dies scheint zu funktionieren - aber es scheint unnötig kompliziert zu sein, insbesondere im Vergleich zum ursprünglichen Schaltplan (siehe YouTube-Video oben, ab 04:24 ).
Meine Frage ist also: Gibt es eine Möglichkeit, den ursprünglichen Schaltplan zu "speichern"? Kann ich dies nur mit einem P-Kanal-MOSFET implementieren? Wenn das so ist, wie?
Wenn es hilft, hier ist der Schaltplan für den Wemos D1 Mini. Beachten Sie, dass ich es über die 5-V-Leitung mit Strom versorge, die dann durch einen Leistungsregler geht.
Lassen Sie uns gemäß Ihren Kommentaren diskutieren, warum die einzelne PMOS-Lösung nicht funktioniert.
Alle E/A-Pins moderner Mikrocontroller verwenden Schutzdioden , um empfindliche interne Schaltungen vor Fehlerzuständen zu schützen - zB wenn Sie extern 5 V oder -5 V auf einen Pin einer MCU treiben, die mit 3,3 V versorgt wird. Dies könnte auch durch ESD passieren, und ohne einen solchen Schutz werden Geräte leicht zerstört.
Dies hat jedoch zwei Konsequenzen:
Eine einfache Faustregel lautet: Wenn eine MCU etwas steuert, wird erwartet, dass die MCU für einige Zeit ausgeschaltet oder anderweitig deaktiviert ist (z. B. im Ruhemodus für MCUs, die ihre E / A nicht angesteuert halten). im Schlaf), ist es am besten, wenn das gesteuerte Ding ein "aktives" Signal benötigt und es einen Pulldown- Widerstand gibt . Kein Widerstand am Gate eines MOSFET wäre schlecht, Pull-Up ist schlechter, Pull-Down funktioniert.
Beachten Sie, dass diese Art von Vorsichtsmaßnahmen nicht erforderlich sind, wenn erwartet wird, dass die MCU immer aktiv ist. Dies ist nicht die beste Vorgehensweise, da Widerstände ein paar Cent kosten, aber Sie könnten in einem solchen Fall den Pulldown-Widerstand weglassen.
Für Ihre Konfiguration ist die Zwei-MOSFET-Lösung so ziemlich das Beste, was sie bekommen kann.
Ein weiteres zu untersuchendes Szenario, das die gleiche Funktionalität ohne MOSFETs bringen kann, ist die Verwendung der Sleep/Reset/Wake-on-Change-Funktionalität der MCU (ich kenne mich mit dem Wemos nicht aus, aber ich wette, es hat so etwas wie es ). Wenn Sie „abschalten“ möchten, gehen Sie einfach schlafen. Die MCU wird immer noch etwas Strom verbrauchen , aber das wäre zu gering, um eine Rolle zu spielen. Und Ihr Schalter kann mit einem Reset-Pin der MCU oder, wenn Sie den Prozessorzustand beibehalten möchten, mit einem Pin verbunden werden, auf dem Sie Interrupt/Wake-on-Change konfiguriert haben.
SamGibson
Bogd
anrieff
Bogd
anrieff
Bogd
Bogd