Prakticka otazka - jaky zvolit kabel a konektory/svorky pro domaci rozvod 1-wire sbernice? Doporucili byste neco?
Asi bych pouzil nejakou 4-pinovou kroucenou dvojlinku (drat) pro rozvody (1-wire data, 1-wire zem, napajeni, zem), v miste, kde bych chtel dat teplotni cidlo, bych rozvod prerusil a napojil cidlo s pripravenou koncovkou pomoci dvou 2x4 svorkovnic (uplink a downlink). Pokud by se pouzily nejake miniaturni svorkovnice (a ne bezne elektrikarske dimenzovane na 250 V), tak by to ani nemuselo byt moc obludne. Mate nekdo nejaky elegantnejsi navrh?
Vzhledem k tomu, že jde o CMOS s malým odběrem, tak na víc jak 2-3m bych to nepouštěl. Asi bych použil Energy Bus (http://ebus.webhop.org/twiki/bin/view.pl/EBus/WebHome) nebo něco podobnýho. Na 1-wire bych se hodně bál rušení a MaR musí být spolehlivá.
Fyzická vrstva a MAC: http://ebus.webhop.org/twiki/pub/EBus/EBusDoku/Spec_Prot_12_V1_3_1_E.pdf
Aplikační vrstva:
http://ebus.webhop.org/twiki/pub/EBus/EBusDoku/Spec_Prot_7_V1_6_1_E.pdf
1-wire sběrnice s pull-up a terminátorem funguje na 100 metrů, vyzkoušeno, UTP kabel stačí Cat 3, konektory 4-pinové na telefonní sluchátka.
Pokud na sběrnici bude cokoliv s větším odběrem, pak s 1-wire ani nezačínej. Na domácí automatizaci je nejvhodnější čtyřdrát napájení + RS485, na každém uzlu malý MCU třeba AVR. Důvodem jsou úbytky napětí na GND, které po dosažení 0,7-0,8 V znemožní komunikaci na 1-wire a řeší se to blbě.
Nebo uLan (nad RS485), ja osobne s nim zkusenosti nemam, ale ridi nejake rodinne domy >15 let a mnoho zemedelskych provozu (to k te domovni automatizaci, jinak je taky docela popularni v labech). Nic jsem s tim (zatim) nedelal, ale podpora je celkem dobra, od PMD-85 po aktualni widle.
Slabina RS485 pro tyhle účely je <b>fyzická vrstva</b>
Je to kroucená dvojlinka, na které se při vysílání mění polarita. V neaktivním stavu je vysílač zakázaný a lajnu drží pullup/pulldown.
Co se stane, když začnou vysílat dva moduly najednou?
Co se stane, když mezi nima bude řekněme 100m kabelu a pět dalších prvků? Poznají vysílající kolizi, nebo na svým segmentu bude každý tlačit svou hodnotu?
Co bude na sběrnici, když jedno zařízení bude tlačit nulu a druhý jedničku?
Pokud má 485ka jet spolehlivě, tak potřebuje
a) Master, který se ptá ostatních, jestli mají co říct a při výpadku uzlu aplikuje timeout s přechodem na další. Právo vysílat má jenom master nebo po omezenou dobu jednotka, která je právě oslovená. Při chybě masteru jde systém do kytek.
b) Token ring, kde si podle pořadí jednotky předávají právo vysílat. Tam musí být vyřešeno, jak vyhodit ze systému mrtvou jednotku v rozumným čase...
Navíc je tam periodický probouzení všech procáků a non-stop traffic...
Efektivnější bývá CSMA/CD, ale na fyzickou vrstvu RS485 to nejde aplikovat.
Proto mám raděj CAN, do mailboxu se hodí zpráva a koho zajímá, tomu spadne do jeho mailboxu 1:1 a jenom přijde přerušení... Periferka říídí přístup k médiu, kontroly, prioritizaci zpráv,...
> UTP kabel stačí Cat 3, konektory 4-pinové na telefonní sluchátka
Je pravda, ze RJ11 by byla asi dobra volba, ale je otazka, zda jsou snadno k sehnani protikusy, ktere by se daly snadno a pevne uchytit k pigtailu vedouciho od senzoru.
> Pokud na sběrnici bude cokoliv s větším odběrem, pak s 1-wire ani nezačínej. Na domácí automatizaci je nejvhodnější čtyřdrát napájení + RS485
1-wire bus bych pouzil jen na existujici jednosoucastkove senzory od Dallasu.
Kazdopadne ma puvodni otazka je uplne stejna, at uz na datovych pinech bude 1-wire nebo RS485.
Kabel ponecháte stejný, UTP Cat 3, případně podle odběru na VCC.
Konektory zde:
http://www.ges.cz/cz/meb-4-4-GES06615317.html
http://www.ges.cz/cz/mebp-4-4s-GES06600730.html
http://www.ges.cz/cz/mp-4-4-GES06600688.html