Go Down

Topic: I2C Bus verlängern (Read 2352 times) previous topic - next topic

margau

Hallo!
Ich habe eine Sache mit einem I2C-Bus zu machen, wo das mit Master/Slave wichtig wäre.
Allerdings bräuchte ich Insgesamt 5-7m Länge. Wie würde das gehen?  :smiley-roll:
Wie?
Oder gibt es einen Anderen Bus?
(Zum Einsatz kommen werden wahrscheinlich mehrere Atmega328 und vielleicht ein paar Attinys)
Danke für Hilfe  :)
margau

sth77

Für sowas nimmt man in der Regel I2C-Extender wie den P82B715. Den gibt es auch schon als fertiges Modul zu kaufen, du bräuchtest am Anfang und am Ende deiner langen Leitung jeweils 1 Stück.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

margau

Ginge das auch anders?
Weil ich hab so ca. jeden halben Meter en Mikrocontroller

volvodani

Bei der Konstellation würde ich einen RS485 empfehlen ist auch recht einfach zu implementieren dank Software Serial. Benötigt wird dann aber je ein SN75176 oder MAX 485. Wenn du  bidirektionale Kommunikation nutzten willst dann 3 Pin je Controller sonst nur 1!. Damti kannst du dann auch bis zu 1000m Linken.
Mal ein Link dazu
http://www.gammon.com.au/forum/?id=11428

Rick Gammon ist auch ein Arudino Forum Member.


Gruß
Der Dani
So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

margau

Wieviele Mikrokontroller kann ich da dranghängen? 128?
Und: Gibts dafür eine Libary mit der ich Strings versenden kann?
Software Serial ist UART, oder?

volvodani

Hier sind Treiber Spezifisch 32 Nodes angegeben es können aber nach meinen Erfahrungen auch mehr. Software Serial ist eben nicht die UART. Software Serial kann auf jedem Pin des Arduinos verwendet werden.
Übertragung byteweise aber wenn du als ASCII überträgst kannst du auch Texte senden.
Gruß
Der Dani
So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

volvodani

Hier noch ein älteres Beispiel von mir wo ich auch Tinys als Slaves habe.
http://arduino.cc/forum/index.php/topic,109050.0.html
Gruß
Der Dani
So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

margau

Gibts für das mit ASCII auch Libariys?

margau

Bekomm ichs auch hin, wenn ich das einfach mit Transistoren verstärke?

uwefed


Ginge das auch anders?
Weil ich hab so ca. jeden halben Meter en Mikrocontroller

Mit den P82B715 kannst Du nicht nur eine Punkt zu Punkt verbindung herstellen sondern auch den I2C Bus generel verstärken und somit bei jedem Arduino einen P82B715 hinzuschalten. siehe
Seite 7 Fig 6 bzw Seite 10 Fig 9  http://www.nxp.com/documents/data_sheet/P82B715.pdf

http://www.smacula.co.uk/2011/12/communicating-between-arduino-boards.html

Grüße Uwe

michael--g

Ich habe eine Sache mit einem I2C-Bus zu machen, wo das mit Master/Slave wichtig wäre.
Allerdings bräuchte ich Insgesamt 5-7m Länge. Wie würde das gehen?  :smiley-roll:

Guten Abend,

zwar leidet mein Projekt an unerklärlichen Schwankungen der Meßergebnisse, hat mit dem I2C, was ich zum Steuern des 7m weiter liegenden LCDs und Keypads einsetze, höchstwahrscheinlich aber nichts zu tun.
Bei mir funktioniert das LCD und das Keypad über ca. 6 m wunderbar ohne Verstärker.

Grüße
Michael

uwefed

Fordere Dein Glück nicht zusehr heraus  ;) ;) ;)
Wahrscheinlich hast Du ein Kabel erwischt, das eine kleine Kapazität hat.
Grüße Uwe

michael--g


Kabel erwischt, das eine kleine Kapazität hat.


Ein gutes vieraderiges Telefonkabel, "Rundes Telefonkabel 2x2x0,6mm²J-Y(ST)Y 4-adrig 50Meter" aus der Bucht.
Aber einen Verstärker werde ich ich sicherheitshalber einbauen - wenn ich die größeren Probleme mit den Schwankungen hinter mich gebracht habe.

Grüße
Michael

volvodani

Hier im Forum hat einer mal ein paar Tests gemacht.
Hier habe ich den älteren Thread:
http://arduino.cc/forum/index.php/topic,68367.0.html
Gruß
Der Dani
So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

neben dem I2C-Extender P82B715 gibt es auch noch den I2C-Buffer P82B96.
Der kann lt. Datenblatt bis zu 200m überbrücken. Braucht aber eine 12V Spannungsversorgung

Infos und Testplatinen hier:
I2C-Buffer P82B96.
http://www.horter.de/i2c/i2c-buffer/buffer_1.html

I2C-Extender P82B715
http://www.horter.de/i2c/i2c-extender/i2c_extender_1.html


Go Up