PCF8574 Optokoppler Input/Output

OP #7797649
Lesenswert?

Ich bin gerade dabei, ein Schema für einen optisch isolierten PCF8574 Eingang und Ausgang zu erstellen. Dazu möchte ich gerne euren Input abholen, da ich ein Newbie in Sachen Elektronik bin.

Die Anforderungen an die Schaltung sind:

  • Inputs mit 5-30 V
  • Outputs mit 12 V um SSR's schalten zu können (200mA pro Kanal reichen)
  • Inputs sowie Outputs sollen optisch isoliert sein
  • Status der Output sowie Input via LED anzeigbar

Im Anhang findet ihr meinen ersten Entwurf. Was meint ihr dazu? Was kann ich verbessern?

Grossen Dank an alle Wortmeldungen.

Angehängte Dateien:
Gast #7797697
Lesenswert?

Für den großen Eingangsspannungsbereich würde ich Konstantstromdioden verwenden.

Für die Ausgänge könnten Motortreiber günstiger sein. Besonders wenn sie einen integrierten Schutz gegen Überlast haben.

OP #7797712
Lesenswert?

Danke für euren Input. Dank euch konnte ich wieder einiges lernen. Hier also der aktuelle Schaltplan V4 mit:

  • Eingang nun mit Pullup anstatt Pulldown
  • Ansteuerstrom Q3 korrigiert. Hatte den Input von Arno falsch umgesetzt, sorry!

@Sherlock: Wie würden denn die Konstantstromdioden beim Eingang eingesetzt werden? Und wie die Motortreiber als Pullup-Pulldown Ersatz?

Angehängte Dateien:
Gast #7797717
Lesenswert?

Roger schrieb:

Wie würden denn die Konstantstromdioden beim Eingang eingesetzt werden?

An Stelle von R6. Und R5 entfällt.

Und wie die Motortreiber als Pullup-Pulldown Ersatz?

Ich meinte die Motortreiber als Ersatz für deine gesamte Ausgangsschaltung (der gestrichelt umrahmte Block).

#7797718
Lesenswert?

Roger schrieb:

Hier also der aktuelle Schaltplan V4

Du kannst im Prinzip auch Q3 und R45 weglassen und statt dessen den OK-Transistor an die Stelle von Q3 setzen. Damit wird das Signal invertiert und du bist mit dem Ausgangsstrom (die gewünschten 200mA) wegen des CTR des OK etwas stärker limitiert. So wie jetzt gezeichnet kannst du richtig viel Ausgangsstrom machen, indem du R2 entsprechend niederohmig machst.

#7797724
Lesenswert?

Roger schrieb:

Danke für euren Input. Dank euch konnte ich wieder einiges lernen. Hier also der aktuelle Schaltplan V4 mit:

Zeichne deine Eingangsschaltung inklusive IR-Diode des Optokopplers auf ein separates Stück Papier, und schreibe an jedes Bauteil die Spannung, die sich einstellt, wenn du 5V an den Eingang legst. Welcher Strom wird wohl durch den Optokoppler fließen?

OP #7797764
Lesenswert?

Loco M. schrieb:

Roger schrieb:

Danke für euren Input. Dank euch konnte ich wieder einiges lernen. Hier also der aktuelle Schaltplan V4 mit:

Zeichne deine Eingangsschaltung inklusive IR-Diode des Optokopplers auf ein separates Stück Papier, und schreibe an jedes Bauteil die Spannung, die sich einstellt, wenn du 5V an den Eingang legst. Welcher Strom wird wohl durch den Optokoppler fließen?

~40uA? Ja, das ist wohl etwas zu wenig für den Optokoppler...

#7797807
Lesenswert?

Arno R. schrieb:

Du kannst im Prinzip auch Q3 und R45 weglassen und statt dessen den OK-Transistor an die Stelle von Q3 setzen. Damit wird das Signal invertiert

Dass das Signal invertiert wird wäre für mein Verständnis ein Problem:

Er verwendet Optokoppler, will also die Spannungsversorgung zwischen dem PCF8574 und den 12V Ausgang trennen. Bei Deinem Vorschlag mit Optokoppler statt Q3 wäre es jetzt so dass der Ausgang auf 12V liegt wenn zwar die 12V da sind, die Spannungsversorgung vom PCF8574 aber nicht - oder der PCF8574 noch per I2C kein Signal bekommen hat den Ausgang auf Low zu ziehen, z.B. weil der Mikrocontroller grad im Bootloader ist.

Normalerweise baut man so Zeug so, dass es ohne explizites Schaltsignal im sicheren Zustand ist. Und das dürfte in den meisten Fällen eben Low sein statt 12V.

Moderator (Firma: Titel) Persönliche Seite #7798040
Lesenswert?

Roger schrieb:

Outputs mit 12 V um SSR's schalten zu können

Dafür brauchst du keinen Push-Pull-Ausgang. Ein simpler Highside- oder Lowside-Treiber reicht da aus. In der Automatisierungswelt sind Highside-Treiber "normal".

(200mA pro Kanal reichen)

Das erscheint mir 10-fach überdimensioniert.

Was meint ihr dazu?

Woher kommen die 3V3 für den µC? Sind die tatsächlich potentialgetrennt aus einem eigenen Netzteil? Oder werden die über einen Schaltregler aus den 12V erzeugt?

Bauform B. schrieb:

schaltet typisch bei 2.5V. Das wäre mir zu wenig. Andererseits sind das die normalen 50% von 5V.

Aber grade mal 8% von 30V...

Irgendwie ist der Bereich einfach zu groß.

Ich sehe diese Anforderung auch spannend, denn bei einer "üblichen" SPS interpretiert ein 24V-Eingang eine Spannung von 3V bei einem Strom von 1mA noch als "low". Erst bei 8V und 3mA wird dann sicher ein "high" erkannt.

Roger schrieb:

SSR's

Dazu eine Anmerkung: die Mehrzehl von "das Relais" ist "die Relais". Also wird aus "einem Solid State Relais" dann auch einfach "mehrere SSR".

Dann würde nämlich das Problem mit dem unnötigen und fehlerhaften Apostrophen nicht auftreten. Nicht umsonst hat der einen eigenen Namen: http://www.deppenapostroph.info/

OP #7798103
Lesenswert?

Überarbeitete Version V5:

  • Input ausgetauscht mit Transistor und Widerstand als "Constant Current Diode", um den weiten Spannungsbereich zu ermöglichen.

Wie ich den Ausgang vereinfachen kann, habe ich nicht kapiert. Gerd's Bemerkung, dass während des Boot-Vorgangs des uC der Ausgang auf GND gezogen wird, ist sicher sinnvoll. Nach meinem Verständnis wird das bei der aktuellen Beschaltung so gemacht. Aber was kann ich nun auf der Ausgangsseite vereinfachen?

Wie siehts nun mit dem Eingang aus? Funktioniert das so? Oder soll ich besser eine Constant Current Diode einsetzen? Auf welchen Strom soll ich da begrenzen?

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7798111
Lesenswert?

Der Schaltplan ist im Bereich um den U9 völlig unleserlich. Es gibt extra Schaltplansymbole für alle Arten von Transistoren. Verwende sie!

Roger schrieb:

Funktioniert das so?

Welcher Strom fällt bei 20mA an einem 47mOhm Widerstand ab? Richtig: grade mal 1 einziges mV. Das juckt den Transistor überhaupt nicht. Insofern ist dieser Widerstand völlig nutzlos oder völlig falsch dimensioniert.

Wie ich den Ausgang vereinfachen kann, habe ich nicht kapiert

Machs wie alle anderen mit einem NPN und schalte den GND.

Oder nimm einen Highside-Smart-Switch. Der kann ist dann auch gleich kurzschlussfest und überlebt auch sonstige Mishandlungen.

Oder soll ich besser eine Constant Current Diode einsetzen?

Ja, tu das.

Auf welchen Strom soll ich da begrenzen?

Nimm eine CRD mit 10mA.

#7798116
Lesenswert?

Roger schrieb:

Wie ich den Ausgang vereinfachen kann, habe ich nicht kapiert. Gerd's Bemerkung, dass während des Boot-Vorgangs des uC der Ausgang auf GND gezogen wird, ist sicher sinnvoll. Nach meinem Verständnis wird das bei der aktuellen Beschaltung so gemacht. Aber was kann ich nun auf der Ausgangsseite vereinfachen?

Siehe Anhang.

Angehängte Dateien:
#7798243
Lesenswert?

Wastl schrieb:

Roger schrieb:

Gerd's Bemerkung

Auch das da oben ist ein Deppenapostroph.

Nach den neuen Rechtschreibregeln des Recht'schrei'brat's ist der Deppenapostroph in Eigennamen jetzt erlaubt. Haben wohl eingesehen, dass die Deppen in der Überzahl sind.

Seite 150: https://www.rechtschreibrat.com/DOX/RfdR_Amtliches-Regelwerk_2024.pdf

Bleibt die Frage, ob "Gerds Bemerkung" als Eigenname der Bemerkung durchgeht.

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7798292
Lesenswert?

Roger schrieb:

Gerd's Bemerkung, dass während des Boot-Vorgangs des uC der Ausgang auf GND gezogen wird

In der Praxis ist es eher so, dass während des Bootens ein Ausgang inaktiv sein sollte. Also weder "high" noch "low". Denn je nachdem, was das für ein Ausgang ist und was dort wie angeschlossen ist, ist "auf GND" schalten zugleich ein "Einschalten eines Aktors".

Und genau dieses "inaktiv setzen" geht eben mit den üblichen "einseitigen" Treibern, die aktiv nur in 1 Richtung schalten können: entweder Highside nach 12V/24V/sonstwas oder Lowside nach GND.

Εrnst B. schrieb:

ob "Gerds Bemerkung" als Eigenname der Bemerkung durchgeht.

Eher nicht, denn das ist wie "Evas Brille" oder "Peters Mutter".

Beitrag #7798346 wurde von einem Moderator gelöscht.
Beitrag #7798351 wurde von einem Moderator gelöscht.
OP #7798360
Lesenswert?

Neue Version V6:

  • Eingang: CRD 10mA anstelle von Transistor mit Widerstand. Habe ich den richtig platziert? Sodass auch die IR Diode des Optokopplers schaltet?
  • Ausgang: Nach Input von Arno

Für den Ausgang möchte ich bei diesem Push-Pull bleiben, probiere dann später mal die High-side Switches aus.

Bei einem nicht initialisierten Port auf GND zu gehen, passt so für meine Anwendung.

Ich sehe schon, dass für euch die Rechtschreibung sehr wichtig ist. Möchte mich hier aber auf das Thema konzentrieren. Danke.

Angehängte Dateien:
#7798363
Lesenswert?

Roger schrieb:

Überarbeitete Version V5:

Es gibt noch Fehler und Ungenauigkeiten. Statt sie einzeln zu richten, habe ich meine Variante gemacht:

H11L1M ist ein Optokoppler mit Hysteresis und 1,6 mA Schwellstrom, relativ schnell, Vcc von 3 bis 16 Volt. Für eine logische Schaltung besser als Phototransistor-Optokoppler. Gleich wie PC900 von Sharp. Statt Si2343DS passen auch andere P-MOSFETs mit V GS max über 16 Volt. CL05M6F ist eine Stromquelle für 6 mA, die gibt es billig bei Mouser, aber es kann auch eine andere sein.

R2 und R3 kann man etwas kleiner wählen, Geschwindigkeit auf Kosten von Strom. Beide parallel gerechnet sollten nicht kleiner als 270 Ohm sein (z.B. R2=1k und R3=390 Ohm).

Angehängte Dateien:
Beitrag #7798370 wurde von einem Moderator gelöscht.
Gast #7798416
Lesenswert?

Roger schrieb:

Wie ich den Ausgang vereinfachen kann, habe ich nicht kapiert.

Schau dir mal das Datenblatt vom TC4423 an. Der hat 2 Eingänge mit Logikpegeln (passend zum PCF8574) und 2 Ausgänge mit bis zu 18V und (kurzzeitig) bis zu 1,5A.

Kostet bei Mouser ca. 1,60€ wenn man 100 Stück nimmt. Bei Aliexpress ist er auch in kleineren Mengen noch billiger.

OP #7798490
Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:

Schau dir mal das Datenblatt vom TC4423 an. Der hat 2 Eingänge mit Logikpegeln (passend zum PCF8574) und 2 Ausgänge mit bis zu 18V und (kurzzeitig) bis zu 1,5A.

Habe mal die Verwendung dieses Drivers ohne optische Trennung gezeichnet. Ist die Verwendung dieses Drivers wirklich so einfach? Oder fehlt hier noch etwas? Macht bei der Verwendung eines Drivers eine galvanische Trennung überhaupt Sinn?

Angehängte Dateien:
Gast #7798702
Lesenswert?

Roger schrieb:

Ist die Verwendung dieses Drivers wirklich so einfach?

Ja ich denke schon. Allerdings würde C4 und C5 weg lassen. Sie belasten die Ausgänge unnötig.

Macht bei der Verwendung eines Drivers eine galvanische Trennung überhaupt Sinn?

Braucht man wohl nur sehr selten. Dann muss der Treiber ein eigenes Netzteil haben. Die beiden Kanäle des IC hängen natürlich zusammen.

#7798703
Lesenswert?

Roger schrieb:

Macht bei der Verwendung eines Drivers eine galvanische Trennung überhaupt Sinn?

https://de.wikipedia.org/wiki/Galvanische_Trennung

Wenn du diesen Artikel verstanden hast, dann kannst du dir deine Frage selbst beantworten.

Weiter oben wurde schon mal die Frage gestellt, die du nicht beantwortet hast, ob die 3,3V und 12V aus einem Netzteil abgeleitet werden. Falls ja, hast du keine galvanische Trennung und die Optokoppler erübrigen sich.

Pin 13 (INT#) des PCF8574 ist ein Ausgang, und darf nicht auf GND gehängt werden.

#7798745
Lesenswert?

Loco M. schrieb:

https://de.wikipedia.org/wiki/Galvanische_Trennung

Wenn du diesen Artikel verstanden hast, dann kannst du dir deine Frage selbst beantworten.

richtig

Pin 13 (INT#) des PCF8574 ist ein Ausgang, und darf nicht auf GND gehängt werden.

falsch. Das ist ein Open-Drain-Ausgang, kein Push-Pull. Der PCF8574 kann den nur auf GND ziehen. Wenn man den verwenden möchte muss man extern einen Pullup dranhängen. Wenn man ihn nicht verwenden möchte kann man ihn fest mit GND verbinden.

Das ist bei Interrupt-Ausgängen so üblich damit man mehrere gemeinsam an eine Leitung hängen kann (Wired-OR).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren