Forum: Mikrocontroller und Digitale Elektronik ESP32 - 3,3V per Optokoppler für PCF8575 schalten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Moritz (kuddl22)


Angehängte Dateien:

Lesenswert?

Moin zusammen!

Ich habe bereits viel im Internet und diversen Foren recherchiert, bin 
aber bisher zu keinem positiven Ergebnis gekommen. Deswegen wende ich 
mich mal an euch :)

Problemstellung:
Ich muss mit einem ESP32 bis zu 12 verschiedene 24V Sensoren auslesen 
können.
Da habe ich mir gedacht, ich nehme jeweils einen Optokoppler den ich mit 
dem 24V Sensor/Endschalter schalte, und auf der Ausgangsseite des 
Optokopplers schalte ich dann 3,3V auf einen Pin eines PCF8575 I2C 
Multiplexer (16-Kanal).
Als Optokoppler habe ich mir die LTV817D besorgt.

Soweit so gut, die Optokoppler Schaltung funktioniert und ich kann am 
Emitter entweder meine 0V (nicht geschaltet) oder meine 3,3V 
(geschaltet) messen.

Sobald nun der Optokoppler geschaltet ist, also am Emitter die 3,3V 
anliegen, und ich nun die Verbindung zwischen Emitter und Input1 (P0) 
des PCF8575 stecke, bricht mir die Spannung auf ca. 0,1V zusammen.

Die Software vom ESP32 ist soweit in Ordnung und funktioniert. Wenn ich 
mit einer Steckbrücke direkt von 3,3V auf den PCF8575 stecke, werden 
alle Eingänge einwandfrei erkannt und kann dort ebenfalls meine 3,3V 
messen.

Und genau an dieser Stelle weiß ich nicht weiter. Entweder mache ich 
etwas grundlegend falsch, oder ich stehe einfach nur auf dem Schlauch...
Ein Schaltplan vom Testaufbau füge ich bei.

Vielen Dank im Voraus, ich freue mich über jeden Tipp zu meinem Problem 
:)

Viele Grüße
Moritz

von H. H. (hhinz)


Lesenswert?

Moritz schrieb:
> Ein Schaltplan vom Testaufbau füge ich bei.

Foto?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Moritz schrieb:
> und ich kann am
> Emitter entweder meine 0V (nicht geschaltet) oder meine 3,3V
> (geschaltet) messen.

Du meinst vermutlich den Kollektor und nicht den Emitter des 
Optokopplers, denn der Emitter ist lt. deiner Schaltung fest mit GND 
verbunden.
Aber 100 Ohm ist als Arbeitswiderstand für den Fototransistor sehr 
wenig. Nimm da mal was höheres wie z.B. 330 Ohm oder 470 Ohm.

Moritz schrieb:
> und ich nun die Verbindung zwischen Emitter und Input1 (P0)
> des PCF8575 stecke, bricht mir die Spannung auf ca. 0,1V zusammen.

Wie gesagt, das würde mich nicht wundern, weil ja der Emitter fest auf 
GND liegt. Nehmen wir mal an, das du den Kollektor meinst, dann kann es 
sein, das du den PCF8575 falsch initialisiert. Du solltest die Eingänge 
auch als Eingänge initialsieren und sie auf high setzen. Allerdings lese 
ich mir das ganze Datenblatt jetzt nicht durch, das überlasse ich dir 
:-P

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Moritz schrieb:
> Sobald nun der Optokoppler geschaltet ist, also am Emitter die 3,3V
> anliegen, und ich nun die Verbindung zwischen Emitter und Input1 (P0)
> des PCF8575 stecke, bricht mir die Spannung auf ca. 0,1V zusammen.

Der Emitter gehört an Ground und sonst nirgendwohin.

Just my 2 cents

von Harald K. (kirnbichler)


Lesenswert?

Welchen Strom kann denn die 3.3V-Spannungsquelle liefern?

Wenn Du jedem einzelnen Optokoppler einen 100-Ohm-Vorwiderstand 
spendierst, belastest Du im Vollausbau Deine 3.3V mit gerade mal 8 Ohm - 
das sind über 400 mA.

Dein "Schaltplan" ist sehr, sehr unvollständig. Woher kommt die 
Versorgungsspannung des PCF8575?

von Peter D. (peda)


Lesenswert?

Moritz schrieb:
> Soweit so gut, die Optokoppler Schaltung funktioniert und ich kann am
> Emitter entweder meine 0V (nicht geschaltet) oder meine 3,3V
> (geschaltet) messen.

Dann stimmt aber Dein Schaltplan nicht.
Der OK zieht bei Beleuchtung auf Low (0V).

Die Widerstände sind auch arg zu klein. Für 24V würde ich 10k vorsehen 
(2,4mA). Am Ausgang reicht der interne Pullup (30..300µA) des PCF8575 
völlig aus.

Moritz schrieb:
> Sobald nun der Optokoppler geschaltet ist, also am Emitter die 3,3V
> anliegen, und ich nun die Verbindung zwischen Emitter und Input1 (P0)
> des PCF8575 stecke, bricht mir die Spannung auf ca. 0,1V zusammen.

Dann hast Du wohl den PCF8575 auf Output low gesetzt.
Der PCF8575 ist quasi open drain, d.h. bei high ist nur der Pullup aktiv 
und Du kannst den Pin extern auf low ziehen.

von Moritz (kuddl22)


Lesenswert?

Ups, ich glaube da habe ich Emitter und Kollektor verwechselt.
Es ist zumindest so wie im Schaltplan aufgebaut.


Matthias S. schrieb:
> kann es
> sein, das du den PCF8575 falsch initialisiert

Das werde ich auf jedenfall nochmal prüfen. Habe nämlich gelesen dass 
man die Pins welche als Input genutzt werden, im Setup einmal mit "HIGH" 
initialisieren soll. - Wobei es ja mit einer direkten Verbindung zu 3,3V 
ohne Optokoppler ja einwandfrei funktioniert.

Harald K. schrieb:
> Welchen Strom kann denn die 3.3V-Spannungsquelle liefern?

Gut dass du es sagst, das habe ich noch garnicht nachgerechnet...
Momentan kommt die 3,3V Versorgung direkt vom ESP32. Der ESP selbst wird 
von einem LM2596S versorgt, der die 24V auf 5V herunter transformiert.

Harald K. schrieb:
> Dein "Schaltplan" ist sehr, sehr unvollständig.

War auch erstmal nur schnell skizziert.

Harald K. schrieb:
> Woher kommt die
> Versorgungsspannung des PCF8575?

Ebenfalls vom ESP32

Peter D. schrieb:
> Die Widerstände sind auch arg zu klein. Für 24V würde ich 10k vorsehen
> (2,4mA)

Reichen denn 2,4mA auf der 24V Seite aus, damit der Optokoppler sauber 
durchschaltet? Max. Strom sind auf der Eingangsseite 50mA deswegen habe 
ich es etwas höher angesetzt...

Peter D. schrieb:
> Dann hast Du wohl den PCF8575 auf Output low gesetzt.

Du meinst im Programm?

von Harald K. (kirnbichler)


Lesenswert?

Moritz schrieb:
> Momentan kommt die 3,3V Versorgung direkt vom ESP32.

Du meinst, von der ungenannten Platine, auf der der draufsitzt.

Oder meinst Du doch eher, daß die 3.3V aus Deinem Stepdown-Konverter 
kommen, mit der Du die ungenannte Platine versorgst?

Moritz schrieb:
> War auch erstmal nur schnell skizziert.

Das machts nicht besser.

Zeig' wenigstens ein Photo Deines Aufbaus. (Nicht im PNG-, GIF- oder 
BMP-Format, sondern, da es ein Photo ist, als JPG!)

von Moritz (kuddl22)


Lesenswert?

Erst einmal vielen Dank an die ganzen Antworten die schon so schnell 
kamen! :)

Hier einmal der Link zum ESP32:
https://amzn.eu/d/damYQ6i

und zum PCF8575:
https://amzn.eu/d/6DXoGTN

Harald K. schrieb:
> Zeig' wenigstens ein Photo Deines Aufbaus. (Nicht im PNG-, GIF- oder
> BMP-Format, sondern, da es ein Photo ist, als JPG!)

Ich mache heute Abend mal ein Foto, wie es momentan auf dem Breadboard 
aufgebaut ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz schrieb:
> Ein Schaltplan vom Testaufbau füge ich bei.
Wenn rechts und links vom Optokoppler die selbe Masse ist, ist der 
Optokoppler unnötig.

> Sobald nun der Optokoppler geschaltet ist, also am Emitter die 3,3V
> anliegen, und ich nun die Verbindung zwischen Emitter und Input1 (P0)
> des PCF8575 stecke, bricht mir die Spannung auf ca. 0,1V zusammen.
Die Masseanschlüsse aller Komponenten sind alle miteinander verbunden?

> Problemstellung:
> Ich muss mit einem ESP32 bis zu 12 verschiedene 24V Sensoren auslesen
> können.
Kleine Syntaxkorrektor: du willst die Sensoren *EIN*lesen und dann was 
damit machen und dann Signale für Aktoren *AUS*geben.

Moritz schrieb:
> Reichen denn 2,4mA auf der 24V Seite aus, damit der Optokoppler sauber
> durchschaltet?
Wenn du auf der Transistorseite einen 3k3 Pullup hast, dann fließt dort 
bei 0V über dem Transistor ein Strom von 1mA. Der LTV817 mit D am Ende 
hat ein CTR (Stromübertragungsverhältnis) von 300...600%. Er könnte also 
aus den 2,4mA in der LED mindesatens 7,2mA im Transistor machen. Für das 
nötige 1mA reicht das gut aus.

> Max. Strom sind auf der Eingangsseite 50mA deswegen habe
> ich es etwas höher angesetzt...
Man legt seine Schaltung NIEMALS nach den absolute Maximum Ratings aus. 
NIENMALS.

Sondern man legt sie so aus, dass sie funktionieren und kontrolliert 
danach, ob mit die berechneten Werte alle gut unter den absoluten 
Maximalwerten sind.

Moritz schrieb:
> Peter D. schrieb:
>> Dann hast Du wohl den PCF8575 auf Output low gesetzt.
> Du meinst im Programm?
Ja.

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Lesenswert?

Matthias S. schrieb:
> Aber 100 Ohm ist als Arbeitswiderstand für den Fototransistor sehr
> wenig. Nimm da mal was höheres wie z.B. 330 Ohm oder 470 Ohm.

Das wäre immer noch sehr, sehr wenig.

von H. H. (hhinz)


Lesenswert?

Rainer W. schrieb:
> Matthias S. schrieb:
>> Aber 100 Ohm ist als Arbeitswiderstand für den Fototransistor sehr
>> wenig. Nimm da mal was höheres wie z.B. 330 Ohm oder 470 Ohm.
>
> Das wäre immer noch sehr, sehr wenig.

Kommt auf die nötige Schaltgeschwindigkeit an.

von Axel S. (a-za-z0-9)


Lesenswert?

Moritz schrieb:
> Soweit so gut, die Optokoppler Schaltung funktioniert und ich kann am
> Emitter entweder meine 0V (nicht geschaltet) oder meine 3,3V
> (geschaltet) messen.

Aber sicher nicht mit der gezeichneten Schaltung. Ist es echt so schwer, 
die Schaltung zu zeigen, mit der man es probiert hat? Eine mit dem 
Smartphone fotografierte Bleistiftskizze reicht ja.


Moritz schrieb:
> Reichen denn 2,4mA auf der 24V Seite aus, damit der Optokoppler sauber
> durchschaltet?

Du hast anscheinend ein vollkommen falsches Verständnis von der 
Funktionsweise eines Optokopplers. Ein Optokoppler wie der LTV817 
schaltet gar nicht, sondern ist ein zutiefst analoges Bauelement. Er 
verhält sich näherungsweise wie ein simpler Transistor, nur daß man den 
Steuerstrom nicht in die Basis, sondern in die Fotodiode schickt.

Der Ausgangsstrom ist dem Steuerstrom weitgehend proportional (deswegen 
analog). Allerdings ist ein LTV817 ein mieser Transistor. Seine Strom- 
"Verstärkung" ist nicht ca. 100 wie bei einem normalen Transistor, 
sondern kann sogar unter 1 liegen (je nach CTR-Klasse).

Die Stromverstärkung heißt beim Optokoppler CTR und wird üblicherweise 
in Prozent angegeben. Ein Optokoppler mit CTR=100% hat also eine 
"Stromverstärkung" von gerade mal 1. Die CTR-Klassifizierung erfolgt 
meist über einen angehängten Buchstaben, wie bei Transistoren auch.

> Max. Strom sind auf der Eingangsseite 50mA deswegen habe
> ich es etwas höher angesetzt...

2.4mA sind doch wesentlich weniger als 50mA?

von G. K. (zumsel)


Lesenswert?

Moritz schrieb:

> Vielen Dank im Voraus, ich freue mich über jeden Tipp zu meinem Problem

Irgendwas von dieser Seite reicht nicht für dein Problem?

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

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Klaus S. schrieb:
> Der Emitter gehört an Ground und sonst nirgendwohin.

Doch, du kannst auch mit einer Kollerktorschaltung arbeiten. Was den 
Vorteil hat, dass du z.B. eine höhere Bandbreite bekommen kannst. Und du 
hast keine Invertierung. Was heutzutage bei Mikrocontrollern nicht mehr 
sonderlich interessant ist, weder im positiven noch negativen Sinn. Denn 
die kann ein µC selber (rückgängig) machen.

Ich habe das mal eben durchgerechnet. Genauer, grob runtgergeschlampt 
(z.B: < statt <=, und keine Lust mich mit dem Tex-Mathemodus des Forums 
zu quälen). Das kann daher ziemlich falsch sein. Ich bin mal gespannt ob 
Fehler gefunden werden:
1
Für den in der Schaltunge angegebenen LTV-817D gilt laut Datenblatt, Rank D (ob der TS wirklich einen LTV-817D hat?):
2
3
CTRmin(25°C) = 300 | IF = 5mA, VCE = 5V, Ta = 25°C
4
CTRmax(25°C) = 600 | IF = 5mA, VCE = 5V, Ta = 25°C
5
6
Derating:
7
8
Annahme: Betriebsbereich der Schaltung Ta_min = 0°C, Ta_max = 65°C
9
Dafür aus Datenblatt-Kurve abgeschätzt:
10
11
RCTR(0°C)  = 1,1     -> CTR_min(0°C)  = 330
12
RCTR(65°C) = 0,8     -> CTR_min(65°C) = 240
13
14
-> Minimum über Betriebsbereich bei 65°C: CTR_min(65°C) = 240
15
16
Dazu eine angenommene Alterung von 20% über die Nutzungsdauer des Gerätes und weitere 25% Sicherheitsfaktor (Angstfaktor, Reserve, ...)
17
18
-> Minimum unter den gegebenen Bedingungen und Annahmen:
19
20
CTRmin = 240 * (1 - 0,2) * ( 1 - 0,25) = 144

So schnell schmilz ein CTR von 600 auf der ersten Seite des Datenblatts 
dahin ...
Wie mein damaliger Professor sagte, auf der ersten Seite des Datenblatts 
stehen die Werte die Sie garantiert nicht bekommen.
1
Weiter: 
2
3
Kollektorstrom IC für IF = 5 mA (IF = 5 mA ist so der grobe Zielbereich,
4
auch weil viele Werte im Datenblatt sich auf 5 mA beziehen), und mit IH
5
der in erster Näherung dann für einen High-Pegel VIH am Ausgang des
6
Optokopplers zur Verfügung stehender Strom:
7
8
IC = IH = CTRmin * IF = 1.44 * 5 mA = 7.2 mA
9
10
Spannung am Emitterwiderstand Re um a) den benötigten High-Pegel des
11
PCF8575 erzeugen zu können, und b) den benötigten Low-Pegel erreichen
12
zu können:
13
14
Laut Datenblatt möchte der PCF8575 
15
16
VIL < 1,5 V;  Maximal erlaube Eingangsspannung für Low-Pegel
17
VIH > 3,5 V;  Minimum nötige Eingangsspannung für High-Pegel
18
IIHL < | 0,4 mA | ; Eingangsstrom schwankt um +/- 0,4 mA
19
                    zwischen Eingang High und Eingang Low.
20
21
a) Re_min wenn Eingang des LTV-817D High sein soll, IC = IH,
22
Kollektorstrom teilt sich auf, daher gilt IRe = IH - IIHL
23
24
-> Re_min > VIH / (IH - IIHL) = 3,5 V / (7,2 - 0,4) mA = 515 Ohm
25
26
b) Re_max wenn Eingang des LTV-817D Low sein soll:
27
28
IL = IC ; bei Low-Pegel
29
30
Untere Grenze (keine Eingangsspannung am Optokoppler, d.h. bei 
31
Wandlung von Logikpegeln eventuell falsche Annahme. Egal:
32
33
IL = ICE0 = 0,1 µA ; Collector Dark Current
34
35
Durch Re_max fließt IRe:
36
37
IRe = IC + IIHL = IH + IIHL = ICE0 + IIHL.
38
39
Da der "Collector Dark Current" des LTV-817D mit ICE0 = 0,1 µA 
40
gegenüber IIHL = 0,4 mA des PCF8575 vernachlässigbar ist, gilt
41
42
IRe = IIHL
43
44
-> Re_max < VIL / IRe = 1,5 V / 0,4 mA = 3,75 kOhm
45
46
Damit ist der gültige Bereich für Re
47
48
-> 515 Ohm < Re < 3,75 kOhm
49
50
Keine leere Menge, d.h. das ist technisch machbar:
51
52
-> Wir wählen Re = 680 Ohm 
53
54
Vorwiderstand Rv am Eingang des Optokopplers:
55
56
Nehmen wir einen weiteren Fehler von 10% an (Toleranz von
57
VCC, Re und den ICs, ...) und rechnen die dann benötigte
58
Spannung VIH2 für einen High-Pegel aus (müsste auch
59
alles kürzer zu rechnen sein):
60
61
VIH2 = VIH * 1,1 = 3,85 V
62
63
Dann wird ein Kollektorstrom IC2 benötige:
64
65
IC2 > IH2 = (VIH2 / Re) + IIHL = 3,85 V / 680 Ohm + 0,4 mA = 6,1 mA
66
67
Damit ist der korrigierte Vorwärtsstrom IF2 duch die 
68
LED und der Vorwiderstand Rv:
69
70
71
-> IF2 > IC2 / CTRmin = 6,1 mA / 1,44 = 6 mA
72
-> Rv < (Vin - VF) / IF2 = (24 V - 1,4 V) / 6 mA = 3,77 kOhm
73
74
Wir wählen
75
76
-> Rv = 3,6 kOhm

Fehlt noch alle anderen Bedingungen (Recommended Operating Conditions, 
Characteristics, ...) aus den Datenblättern der ICs zu überprüfen. Das 
kann gerne jemand anderes machen :)

von Moritz (kuddl22)


Angehängte Dateien:

Lesenswert?

Hannes J. schrieb:
> Ich habe das mal eben durchgerechnet.

WOW - Riesen Dank für das ausführliche Rechenbeispiel!

Hannes J. schrieb:
> ob der TS wirklich einen LTV-817D hat?

JA - hat er :)

Axel S. schrieb:
> Du hast anscheinend ein vollkommen falsches Verständnis von der
> Funktionsweise eines Optokopplers.

Da liegst du offenbar goldrichtig.

Die letzten Beiträge haben das ganze für mich etwas verständlicher 
gemacht, wie gesagt dieser Bereich der Elektronik ist absolut nicht mein 
Fachgebiet...


Ich habe eben mal ein Foto vom Testaufbau gemacht, und den Schaltplan 
etwas ausführlicher dargestellt. Ich hoffe, es ist so verständlicher.

Ich habe bereits eure Ratschläge befolgt und etwas mit den Widerständen 
gespielt, so wie jetzt auch gezeichnet funktioniert die Schaltung. Zwar 
invertiert, aber sie funktioniert. Bisher habe ich es aber nur mit einem 
einzelnen Optokoppler aufgebaut. Ich werde dann nochmal den Test mit 
allen 12 wagen, wobei ich dann wie von euch schon erwähnt meine 3,3V 
Spannungsversorgung beachten muss sodass ich nicht zu viel Strom 
verbrauche.

Im Programm durfte ich übrigens nicht den Input (in diesem Fall P00) als 
"INPUT_PULLUP" deklarieren. Ich habe ihn normal als "INPUT" 
initialisiert und es funktioniert.


Bei dem ganzen grübeln und testen kam mir neben dem Optokoppler noch 
eine andere Idee. Warum nutze ich nicht einfach eines dieser 24VDC 
Miniatur-Relais und schalte damit jeweils meine 3,3V für die Inputs des 
PCF8575?
Wäre solch eine Variante eventueller besser geeignet, oder war ich mit 
dem Optokopplern schon auf dem richtigen Weg?

Zum Beispiel:
https://www.conrad.de/de/p/omron-g5v-1-24dc-printrelais-24-v-dc-1-a-1-wechsler-1-st-503880.html?hk=SEM&WT.mc_id=google_pla&gad_source=1&gclid=EAIaIQobChMI8peu0damhQMVIoKDBx3NewETEAQYASABEgLGWvD_BwE&refresh=true

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Moritz schrieb:
> Ich habe eben mal ein Foto vom Testaufbau gemacht, und den Schaltplan
> etwas ausführlicher dargestellt. Ich hoffe, es ist so verständlicher.

Wie belastbar ist denn der 3.3V-Linearregler auf Deinem ESP32-Modul?

Das ist ja wohl das hier:

http://www.hiletgo.com/ProductDetail/1906566.html

Der 3.3V-Linearregler ist vermutlich der dicke Dreibeiner auf der 
Platinenoberseite, neben dem Tantalelko. Was steht da drauf?

Ich vermute mal, LM1117-3.3

Der kann maximal 800 mA liefern.

Dieser Regler versorgt letztlich alles auf Deiner Platine, denn der 
ESP32 arbeitet nicht mit 5V Versorgungsspannung.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Harald K. schrieb:
> denn der
> ESP32 arbeitet nicht mit 5V Versorgungsspannung.

Und der Optokoppler hat seinen Arbeitswiderstand auch auf den +5V, wenn 
ich das richtig sehe. Das gibt vermutlich Ärger, denn im Ruhezustand des 
Optokopplers liegen 5V auf P00. Da sind zwar noch 470 Ohm dazwischen, 
aber gesund ist das nicht. Speise den 470 Ohm Widerstand besser vom VDD 
Anschluss der ESP Platine - und mach ihn ruhig noch ein bisschen 
grösser, wie oben angemerkt.
Bringt mich mal auf Trab - war da nicht irgendwas besonderes mit dem P00 
Port beim ESP32?

von Harald K. (kirnbichler)


Lesenswert?

Matthias S. schrieb:
> Und der Optokoppler hat seinen Arbeitswiderstand auch auf den +5V, wenn
> ich das richtig sehe.

In der Zeichnung da oben ist das nicht der Fall.
Der Widerstand R2 ist mit dem 3.3V-Ausgang der ESP32-Platine verbunden, 
der auch "Vcc" der PCF8575-Platine speist.

Fritzing-"Schaltpläne" sind echt mies, wie man auch oben links an der 
PCF8575-Platine sehen kann, wo es fast so aussieht, als wären INT und 
SCL miteinander verbunden.

von Dietrich L. (dietrichl)


Lesenswert?

Moritz schrieb:
> und den Schaltplan
> etwas ausführlicher dargestellt.

Der LM2596 ist ein Schaltregler und hat keine Potenzialtrennung. Daher 
ist der Minus der 24V-Seite mit dem Minus der 5V-Seite verbunden.
Also ist ein Optokoppler unnötig, es reicht eine Pegelanpassung über 
Spannungsteiler. Eventuell ist noch ein Transistor sinnvoll zur 
Entkopplung und als Überspannungschutz für den PCF8575-Eingang.

von Peter D. (peda)


Lesenswert?

Moritz schrieb:
> Warum nutze ich nicht einfach eines dieser 24VDC
> Miniatur-Relais und schalte damit jeweils meine 3,3V für die Inputs des
> PCF8575?

Nicht Dein Ernst?

Sind Dir Optokoppler zu klein, zu leise, zu billig, zu stromsparend, zu 
zuverlässig?

Relais müssen vergoldete Kontakte haben, um bei den kleinen Spannungen 
und Strömen noch sicher zu schalten.

von Moritz (kuddl22)


Lesenswert?

Harald K. schrieb:
> Ich vermute mal, LM1117-3.3

Werde ich prüfen.

Matthias S. schrieb:
> Optokoppler hat seinen Arbeitswiderstand auch auf den +5V

Nein.

Harald K. schrieb:
> Der Widerstand R2 ist mit dem 3.3V-Ausgang der ESP32-Platine verbunden,
> der auch "Vcc" der PCF8575-Platine speist.

Korrekt.

Dietrich L. schrieb:
> Der LM2596 ist ein Schaltregler und hat keine Potenzialtrennung. Daher
> ist der Minus der 24V-Seite mit dem Minus der 5V-Seite verbunden.
> Also ist ein Optokoppler unnötig, es reicht eine Pegelanpassung über
> Spannungsteiler

Wieder was gelernt. Wäre es deiner Meinung nach also besser das Problem 
mit einem Spannungsteiler zu lösen, oder würde es nur die Schaltung 
"vereinfachen"?

Peter D. schrieb:
> Nicht Dein Ernst?

Deswegen frage ich ja, oder wozu ist ein Forum da?

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Moritz schrieb:
> Wieder was gelernt. Wäre es deiner Meinung nach also besser das Problem
> mit einem Spannungsteiler zu lösen, oder würde es nur die Schaltung
> "vereinfachen"?

Ein Spannungsteiler ist schon ok. Aber es kann knifflig sein, den so zu 
dimsionieren, daß er in allen Lebenslagen paßt. Robuster finde ich 
Dietrichs zweiten Vorschlag mit einem Transistor z.B. so wie im Anhang.

T1 ist ein beliebiger, kleiner npn-Transistor vom Boden deiner 
Bastelkiste. Ein BC547 oder 2N3904 oder 2SC1815, was du halt da hast. 
Die Diode D1 ist eine Schaltdiode z.B. eine 1N4148, und schützt den 
Transistor bei negativer Eingangsspannung. R1 begrenzt den Eingangstrom. 
Ich würde 47kΩ vorschlagen, für 0.5mA bei 24V Eingangsspannung. Wenn man 
R1 genügend leistungstark und spannungsfest macht, hält die 
Eingangsstufe dann auch eine Verbindung mit 230V aus. Widerstand R2 ist 
der Arbeitswiderstand, der ist zweckmäßigerweise als Pullup schon deinen 
µC integriert. Sonst nimmt man einen Wert, der bei der Betriebsspannung 
ca. 1mA zieht. Für 3.3V als 3.3kΩ.

von Dietrich L. (dietrichl)


Lesenswert?

Axel S. schrieb:
> mit einem Transistor z.B. so wie im Anhang

In der gezeigten Schaltung muss das Sensorsignal ziemlich klein sein, 
damit der Transistor sicher abschaltet.
Wenn diese Schaltschwelle zu niedrig ist kann man noch einen Widerstand 
zwischen Basis und GND spendieren.

von Rainer W. (rawi)


Lesenswert?

Moritz schrieb:
> Testaufbau_Schaltplan.png

Ich sehe dort keine Pull-Up Widerstände für den I²C-Bus.
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

von Joachim B. (jar)


Lesenswert?

Rainer W. schrieb:
> Ich sehe dort keine Pull-Up Widerstände für den I²C-Bus.

er schrieb Modul
alle Module die ich fand werden mit pullups am I2C verkauft.

von Rainer W. (rawi)


Lesenswert?

Joachim B. schrieb:
> er schrieb Modul
> alle Module die ich fand werden mit pullups am I2C verkauft.

Meistens sind die zu groß. Erst wenn mehrere solche Module am Bus 
hängen, fließt der empfohlene Strom. Bei so hohen Widerständen wie sie 
auf einem Einzelmodul meist drauf sind, kommt es auf die Kapazität der 
Verkabelung und die Geschwindigkeit der Busübertragung an, ob es 
zuverlässig genug funktioniert. Auf solche Zufälligkeiten würde ich mich 
nicht verlassen wollen - gerade bei 3V3.

Ansonsten sollte man den vorhandenen Widerstand (einschließlich Wert) 
ins Modul mit rein zeichnen, damit man den Schaltplan lesen kann.

Kurz: Ohne Angaben zu I²C Pull-Up und Buskapazität lässt sich der 
Schaltplan schlecht bewerten.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.