Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Probleme mit dem Ansteuern vom PCF8574P Kategorie: I²C-Bus (von Rainer H. - 15.09.2003 22:19)
Als Antwort auf Re: Probleme mit dem Ansteuern vom PCF8574P von André H. - 11.09.2003 19:55

> Hallo Rainer,
>
> > ich versuche schon seit Tagen vergeblich ein PCF8574P über den I2C bus anzusteuern.
> > Ich habe mir eine E100 Platine mit 2 PCF8574P und Relaistreibern gelötet.
> > Relaistreiber funzen auch einwandfrei soll heisen wenn ich die PCF's aus dem Sockel
> > zieh und die eingänge vom Relaistreiber ansteuer klappt alles wunderbar.
> > Habe mir die Module PCF.C2, Capture.HEX, und I2C.C2 runtergeladen.
> > Das Modul mit dem Downloadtool Hochgeladen mit der Option
> > "Bei Hexload Segment 3 vorher löschen" Hat allem anschein nach auch geklappt.
> > Ich weiÃ? nur nicht ob im Segment 3 vorher etwas gestanden hat was ich dadurch
> > vielleicht gelöscht habe?????
>
> Standardmä�ig ist Segment 3 leer.
> Anfangs sollten hier nur capture.hex und sys0001.hex (=u.a. Treiber für lcdext.c2)
> hineingeladen werden.
>
> > MuÃ? man etwas beachten damit die Capture.hex an die richtige Adresse geladen wird???
> > oder geht dies von selbst.
>
> Das steht in der Hex-Datei, geht also von selbst
>
> > Nach mehreren Testprogrammen habe ich festgestellt das das Programm immer beim
> > Aufruf der Funktion I2C.Capture stehen bleibt egal in welcher form ich die Funktion benutze.
>
> Bleibt das Programm in der Unit oder im Simulator bei i2c.capture() stehen ?
> Im Simulator kann man keine "Hardwareansteuerungen" testen.
>
> > Die Ccontrol komuniziert aber mit den PCF's denn beim auslesen mit PCF.init bekomme
> > ich den Wert 1027 zurück und der ändert sich auch wenn ich die Adressen der PCF's
> > änder. Also sollte der Bus wohl in Ordnung sein oder?????
>
> Ja, der Bus ist ok.
> capture.hex scheint auch korrekt geladen zu sein, sonst würde pcf.init() nicht
> funktionieren.
> Der Rückgabewert von pcf.init() ist ein 16Bit Bitmuster der Angeschlossenen PCF8574.
> (bzw. von Bausteinen, die denselben Adressbereich haben.)
> 1027 heiÃ?t hier: 0x0403 = 0b0000010000000011
> Die hinteren beiden "Einsen" sind Deine PCF8574.
> Die Eins in der Mitte ist das interne LCD der CC2.
>
> > Noch ein Paar Angaben zum OS und Modulen vielleicht ist da ja was verkehrt:
> > OS : C-Control II, 2001/08/19, CC2 V.2 by Eric Hospel
> > Capture.HEX V1.0
> > Vmcodes.C2 release 2000/09/25
>
> Das ist soweit korrekt.
>
> > Währe euch sehr dankbar wenn mir einer helfen könnte bevor ich verzweifel!!!!
>
> Ich vermute, Dein Problem liegt eher hardwareseitig.
> Du willst die Relais sicher über eine Transistorstufe, wie ULN2803A, mit
> Highpegel schalten.
> hierzu muÃ? man wisse, daÃ? der PCF8574 lediglich einen Open-Drain-Output
> mit einer 100µA Konstantstromquelle besitzt. D.h., im Highpegel
> "treibt" nur die 100µA Konstantstromquelle den Ausgang. Das ist jedoch sicher
> zu wenig für die Transistorstufe.
> Du hast hier zwei Möglichkeiten:
> 1. Du setzt einen Pufferbaustein, z.B. C-MOS 4050, dazwischen.
> oder.
> 2. Du setzt Pull-Up-Widerstände (z.B. 10k) an jeden Port eines PCF8574
>
> MfG André H.
>
Hallo und vielen Dank André

ich habe mein Problem gefunden, es lag an den 100µA
nach deiner Antwort habe ich mal meinen alten Logiktester wieder rausgekrammt
und siehe da, jedes mal wenn ein Relais anziehen sollte leuchteten Hi und Low gleichzeitig
mit dem 4050 klappt alles prima

Vielen Dank!!!!!!!!

mfg Rainer


    Antwort schreiben


Antworten: