Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > 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.