Pegelverschiebung 1,8 V bis 5 V mit N-Kanal-FET

7

Ich verwende BeagleBoard-xM GPIO-Ausgänge, um einige Gleichstrommotoren mit Hilfe des L293D IC anzutreiben. Das Problem ist, dass es einen Unterschied zwischen den Spannungspegeln gibt. Die GPIO-Ausgänge liefern nur 1,8 V, während L293D mindestens 4,5 V für logisch hohe Werte benötigt. Ich brauche also eine unidirektionale Spannungspegelverschiebung. Ich habe BS170 N-Kanal-FETs für diesen Zweck. Ich bin jedoch nicht gut in Halbleitern. Was ist die richtige Konfiguration für den Transistor? Muss ich zusätzliche Komponenten verwenden?

Emre Yazici
quelle
@curb hat einen gültigen Punkt für eine andere Antwort vorgebracht. Welches Geschwindigkeitssignal haben wir mit Pegelverschiebung zu tun? Wenn Sie mit 9600 Baud arbeiten, ist es viel einfacher als 1 GHz.
Kortuk
@Kortuk Da dies für einen Gleichstrommotor-Antriebskreis ist, ist die Geschwindigkeit für mich nicht so wichtig. Das PWM-Signal, das die Schaltung antreibt, liegt bei etwa 100 Hz und ich muss das Tastverhältnis zwischen 0 und 100 einstellen. Theoretisch ist 1 kHz also genug Geschwindigkeit für mich.
Emre Yazici

Antworten:

6

Der BS170 funktioniert hier nicht sehr gut, da seine Schwellenspannung (dh wenn er sich einzuschalten beginnt) typischerweise 2,1 V beträgt, was höher als 1,8 V ist.
Sie könnten also einen FET mit einer niedrigeren Schwellenspannung verwenden, aber ich würde wahrscheinlich nur einen NPN dafür verwenden.

So etwas sollte in Ordnung sein:

NPN Level Shift

Beachten Sie, dass das obige Schema die Logikpegel et * 0 * V @ PIN -> + V am Kollektor invertiert. Wenn Sie einen besseren FET erhalten können, können Sie die obige Schaltung verwenden, aber den NPN gegen den N-Kanal-FET austauschen. In diesem Fall ist der Basis- / Gate-Widerstand nicht erforderlich, aber er schadet nicht, vorausgesetzt, Sie müssen nicht mit sehr hohen Geschwindigkeiten schalten (diese spezielle Lösung ist für niedrige Geschwindigkeiten geeignet). Die
Widerstandswerte sind nicht zu kritisch, der R3 soll den Stromfluss in die Basis des Transistors begrenzen, und R2 stellt den Strom durch den Transistor ein.
Wenn wir davon ausgehen, dass die Verstärkung des Transistors ~ 100 beträgt, können Sie mit R3 viel mehr als 1k erreichen (wahrscheinlich bis zu ungefähr), wenn Sie den vom Pin entnommenen Strom reduzieren möchten (z. B. batteriebetriebenes Gerät, das leistungsbewusst sein muss) maximal 15k), da die Basis nur 5mA / 100 = 50uA benötigt, um zu arbeiten (die 5mA kommen von 5V / 1k (R2))

Wenn eine Umschaltung mit höherer Geschwindigkeit erforderlich ist, ist es wahrscheinlich am besten, einen Pegelverschiebungs-IC zu verwenden. Hier ist eine Maxim-Seite , auf der einige Hochgeschwindigkeits-Pegelverschiebungs-ICs erwähnt werden.

Oli Glaser
quelle
Vielen Dank für Ihre wertvollen Vorschläge und den Schaltplan. Die minimale Gate-Schwellenspannung für BS170 beträgt 0,8 V. Ist es also nicht möglich, sie mit 1,8 V einzuschalten? Was ist der Unterschied zwischen min., Max. Und typischen Werten von Vgs?
Emre Yazici
1
Dies funktioniert jedoch nicht für schnelle Signale (> ca. 500 kHz), da der Transistor zu langsam abschaltet. Siehe meine Antwort auf electronic.stackexchange.com/questions/23349/…
Curd
@Emre Yazıcı: min, typ. Und max bedeutet, dass bei einer großen Anzahl von Transistoren dieses Typs alle möglichen Werte im Bereich zwischen min liegen. und max. Wert. Der Typ. Wert ist höchstwahrscheinlich einer.
Curd
@Curd - Nein, ich habe hier eine niedrige Geschwindigkeit angenommen. Wenn eine hohe Geschwindigkeit benötigt wird, ist ein dedizierter Pegelverschiebungs-IC möglicherweise die bessere Idee. Orte wie Maxim, TI usw. machen einige anständige.
Oli Glaser
Ich habe die im Diagramm gezeigte Schaltung implementiert. Ohne L293D ist Vr3 = 1,14 V, Vbe = 0,7 V und Vce = 5,54 V (die Stromversorgung beträgt 5,5 V). Wenn ich jedoch den Freigabepin des L293D an den Kollektor anschließe, werden Vce und Vr2 zu 2,77 V. Leider reicht diese Spannung nicht aus, um L293D zu aktivieren. Übrigens habe ich die Erdung des Netzteils und des Mikrocontrollers gemeinsam gemacht und mit dem Emitter von 2N2222 verbunden. Fehlt mir etwas?
Emre Yazici
14

Ich habe die folgende Schaltung erfolgreich als Logikpegelschieber 1,8 V -> 5 V für Frequenzen bis zu einigen MHz verwendet.
Der von mir verwendete FET war ein BSN10A.

Geben Sie hier die Bildbeschreibung ein

Quark
quelle
Ich glaube nicht, dass der OP diesen Transistor hat oder dass er definiert hat, dass er diese Frequenz benötigt. Dies mag eine richtige Antwort sein, aber können Sie mit seiner Komponente eine richtige Antwort geben?
Kortuk
@Kortuk: Ich denke, es funktioniert auch mit einem BS170, wenn er ein bestimmtes Gerät mit Vgs (th) auswählt, das klein genug ist.
Curd
Könnte er zwei BS170 verwenden, einen, um die Spannung zu erhöhen und den zweiten vollständig einzuschalten?
Kortuk
@Kortuk: Nein, ich denke das würde nicht funktionieren. Wenn Vgs (th) in der ersten Stufe zu hoch ist, hilft eine zweite Stufe nicht. Ich habe nicht getestet, aber vielleicht könnte es helfen, die 1,8 V auf einen Wert zu erhöhen, der gerade hoch genug ist (> Vgs (th), aber nicht zu hoch).
Curd
Es tut mir leid, ich habe dich herabgestimmt. Dies liegt insbesondere daran, dass in dieser Frage ein anderer Transistor verwendet wird und Sie auf Geschwindigkeit ausgelegt sind, wenn er diese nicht benötigt und dies niemals impliziert. Unter diesen Umständen bin ich mir nicht sicher, ob die Antwort von Wert ist. Bitte verstehen Sie das nicht falsch, Sie kennen Ihr Thema genau, aber denken Sie daran, dass der Schwerpunkt auf der Beantwortung der OP-Frage liegt. Ich hoffe, weiterhin Antworten von Ihnen zu erhalten.
Kortuk
1

Ich würde für einen Busschalter stimmen. Es ist wie bei der Verwendung der Schaltung in Curds Antwort, jedoch mit kleinen MOSFETs, die für diesen Zweck optimiert wurden (geringer Vds-Durchschlag, niedrige parasitäre Kapazität, niedriger Gate-Widerstand).

Zu diesem Zweck haben wir Fairchild NC7SZ384 verwendet. andere Hersteller stellen sie auch her.

Jason S.
quelle