2db I2C busz lekérdezése egyszerre.

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
robsy
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. augusztus 23. szerda, 6:00

Hozzászólás Szerző: robsy »

Sok érdekes és hasznosítható ötletet olvastam eddig ebben a témában, egyet-kettőt fel is használnék.

Amire eddig azonban nem kaptam választ - vagy én nem találtam pontosan - az az I2C busz maximális használhatósága távolságban. Valaki kisérletezett már vele, hogy meddig lehet még megbízhatóan használni?

A gondom az, hogy az AVR-t több I2C perifériával tervezem összekötni - óra, hőmérő,buszbővítő - de ezek egyike-másika 10-15 m-re is van a procitól. Használható ez így, vagy kezdjek barátkozni már formával?
Kár lenne mert kezdek barátkozni ezzel, néha érthető is :lol: és erre a módszerre már szinte minden alkatrészem meg is van.

Van valakinek ilyen - hosszabb távolságra szóló - tapasztalata?
Avatar
robsy
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. augusztus 23. szerda, 6:00

Hozzászólás Szerző: robsy »

Bocsánat :oops: , most látom csak, hogy Robert szerint kb. 10m-ig jó eséllyel haználható az I2C. Ott azt is írod, hogy ki fogod próbálni koax kábellel és 20m-re. Működött? Ha igen - de ha nem akkor is - azt hiszem már rögzítem is a kábeleket a házam körül!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

I2C InterIC busz. A busz kapacitása határozza meg a távolságot. Sima szalagkábelen 10-12 méterig használtam, ekkor a lezáróellenállás 1.8K volt.

1K alá ne nagyon menjen a lezárás. Minden eszköznél 100nF szűrőkondi.
Ha hibázik, akkor a sebességet (config I2Cdelay=) vedd nagyobbra. A 10es érték 100kHzt jelent. Akár 10kHz-ig is lemehetsz...


De nagyobb távolságra az RS-485 való.
Master-Multislave módban.
Avatar
TyuTyu
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2005. június 5. vasárnap, 6:00

Hozzászólás Szerző: TyuTyu »

Robert írta: De nagyobb távolságra az RS-485 való.
Master-Multislave módban.
TyuTyu belevau:
meglesendo: P82B96 es alkalmazasai

szerintem levalasztani galvanikusan, meghajtani aztan mehet messzire

TyuTyu
Avatar
robsy
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. augusztus 23. szerda, 6:00

Hozzászólás Szerző: robsy »

Tyutyu tetszik az ötlet, de kishazánkban beszerezhető?

Amúgy azért gondoltam az I2C-re miután egy atmega8-hoz szeretnék kb. 6-8 eszközt - 3 hőmérő, 3 db. 8 bites bővítő, ora ic - csatlakoztatni, melyek különböző távolságokra vannak - 2 és 15 méter között - tőle. (Gyakorlatilag egy lakás kényelmi és biztonsági rendszerének a kezdeti, kisérleti stádiuma.) A 8 bites portbővítők aztán további egységeket - kapcsolók, mozgásérzékelők, stb - kezelnek. Gondoltam az I2C-vel kevesebb kábel, egyszerűbb kezelés.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Ha lakasvezerles, akkor I2C nem jo. A tovabbi bővíthetőség gátja. Nem kell nagy sebesség, így én a RS485-t ajánlgatom lelkesen:). Egyszerűbb, és a BenBusra keresve meg is van a protokoll, ki sem kell talűálni. én is ezt alkalmazgatom 8fejlesztáés alatt van a kütyü, és ezt néztem ki. Ha meg szabványossá akarod tenni, akkor arra otta MODBus protokoll, a fizikai réteg ugyanaz. az I2C esetén a zaj illetve az induktív részek bejátszanak, ez a RS485 esetén nincs.

Szóval ha lakásirányítás, akkor RS485re szavazok.
Avatar
TyuTyu
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2005. június 5. vasárnap, 6:00

Hozzászólás Szerző: TyuTyu »

robsy írta:Tyutyu tetszik az ötlet, de kishazánkban beszerezhető?
1, mennyi kellene ?
2, amiert en bizonyos helyekre I2C-t javasolok:
- neha nem kell tul okos periferia..... pl egy homeronek
(nem fagy le, felfuzheto, olcso)
3, RS485 (bar inkabb 422) mikor okosabb periferia kell

pl az en rendszerem a kovetkezo:
-1 db galvanikusan levalasztott RS232/RS485/RS422
-1 db galvanikusan levalasztott RS232
-1 db galvanikusan levalasztott I2C + meghajtas

az alap IO
- 15 db galvanikusan levalasztott kimenet (AC/DC 45V 150mA,
csatornak egymastol is elvalasztva. NEM RELE !)
- 15 db galvanikusan levalasztott bemenet (csatornak egymastol
is elvalasztva)
- 4 db galvanikusan levalasztott analog kimenet (0-10V 20 mA)
- 8 db galvanikusan levalasztott analog bemenet (0-10V)
(az analog csatornak egymastol nincsenek szigetelve)

egy CPU max 4 IO-t tud vezerelni, minden IO-n kulon tap,
de fel is lehet fuzni. Egy CPU-hoz SD + WIZNET

A rendszer tulontul "LEGO"-ra sikeredett, a kovetkezo verzio
"egykartyas" rendszer lesz, mert az ido nem igazolta, hogy igeny
lenne az ennyire "rugalmas" rendszerre.

En szeretem a levalasztasokat, mert egy csomo problematol kimel meg.
[tapasztalat]

Hat ugy hirtelen ennyi

TyuTyu
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Szép kis LEGO lett:).

Nálam tervben van hasonló, csak a falat nem véshetem a kábelekkel végig, így a rádiós modul fog játszani. Ez 50 m-t tud...

A chipet meglestem, de a 2. oldal szerint optokapu is ajánlott hozzá... Hát...
Ezt a leválasztást (hasonlót) az RS485 is ad, csak itt GNDfüggetlenül el lehet játszani. Az I2C esetén meg a GND közös...


A Wiznettel sok szívás volt? Nálam a végén egy RTL8019AS lesz benne, M32-vel megtámogatva. És ez I2C-re dolgozik alapban. A környezetben lévő - rövid ra levő - chipek I2Cn kommunikálnak, a távolabbiak meg RF-n.
Most már csak antenna kell, és 500 m átlövése is meg van oldva (garázs felügyelet, közterület felett átlőve).
A lakásban intelligens eszközök lesznek túlnyomórészt. Mozgásérzékelő, lámpakapcsoló (IRdetektor + alkonykapcsoló+óra). Szóval inkább intelligens modulokból áll a rendszer. a rendszermag mindben M8 vagy M16 lesz, és I2C-s EEPROM is lesz mellette, ha firmware frissítés kell. Bootloader íródik I2C alapon.
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Kicsit felhozom ezt a témát, mert mostanában énis a ház "automatizálásával" foglalkozom:)

Bár a hőmérők I2C-n lógnak, de minden más összekötés RS485-ön lesz, ill. a távoli dolgok RF-en...de akadt egy nagy probléma az RF-fel:

-Manchester kódolás nem megy :(
(Telecontrolli RF modulok)

Van valakinek valami hasznos progija erre Basicban (vagy C-ben is jó lenne)?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Van:


GetRC5 és SendRC5
Mintha tavirányitó lenne:).

Igy kell egy IC a vételre, és ha több kliens van, akkor nem szabad hogy egyszerre beszéljenek.
Minden oldalon kell adó+vevőnek lennie, így a nyugtázást meg tudják kapni.
Ha nem jön nyugtázás, minden kliensnek eltérő időt kell várnia. Én az I2c protokolt lesném le az adás+nyugtázás ügyében. A több adás egyidőben esetén a bejött csomag ha értelmetlen, akkor eldobom. 0,5-1 sec egy adóablak. Ennek N szamú többszörösét várja ki a modul, ha az adása nem nyugtázódott. Minden modul (kliens) egyedi N azonosítóval bír. A legkritikusabbb viselje a kisebb számot. Így a csomagütközés megúszható. Ilyen pl. az Arcnet protokoll azt hiszem. Csomag ki, figyelem a választ. Nem jött, akkor x ideig várok, és megismétlem. Remélehetőleg (N nem lehet 2 egyforma), és időszelet megfelelő méretére választással a köv csomag nem fog ütközni.
Esetleg kiadni m,inden modulnak, hogy adás előtt belehallgasson az éterbe, és a csendesség után N időszelettel beszélhet. Így van minden modulodra startjel, és nem tudnak egyműással szemben beszélni...
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Ez eszembe sem jutott, hogy a távirányítók is ezt használják 8)

Kösz szépen!

De jobban szerettem volna leprogramozni ezt, hogy "lássam", hogy mit csinál :wink:

Bár, ha más nincs, akkor ez tényleg nagyon jó lehet, igaz, már van egy távírányitó rajta (GetRc5-tel van az is), mert ez kényelmesebb, mint numerikus billentyűzetről vezérelni (az én numeriuks ps2/Usb-semet amugy sem akarta felismerni...).

Csak lassan új vezérlő panel kell, mert kinövöm lassan a Mega32-t is :cry:

Megyek is,s ki is probálom a GetRc5 es SendRc5-öt kisérleti panelen RF kommunikációra 8)
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Nem tudom miért, de nem megy :(

Pedig adóoldalon tiny2313+868Mhz-es Adó van (OC1A láb megy az adó bemenetére), vevőoldalon meg 868Mhz-es vevő van m16-tal, itt meg sokmindent nem ronthattam el, mert GetRc5-öt már használtam maskor is ,s akkor ment :cry:

Vevő kimeneten a felhúzó ellenállás sem maradt le....
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az RC5 36-40 kHz-s kapcsolojelet lehet, hogy nem tudja atvinni a modul?
Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00

Hozzászólás Szerző: norbi »

Most neztem at adatlapot, s ebben lehet valami :(

mert ennek a modulnak +/- 30Khz van megadva....

Pedig, ha mar megvannak ezek, jo lenne kitalálni ezekre valamit :oops:
Avatar
robsy
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. augusztus 23. szerda, 6:00

Hozzászólás Szerző: robsy »

Üdvözlet mindenkinek.

Eddig nem nagyon volt időm, így nem tudtam megköszönni a korábbi felvetéseimre a segítséget. Ismét aktívabbá tettem a lakásvezérlés projektet.
I2C jó lenne - kevésbé okos eszközök - de túl nagy a távolság, eddig mág nem sikerült stabillá tenni.
Rádiós - ugyanúgy szenvedek vele mint Norbi. Szinte biztos, hogy az én adó-vevőm sem viszi át az rc5-höz szükséges frekit. Erősen dolgozom egy egyéni progin.... ( Már csak azért is kellene, mert ez lenne az alapja egy udvari, részben önjáró fúnyíró robottal kapcsolatos vezérlésnek)

Igaza volt Robinak és Tyutyu-nak, kellenek olyan elemek is a házhoz melyek stabilabb és intelligensebb nagyobb távolsági kommunikációt valósítnak meg a központtal, így részben lesz RS485 :( . Ha nem zavarok a tapasztalatokkal gyakrabban jelentkezem. ( Ha van 5let az udvari robihoz, egy közös gondolkodásra vevő vagyok. Kezdeti képek már vannak, de lehet, hogy azt egy külön témában léne tárgyalni.)
Válasz küldése