I2C kabellengte vraagje

Plaats reactie
bart
Berichten: 39
Lid geworden op: do jan 23, 2020 1:24 pm

I2C kabellengte vraagje

Bericht door bart »

Knutselprojectje.

Twee locaties, op de ene staat een pc met USB poort, op de andere wil ik temperatuur meten. Bonuspunten voor wie luchtvochtigheid en luchtdruk ook weet mee te nemen. Afstand tussen twee locaties is ongeveer 10 meter, waarvan een aanzienlijk deel beton.

Momenteel gaat de data-overdracht draadloos (433MHz), maar dat werkt tamelijk beroerd, mede door de hoeveelheid beton. Idealer lijkt een bedraadde verbinding.

Stel dat ik een bmp280 via een 10 meter lange kabel aan een arduino hang, werkt dat dan? I2C is bedoeld voor korte afstanden - cm range - maar als de bus frequentie zo laag mogelijk wordt gezet, wat is er dan mogelijk? Als die bmp280 eens per minuut z'n temperatuur doorgeeft is dat prima.

Wie heeft hier ervaring mee?
Gebruikersavatar
vi coactus
Berichten: 228
Lid geworden op: zo jan 19, 2020 12:02 pm

Re: I2C kabellengte vraagje

Bericht door vi coactus »

Iic is inderdaad inter ic.
Ik heb enkel ervaring met iic tot zo'n drie meter. Je moet eigenlijk het signaal omzetten naar rs458 als ik het juiste nummer onthouden heb. Dat kun je dan weer omzetten naar 232 en aan zo'n seriele converter hangen. Of converter die het direct aankan.
Meerdere sensoren geen probleem, heb er zelf ook meerdere aanhangen, temperatuur, luchtdruk en luchtvochtigheid dacht ik.

Overigens gaat het niet om de samplefrequentie bij langere afstand, maar de datasnelheid.
Gebruikersavatar
vi coactus
Berichten: 228
Lid geworden op: zo jan 19, 2020 12:02 pm

Re: I2C kabellengte vraagje

Bericht door vi coactus »

Er bestaan btw ook kant en klare converters.
bart
Berichten: 39
Lid geworden op: do jan 23, 2020 1:24 pm

Re: I2C kabellengte vraagje

Bericht door bart »

Dank, RS485 staat kabellengtes van meer dan 1000 meter toe, dat klinkt goed. Blijf ik nog ff modderen met de conversie van I2C naar RS485. Lijkt geen eenvoudige oplossing voor te bestaan.

In dat geval klinkt een sensor met een RS485 aansluiting logischer want dat scheelt een conversieslag. Heb d'r twee gevonden die oké lijken:
* https://www.amazon.com/Temperature-Humi ... B07L15QYVC
* https://webshop.domoticx.nl/index.php?r ... ct_id=3114

Beide doen ook luchtvochtigheid.

Op Ali staan barometers voor hele schappelijke prijsjes, dus als bovenstaande werkt, blijft er nog wat leuks over.
Gebruikersavatar
vi coactus
Berichten: 228
Lid geworden op: zo jan 19, 2020 12:02 pm

Re: I2C kabellengte vraagje

Bericht door vi coactus »

bart schreef: do aug 13, 2020 3:12 pm Dank, RS485 staat kabellengtes van meer dan 1000 meter toe, dat klinkt goed. Blijf ik nog ff modderen met de conversie van I2C naar RS485. Lijkt geen eenvoudige oplossing voor te bestaan.

In dat geval klinkt een sensor met een RS485 aansluiting logischer want dat scheelt een conversieslag. Heb d'r twee gevonden die oké lijken:
* https://www.amazon.com/Temperature-Humi ... B07L15QYVC
* https://webshop.domoticx.nl/index.php?r ... ct_id=3114

Beide doen ook luchtvochtigheid.

Op Ali staan barometers voor hele schappelijke prijsjes, dus als bovenstaande werkt, blijft er nog wat leuks over.
Zo'n converter kost ook geen drol kant en klaar. Werkt op hetzelfde principe, twee differentiele paren. Eerste die ik tegenkwam sloot je gewoon aan via een cat x kabel aan.

Ik heb zelf eens een converter naar RS485 gemaakt, maar werkte dacht ik niet helemaal lekker. Heb de ic's er nog wel voor liggen ergens.

Ik had luchtdruk, temperatuur en luchtvochtigheid, maar wilde ook nog iets voor licht doen en gevoelstemperatuur.

Dat laatste staat op m'n projectenlijstje om het op de ouderwetse manier te doen, met de natteboltemperatuur. En dan ook de gevoelstemperatuur bepalen.
pascal
Berichten: 174
Lid geworden op: za jan 18, 2020 9:36 pm

Re: I2C kabellengte vraagje

Bericht door pascal »

I2C is eigenlijk bedoeld voor communicatie tussen chips onderling, dwz communicatie op een PCB.
Oorspronkelijk was het bedoeld voor gebruik in televisie toestellen, teletext decoders, kanalenkiezers, afstandbediening en zo.
Later gebruikten steeds meer fabrikanten het protocol (met de nodige problemen tot gevolg).
Al met al is I2C beslist niet bedoeld om afstanden van meer dan een meter af te leggen (en dat is eigenlijk al heel tricky)
Zelfde limitaties heb je overigens ook met SPI, genoeg elende mee gehad.
Vivo ergo onus
Plaats reactie