2 Arduino pratar I2C

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
rolex42
Inlägg: 523
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

2 Arduino pratar I2C

Inlägg av rolex42 »

Har precis lyckats få 2 Arduino Duemilanove att prata I2C över "vanlig" ethernet-kabel.
Tänkte försöka komma upp i närmare 10 m så jag kan hämta data från solcells-experiment på vinden.
Jag har proto-shields med RJ45 kontakt. Vad jag vet finns ingen standard för I2C med RJ45, så jag har kopplat pin 3 GND(SCL), 6 SCL, 7 SDA, 8GND(SDA).
Jag använder cat5 UTP kablar. Jag har ingen pull-up som bla diskuteras här och här
3 m fungerar men inte 4 m och längre.

Provade med pull-up (6k ohm & 5V) på ena proto-shield och då fungerar min längsta kabel på 15 m.
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7310
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

Re: 2 Arduino pratar I2C

Inlägg av 13th.Marine »

Då enheterna är anslutna Open Collector så behöver du Pullup- motstånd.
Storleken på dessa beror på Buskapacitansen och hastigheten.
I ett projekt jag jobbade i hade vi 4k7 motstånd vid Masterenheten och 8k2 vid slavenheterna.
Användarvisningsbild
Icecap
Inlägg: 26801
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: 2 Arduino pratar I2C

Inlägg av Icecap »

Med 10m kabel kan det komma "intressanta" störningar. Att inte ha lite drivning/filter mellan är rent av dumt, på något tidpunkt kommer endera eller båda att bränna av.

Jag har som regel att en processorpinne aldrig får lämna kretskortet utan skydd!

Mest undrar jag: varför inte köra RS485 och en UART? Skulle något eldas upp blir det att byta drivkretsen, inget mer.
JustNeed
Inlägg: 799
Blev medlem: 7 november 2007, 22:07:01
Ort: 08

Re: 2 Arduino pratar I2C

Inlägg av JustNeed »

Ballt att det funkar på 15 m.
Jag gissar på att anledningen till att det inte finns en standard för RJ45 är för att i2c är avsett att användas på betydligt mindre avstånd (typ inom kretskort).
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7310
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

Re: 2 Arduino pratar I2C

Inlägg av 13th.Marine »

"Inter integrated circuit" =)
rolex42
Inlägg: 523
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Re: 2 Arduino pratar I2C

Inlägg av rolex42 »

RS232 (UART) är troligen ett bättre alternativ än I2C, men jag har inte sett så många exempel där man kör seriellt med Arduino eftersom man ofta har datorn ansluten (Arduino USB går ju på samma pinnar).
Hittade denna där det bla står "when multiple serial connections are necessary". Det blir en hel del "strulig" programmering här...
Om man nu går vidare med detta kanske man kan skydda Arduinon med 100 ohm på utgången och få en tillräckligt säker lösning.
Användarvisningsbild
polmanswe
Inlägg: 676
Blev medlem: 18 augusti 2011, 20:00:57
Ort: Uppsala / Hargshamn

Re: 2 Arduino pratar I2C

Inlägg av polmanswe »

Du kan få köpa 2 rs232 till fiber + fiber av mig istället ;-)
Användarvisningsbild
Icecap
Inlägg: 26801
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: 2 Arduino pratar I2C

Inlägg av Icecap »

rolex42: "skydda Arduinon med 100 ohm på utgången och få en tillräckligt säker lösning"
Tillåt mig att skratta rått och högt! Ska du dra ut kabeln 10m+ är 100 ohm helt och totalt likgiltig och utan verkan!

Du kan dock montera lite transistor osv. mellan enheterna och få ett skapligt skydd men det ska en del omtanke till.

Men jag tackar dig, nu har jag ytterligare ett argument att hålla mig borta från Arduino.
Borre
Inlägg: 4618
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: 2 Arduino pratar I2C

Inlägg av Borre »

Å vad har Arduino med att göra vad rolex42 anser (eller tror, du vet "kanske...") fungera?
För övrigt, trevlig attityd...
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: 2 Arduino pratar I2C

Inlägg av Micke_s »

82b96 funkar 20m enligt NXP, I2c bus extender.
Rs485 kommer du nog billigare undan. Halv duplex så blir det lika många trådar som i2c, jorden måste du ha mellan enheterna.
Användarvisningsbild
Icecap
Inlägg: 26801
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: 2 Arduino pratar I2C

Inlägg av Icecap »

Borre: 100 ohm kommer inte att ge något skydd alls!
Och ju mer jag läser om Arduino och alla underversioner det tydligen finns, ju mer blir jag övertygad om att de mest är en upphottat basic stamp. I början tyckte jag faktisk att de kanske kunde vara ett vettigt alternativ till vissa saker...
Borre
Inlägg: 4618
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: 2 Arduino pratar I2C

Inlägg av Borre »

Det har jag inte sagt heller. Jag frågar vad det har med Arduino att göra eftersom du ser det som ett argument att hålla dig ifrån Arduino. Men det var väl bara vanligt "kasta skit på Arduino"...
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: 2 Arduino pratar I2C

Inlägg av PHermansson »

Arduino är ju bara en AVR med ett särskilt IDE och ett gäng mjukvarubibliotek. Ok, det finns en kondensator extra i reset-kretsen, men det är den enda skillnaden mot ett vanligt Atmega-bygge.
I övrigt håller jag med om RS485. Softwareserial för att ha flera serieportar är inga konstigheter. Det går även att ha en MAX485 inkopplad på den vanliga serieporten samtidigt som det är kopplad till datorn via RS232/USB-adapter.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47721
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: 2 Arduino pratar I2C

Inlägg av TomasL »

Som info har Philips lite Appnotes där man kör I2C på 2 km.
rolex42
Inlägg: 523
Blev medlem: 11 augusti 2009, 17:12:49
Ort: Uppsala

Re: 2 Arduino pratar I2C

Inlägg av rolex42 »

Men vad innebär
MAX485 inkopplad på den vanliga serieporten samtidigt ...
i praktiken då?
Eftersom jag använder Serial Monitorn för debugging antar jag det som skickas på kabeln blir det jag ser på monitorn?
Skriv svar