Forum: Mikrocontroller und Digitale Elektronik pcf8574 defekt?


von Christoph Söllner (Gast)


Lesenswert?

Hi,

ich habe grade mal einen PCF8574 angeschlossen
und nach dem PowerOn sind ja alle Ausgänge auf
High.

Leider messe ich mit dem Multimeter nur 1,6 V
im Leerlauf, was ja bei dem meisten Schmitt-
Trigger gesteuerten anderen Bausteinen (LCD etc.)
nur ein LOW Pegel ist.

V supply liegt bei 5V.

Ist das Teil kaputt oder muß ich dem per I2C erst
sagen, dass er 5V auf die Ausgänge geben kann?
(habe per IIC mal FFxH auf den Bus geschrieben,
an der Spannung ändert sich nichts. Bei 00xH wer-
den alle Ausgänge auf 0,2 V gesetzt.)

Hat da jemand Ideen? Ich möchte nämlcih ungern einen
Transistor an jeden Ausgang schalten, um eine LED
zu treiben (geht noch nicht mal mit roten LowCurrent
LEDs in diesem Zustand).

Danke, Christoph

von Peter (Gast)


Lesenswert?

Du musst das Ding erst einmal richtig konfigurieren, nach dem Poweron
sind alle IOs auf Input.

von peter dannegger (Gast)


Lesenswert?

Der PCF8574 hat open-drain Ausgänge mit internem Pull-up von etwa
100µA.

Du must also die LEDs (mit Vorwiderstand) an VCC anschließen, da sind
dann bis 3mA erlaubt.


Peter

von Christoph Söllner (Gast)


Lesenswert?

Danke euch beiden:

@Peter:
Lt Datenblat sind die Quasibidirectional. Ich hab
das so verstanden:
Wenn Output:
- einfach IIC_WRITE %bitmuster%,
  also IIC_WRITE FFxH bedeutet "alles an".

Zum lesen:
- Einmalig IIC_WRITE FFxH,
- Dann Tasterdrücken und IIC_READ -> $r16
- Dann NOT $r16
- Ich habe in $r16 da eine "1", wo der Taster
  gegen Masse gedrückt wurde.

Mein Schaltplan:
* PCF8475 Pin1 ------- TASTER --------- GND
  zum lesen

* PCF8475 Pin2 ------- R100OHM --------- LED --------- GND
  zum ausgeben

Wenn ich jetzt da einen Denkfehler habe,
könnte mir vielleicht einer von euch da
selbigen Denkfehler korrigieren?

btw, was kommt am INT Pin raus, wenn ich
den PCF als INPUT Modul betreibe oder bes-
ser: Wie verwende ich den INT Pin?

Dankeschön,
Christoph

von Simon Küppers (Gast)


Lesenswert?


von thkais (Gast)


Lesenswert?

Die PCF-8574 können nur sinken und nicht sourcen. Heißt also: Einen
sauberen High-Pegel bekommst Du nicht. Das ist der Preis für das
"quasi bidirektional", die Ports sind in etwa denen der MCS-51 Reihe
vergleichbar.

Nur beim Beschreiben mit "1" wird kurzzeitig ein High-Impuls
ausgegeben, um die Flanken steiler zu halten. Ist alles im Datenblatt
etwas verworren ausgedrückt, vor allem, wenn mans mit dem Englisch
nicht so hat...

von EISmeter (Gast)


Lesenswert?

Moin,

ich hab sehr passend zu dem Thread hier mal eine ähnliche Frage:

Und zwar betreibe ich den PCF8574 komplett als Ausgang und habe ihn
auch mit den entsprechenden Pull-Ups versehen.

Jetzt habe ich trotzdem den Effekt, daß wenn ich ihn mit "0"
beschreibe,
alle Ausgänge in HIGH-Impedance Mode gehen (also wegen der PullUps alle
Pinne auf "1" sind.)

Ist das die RESET Bedingung (Register = 0) für den PCF8574 ?
Im Datenblatt habe ich leider dazu nichts finden können...

Gruß,
MK

von thkais (Gast)


Lesenswert?

Bekommst Du denn ein "Ack", wenn Du ihn beschreibst? Richtige Adresse?
Protokoll überprüft? Adresseingänge des 8574 richtig belegt? Pull-Ups an
SCL/SDA nicht vergessen?

von EISmeter (Gast)


Lesenswert?

Ja, das ist alles wie's soll.
Ich kann ja auch wunderbar Werte != 0 auf den Port schreiben und das
funktioniert wunderbar.
Nur wenn ich mit 0 beschreibe klappts halt nicht...

von Lothar S. (magic33)


Angehängte Dateien:

Lesenswert?

wenn jemand interesse hat so sehen meine anreihbaren schaltmodule bis 32
st je i2c buus das heist 256 volle i/o aus
www.sammellothar.de
im bereich c-contorl anreihbare pcf8574

ich steuere sie auch mit atmel prozessoren
in der grossen anlage sind 1500 module verbaut

die geschwindigkeit für alle module liegt bei ca 2sec

von Eugen K. (kannsnet)


Lesenswert?

hallo,
eine weitere frage zum pcf8574, wenn ich den IC als Input nutze, muss 
ich dann die adresse 0x41 abfragen? (0 1 0 0 A2 A1 A0 ?)
oder wie komm ich in den READ- bzw. WRITE-Mode?

Danke schonmal.

von Lothar S. (magic33)


Lesenswert?

also die writeadresse ist gerade und die readadresse ungerade

master > pcf zB 64
pcf to master dann 65
'READ
wert = 0
Readadresse = 65 'bausteine A0-A2 GND
I2cstart
I2cwbyte 255                ' immer zuerst ein leeres byte senden
I2creceive Readadresse , Wert
I2cstop
'Write
Wert=251
Adresse =64
I2cstart
I2cwbyte 255            ' immer zuerst ein leeres byte senden
I2csend Adresse , Wert
I2cstop

von daniel (Gast)


Lesenswert?

Hallo alle miteinander,

Ich verwende auch den pcf8574 und verstehe nicht warum er nicht 
funktionieren will.

schon zuvor habe ich in einer schaltung diesen Baustein integriert und 
nach dem ich der festen Überzeugung war, dass er defekt ist habe ich ihn 
gleich zweimal ausgetauscht und siehe da es lief?!?!?

jetzt sitze ich an einer anderen platine und wieder die selben Probleme.

Weiß jemand, ob dieser Baustein so stark hitzeempfindlich ist, das man 
beim Einlöten darauf achten sollte möglichst (sehr) kurz an die beine zu 
gehen, oder gab es vieleicht ihrgendwelche Probleme bei der 
Produnktion??

falls jemand bescheid weiß, würde ich mich über eine Antwort sehr 
freuen.

Danke im vorraus

von magic33 (Gast)


Lesenswert?

beim einlöten kann man sehr schnell die pullups intern zerstören
ich verwende immer sockel

leg mal spannung an ob die I/O hochomig sprich positiv sind

von daniel (Gast)


Lesenswert?

danke für die Antwort.

Habe ergerlicher weise mist beim löten des I²C-Bus Controller gemacht.

Das Bauteil ist in ordnung und läuft zuverlässig!!

von Lothar S. (magic33)


Lesenswert?

Übrigens kann man den i2C mitels PCA95xx zb Pca9544 auf 4i2C busse aus 
einem erweitern

wie geht das

µCi2C an PCAi2c in
dieser Baustein ist adressierbar das heist es können bis zu 8 an einen 
i2C
jeder baustein hat eine adresse  die dann beim nächsten Byte einen weg 
zum jeweiligen i2C output schaltet

somit können weit über 5000 bausteine an einem isc betrieben werden

wenn sich mal jemand fragt wie man grosse schaltanlagen 
(modelleisenbahnen)
schaltet und verwaltet

der µC ist dann natürlich ein PC

von Falk B. (falk)


Lesenswert?

[[Port-Expander PCF8574]]

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.