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

Re: pcf8574 Kategorie: I²C-Bus (von Migi, http://cc2-Haussteuerung.de - 11.03.2008 19:53)
Als Antwort auf Re: pcf8574 von Ralf Metzner - 10.03.2008 15:39
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, eigenes Board, OSOPT V3.0
Hallo Ralf,

den Leitungstreiber kannte ich bisher nicht. Ich habe ihn mir angesehen und verstehe die Anleitung so,
dass der Leitungstreiber den Pull-Up-Widerstand ersetzt.
Das heiÃ?t, der Leitungstreiber ist sozusagen ein dynamischer Widerstand, der seinen Wert den
Anforderungen entsprechend verändert. Hast du ein ausgedehntes I2C-Netz mit vielen Teilnehmern,
mu� der Pull-Up-Widerstand einen kleinen Wert haben, damit die Signale die erforderliche Qualität
aufweisen. Die Leitungskapazitäten und die Eingangskapazität eines Teilnehmers sorgt nämlich
für ein verschleifen der Signalflanken. Diesem Effekt versucht man nun mit dem Modul entgegen zu
wirken.
Allerdings behaupte ich, dass deine Probleme durch genau dieses Modul verursacht werden.
Wenn der sogenannte Leitungstreiber, der eigentlich gar keiner ist, den Pull-Up-Widerstand sehr klein
macht, sind die Busteilnehmer nicht mehr in der Lage den daraus resultierenden Strom gegen Masse
flie�en zu lassen um die Informationen zu übertragen.
Die bei dir auftretenden Effekte sind auch logisch. Durch intensiven Signalaustausch werden die
Bausteine überlastet, erwärmen sich und sind dann nicht mehr in der Lage fehlerfrei die Daten zu übertragen.

Wenn du mich fragst, ich würde das sogenannte Treibermodul erst einmal ausbauen, dieses durch
1KOhm-Widerstände (das ist die Grenze nach unten) von SCA und SCL jeweils auf 5V ersetzen.
Dann schaust du, ob es überhaupt funktioniert, und wenn Ja, ob die Qualität besser geworden ist.
Wenn man lange Leitungslängen zu überbrücken hat ist der richtige Weg, an jedem Leitungsende ein
Leitungstreiber zu platzieren. Der Sender und Empfänger ist dann jeweils am "Lokalbus" angeschlossen,
die Leitung selbst ist der "Fernbus".
Fernbus: Pull-Up ist ca. 330 Ohm
Lokalbus: Pull-Up ist > 1kOhm

So, nun ausprobieren und Status melden.

Viel Erfolg
MiGi


> Hallo,
> ich habe das kleine Treibermodul von Conrad 19 82 80, sonst keine Pull-ups (???),
> müssen da welche rein?
>
> Es hat sich mittlerweile schon einiges ergeben, Martin hat mir hier intensiv weitergeholfen.
> Ich habe:
>
> - Am Conrad Tastaturmodul die fehlende Interuptleitung angelötet. und bis zur c-control geführt.
>
> - Software so geändert, das die Module definiert und in der richtigen Reihenfolge initialisiert und
>  angesprochen werden.
>
> - I2C-Verteiler von Conrad (19 11 93) rausgeschmissen, neue Busleitung gelötet (ca.2 Meter).
>   (Werde ich allerdings nochmal machen, und die Adernpaare so nutzen, das immer je eine
>   GND-Leitung mit SCL, SDA, Interupt und 5V in einem Paar liegt, was im Moment nicht der Fall ist)
>
> Jetzt läuft die Sache soweit ganz gut, bis auf gelegentliche Störungen auf dem I2C-Bus, die sich
>  folgendermassen äuÃ?ern:
>
>    Die Thermometer zeigen kurz falsche Werte an (teilweise negativ), belegte Eingänge auf dem
>    PCF-Portexpander "verschwinden" kurz. Die Störungen dauern nur einen Impuls und treten im
>    Abstand von 10sec bis 30sec auf. Im Schaltschrank ist ein Frequenzumrichter, der natürlich
>    schon ordentlich Störungen verursachen kann.
>
> Ich werde noch versuchen:
>
>    - Pull-up-Widerstände an die Conrad-Tastatur anlöten. Verwende externe Taster, die mit relativ
>      langen(30 cm) Leitungen an das Modul gelötet sind.
>
>    - Unter Umständen Tastaturmodul ersetzen durch PCF-Portexpander (Acht Eingänge für 8 Tasten).
>
>
> GruÃ?
> Ralf
>
>
>
>
>
>
>
> > Hallo Ralf,
> >
> > welche Werte haben die Pull-Up-Widerstände an SDA und SCL vom I2C-Bus?
> >
> > GruÃ?
> > MiGi
> >
> >
> > > Hallo,
> > > erst mal ein groÃ?es Lob an dieses Forum und diese Seite. Ich konnte alle Informationen die ich zum
> > > programmieren brauchte hier finden. Jetzt habe ich aber ein Problem und komme nicht dahinter.
> > > Ich habe am I2C-Bus 2 Thermometer, 1 PCF-Keyboard und 2 pcf-portexpander (nicht die A-Version,
> > >  einen als Eingänge und einen als Ausgänge). Es hat zuerst alles funktioniert wie gewünscht, jedoch
> > > gab es dann immer häufiger Fehlmeldungen der Eingangskarte, die Eingänge als gesetzt übergab,
> > > obwohl sie definitiv nicht belegt waren. mit entfernen des als Ausgang verwendeten Portexpanders
> > > verschwanden die Probleme zunächst. Nach mehreren Versuchen bekomme ich jetzt die Portexpander
> > > nur noch sporadisch zum laufen, teilweise aber erst nach längerem Ausschalten der C-Control. Die
> > > PCF-Tastatur funktioniert auch nicht mehr. Das alles, obwohl ich alles in den Zustand zurückversetzt
> > > habe in dem alles funktioniert hat. Was immer geht sind die Thermometer (DS1631). Als Adressen habe
> > > ich 4 für die Tastatur, 6 für die Eingänge und 7 für die Ausgänge. Treibermodul für den I2C-Bus ist auch
> > > eingebaut. Wie werden die Portexpander richtig als Ein bzw. Ausgang initialisiert? Was genau bedeutet
> > > pcf.on() bzw.pcf.off()? Die Eingänge sind einfache Schalter und die Ausgänge sollen einen Frequenzum-
> > > richter steuern. Falls jemand eine Idee hat wo hier der Fehler liegen könnte bitte ich dringend um Hilfe.
> > >
> > > Vielen Dank.

Meine Seite: http://cc2-Haussteuerung.de


    Antwort schreiben


Antworten:

Re: pcf8574 (von Ralf Metzner - 12.03.2008 8:52)
    Re: pcf8574 (von Migi - 12.03.2008 9:34)
        Re: pcf8574 (von nitraM - 12.03.2008 11:58)
            Re: pcf8574 (von Migi - 12.03.2008 19:05)
                Re: pcf8574 (von nitraM - 12.03.2008 19:48)
                    Re: pcf8574 (von Migi - 13.03.2008 10:20)
        Re: pcf8574 (von Ralf Metzner - 12.03.2008 10:37)
            Re: pcf8574 (von Migi - 12.03.2008 19:11)
            Re: pcf8574 (von Migi - 12.03.2008 19:11)
                Re: pcf8574 (von Ralf Metzner - 13.03.2008 8:11)
                    Re: pcf8574 (von Ralf Metzner - 14.03.2008 10:39)