hat schon mal jemand einen 8fach I2C-Expander mit PCF8574T (Klick) mit einem 8-fach Relais-Modul gekreuzt?
Ich habe einen 3,3V Arduino. Lt Datenblatt sollte das kein Problem für den PCF sein. Der kann ab 2,5V.
Jeder Ausgang kann 25mA treiben.
Von dem Relais-Modul hab ich mal den Schaltplan von einem Kanal angefügt. Da es über einen Optokoppler geht, sollte die Treiberleistung kein Problem sein. Für die Leistung des Relais kommen an JD-VCC 5V dran.
Bleiben 2 Dinge über:
Reichen die 3,3V um den Optokoppler durchzuschalten?
Um das Relais zu schalten, muss ich den Ausgang des PCF gegen Masse schalten.
Ein Datenblatt zum Relaismodul wäre hier von Vorteil.
Ich schätze mal, die 3,3 Volt reichen für 2 Leds in Reihe nicht aus.
Und ja, der Ausgang des PCF muss auf Low gehen, damit das Relais zieht.
Der PCF liefert im LOW-Zustand auch den Strom um Leds zu treiben.
Im HIGH-Zustand ist der Ausgangsstrom zu gering.
Ich fürchte auch, dass die 3,3V nicht für den Vorwiderstand, den OK und die LED reichen.
Ne rote LED braucht ja schon 1,6V.
Was passiert eigentlich, wenn ich den Arduino mit 3,3V versorge und den PCF mit 5V
Brauche ich da einen Levelshifter weil:
1.) Vom PCF 5V an den Arduino kommen, und der dann ade sagt? (kommen da wirklich 5V zurück?)
2.) die 3,3V vom Arduino nicht für ein High-Signal am PCF reichen.
hk007:
Was passiert eigentlich, wenn ich den Arduino mit 3,3V versorge und den PCF mit 5V
Brauche ich da einen Levelshifter weil:
1.) Vom PCF 5V an den Arduino kommen, und der dann ade sagt? (kommen da wirklich 5V zurück?)
2.) die 3,3V vom Arduino nicht für ein High-Signal am PCF reichen.
Das mit dem Levelshifter ist nur meine Empfehlung, da es anders zu Problemen kommen kann.
Ich habe aber auch schon Beiträge gesehen, die von einem größeren Pullup am I2C (10k) geschrieben haben und den dann auf 5 Volt geklemmt haben. Geht wohl auch, aber wenn du auf Sicherheit gehst, mach es richtig.
HotSystems:
Nochmal die Frage, warum 3,3 Volt Ardu?
Es ist ne aufwändigere Steuerung mit einigen größeren Webseiten. Und da reicht mir auch kein MEGA mehr SD-Karte will ich nicht. Daher nehm ich dafür einen ESP8266, weil man den auch so schön mit der Arduino-IDE programmieren kann. Und den gibt es halt nur in 3,3V.
hk007:
Es ist ne aufwändigere Steuerung mit einigen größeren Webseiten. Und da reicht mir auch kein MEGA mehr SD-Karte will ich nicht. Daher nehm ich dafür einen ESP8266, weil man den auch so schön mit der Arduino-IDE programmieren kann. Und den gibt es halt nur in 3,3V.
Ok, versteh ich. Dann würde ich auf Nummer sicher gehen und einen Levelshifter einsetzen.
Wenn ich gemischte Slaves habe (5V und 3,3V).
Soll ich dann auf 2 x I2C-Bus ausweichen oder einen splitten. Mit Levelshifter für 5V-Teilnehmer und ohne für die 3,3V-Teilnehmer.
Was meint ihr?
hk007:
Wenn ich gemischte Slaves habe (5V und 3,3V).
Soll ich dann auf 2 x I2C-Bus ausweichen oder einen splitten. Mit Levelshifter für 5V-Teilnehmer und ohne für die 3,3V-Teilnehmer.
Was meint ihr?
Wo ist das Problem?
Der Levelshifter hat 2 Seiten!
Auf die eine Seite kommen alle 5V Dinge und auf die andere die 3,3V Dinge.
Da gibts sonst nix zu "splitten".
Schon gar nicht gibts da Gründe zum Denken, und keine Gründe für Entscheidungen.
I2C splitten geht ganz anders!
Da gibts spezielle Bausteine für.
Das wird erst nötig, wenn es mehrere Geräte mit gleicher Adresse auf dem Bus gibt.
ESP8266 kann erfahrungsgemäß 5 V an den I/O Pins ab. es werden zwar hier einige gegenteiliger Meinung sein, deswegen kannst du ruhig auch einen Levelshifter reinmachen, schaden tut er bestimmt nicht.