Forum: Mikrocontroller und Digitale Elektronik Verhalten PCF 8574


von Achim S. (achims)


Lesenswert?

Hallo Gemeinde
nach meiner letzten Frage habe ich die Sache auf einer kleinen Platine 
getestet. Leider verstehe ich immer weniger.
Schaltung auf der Platine:
8 x LED über einen Vorwiderstand nach +5V
Bus steckbar über ein 10 poligen Wannenstecker, Bus trennbar, Spannung 
bleibt weiter anstehen.
Verhalten der Schaltung:
-Stecke ich den Bus an den Prozessor, Spannung an, läuft das Programm
-Trenne ich nur den Bus ab, leuchtet die Letzte LED weiter
-Trenne ich den Bus ab und schaltet dann erst die Spannung ein leuchtet 
keine LED
Müssten ohne Bus und mit Spannung nicht alle LED leuchten?
achim

von Falk B. (falk)


Lesenswert?

@ Achim Seeger (achims)

>getestet. Leider verstehe ich immer weniger.

Hmm.

>-Stecke ich den Bus an den Prozessor, Spannung an, läuft das Programm

Was heißt das genau? Der AVR lässt per I2C die LEDs blinken?

>-Trenne ich nur den Bus ab, leuchtet die Letzte LED weiter

Was ist daran unverständlich? Der PCF bekommt keine Daten mehr über I2C 
und behät einfach den letzten gespeicherten Wert. Schließlich steckt im 
PCF ein Latch/Register.

>-Trenne ich den Bus ab und schaltet dann erst die Spannung ein leuchtet
>keine LED

Auch klar und wurde mehrfach angesprochen. Nach dem Einschalten der 
Versorgungsspannung sind die Ausgänge alle HIGH, die LEDs leuchten also 
nicht, weil sie LOW aktiv angesteuert werden.

Wo ist jetzt das Problem?

von Achim S. (achims)


Lesenswert?

Das mit der LED ist mir klar.
Wenn aber alle Ausgänge auf High geschaltet sind brennen die LED nicht. 
Wenn ich statt der LED Relais nehme sind diese Ausgeschaltet. Wozu muss 
ich die Ausgänge invertieren um ein schalten der Relais beim anlegen der 
Spannung zu verhindern? Durch das invertieren mache ich ja gerade das. 
Sehe da was falsch?

von Falk B. (falk)


Lesenswert?

@ Achim Seeger (achims)

>Wenn aber alle Ausgänge auf High geschaltet sind brennen die LED nicht.

BRENNEN sollten sie so oder so nicht ;-)

>Wenn ich statt der LED Relais nehme sind diese Ausgeschaltet. Wozu muss
>ich die Ausgänge invertieren um ein schalten der Relais beim anlegen der
>Spannung zu verhindern? Durch das invertieren mache ich ja gerade das.
>Sehe da was falsch?

Du redest wirr. Was ist los?

von Svenska (Gast)


Lesenswert?

Der PCF8574 kann einen Pin auf HIGH oder auf LOW ziehen, aber die 
Richtung (für Lesezugriffe) nicht umschalten. Wie funktioniert das also?

Ganz einfach: Wenn der Chip HIGH ausgibt, dann nur mit 100 µA (also so 
schwach, dass jeder andere stärker ist). Ein Lesezugriff muss dann nur 
nachschauen, welcher Pegel anliegt.

Daraus folgt, dass der Chip allein (ohne zusätzlichem Transistor) zu 
schwach ist, um eine LED mit einem HIGH-Pegel zu treiben. Mit einem 
LOW-Pegel (der Strom fließt in den Chip hinein statt heraus) geht das 
aber, weil der PCF8574 eine viel stärkere Stromsenke als Stromquelle 
ist.

von Achim S. (achims)


Lesenswert?

Hallo Falk
es gibt einige Hersteller im Netz die invertieren ihren Ausgang. haben 
also einen PCF 8574, dann einen 74HC540 und dann einen ULN als 
Relaistreiber. Der IC HC540 invertiert das Signal.
Hatte es so bisher verstanden, das beim anlegen einer Spannung der 
Ausgang sofort einschaltet, sprich der Ausgang auf low geht und damit 
die LED am Ausgang einschaltet. Hatte es wohl verkehrt verstanden. Das 
mit der Stromsenke ist mir klar. Ziehe die LED ja auch gegen +. 
Einschalten des Ausganges bedeutet aber das der Transistor auf H 
schaltet (also aus) und damit der Ausagng nicht auf Masse liegt un die 
LED nicht leuchtet. So richtig?
achim

von Falk B. (falk)


Lesenswert?

@ Achim Seeger (achims)

>es gibt einige Hersteller im Netz die invertieren ihren Ausgang.

Was denn für Hersteller? Der PCF8574 ist immer gleich.

> haben
>also einen PCF 8574, dann einen 74HC540 und dann einen ULN als
>Relaistreiber. Der IC HC540 invertiert das Signal.

Aha, also in irgendwelchen Schaltungen bzw. Geräten.

>Hatte es so bisher verstanden, das beim anlegen einer Spannung der
>Ausgang sofort einschaltet,

Nein.

> sprich der Ausgang auf low geht und damit
>die LED am Ausgang einschaltet. Hatte es wohl verkehrt verstanden.

Genau.

>Einschalten des Ausganges bedeutet aber das der Transistor auf H
>schaltet (also aus) und damit der Ausagng nicht auf Masse liegt un die
>LED nicht leuchtet. So richtig?

Ja.

von Achim S. (achims)


Lesenswert?

Danke für deine Geduld
achim

von Achim S. (achims)


Lesenswert?

Hallo Falk
habe vom Hersteller des Teiles mit dem 74HC540 Antwort bekommen.
Bei Bau von Steuerungen für den Gewerblichen Sektor darf keine 
Schaltfuktion durch Masse schalten ausgelöst werden. Bei Fehlern in der 
Anlage kann das zu Störungen führen. Daher Ausgang invertiert.
achim

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.