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
Du musst das Ding erst einmal richtig konfigurieren, nach dem Poweron sind alle IOs auf Input.
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
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
Hoffe das hilft: http://www.the-starbearer.de/Roboterelektronik/i%B2c/PCF8574/pcfporterweiterung.htm
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...
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
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?
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...
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
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.
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
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
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
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!!
Ü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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.