Ich möchte einen einzelnen Pin (Tri-State-Puffer, 3,3-V-Logik, falls dies wichtig ist) verwenden, um zwei P-Kanal-MOSFETs als High-Side-Schalter anzusteuern. Es wird immer nur einer von ihnen eingeschaltet sein. Wenn sich der Pin im hochohmigen Zustand (hi-Z) befindet, möchte ich, dass beide ausgeschaltet sind.
Die Lösung, die ich mir ausgedacht habe, besteht darin, den Hi-Z-Zustand hochzuziehen (auf 0,2 * Vcc, siehe Kommentare) und zwei Komparatoren (Typ mit offenem Kollektor) zu verwenden, um die FETs anzusteuern, wenn sich der Pin entweder im Lo- oder im High-Zustand befindet:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Ich frage mich: Gibt es dafür einen besseren, einfacheren oder eleganteren Ansatz? Ist diese Lösung für schnelles Umschalten geeignet?
Hmm, vielleicht ist das per sagen nicht eleganter...
Dies kann gelöst werden, indem ein Inverter auf PMOS-Basis und ein Inverter auf NMOS-Basis hergestellt werden. Ein NMOS-basierter Inverter wird eine Spannung um die Schwellenspannung für den NMOS invertieren, diese Spannung wird für den PMOS-basierten Inverter unterschiedlich sein. Wenn sowohl NMOS- als auch PMOS-Transistoren Schwellenwerte haben, die weniger als die Hälfte von VDD betragen, erhalten Sie einen Spannungsbereich dazwischen, in dem beide invertieren. Das bedeutet in den folgenden Fällen, dass keiner der Ausgänge eingeschaltet ist.
Hier ist eine Lösung, die nur 4 Transistoren benötigt:
Hier ist der Link , wenn Sie damit interagieren möchten. Seine Ausgänge sind nicht zwei P-MOS-Transistoren, aber dies kann durch Hinzufügen eines fünften Transistors gelöst werden.
Der Grund, warum ich mich entschieden habe, diesen Schaltplan zu teilen, ist, dass Ihre Konstruktion möglicherweise nur begrenzt Platz bietet, dann könnte dies eine gute Lösung sein.
Der obere Graph ist die Spannung an den Gates der Transistoren ganz links.
Der mittlere Graph ist die Spannung über der oberen Last.
Das untere Diagramm ist die Spannung über der unteren Last.
Ein Schaltplan mit 5 Transistoren, der so funktioniert, wie Sie es beschrieben haben, würde folgendermaßen aussehen:
Hier ist der Link für diesen Schaltplan.
Der obere Graph ist die Spannung an den Gates der Transistoren ganz links.
Der mittlere Graph ist die Spannung über der oberen Last.
Das untere Diagramm ist die Spannung über der unteren Last.
Hier ist der "ish"-Teil von oben:
Bleh, habe gerade festgestellt, dass dies nur funktioniert, wenn sich Ihr Ausgangspin innerhalb der Ausgangsspannungsstufe VDD befindet. Dieses Design funktioniert also nicht mit 12 V, da Ihr Pin wahrscheinlich nur zwischen 0 und 3,3 / 5 V liegt. Na ja.
Hier ist ein Schema ... das tut, was Sie wollen, aber ehrlich gesagt ist es nur chaotischer als Ihre Lösung. Es sei denn, Sie erstellen mit diesen Transistoren und internen Widerständen / Stromquellen Ihren eigenen benutzerdefinierten ASIC.
Hier ist der Link für dieses Schema
Der obere Graph ist die Spannung an den Gates der Transistoren ganz links.
Der mittlere Graph ist die Spannung über der oberen Last.
Das untere Diagramm ist die Spannung über der unteren Last.
Bei dieser Lösung arbeitet er mit 3,3 V und nutzt die Logik-Inverter auch als Level-Shifter.
Aber wenn ich Sie wäre, würde ich mit der Lösung gehen, die Sie selbst gefunden haben. Aber mit LM393 statt LM319, weil ich ein Geizhals bin und LM393 etwas weniger Platzbedarf hat (weniger Pins).
Aber wenn Sie hohe Geschwindigkeit brauchen, dann ist LM319 natürlich der richtige Job für Sie, oder meine Transistor- / Widerstandslösung mit 1 kΩ anstelle der 10k/100k, die sie jetzt haben.
Inspiriert von Harrys Antwort ist hier eine Lösung, die 3 Widerstände und einen BJT-Transistor benötigt (plus die üblichen zwei N-Kanal-MOSFETs und Pull-ups, um die P-Kanal-MOSFETS anzusteuern). Eingangs- und Ausgangsspannungen sind unabhängig, z. B. können Sie 12 V von einer 3,3-V-MCU oder 5 V von einer 5-V-Logik steuern:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Der obige Simulationslink funktioniert nicht, klicken Sie stattdessen hier
Anmerkungen:
Im Hi-Z-Zustand ziehen R1/R2 die Eingangsspannung hoch und müssen so eingestellt werden, dass „Test“ ist
(a) ausreichend niedriger als die Gate-Schwellenspannung von M1, um sie gesperrt zu halten. Für 2N7000 sollte dies weniger als 0,8 V betragen; Und
(b) niedriger als die maximale VIL des Pins, um übermäßige Ströme in der Steuerung zu verhindern. Für ESP8266 ist dies 0,25 * Vcc oder weniger als 0,825 V bei Betrieb mit 3,3 V.
Im HIGH-Zustand muss die Ausgangsspannung des Pins ausreichend höher sein als die Gate-Schwelle von M1. Bei einem 2N7000 sollten das mindestens 3V sein. Etwas niedrigere Spannungen werden wahrscheinlich auch funktionieren.
Die geschaltete Spannung (hier: 12V) muss ausreichen, um M3/M4 vollständig einzuschalten. Für den FQP27P06 benötigen Sie etwa 8 V. Wählen Sie MOSFETs mit Logikpegel, wenn Sie niedrigere Spannungen schalten müssen.
Für Q1 reicht so ziemlich jedes NPN (z. B. 2N3904 oder BC547). Klimmzüge R3..R5 können 10K betragen, weniger, wenn Sie bei höheren Frequenzen schalten müssen.
Entfernen Sie für einen Low-Side-Schalter M3 / R3 und M4 / R4 und schließen Sie Ihre Last direkt an M1 und M2 an, und rüsten Sie sie wahrscheinlich auf etwas Geeigneteres auf:
Simulieren Sie diese Schaltung
Der obige Simulationslink funktioniert nicht, klicken Sie stattdessen hier .
pgvoorhees
Transistor
Benutzer4574
Jens
Jens