Hallo an Alle,
da ich gerne Bauteile verwende die den I2C Bus bedienen interessiert mich die Leitungslänge die möglich ist.
Bei Google bin ich nicht so recht weiter gekommen und habe nur die Info erhalten das es für kurze Distanzen konzipiert ist.
Hat jemand Erfahrung mit Distanzen und wie groß waren diese. Welche besonderen Maßnahmen sind Empfehlenswert (Schirmung usw.)?
Es wäre schön von euch zu hören.
Vielen Dank schon mal.
Gruß Manfred
Hi Manfred, ich kann dir leider auch keine Antwort geben auf deine Frage. Ich stelle aber gerne doofe fragen zurück
Von welcher Länge reden wir denn? Es gibt ja auch andere Protokolle/Systeme die deutlich weiter über Kabel kommen. Geht es nicht bei deiner Anwendung auf ein anderes Protokoll zu gehen? Z.b. 1-wire
Hallo Nick,
es gibt 2 Projekte.
Das Eine ist mein “GoKart” , dort dürften es max. 2m sein.
Das andere ist mein Haus dort sind es bis zu 12m. Das ist aber noch sehr offen…
Ich verwende den Arduino und ich kenne den I2C Bus. Natürlich kenne ich noch ProfiBus und ein wenig ProfiNet .
Ich glaube ich habe Temperatursensoren in 1 Wire Technik. Da scheint mir aber die Adressierung und dir reproduzierbare Zuordnung undurchsichtig zu sein.
Ich benötige 24 x 16Bit AD Wandler und mind. 8 Temperatursensoren.
Gruß Manfred
Hi Manfred,
Hier steht etwas von 1-10m, je nach Geschwindigkeit.
Hallo Manfred,
da habe ich weder Wissen noch Erfahrung.
Bei Mikrocontroller.Net war ein Beitrag
https://www.mikrocontroller.net/topic/251808
und dort auch ein Versuch von NXP - ich meine mit jeweils 20m und 50m
https://www.nxp.com/docs/en/application-note/AN10658.pdf
… allerdings hab ich das nur in einigen Sekunden überflogen …
gruß
sunap
Hallo Nick hallo Sunap,
vielen Dank euch beiden. Werde mich damit beschäftigen und mal schauen ob man beim Arduino die Clook-rate herabsetzten kann.
Gruß Manfred
Hallo,
habe Test’s durchgeführt mit verschiedenen Kabeln und Leitungslängen.
Die Signalqualität bei üblicher kurzer (20cm) Verbindung
Dann wurde die Datenleitung mit CAT7 ca.5m lang ersetzt.
Die Clockleitung (unten) blieb bei 20cm
Kommunikation soweit KEINE Auffälligkeiten. Der Spannungsanstieg ist nicht mehr ganz so steil.
Dann wurde die Datenleitung und die Clockleitung mit CAT7 ca.5m lang ersetzt.
Kommunikation war nicht Störungsfrei.
Ich vermute, dass die Leitungskapazität zu hoch ist und dadurch viel Strom “gezogen” wird.
Dann wurde die Datenleitung und die Clockleitung mit 1,5qmm ca. 9m lang ersetzt.
Kommunikation war nicht Störungsfrei da nicht geschirmt.
Gibt es Anregungen was man weiter machen könnte. Den Takt kann man wohl nicht herabsetzen.
Ich werde noch mal die Datenleitung und die Clockleitung in jeweils ein CAT7 Kabel testen. Dann sollte die Kapazität doch geringer sein … oder?
Habe neuen Versuch gestartet.
Habe jetzt SAT-Kabel verdrahtet. Jeweils ca. 6m einmal für die Clock-Leitung und auch für die Datenleitung.
Bisher läuft es störungsfrei.
Gute Idee Manfred! Ich hab zwar keine Ahnung, wieviel Kabel du davon parallel benötigst, aber ich könnte mir vorstellen, dass das Kabelpaket ordentlich “dick” wird!?
Wie wäre es mit diesem Kabel hier? Das ist zumindest etwas dünner! Meines hat einen AD von 2,5mm. Ich verwende ein 8cm kurzes Stück davon für meinen 2,4GHZ Modellflug-Sender.
https://www.banggood.com/de/10m-RG316-RF-Coaxial-Cable-Connector-50ohm-M17-60-RG-316-Coax-Pigtail-32ft-p-1068598.html?gpla=1&gmcCountry=DE¤cy=EUR&createTmp=1&utm_source=googleshopping&utm_medium=cpc_bgs&utm_content=frank&utm_campaign=ssc-de-all-0822&ad_id=378905254449&gclid=EAIaIQobChMIisTo5bay6QIVFOJ3Ch3YCArcEAQYCiABEgK1B_D_BwE&cur_warehouse=CN
BG, Elton
Hallo Elton,
danke für die Info.
Ich kann mir diese Kabel gut bei kürzeren Verbindungslängen vorstellen z.B. in meinem GoKart.
Ich werde es auf jeden Fall testen. Bei den bisherigen Versuchsaufbauten hatte ich den Eindruck, es ist nicht gut
wenn die Leitungen incl. Schirmung dicht beieinander liegen( z.B. CAT7) darum glaube ich wird es spannend wie dein Vorschlag abschneiden wird.
Gruß Manfred
Wieviel Meter und wieviele Kabel parallel brauchst du denn geschätzt?
Hallo Elton,
für mein GoKart ist das nicht viel.
Aber ich komme in den nächsten Wochen zu nichts mehr … leider … vielleicht noch zur Fertigstellung meines Fahrradakkus den ich bereits provisorisch einsätze.
Gruß Manfred
Moin Manfred,
Auch wenn der Thread etwas her ist, ist hier ja nichts mehr passiert. Wahrscheinlich hast du immer noch keine Zeit. Trotzdem möchte ich Dir gerne auf die Sprünge helfen. I2C ist nämlich auch mein Lieblingsbus
Es ist so:
I2C kennt grundsätzlich erst mal zwei Geschwindigkeiten.
Standard Mode(100kBit/s) und Fast Mode(400kBit/s)
Die Gesamtlänge ist durch die Summe aller Kapazitäten begrenzt und liegt bei 400pF und das bereits für den Standard Mode. Bringt also nix an den Geschwindigkeiten zu fummeln. So ist das Protokoll definiert. Und Du hast bei Deinen Messungen ja schon gesehen was passiert. Die steigende Flanke wird durch die steigende Bus-Kapazität eher zu einer Kurve und ist kein Rechteck-Signal mehr. Das I2C-Protokoll erlaubt solche “Kurven” nicht und solche Pulse werden als None-sense verworfen. Folge ist wie Du ja schon beschreibst, dass die Kommunikation fehlerhaft wird.
Über den Daumen gepeilt kannst Du folgendes annehmen:
- 10pF für jedes Device
- 10pF für den MiCo
- 50pF pro Meter CAT5-Kabel
- und zu guter Letzt 10pF für Oma (Streukapazität)
Es bleiben also ca 7m für die Leitungslänge. Um Deinem Problem weiterzuhelfen, bleibt Dir im Haus also nichts anderes als Range-Extender einzusetzen. Ich habe mal einen für Dich er-googled. P82B715 heißt das gute Teil und funktioniert ungefähr so wie im Anhang zu sehen.
Der Extender hat eine maximal mögliche Bus-Kapazität von 3000pF und läuft auf 5V. Das reicht für 60m zwischen Gerät und MiCo. Ich selbst hatte noch keinen Bedarf einen extender zu nutzen, aber das Ding scheint das Mittel der Wahl.
VG
Eddy
Jetzt bin ich aber angenehm überrascht!!!
Das ist eine tolle Info und mein Projekt " Hausenergie/ Regelung " kann dann irgendwann weiter gehen und ich brauche nichts selber zu stricken.
Vielen DANK !!!
Gruß Manfred