GPIO-Ausgangskorrektor

Mir wurde vorgeschlagen, dass GPIOAusgänge an Raspberry nicht als Referenzspannung verwendet werden können: Beispielsweise GPIO TRUEkönnten nur 3,2 V und GPIO FALSE0,1 V ausgegeben werden. Andererseits soll laut Exploring the 3.3V Power Rail die 3.3V-Schiene recht stabil sein. Was ich tun möchte, ist, GPIOden Ausgang so zu korrigieren, dass er wirklich etwas sehr nahe an der Schienenspannung (3,3 V) zurückgibt, wenn TRUEund etwas wirklich nahe an der Erdspannung (0,0 V), wenn FALSE:

Geben Sie hier die Bildbeschreibung ein

Ich wäre auch mit der invertierten Logiklösung zufrieden, dh dass sie etwas sehr nahe an der Schienenspannung (3,3 V) FALSEund etwas sehr nahe an der Erdspannung (0,0 V) zurückgibt TRUE. Ich weiß, dass Wechselrichter eine solche Aufgabe im Prinzip erledigen sollten, aber ich weiß nicht, wie genau sie sind.

Ich habe mehrere Fragen:

  • Was ist die einfachste Schaltung, die den Job macht?
  • Wären vorgefertigte Wechselrichter gut genug für eine invertierte Logiklösung?

Spezifikation für die Schaltung:

  • Stromausgang kleiner 1 mA,
  • TRUE/ FALSEoder FALSE/ TRUESpannungen auf OUTweniger als 0,04 V von Schienenspannung und Massespannung.

Ich habe bereits angenommen (hoffentlich habe ich Recht), dass die Schienenspannung innerhalb weniger Prozent von 3,3 V liegt.


@Andy aka's Lösung:

Geben Sie hier die Bildbeschreibung ein

Die Referenzausgangsspannung kann zwischen 0 V und 1 V geregelt werden. Für GPIO= FALSEentspricht OUTReferenzspannung. Für GPIO= ist TRUE( OUTnach meinen Berechnungen) weniger als 1 uV.

(Können Sie bitte bestätigen, dass dies Ihr Lösungsvorschlag ist?)

"Erledigt diese Schaltung den Job?" kommt eher darauf an, was der Job ist. Wie stabil muss dieser Ausgang sein und wie viel Last wird erwartet?
Hmm, mit welchen Problemen hast du am Anfang? Warum reicht das High-Signal vom GPIO nicht aus?
Deine Mosfets sind falsch platziert. P-Kanal sollte oben sein.
@Finbarr Ich brauche, dass der Ausgang so nah wie möglich und so stabil wie möglich an der 3,3-V-Schiene liegt. Der Ausgang geht zum Spannungsteiler mit mindestens einigen Dutzend Kiloohm.
@WesleyLee Mir wurde gesagt, dass GPIO nicht zuverlässig genug ist, dass das hohe Signal beispielsweise nur 3 V betragen könnte.
@Andyaka Dies ist kein Inverter / KEINE Logik. Ganz im Gegenteil, erklärte ich in der Frage.
Die Antwort könnte alles sein, von der Verwendung eines N-FET mit einem Pull-up auf 3,3 V über die tatsächliche Messung des Ausgangs Ihres RPi (es könnten 3,3 V und genug sein) bis hin zu einem Enable-Pin an einer 3,3-V-Referenz. Oder stellen Sie Ihren Widerstandsteiler ein.
Wenn das oben ein N-Fet ist, schaltet es sich nicht wirklich ein!
@pcj50 facepalm du hast recht. Meine Lösung ist scheiße. Ich werde die Frage ohne meine "Lösung" umformulieren.
Wenn es unbedingt 3,3 V sein müssen, würde ich einen separaten LDO mit eigenen Entkopplungskondensatoren haben, die von der 5-V-Schiene angesteuert werden, mit einem Aktivierungseingang (EN- oder ~EN-Pin), der vom GPIO angesteuert wird.
@ pjc50 Angenommen, GPIO TRUE gibt 3,2 V und GPIO FALSE 0,1, würde ich etwas brauchen, das 3,3 V oder 0,0 V für GPIO TRUE und 0,0 V und 3,3 V für GPIO FALSE liefert.
Aber wofür braucht man eigentlich genau 3,3V von einem GPIO? Bauen Sie einen Widerstands-DAC oder etwas in dieser Richtung?
@Pygmalion nein, du liegst falsch, es muss oben ein P-Kanal sein.
@RichardtheSpacecat Ich brauche eine relativ genaue Referenzspannung für den Stromregler. Bei GPIO ON sollte die Spannung beispielsweise 0,5 V betragen, bei GPIO OFF sollte die Spannung 0 V betragen, was den Strom vollständig stoppen würde. Negative Logik ist auch in Ordnung.

Antworten (2)

Aus einem Kommentar des OP: -

Ich brauche eine relativ genaue Referenzspannung für den Stromregler. Bei GPIO ON sollte die Spannung beispielsweise 0,5 V betragen, bei GPIO OFF sollte die Spannung 0 V betragen, was den Strom vollständig stoppen würde. Negative Logik ist auch in Ordnung.

Dies impliziert für mich, dass Sie einen Widerstandspotentialteiler verwenden würden, um 0,5 Volt aus 3,3 Volt zu erzeugen, also ...

Die einfachste Lösung wäre, den oberen Widerstand fest mit +3,3 Volt zu verbinden und einen N-Kanal-MOSFET zu verwenden, um den Referenzeingang (zuvor 0,5 Volt) auf 0 Volt zu klemmen.

Ein Widerstandsteiler ist nicht genau, insbesondere wenn sich VCC oder Laststrom ändern.
@TurboJ Je nach Job kann es immer noch gut genug sein. Da wir immer noch keine genaue Angabe darüber haben, was das OP wirklich erreichen möchte, zählt jede Antwort, denke ich.
@RichardtheSpacecat Ich würde erwarten, dass eine bessere Präzision eine komplexere Schaltung bedeutet. Was ich wirklich will, ist die Lösung, die jeder Laie (wie ich) leicht bauen kann. Es ist eine große Vereinfachung, wenn wir davon ausgehen , dass die 3,3-V-Leitung stabil genug ist (mit beispielsweise wenigen Prozent Fehler). Wenn die GPIO-Ausgabe genauso präzise ist, ist die Frage natürlich sinnlos.
Ich weiß, wie man einen Spannungsteiler baut, aber es ist mir sehr unscharf, wie man den Spannungsteilerausgang ein- / ausschaltet, wenn man die GPIOLogik ändert.
@Pygmalion Der N-Kanal-MOSFET kann so eingestellt werden, dass er wie ein Ein- / Ausschalter arbeitet. Im ausgeschalteten Zustand (offener Stromkreis) beträgt der Referenzeingang an Ihrem Chip 0,5 Volt, und wenn der MOSFET eingeschaltet ist, wirkt er wie ein Kurzschluss und zieht Ihren Referenzeingang auf 0 Volt herunter. Drain zum Referenzeingang, Source auf 0 Volt und Gate zum IO-Pin. Wählen Sie einen MOSFET mit niedrigem Einschaltwiderstand (z. B. unter 0,1 Ohm). Und was sind Ihre Widerstandswerte, von denen Sie sprechen, die die 0,5 Volt einstellen?
Ich glaube, ich habe die Idee.
@Andyaka Ich habe deinen Vorschlag gepostet, da ich ihn als andere Antwort verstanden habe: Ausgangsspannung kann zwischen 0 V und 1 V geregelt werden, R3 fungiert auch als GPIO-Schutz (falls Potentiometer an das Ende geschraubt wird). Wenn es Ihnen gefällt, können Sie das Bild in Ihrer Antwort verwenden. Ich werde meine Antwort löschen, nachdem Sie bestätigt haben.
Ja, das ist die Idee, aber verwenden Sie kleinere Widerstandswerte, um den Potentialteiler herzustellen, und ich würde kein Potentiometer verwenden.

Ich denke, Ihre Schaltung könnte funktionieren, aber nur in einigen ausgewählten Fällen.

Sie müssen berücksichtigen, dass Ihre Fets eine haben R D S Ö N , was die Ausgangsspannung beeinflusst, wenn ein erheblicher Strom von der Last gezogen wird. Je nach Belastung treten also Spannungen unter 3,3 V auf.

Ich empfehle die Verwendung einer Spannungsreferenz mit einem Referenzeingang wie dem TLV431.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Dies ermöglicht eine ziemlich präzise Spannungsausgabe, die viel stabiler ist. Kondensatoren entfallen, bitte beachten Sie die Anwendungshinweise im Datenblatt. Passen Sie auch R3 an Ihre Bedürfnisse an, sobald Sie Kenntnis über die Impedanz Ihrer Last haben.

Wenn Sie das Geld haben, gibt es Referenzen mit einem zusätzlichen Aktivierungspin, der Ihnen einige der externen Diskreten sparen könnte.