längsta kabel givare i2c

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17770
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

längsta kabel givare i2c

Inlägg av grym »

har en sak som stör mig med esp32 och givare, att dom slutar fungera och behöver ha en norsk reset

i2c har jag nu

skulle vilja ha några meter kabel, har använt 4 ledad givarkabel för induktiva givare 4x 0.32 om jag mins rätt
givarna går in plåtskåp som gör att man inte kan ha esp32 med korta kablar

förslag på lösning?

i värsta fall får man gå på analoga givare som tål långa kablar
Användarvisningsbild
Xyzzy
Inlägg: 1289
Blev medlem: 30 januari 2004, 22:31:07
Ort: Uppsala, Sweden

Re: längsta kabel givare i2c

Inlägg av Xyzzy »

Hur ser data och klockan ut?
Provat med andra pullup på dessa signaler, hur ändrar sig flanker etc?
Provat dra ner hastigheten på bussen?
Användarvisningsbild
Icecap
Inlägg: 26781
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: längsta kabel givare i2c

Inlägg av Icecap »

I2C har ju aldrig varit ämnad att dra utanför kretskortet så man FÅR räkna med problem om man gör det.

Men det ska vara möjligt att monitera status och se om någon enhet på bussen inte svarar eller liknande och kanske ha en timeout som återställer bussen till start - och såklart skickar en STOP strax innan återställingen.
Skogen
Inlägg: 984
Blev medlem: 5 januari 2013, 22:50:34
Ort: Alingsås

Re: längsta kabel givare i2c

Inlägg av Skogen »

Jag har max en halvmeter kabel med i2c, redan vid 1 meter kan det bli problem.
Finns säkert bra sätt att lösa det men det är över mina kunskaper.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 15841
Blev medlem: 16 april 2006, 17:04:10

Re: längsta kabel givare i2c

Inlägg av mrfrenzy »

Sitter det några pullup-resistorer vid master eller slaven?

De som är inbyggda i esp32 kan ha för hög resistans vid längre ledningar. 2-4k är lagom.
Castor
Inlägg: 2198
Blev medlem: 24 mars 2012, 13:03:49

Re: längsta kabel givare i2c

Inlägg av Castor »

Det finns en krets, P82B715 som kan förbättra. Jag tipsade mannen med anläggningen på en ö (i Finland tror jag) för rening av vatten.
Såvitt jag förstår fungerar det bra, hur långa ledningar han har vet jag inte, men han kanske läser och svarar annars får du väl försöka
hitta tråden och kontakta honom.
hawkan
Inlägg: 3739
Blev medlem: 14 augusti 2011, 10:27:40

Re: längsta kabel givare i2c

Inlägg av hawkan »

Tur jag inte var medveten om längdbegränsningar. Jag har flera meter mellan skåp och plasmaskärare. 400 kHz utan problem. Mäter bågens spänning och tar in det med i2c.
I mina öron låter det märkligt att det skulle vara så känsligt. Lagom pullup motstånd och isolerat visserligen (foto dioder)
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17770
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Re: längsta kabel givare i2c

Inlägg av grym »

hsr pullup, ska kolla med skop om man ser något

började kolla om att sänka hastigheten men strulade, får kolla på det igen

har provat med 2 pullup 4.7k , en i varje ände
hawkan
Inlägg: 3739
Blev medlem: 14 augusti 2011, 10:27:40

Re: längsta kabel givare i2c

Inlägg av hawkan »

Kan prova med t ex 2kOhm. Läste just en text från TI om att beräkna pullup värden.
https://www.ti.com/lit/pdf/slva689
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17770
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Re: längsta kabel givare i2c

Inlägg av grym »

Castor skrev: 17 september 2025, 22:40:04 Det finns en krets, P82B715 som kan förbättra. Jag tipsade mannen med anläggningen på en ö (i Finland tror jag) för rening av vatten.
Såvitt jag förstår fungerar det bra, hur långa ledningar han har vet jag inte, men han kanske läser och svarar annars får du väl försöka
hitta tråden och kontakta honom.
den var intressant

beställde 10st så jag kan prova :tumupp:
Användarvisningsbild
manicken
Inlägg: 96
Blev medlem: 10 februari 2006, 14:20:59
Ort: DEGEBERGA

Re: längsta kabel givare i2c

Inlägg av manicken »

ddc är ju i praktiken i2c och man kan ju ha 10 meter hdmi kabel, så fungerar gör det ju även för långa avstånd men hastigheten är då max 100khz
Användarvisningsbild
MiaM
Inlägg: 13715
Blev medlem: 6 maj 2009, 22:19:19

Re: längsta kabel givare i2c

Inlägg av MiaM »

Vet inte hur givarkabel ser ut, men allmänt så kan det vara värt att prova att använda nätverkskabel och använda ett tvinnat par för jord+klocka och ett annat tvinnat par för jord+data, och laborera med olika klockfrekvens. Typ öka till det slutar funka, och sen välja en bit under detta, med tillräcklig marginal. (typ nånstans mellan halva och en tiondel av frekvensen då det slutar funka, kanske?). Använd de två sista paren för jord och +5V, alltså jord och +5V på varsin ledare i varje par.
Användarvisningsbild
4kTRB
Inlägg: 21588
Blev medlem: 16 augusti 2009, 19:04:48

Re: längsta kabel givare i2c

Inlägg av 4kTRB »

Analog Devices har också en lösning för upp till 100m kabel. https://www.analog.com/en/resources/des ... 8e17.html
CircuitMike
Inlägg: 1
Blev medlem: 8 december 2025, 11:58:18

Re: längsta kabel givare i2c

Inlägg av CircuitMike »

Som hawkan nämnde handlar mycket om att hitta rätt pullup-värde för din specifika kabellängd och kapacitans.

Problemet med längre kablar är att kapacitansen ökar (ca 50-100 pF/meter för typisk kabel), vilket gör att stigtiderna blir för långa om pullup-motståndet är för högt. Med 4.7k och några meter kabel kan du lätt hamna över I2C-specens max 300ns stigtid vid 400kHz.

För att räkna ut lämpligt pullup-värde behöver du veta:
- Total buskapacitans (kabelkapacitans + enheternas interna kapacitans)
- Önskad stigtid
- Max strömkapacitet hos drivarna

En tumregel är att pullup bör vara tillräckligt lågt för att ladda buskapacitansen inom tillåten stigtid, men tillräckligt högt för att inte överbelasta drivarna (typiskt max 3mA sink).

Det finns en bra I2C pullup-kalkylator där du kan mata in din kabellängd och få fram lämpliga värden direkt.

Med flera meter kabel skulle jag börja med 1.5-2.2k pullup och köra på 100kHz istället för 400kHz. Sänker du hastigheten får du mer marginal på stigtiderna.
JanErik
Inlägg: 3206
Blev medlem: 11 februari 2008, 17:15:58
Ort: Vasa, Finland

Re: längsta kabel givare i2c

Inlägg av JanErik »

Ungefär två meter har jag nog haft utan problem, tvinnade par ur en CAT5. Med AM2320 temperatur/fuktighetssensor. Inga pullups och default hastighet i Arduino ESP32.
Skriv svar