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, > > du hast einen absoluten Mini-Bus. > Schmeiß die Leitungstreiber raus, setze die Pull-Up's. > Bau keinesfalls die die 330Ohm Reihenwiderstände ein. Die werden die Qualität eher verschlechtern. > Bei einem so winzigen Bus würde ich Pull-Up's mit 2,2kOhm als Kompromis empfehlen. > Nach I2C-Spezifikation soll eigentlich der Pull-Up den Busverhältinissen angepasst werden. > Anzahl der Teilnehmer und Leitungslänge sind hier die Faktoren. > Hier habe ich auch ein paar Worte dazu geschrieben: > <a href="LINKURL" target="_blank">http://www.cc2-haussteuerung.de/Technik/Technische%20Infos.pdf</a> > > Auf den Einsatz mit dem Y2-Kondensator würde ich auf jeden Fall verzichten. Der macht wieder die > Buskapazität größer und somit die Qualität schlechter. > Geschirmte Leitung ist immer gut. Aber mach erst mal das von mir beschriebene und dann kannst du > schirmen. > > Ciao > MiGi > > > > Hallo MiGi, > > ich habe gestern noch einen Leistungstreiber an das längste Ende des I2C-Busses gesteckt, dadurch > > sind die Störungen seltener geworden. Ich habe jetzt nur noch selten einen Störimpuls, manchmal ist > > 5-10 Minuten Ruhe. Ich werde heute noch den Schirm der I2C-Leitung mit einem Y2-Kondensator > > (Tipp von Martin/nitraM:-) an GND anschliessen. Das mit den Pull-ups werde ich auch testen, berichte > > dann morgen darüber. In "MSR mit cc2" steht man kann auch noch je einen 330 Ohm Widerstand in > > Reihe zu SCL und SDA legen, um kurze Störimpulse zu dämpfen. > > > > Mein Bus sieht so aus > > > > c-control----->Leitungstreiber--(30cm)-->pcf8574--(30cm)--->Tastaturmodul(8574)--(30cm) > > --->pcf8574--(30cm)--->DS1631---(100cm)---->Leitungstreiber-----DS1631 > > > > Also c-control, direkt angeschlossener Leitungstreiber, dann 30cm Kabel, dann ein Conrad pcf8574 > > (19 88 48), wieder 30cm Kabel und dann die Tastatur von Conrad(19 83 56) mit zusätzlich angelötetem > > Interupt usw. > > Die DS1631 sind Thermometer von Conrad (19 82 98) > > Laut Conrad kann man nicht genug Leitungstreiber einsetzen... > > > > Originatton Conrad: > > > > I²C-Leitungstreiber-Modul > > > > Dieses Modul ist ein aktives Pull-Up-Modul und sorgt bei langen Leitungslängen mit hohen > > kapazitiven Lasten für steile Signalflanken auf den Busleitungen. Mit dem Leitungstreiber-Modul > > wird die Anstiegszeit unter 1 µs, bei 200 pF Bus Kapazität gehalten. Bei größeren Bus-Kapazitäten > > (oder großen Leitungslängen) können einfach mehrere Module parallel betrieben werden. Da alle > > Anschlüsse (auch TXD/RXD) parallel durchverdrahtet sind, kann das Modul ebenso als > > Übergangsadapter vom Schnittstellen- Steckverbinder auf Anschlussklemmen (1 mm²) benutzt werden. > > > > Ich probiere weiter und berichte...... > > > > Gruß > > Ralf > > > > > > > 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.