Pufferung eines digitalen Mikrocontrollersignals zum Anschluss an einen Optokoppler

Ich arbeite häufig an Projekten, in denen ich Optokoppler verwende, um digitale +5VDC-Steuersignale (z. B. von einem Mikrocontroller) vom Rest der Schaltung zu isolieren. Da diese jedoch durch das Aufleuchten einer LED im Inneren des Geräts funktionieren, können die Mikrocontroller-Pins mit mehreren zehn Milliampere belastet werden. Ich suche nach Ratschlägen, wie dieses Steuersignal am besten mit einer zusätzlichen Stufe gepuffert werden kann, damit der Mikrocontroller effektiv eine hohe Impedanz erkennt und dadurch den Strom reduziert, den er bereitstellen muss.

Geben Sie hier die Bildbeschreibung ein

Nur naiv aus dem Kopf fallen mir ein paar Dinge ein, die funktionieren könnten:

  1. Verwenden Sie einfach einen Operationsverstärker als Pufferverstärker mit Einheitsverstärkung.

  2. Verwenden Sie einen dedizierten Komparator-Chip, um das Eingangssignal beispielsweise mit +2,5 VDC zu vergleichen.

  3. Verwenden Sie einen MOSFET als eine Art Signalverstärker.

Beim Lesen bin ich jedoch auf eine ganze Reihe von Chips gestoßen, die ich noch nie zuvor verwendet habe, die sich aber so anhören, als wären sie für so etwas entwickelt worden. Zum Beispiel:

  • Ein differentieller Leitungstreiber ( MC3487 )
  • Ein differentieller Leitungsempfänger (DC90C032)
  • A-Line-Transceiver (SN65MLVD040)
  • Puffergates und Treiber (SN74LS07, SN74ABT126)

Ich habe wirklich keine Erfahrung mit irgendetwas davon und bin ein wenig überwältigt von der Menge an verfügbarem Zeug! Kann mir also jemand helfen, die Unterschiede zwischen diesen Geräten zu lernen und welche davon in diesem Fall geeignet wären / nicht. Gibt es eine beste / standardmäßige Methode, um das zu erreichen, was ich beschreibe?

Bearbeiten:
Da ich auf etwa x30 Ausgänge umschalten könnte, möchte ich mich überhaupt nicht um das Laden der Mikrocontroller kümmern und werde daher nicht in Betracht ziehen, direkt an die DIO-Pins anzuschließen. Daher denke ich, dass ich mich für einen Logikpuffer-IC entscheiden werde. Ich werde versuchen, das SN74LVC1G125Single Bus Buffer Gate With 3-State Output “ für jeden Eingang zu verwenden, und sehen, wie das funktioniert.

Für eine Drop-in-Einzelkomponentenlösung, P-Kanal-MOSFET.
In diesem Zusammenhang können Mikrocontroller-Pins normalerweise mehr Strom aufnehmen als liefern. Siehe diese Frage .

Antworten (4)

Sie haben viele Möglichkeiten.

  1. Wenn Sie nur sehr wenige Optokoppler anschließen müssen, können Sie diese direkt an den GPIO Ihres Mikrocontrollers (über einen Widerstand) anschließen, vorausgesetzt, dass:

    • Sie überschreiten nicht den GPIO-Ausgangsstrom.
    • Sie überschreiten nicht den gesamten Portstrom.
    • Sie überschreiten nicht den gesamten gnd/vdd-Strom.
  2. Wenn Sie mehr Optokoppler anschließen müssen, können Sie versuchen, Optokoppler mit niedrigem Strom und hohem Übertragungsverhältnis wie SFH618 ( https://www.vishay.com/docs/83673/sfh618a.pdf ) zu verwenden und diese direkt anzuschließen Ihre GPIOs (über einen Widerstand).

  3. Oder Sie können einen BJT oder MOSFET verwenden (siehe Schaltpläne unten). Einige Notizen:

    • Denken Sie daran, den Pulldown-/Pullup-Widerstand zu setzen, der sicherstellt, dass der MOSFET/BJT ausgeschaltet ist, wenn der GPIO noch nicht initialisiert ist (z. B. während des Zurücksetzens).
    • Der Pull-Up- oder Down-Widerstand kann weggelassen werden, wenn Ihre MCU über einen GPIO-Pin verfügt, bei dem Pull-Up/Down beim Zurücksetzen immer aktiviert ist.
    • Denken Sie bei der Verwendung von MOSFETs daran, MOSFETs mit Logikpegel (z. B. BSS138) zu verwenden.
    • Wenn Sie die Active-Low-Lösung verwenden, stellen Sie sicher, dass die High-Pegel-Spannung des GPIO VDD ist. Dh kein 3,3V-GPIO und VDD = 5V in der Active-Low-Lösung verwenden! .
  4. Wenn Sie jedoch viele Optokoppler (z. B. 6) ansteuern müssen, können Sie den von Ihnen erwähnten 74LS07 verwenden, da er 40 mA pro Pin zulässt und Sie nur eine Komponente montieren müssen (anstelle von 6 BJTs / MOSFETs). Denken Sie daran, dass TTL-ICs im Gegensatz zu CMOS intrinsisch hochgezogen werden! Möglicherweise möchten Sie jedoch immer noch den Pull-up-Widerstand (das Datenblatt empfiehlt auch, die Eingänge nicht schwebend zu lassen). Und da '07 nicht invertiert, ist diese Lösung aktiv LOW. Der 74ABT126 ist CMOS, also MÜSSEN Sie trotzdem den Pull-up-Widerstand verwenden!

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Kann auch Emitter/Source-Follower verwenden
+1. Dies kann verwendet werden, um sie aktiv hoch zu machen, vorausgesetzt, dass der GPIO mit der gleichen VDD versorgt wird (wie in der aktiv niedrigen Konfiguration (mit PNP)). Allerdings würde ich dann keinen MOSFET verwenden, da sie tendenziell einen großen Vth haben (und eine große Streuung davon, was sich auf die Berechnung des LED-Stroms auswirken könnte). Dies könnte ein Problem sein, wenn Sie einen 2,5-V- oder 3,3-V-GPIO haben (Sie benötigen v T H + v Ö v + v L E D + ich L E D R . Wenn dieser Wert zu nahe bei VDD liegt, ist der Abfall an R gering und die Abhängigkeit des Stroms von Vth daher hoch).

Ein einfacher BJT wie MMBT3904 oder ein beliebiger Schalt-BJT erledigt die Aufgabe. Sie können eine Rolle mit 100 für zwei Dollar bekommen.

Geben Sie hier die Bildbeschreibung ein

Die differentiellen Leitungstreiber sind nicht für die Ansteuerung von LEDs ausgelegt. Diese Pufferchips treiben (oder empfangen) ein Differenzsignal auf zwei Drähten. Der Spannungshub kann 1,3 Volt bis 1,7 Volt betragen. Nicht genug, um eine LED ein- oder auszuschalten.

Die TTL-Puffer sind ideal für diese Anwendung, aber anstatt sie wie in Ihrem Schaltplan gezeichnet mit der hohen Seite der LED zu verbinden, sollten sie mit der niedrigen Seite der LED verbunden werden, da TTL Strom gut sinken und Strom schlecht liefern kann.

Wenn Sie jedoch nur wenige Optokoppler anschließen müssen, ist ein NPN-BJT eine noch einfachere Möglichkeit, die LED anzusteuern.

Ich empfehle für die Ausgabe auf Logikpegel die Verwendung des H11L1 , der einen CMOS-Schmitt-Logik-Gate-Treiber hat und mit mindestens 1,4 mA ~ $ 1 (10) 3 ~ 16 V läuft

Für kostengünstige offene Kollektoren, eingestuft mit einem breiten Spektrum an Stromgewinnen von mindestens 80 % bis 300 % http://www.taiwansemi.com/products/datasheet/TPC816%20SERIES_B1612.pdf

Dies bedeutet, wenn Sie nur Logikpegel oder 1 mA benötigen, sind dies mindestens 80% dessen, was Ihr Laufwerk mit sich bringt, was die CPU nicht stark belastet.

Suchen Sie also nach dem, was wichtig ist. Tausende von Auswahlmöglichkeiten Kosten vs. Leistung.

Für die Geschwindigkeit hilft mehr Strom, aber einige Geräte schalten andere in uns ein.