PCF8575 - I2C Expander am ESP

OP #5385334
Lesenswert?

Hallo

Ich möchte gerne 12 Taster an einen ESP8266 anschließen.
Dafür habe ich mit ein Modul mit dem PCF8575 besorgt:
https://www.nxp.com/docs/en/data-sheet/PCF8575.pdf

Leider habe ich nirgendwo im Netzt eine Beispielbeschaltung gefunden.
Den Bus anschließen ich natürlich nicht das Problem,
aber bei den Tastern bin ich mir nicht sicher:

1.) Schließe ich die Eingänge des PCF an den NO oder den NC Anschluss 
des Tasters an?

2.) Brauche ich dann einen Pull-Up bzw Pull-Down Widerstand an jedem 
Pin?

Danke und Gruß
Gast #5385339
Lesenswert?

Ich kopiere mal einen Text von meiner Homepage:

Die Ausgänge des PCF8574 sind vom Typ Open-Collector. Der Chip kann 
seine Ausgänge mit GND verbinden, aber nicht mit VCC. LED's muss man 
daher so anschließen, dass sie leuchten, wenn der Anschluss auf LOW 
(GND) liegt.
1
PCF8574 o---[===]---|<|---o VCC
2
           220 Ohm     LED
Schalter oder Taster schließt man mit einem Pull-Up Widerstand an, so 
dass der Eingang auf HIGH liegt, solange der Taster nicht gedrückt ist:
1
PCF8574 o---+------[===]-----o VCC
2
            |     4,7k Ohm
3
            |       
4
            +------/ --------| GND
5
                 Taster

Ich denke, das trifft auf deinen PCF8575 ebenso zu.
#5385585
Lesenswert?

Stefan U. schrieb:
> Ich kopiere mal einen Text von meiner Homepage:
>
> Die Ausgänge des PCF8574 sind vom Typ Open-Collector.

für die I2C Pins mag das gelten und auch richtig sein!

> Schalter oder Taster schließt man mit einem Pull-Up Widerstand an, so
> dass der Eingang auf HIGH liegt, solange der Taster nicht gedrückt ist

nö, intern ist siehe Seite12
http://www.ti.com/lit/ds/symlink/pcf8574.pdf

die 100µA Quelle zu sehen default wird also high gelesen, mit einem 
Taster nach GND eben low.
So können Tasten und Schalter ohne pullup angeschlossen werden, meine 
auf Lochraster aufgebaute I2C Tastatur funktioniert so, glücklicherweise 
weiss sie von deiner Homepage nichts und liest hier nicht mit!

wieso schreibst du sowas?

auserdem war die Frage nicht nach 8574 sondern 8575 -> I2C Expander 
nicht I2C Port Expander ! man beachte den Unterschied!
#5385590
Lesenswert?

@Joachim B. (jar)

>> Die Ausgänge des PCF8574 sind vom Typ Open-Collector.

>für die I2C Pins mag das gelten und auch richtig sein!

Auch für die IOs!

>> Schalter oder Taster schließt man mit einem Pull-Up Widerstand an, so
>> dass der Eingang auf HIGH liegt, solange der Taster nicht gedrückt ist

Ist prinzipiell richtig, wenn gleich hier überflüssig.

>auserdem war die Frage nicht nach 8574 sondern 8575 -> I2C Expander
>nicht I2C Port Expander ! man beachte den Unterschied!

Hallo? Welcher Unterschied? Der 8575 (16 Bit) ist der große Bruder des 
8574 (8Bit).
#5385602
Lesenswert?

Falk B. schrieb:
> @Joachim B. (jar)
>
>>> Die Ausgänge des PCF8574 sind vom Typ Open-Collector.
>
>>für die I2C Pins mag das gelten und auch richtig sein!
>
> Auch für die IOs!

Die IOs sind aber nicht open Collector sieh dir doch nur die 
Innenbeschaltung an, ich habe es getan!

>>> Schalter oder Taster schließt man mit einem Pull-Up Widerstand an, so
>>> dass der Eingang auf HIGH liegt, solange der Taster nicht gedrückt ist
>
> Ist prinzipiell richtig, wenn gleich hier überflüssig.

eben Taster oder Schalter konnen hier so an IO ohne pullup weil eben 
keine OC vorhanden sind!

>>auserdem war die Frage nicht nach 8574 sondern 8575 -> I2C Expander
>>nicht I2C Port Expander ! man beachte den Unterschied!
>
> Hallo? Welcher Unterschied? Der 8575 (16 Bit) ist der große Bruder des
> 8574 (8Bit).

mein Fehler ich hatte mal was über I2C Expander gelesen die weitere I2C 
Busse zur Verfügung stellen.
Gast #5385614
Lesenswert?

Kolja L. schrieb:
> Also brauche ich nun externe Pullups
> und wenn nein, muss ich die Internen über die Software einschalten?


Nein, natürlich nicht, wenn Du Tasten lesen willst. Steht doch im 
Datenblatt.
Lass Dich von den Hobby-Schnullis, die hier und auf Webseiten Unsinn 
verbreiten, nicht irritieren!
Gast #5385639
Lesenswert?

> die 100µA Quelle zu sehen default wird also high gelesen

ja, wenn die Taster direkt neben dem µC platziert sind, mit ganz kurzen 
Leitungen. Mit einem Pull-Up Widerstand funktioniert es auch in weniger 
idealen Umgebungen gut. Außerdem benötigen die meistens Taster einen 
gewissen mindest-Strom um lange zu leben (Fachwort: "Wetting Current"). 
100µA sind diesen Tastern zu wenig.

> Also brauche ich nun externe Pullups

Kommt auf die Rahmenbedingungen an, die du nicht genannt hast. Sie 
können jedenfalls nicht schaden.
#5385652
Lesenswert?

@Joachim B. (jar)

>>>> Die Ausgänge des PCF8574 sind vom Typ Open-Collector.
>
>>>für die I2C Pins mag das gelten und auch richtig sein!
>
>> Auch für die IOs!

>Die IOs sind aber nicht open Collector

Aber sicher. Nur weil da noch eine kleine Stromquelle auf FET-Basis 
dranhängt, wird daraus noch lange kein Push-Pull Ausgang. Es ist ein 
Open Drain Ausgang mit interner Stromquelle als Pull-Up.

>sieh dir doch nur die Innenbeschaltung an, ich habe es getan!

Ich auch.
#5385683
Lesenswert?

Falk B. schrieb:
> Nur weil da noch eine kleine Stromquelle auf FET-Basis
> dranhängt

kann ich da keine 12V über einen pullup anschliessen, bei einem echten 
OC aber vermutlich mit bipolartransistor schon

Falk B. schrieb:
> wird daraus noch lange kein Push-Pull Ausgang

das habe ich auch nie geschrieben, früher waren das auch nur interne 
niederohmigere pullups die "pushten" auch nur begrenzt.
#5385784
Lesenswert?

@Joachim B. (jar)

>> Nur weil da noch eine kleine Stromquelle auf FET-Basis
>> dranhängt

>kann ich da keine 12V über einen pullup anschliessen, bei einem echten
>OC aber vermutlich mit bipolartransistor schon

Ach herje, seit wann ist denn die zentrale Definition, daß man an einen 
Open Collector mehr als VCC dranhängen darf? Schau dir mal die diversen 
Open Collector Bausteine der 74xx Familie an, die haben nur 
ESD-Schutzdioden, welche ebenfalls keine Spannung >VCC erlauben.

>> wird daraus noch lange kein Push-Pull Ausgang

>das habe ich auch nie geschrieben, früher waren das auch nur interne
>niederohmigere pullups die "pushten" auch nur begrenzt.

Na was ist es denn dann für ein Ausgang? Erfinden wir hier was Neues?
#5385836
Lesenswert?

Falk B. schrieb:
> Ach herje, seit wann ist denn die zentrale Definition, daß man an einen
> Open Collector mehr als VCC dranhängen darf?

was sollte einen Chip mit OC für max. 5V VCC stören der an VCC mit 3,3V 
hängt und der OC mit externem Pullup an 5V hängt?

so sehe ich das halt, wäre der nicht OC würde die 5V rückwärts wieder 
zur VCC 3,3V gelangen.

Du darfst das gerne anders sehen aber bitte mit Begründung

push pull Ausgänge sind auch nicht wirklich brauchbar bei wired or, 
soweit ich mich erinnere wurden deswegen gerade OC gebaut, egal wer den 
runterzieht, aktiv gibt kein Chip VCC raus!
#5385874
Lesenswert?

Kolja L. schrieb:
> Ihr habt mich jetzt komplett verwirrt :-(

was fehlt dir denn?

verwirrt weil hier einige OC nicht verstehen oder nur spielen wollen, 
ist zwar noch nicht Freitag aber fast

nachlesen
https://www.elektronik-kompendium.de/sites/slt/1206121.htm
https://www.elektronik-kompendium.de/public/schaerer/pullr.htm
https://www.mikrocontroller.net/articles/Ausgangsstufen_Logik-ICs


nun weiss ich wo es dich verwirrt

Titel
PCF8575 - I2C Expander am ESP

VCC vom PCF8575 an 3,3V
hänge deine 12 Taster kurz einfach an P0-P11 und schalte die nach GND

Taster nicht gedrückt gibt high
Taster gedrückt gibt low

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