Funktioniert diese Optokopplerschaltung für Sensor und Gleichstrommotor?

Ich arbeite an einem Projekt, in dem ich einen Gleichstrommotor und einige Ultraschallsensoren betreiben muss.

Ich möchte den Motor mit dem Motortreiber DRV 8871 betreiben, indem ich Logiksignale gebe und den Sensorwert am Controller-Pin auslese.

Ich muss auch die Isolierung zwischen meinem Motor und Mikrocontroller und den Sensoren aufrechterhalten.

Ich habe versucht, die Schaltung mit Optokopplern für die Isolierung vorzubereiten, aber ich bin sehr verwirrt zwischen der Senken- und der Quellenschaltung für den Optokoppler.

Funktioniert diese Schaltung?

  1. Datenblatt Optokoppler PC817
  2. Ultraschallsensor NPN und Schließer, Betriebsspannung (10-30VDC)
  3. Die DC-Motorversorgungsspannung beträgt +24 V
  4. Datenblatt des Motortreibers 5.Microcontroller Ti CC1350

Optokopplerschaltung Abb. 1 für Motor und Abb. 2 für Sensor

Wenn Sie Rechtecksignale haben, die den Optokoppler aktivieren, warum verwenden Sie ZD1 und ZD2? Vielleicht reicht bei den Zenerdioden der Strom, der durch die interne LED des Optokopplers fließt, nicht zur Aktivierung aus. Wählen Sie die LED-Widerstände, um den minimalen Antriebsstrom zu erreichen.

Antworten (1)

Wie in den Kommentaren angedeutet, bin ich mir nicht sicher, warum Sie Zener verwendet haben, insbesondere auf der MCU-Seite, wo die GPIOs gut spezifiziert sind.

Ich habe die Berechnungen nicht überprüft (ich bin faul), aber die goldene Regel mit Transistor-Ausgangsoptos lautet, den CTR-Bereich zu überprüfen: Ihr Teil kann 50-600% leisten, wenn es nicht in einen Behälter eingeteilt wird, also arbeiten Sie damit.

Ein „überschüssiger“ Strom ist kein Problem, da er durch Ihren R3/R5 begrenzt wird.

Der Nennstrom für die LED beträgt 20 mA, natürlich mit etwas Spielraum. Ich weiß nicht, was Ihr 24-V-Sensor liefern kann, Sie müssen es überprüfen. Auch ein MCU-GPIO kann selten so viel liefern (PIC sind die große Ausnahme); überprüfen Sie Ihr Datenblatt, um sicherzugehen.

BEARBEITEN: Ich habe die Frage noch einmal gelesen und es ist ein Simplelink-Kortex, ich kenne sie und sie sind ziemlich anämisch, wenn es um GPIO geht (MSP430 sind noch schlimmer). Sie sind auf 8 mA an den „High Drive“-Pins und 4 mA auf den anderen Pins spezifiziert. Ich würde eine Art Booster zum Ansteuern der LED in Betracht ziehen: einen MOSFET, einen BJT, ein Ersatz-Logikgatter, das Sie haben. Bestenfalls 8 mA mit einer CTR von 50 % zu haben, würde 4 mA auf dem Kollektor bedeuten, 4 mA von einem Standard-GPIO würden in eine Strafzone im CTR-Diagramm eintreten, sodass Sie weniger als 2 mA auf dem Kollektor haben würden. Es kann funktionieren, wenn die Signale langsam sind und es nicht zu viel Rauschen gibt. Achten Sie in diesem Fall darauf, den Vorwiderstand für die maximal mögliche Vf an der LED (1,4 V) auszulegen. Wenn Sie es für eine Vf von 1,2 V berechnen, riskieren Sie, wenn Sie Pech haben, noch weniger Strom zur Verfügung zu haben!

Natürlich könnten Sie sich für einen niedrigeren Strom entscheiden, z. B. 10-15 mA, aber seien Sie vorsichtig, dass die CTR noch schlechter sein könnte (Abbildung 2 im Datenblatt). Das heißt, im schlimmsten Fall haben Sie eine Klickrate von 50 %. Das heißt, wenn man 20mA an die LED legt, kann der Ausgangstransistor auf maximal 10mA sinken.

Dies bestimmt den Pullup am Ausgang. Es spielt keine Rolle, es sei denn, Sie signalisieren mit schnellen Raten. Sie treiben hochohmige Eingänge (einige Steuerpins), sodass Sie nur sicher sein müssen, dass die Leitung mit Ihren verfügbaren 10 mA (im schlimmsten Fall) auf 0 V gehen kann (naja, eigentlich kann sie das nicht, da der Ausgang Vce vorhanden ist, aber das ist trascurable, siehe Abbildung 5). Wenn Sie etwas rechnen, werden Sie sehen, dass Ihre 4,7 k angemessen sind.

Seien Sie jedoch vorsichtig mit Ihrem Ausgangskondensator. Ich denke, es ist für die Störfestigkeit und wenn es um Motoren geht, ist das eine gute Idee. Wenn Sie den Opto aktivieren, geht der Ausgang fast sofort auf 0 (abhängig von der Opto-Laufzeit, einige µs, Abbildung 6). Wenn die Leitung jedoch ansteigen muss, muss der Lastwiderstand das Filter aufladen. Die Gesamtabschaltzeit ist also länger als in der Abbildung gezeigt: Die Abbildung zeigt die Zeit, die für die interne Kapazität benötigt wird, und Sie sollten diese (etwa 80 µs, aus dem Diagramm) filtern. 100 nF und 4,7 k haben ein Tau von 470 µs, sodass Ihre Abschaltzeit mehr als 1 ms betragen würde.

Das kann je nach Anwendung signifikant sein oder nicht. Sie können es beschleunigen, indem Sie einfach den Lastwiderstand verringern. Wenn Sie rechnen, würde ich nicht unter 680 Ohm gehen, ich würde dafür bei einem Minimum von 1 k bleiben (das wäre ungefähr 5-mal schneller!).

PS: Dies sind alles Worst Case und Best Practice für das Design. Wenn es sich um eine einmalige Schaltung handelt und Sie Glück haben, entwerfen Sie einfach für die "typischen" Werte und es kann sogar funktionieren!