Hallo Zusammen, habe gerade ein bzw. mehrere DS1621 Temperatursensoren per I2C Bus angeschlossen. Da es ja wenig Sinn macht, die TempSensoren direkt nebeneinander aufzubauen, habe ich versucht, die Leitungslänge von Sensor zu Sensor zu erhöhen. Wollte so ca. 5 bis 10 m Abstand haben. Habe dafür dann, wie im Netz gelesen, ein Cat5 Kabel genommen. Am I2C Bus im Bereich des AVR dann jeweils einen 4,7 KOhm Widerstand gegen VCC. Dann habe ich SDA und SCL mit jeweils 330 Ohm Widerständen an den Controller wie auch die beiden Temp.Sensoren angeschlossen. Leider gings so nicht. Interessanter Weise habe ich dann einfach die TEmp.Sensoren mit einem "kurzen" Kabel (ca. 15cm) als I2C Bus an den Controller gehängt und dem Cat5 Kabel als Lange Leitung (ca. 10m). Funktionierte hervorragend. Konnte nun jeweils das Kurze als SDA oder SCL verwenden und das CAT5 entsprechend als Gegenstück. Ohne Probleme. Nur wenn ich versuche, sowohl SCL als auch SDA über das Cat5 zu schicken, geht es nicht.... Hat jemand ne Idee?
Ich könnte mir vorstellen, dass, wenn Du beide Signale übers cat5 schickst, die Kapazität zwischen den Leitern die Bandbreite stark einschränkt und zu starken Übersprechen führt. Zwar ist ein cat5 für HF-Übertragung gedacht, aber differenziel. Wenn Du unbedingt das cat5-Kabel benutzen willst, solltest Du von den 4 Leiterpaaren eines aus dem Paar als "verdrillten Schirm" nutzen und auf GND legen. Damit schränkst Du das Übersprechen ein. Die Kapazität bleibt aber erhalten. Hier kannst Du mit dem verringern der Serienwiderstände (330Öhmer) den Tiefpass wieder etwas aufmachen. Für Serienwiderstände an solchen Leitungen nehme ich immer so 100..120Ohm, das kommt mit dem Wellenwiderstand der Leitungen fast immer hin. Reiner
Hallo, ich arbeite auch mit I2C, habe jedoch von den 330 Ohm Widerständen in Datenblättern o.ä. nichts davon gesehen. Wieso eigentlich diese Widerstände, ich nutze nie welche und alles läuft. Gruss A. Arndt
Also, dass mit den Widerständen habe ich auch noch nicht so ganz gerafft. Habe das mit den Widerständen auf der Seite www.cc2net.de (ne Seite zur CControl II) gefunden. Auch in einer Schaltzeichnung für den Anschluß mehrer LM75 Sensoren waren SDA und SCL des Controllers mit jeweils 330 Ohm bestückt. Werde gleich mal den Widerstand varieren, und schauen, was passiert.
Hmm, habe noch mal ein wenig variert. Irgendwie bekomme ich kein Signal aus dem langen Kabel. Habe nun einfach das Kabel halbiert und SDA und SCL jeweils über ein eigenes CAT5 Kabel angeschlossen. Funktioniert prächtig, sogar ohne Widerstände. Warum geht es nicht mit einem Kabel? Nur zum Verständnis: Das Kabel hat jeweils fünf farbige Adern mit jeweils einer weißen Ader. Speise ich SDA und SCL auf einer Farbe und dem dazugehörigen weißen Kabel ein oder auf zwei verschieden farbige ? (Habe bei mir aber auch nichts daran geändert, dass es nicht ging :-( )
die 330Ohm zwischen controller und "peripherie" sind zum schutz des Controllers da, so richtig genaues weiss ich aber leider auch nicht. hoffe hab geholfen
Hi I2C ist ein Bus um auf einer Leiterplatte mit mehreren IC's zu kommunizieren. Er ist nicht, aber auch garnicht, für Installationen auf längeren Leitungen bzw. als Feldbus geeignet. Da brauchts störsicheres wie RS485 (nicht hauen Peter) oder CAN (zumindest dessen Tranciever) Du könntest versuchen den I2C per RS485-Treiber irgendwie differenziell zu bekommen. Dann sollte das CAT5 durchaus geeignet sein. Ist aber alles nicht das ware. Lieber einen kleinen µC an jeden Temp-Sensor. Dann funktioniert das auch ordentlich und beim nächsten Gewitter schießt es nicht gleich deinen AVR ab. Just my 2 Cents Matthias
hi das i2c nicht gerade als feldbus erdacht wurde ist zwar richtig aber mit einer reduzierung der busgeschwindigkeit ist es durchaus möglich die reichweite zu erhöhen mit einem i2c-porttreiber wie dem 82B715 von philips geht es dann noch weiter bzw. schneller. im datenblatt des 82B715 gibt es einige diagramme die veranschaulichen wie weit man mit welcher geschwindigkeit kommt mfg mike
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.