Wie kann der MOSFET-Drain als Masse für eine Last verwendet werden?

Ich versuche zu verstehen, wie der Schaltplan aus diesem Github-Repo funktioniert. Es verwendet eine RTC, um ein Arduino über einen npn-Transistor und einen Mosfet einzuschalten.

fritz von github

Ich bin Neuling in der Elektronik, also könnte dies eine einfache Schaltung sein. Insbesondere verstehe ich die Kombination aus npn und mosfet nicht. Ich verstehe, dass der RTC-Pin den npn-Transistor einschaltet, damit Strom fließen kann, und das irgendwie das Arduino mit Masse verbindet, aber ich verstehe nicht, wie der Erdungsteil funktioniert.

  • Wie lässt das Anschließen des Mosfet-Drains an die Arduino-Masse den Stromfluss zu?
  • Wie fließt Strom von der Arduino-Masse zur VCC-Masse zurück?
  • Welche Rolle spielen die Kondensatoren?
  • Warum ist der npn-Emitter mit dem Mosfet-Kollektor verbunden?

Ich bin mir sicher, dass ich einige grundlegende Missverständnisse habe, hoffentlich reicht das Obige aus, damit ihr mir helfen könnt, sie zu identifizieren?

Wenn Sie mir auch helfen könnten, die Namen der in dieser Schaltung verwendeten Muster zu identifizieren, würde mir das helfen.

Außerdem, ps, welche Tools könnte ich verwenden, um Schaltungen wie diese zu simulieren und selbst zu lernen, wie/was/warum? Mir sind die Tutorials von sparkfun und einige Kurse auf udemy bekannt, aber was sind andere Anlaufstellen?

Danke!

Bearbeiten: verwandt, Verwenden eines DS3231 RTC-Alarms + MOSFETS zum Einschalten einer MCU

Es tut mir leid, wenn ich unverblümt bin, aber: Diese ganze Idee ist schlecht, und der ursprüngliche Autor sollte sich schlecht fühlen. Der Mikrocontroller auf dieser Platine verfügt über eine eingebaute RTC, die das Arduino selbst aufwecken kann. Keine Notwendigkeit für eine externe. Das Arduino kann den Funkchip selbst ausschalten, so dass er keinen Strom verbraucht. Die Beschreibung der Schlafmodi auf dieser Seite, auf die Sie verlinken, liest sich so, als ob der Autor den stromsparenden Betrieb von Mikrocontrollern nicht wirklich versteht ...
Dieses NMOS ist in einer sehr verwirrenden Ausrichtung gezeichnet, aber alles, was es tut, ist, den Arduino GND zu trennen (was übrigens keine gute Möglichkeit ist, einen IC auszuschalten). Es sollte unter dem Arduino-Boden gezeichnet werden, wo es zur besseren Lesbarkeit vertikal in die entgegengesetzte Richtung gedreht würde
Außerdem ist der Schaltansatz eine wirklich schlechte Idee: Er schaltet den GND des Arduino, was bedeutet, dass jetzt alles, was an den Pins des Arduino angeschlossen ist, zur Referenzspannung werden kann - mit Effekten wie einem Pin mit niedrigerem Potenzial als GND, was (und sehr wahrscheinlich) das Gerät beschädigen.
Alles in allem: nicht kopieren.
Stimmt mit den obigen Gefühlen überein. Schlechte Wahl, um den GND-Knoten des UC zu schalten. Für JEDES aktive Siliziumgerät ist dies eine schlechte Idee. Für eine einfache resistive / dumme Last ist es in Ordnung. Manchmal, weil es online ist, bedeutet das nicht, dass es von hoher Qualität ist. Gute Arbeit, um hier Fragen mit Leuten zu stellen, die sich auskennen!
Ein "Designmuster", das Sie untersuchen sollten, ist ein "High-Side-Schalter" mit einem P-Kanal-MOSFET. Es ist korrekter für die Leistungssequenzierung und das Aktivieren / Deaktivieren aktiver Schaltungslasten wie eines Mikrocontrollers
Wäre es für die Community von Interesse und akzeptabel, wenn ich einen Link davon zum Github-Repo posten würde, um dem Autor die Möglichkeit zu geben, etwas zu widerlegen? Ich schätze den Konsens des Hivemind -- es könnte jedoch interessant sein zu sehen, warum der Autor diesen Ansatz gewählt hat, wenn er unter anderem von der Onboard-RTC gewusst haben muss.
Eine weitere Randbemerkung: Thingsonedge bewirbt einen Zero-Draw-IC, den Cricket. Allerdings geschlossene Quelle. Ich glaube, ich habe das obige Repo gefunden, als ich versuchte, einen Open-Source-Weg zur Implementierung von Zero-Draw für batteriebetriebene mqtt-WLAN-Thermistoren zu finden (dh im Gewächshaus des Schwiegersohns außerhalb des Staates zurückgelassen). Ich werde es mir ansehen "High-Side-Schalter", danke @KyranF
Ich weiß nicht viel über Arduino, aber es ist möglich, dass Arduino-Bibliotheken keinen Zugriff auf die Schlaffunktionen bieten, selbst wenn der Microcnotroller selbst dazu in der Lage ist. Das würde den suboptimalen Ansatz zum Umschalten der Leistung auf die MCU erklären. Und die Tatsache, dass es tendenziell einfacher ist, einen Low-Side-NMOS als einen High-Side-PMOS zu verwenden, würde das suboptimale Schaltverfahren erklären.

Antworten (1)

Wie die Kommentare sagen, ist diese Schaltung schrecklich. Noch wichtiger ist, dass es schlecht gezeichnet ist. Der MOSFET ist auf dem Kopf stehend, und sowohl die MOSFET-Source als auch der BJT-Emitter sind mit Masse verbunden. Hier ist, was los ist:

  • R3 und Q1 bilden einen einfachen Inverter, der den Rechteckwellenausgang des RTC invertiert.
  • Die invertierte Rechteckwelle ist mit dem Gate von Q2 verbunden.
  • Wenn eingeschaltet, verbindet Q2 den Erdungsstift des Arduino mit der Schaltungsmasse. Beim Ausschalten trennt Q2 die Masse und schaltet (theoretisch) den Arduino aus.

Das Umschalten der Masseverbindung eines ICs ist aus mehreren Gründen eine schlechte Idee. Tu es nicht!

Ich bin mir nicht sicher, ob die Kondensatoren wirklich 0,1 Millifarad haben sollen oder ob sie die Standard-0,1 Mikrofarad sind. Es ist üblich, einen 0,1-Mikrofarad-Kondensator zwischen den Strom- und Erdungsstiften eines digitalen ICs zu haben, um eine konstante Versorgungsspannung während des Schaltens sicherzustellen. Wenn sie wirklich 0,1 Millifarad (100 Mikrofarad) meinten, ist der Kondensator wahrscheinlich ein schlechter Versuch, den Arduino am Laufen zu halten, nachdem seine Stromversorgung ausgeschaltet wurde.

Mikrofarad sollte immer μF oder uF geschrieben werden. In alten Schaltplänen wurde mF als Abkürzung für Mikrofarad verwendet. Aus diesem Grund ist es am besten, Millifarad und die Abkürzung mF zu vermeiden und nur Mikrofarad zu verwenden.

UPDATE: Die Schnittpunkte zwischen den Drähten sind unklar - ein weiterer Grund, warum dieser Schaltplan schlecht gezeichnet ist. Normalerweise wird dies durch einen Punkt an verbundenen Kreuzungen angezeigt. Eine andere Möglichkeit besteht darin, eine Drahtkurve an der Seite zu haben, um einen nicht verbundenen Schnittpunkt anzuzeigen. Hier sind einige Beispiele:

Drahtverbindungen in Schaltplänen

Die Dicke der Linien sollte keine Rolle spielen und ist wahrscheinlich ein Artefakt beim Konvertieren des Schaltplans in ein PNG.

In Ihrem Schaltplan werden Punkte nur verwendet, um einige Pin-Verbindungen anzuzeigen (was falsch ist). Basierend auf der Funktion der Schaltung sind hier die tatsächlichen Verbindungen:

  • RTC SQW ist nur mit der Basis von Q1 verbunden, nicht mit VCC.
  • Das Gate von Q2 ist nur mit dem Kollektor von Q1 verbunden, nicht mit Masse.
  • Der Emitter von Q1 und die Source von Q2 sind beide mit Masse verbunden.
Oh wow okay, erstes großes Wusch, rückblickend dachte ich nicht, dass gekreuzte Linien unbedingt eine Verbindung bedeuten. Jetzt sehe ich, wie zumindest die Schaltung tatsächlich eine Schaltung ist. Ich werde weiter über den Rest kauen, danke an alle, die das hier erklärt haben.
Ich kann der Zeichnung eigentlich immer noch nicht entnehmen, ob gekreuzte Linien tatsächlich verbunden sind - ich vermute, dass dies nur in einigen Fällen oben zutrifft. Das spricht für die Kritik an der Zeichnung, wenn ich recht habe. Ich musste mir das andere Fritzing-Bild auf dem Repo ansehen, um zu sehen, was Sie damit meinten, dass beide mit Masse verbunden sind.
@deargle Ich denke, die Linie, die Q1-E (3) mit Q2-G (1) verbindet, soll am oberen Schnittpunkt und nicht am unteren verbinden. In jedem Fall ist es BS, dass es nicht explizit ist, was Grund genug ist, nichts anderem im Schaltplan zu vertrauen.
Ich schätze, die Linien und Kreuzungen sind an manchen Stellen doppelt so dick... ಠ_ಠ
@deargle Ich habe meine Antwort mit einer Erklärung der Drahtverbindungen aktualisiert.