Salve ,ho capito bene come si applicano le resistenze pull up e mi pare di aver capito che esse hanno ,tra l'altro ,l'effetto di incrementare la portata di comunicazione i2c.
Sto eseguendo un sistema a 3 Arduino (1 master 2 slave) e ,premettendo che non posso aspettare tempi di consegna di eventuali integrati o shield che nella mia città sono introvabili ,volevo chiedere se qualcuno si è già imbattuto in mini reti simili e che resistenze ha applicato per farmi un idea di quali devo applicare io per avere una portata di una 20na di metri tra scheda e scheda.
I2C è un bus progettato per essere on-board, ovvero per far comunicare micro e IC sullo stesso PCB, non regge più di 50 cm.
Per distanze superiori, parli di 20 m, usa l'RS485.
Salve ,ho capito bene come si applicano le resistenze pull up e mi pare di aver capito che esse hanno ,tra l'altro ,l'effetto di incrementare la portata di comunicazione i2c.
Assolutamente no.
Le resistenze non incrementano la portata del segnale su I2C, ma servono solo a fornire la corrente necessaria ( 3-5mA ) dato che si tratta di una linea a collettore aperto.
mah... se è solo il cavo ad essere lungo una ventina di metri perche non usi un i2c bus extender?
tipo il p82b715 http://www.ti.com/lit/ds/symlink/p82b715.pdf
da datasheet dicono che ti permette di arrivare fino a 50m.
Accetto ogni soluzione ... a patto che sia in consegna per domani o Sabato se la ordino in mattinata, che sia completa e che magari si usi con librerie esistenti (non fondamentale) ...
leouz:
mah... se è solo il cavo ad essere lungo una ventina di metri perche non usi un i2c bus extender?
tipo il p82b715 http://www.ti.com/lit/ds/symlink/p82b715.pdf
da datasheet dicono che ti permette di arrivare fino a 50m.
4,5 euro su rs online, ma dubito che ti arrivi la roba per venerdi.
Lunedi invece ti arriva sicuramente, ma devi ordinare di corsa!
Si in effetti, leggendo il datasheet (http://www.ti.com/lit/ds/symlink/p82b715.pdf) ho visto che si può creare un super-bus a cui collegare tutte le periferiche.
Quindi con 2 slave + master servono solo 3 extender.
Interessante il link.
Nell'ordine metti anche le resistenze da 4.7Kohm e 470 ohm.
I diodi e lo zener sono opzionali.
P.S. il cavo deve essere a 4 poli: Lx, Ly, 5V e GND.
Come suggerito puoi usare del cavo Ethernet Cat 5.
praticamente quel chip crea un autostrada di i2c, i p82b715 funge da rampa di accesso
Nell'immagine dice che devi agigungere le due resistenze solo alle estremità del cavo (2 resistenze x 2= 4 resistenze da 470ohm )
e le normali resistenze di pull up del bus i2c in ogni spezzone (2 resistenze x 3 = 6 res da 4.7Kohm)
praticamente te hai 1 master con 2 slave
master ---|---->slave (con ANCHE 470ohm)
|--->slave (solo 4.7K)
praticamente nello slave di mezzo gli metti due connettori che danno direttamente al bus i2c buffered in modo da collegarci master e slave alle estremità.
Ok grazie 1000 ordine fatto !
tra l'altro ho scovato 3 xbee e 3 convertitori di livello logico ... così senza null'altro (mi pare di aver letto da qualche parte che ci vuole un programmatore prima) ,coi 3 arduino ci posso combinare qualcosa (eventualmente apro un altro topic)?