Re: Probleme mit dem Ansteuern vom PCF8574P Kategorie: I²C-Bus (von André H. - 11.09.2003 19:55) | |
Als Antwort auf Probleme mit dem Ansteuern vom PCF8574P von Rainer H. - 9.09.2003 23:08
| |
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. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Probleme mit dem Ansteuern vom PCF8574P (von Rainer H. - 15.09.2003 22:19) |