Raspberry Pi2 probléma (vezetékhossz)

Sziasztok!

A következő lenne a probléma:
Adott egy meglévő raspberry pi rendszer, ezt kellene kiváltani pi 2-re valamint egy érzékelő csoportot (anyagnedvesség, páratartalom, hőmérséklet, villamos fogyasztás) kell beüzemelni.
Ezzel nincs is baj, a probléma ott van hogy az érzékelőket 40-45m távol kell elhelyezni.
Van valakinek hasonló tapasztalata?
i2c alapon nyugszik a jelenlegi megoldás, esetleg bus buffer ic beépítés segíthet a dolgon?

Hozzászólások

Nem segíthet, hiszen az i2c huzalozott VAGY kapcsolatot valósít meg. Lefelé aktívan húzzák a vonalat, felfelé viszont felhúzó ellenállás húzza mind az SDA, mind pedig az SCL vonalakat. A nagy kábelhosszal viszont nő a kapacitás, meg persze a zavarérzékenység. Na jó, ez pongyola megfogalmazás volt tőlem. Nem az érzékenység nő, hanem a felszedett zaj lesz elviselhetetlenül sok. Ekkora távra valami más kell, például áramhurok, RS485, effélék. Szimmetrikus vonal kellene.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az I2C esetén a specifikáció a vezeték max. kapacitására felső korlátot tartalmaz, és ez elég szerény (400pF), ami a gyakorlatban inkább a pár 10 centiméteres kategóriában tartható, több méterre már nem igazán. Egy sima meghajtóval eleve nem is tudsz mit kezdeni, merthogy kétirányú az adatvonal - ha nincs clock stretching, mert ha van, akkor az órajel is az. Az I2C-re vannak busz összekötő IC-k, a gond ott lenne, hogy kéne kb. fél méterenként egy... szóval ez teljesen irreális.

Ekkora távolságon amúgy már a single-ended átvitel is kezd necces lenni, nemhogy az ilyen felhúzóellenállásos játékok. Én elsőre valami RS422/485-ben gondolkodnék, persze ez azt jelenti, hogy a vonal másik végére kell egy informatikai szempontból aktív eszköz (pl. egy mikrokontroller).