Forum: Mikrocontroller und Digitale Elektronik ESP8266-01 & MCP23017


von Bodo R. (brummer)


Lesenswert?

Nach einigen Aufbauten mit den ESP8266-01 in Kombination mit dem 
IO-Expander MCP23017 (alles mit 3,3V) möchte ich jetzt den IO-Expander 
an einige 5V Module anschließen.

Da ich kein Elektroniker bin, entschuldige man meine etwas naive Frage.

Kann man das einfach dadurch machen, dass man statt 3,3V nun 5V an den 
Vdd des IO-Expander anlegt? Was macht das dann mit den I2C, kann das dem 
ESP schaden?

Oder ist es den 5V Modulen egal, ob da 3,3V oder 5V am Input ankommt?

von Stefan F. (Gast)


Lesenswert?

Normalerweise würde ich den I²C Expander mit 5V versorgen. Die Pull-Up 
Widerstände vom I²C Bus müssen jedoch an 3,3V und SCL/SDA angeschlossen 
werden.

Das geht in der Regel deswegen, weil die SCL und SDA Pins die Leitungen 
nur nach Low ziehen aber nicht nach High (Open-Drain). Die High Pegel 
entstehen durch die Pull-Up Widerstände.

Für mit 5V betriebene ICs sind 3,3V als High Pegel in der Regel 
akzeptablel.

Aber leider nicht bei diesen IC!

Gemäß Datenblatt Kapitel 2.1 ist "Input High Voltage" 0,8*VDD, also 
0,8*5V=4V.

Das heisst: Du brauchst Pegelwandler. Dazu gibt es eine AppNote von 
Philips, wo dazu einfache MOSFET Transistoren verwendet werden. Die 
Schaltung ist nicht gerade der Knaller und hat auch Nachteile, aber in 
den meisten Fällen funktioniert es.

https://www.nxp.com/docs/en/application-note/AN10441.pdf

von Bodo R. (brummer)


Lesenswert?

Stefan U. schrieb:
> Die Pull-Up Widerstände vom
> I²C Bus müssen jedoch an 3,3V und SCL/SDA angeschlossen werden.

Danke!

Ich nehme mal an, da reichen dann zwei 10k Widerstände zwischen Vcc 
(3,3V) und SCL/SDA.

von Stefan F. (Gast)


Lesenswert?

> Ich nehme mal an, da reichen dann zwei 10k Widerstände

Lies nochmal meinen Beitrag. Ich habe ausdrücklich darauf hingewiesen, 
dass diese Lösung in deinem Fall NICHT funktioniert.

von Bodo R. (brummer)


Lesenswert?

Stefan U. schrieb:
> Lies nochmal meinen Beitrag.

Sorry, aber da war ich wohl zu schnell (oder war das mit dem 
Pegelwandler im Update?).

Egal, das mit dem Pullup hat (wie geschreiben) nicht funktioniert (hab's 
grad ausprobiert).

Dafür habe ich mir jetzt Pegelwandler 3,3V <-> 5V bestellt.

von Bodo R. (brummer)


Lesenswert?

Heute ist mein "I2C Logisches Level Converter Bidirektional Modul 5V zu 
3.3V TE291" gekommen. Hab es gleich zusammengelötet und ausprobiert. 
Funktioniert wunderbar. Kosten ca. 1,30€ pro Stück.

von Bodo R. (brummer)


Lesenswert?

Heute hab ich noch mal eine Nachfrage.

Stefan U. schrieb:
> Gemäß Datenblatt Kapitel 2.1 ist "Input High Voltage" 0,8*VDD, also
> 0,8*5V=4V.

Jetzt hab ich mich nach einer Alternative umgeschaut und den PCF8574 
gefunden.

Da steht unter "6.3 Recommended Operating Conditions: VIH High-level 
input voltage= min: 0.7 × VCC, max VCC + 0.5 V". Also bei 5,0V sind das 
immer noch 3,5V, die der ESP bei 3,3V nicht erreicht.

Gibt es denn IO-Expander mit I2C Interface, die einen Faktor von unter 
0.7 haben?

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.