Forum
@bery V první řadě si sežeň osciloskop a mrkni se přímo na 1wire sběrnici, jak vypadají data ... třeba jen padá napětí 5V, nebo je to jinak zatížené (oblé hrany signálů apod.). Poté bych radil odpojit úplně vše a začít připojovat jeden po druhém vždy na nějakou dobu.
Vylučovací metodu jsem zkoušel, chová se to tak jak popisuje kolega o pár příspěvků výše. Odpojím, připojím všechno a třeba týden až měsíc to pojede.
Osciloskopem se na to mrknu.
Občas se mi stávalo že se čidla začala nekontrolovatelně sama ohřívat, to trvalo třeba 30 minut, čidla během této doby nedávala žádná data. Jakmile dosáhla dle termokamery teploty zhruba 100°C, tak se tohle všechno samo opravilo, čidla naskočily a bylo po problému, zase na chvíli. To je asi věc, která mě zaujala nejvíce 🙂
A to cidlo co sa hreje potom zase funguje a dava teploty? Mne raz cinan predal namiesto dallasov nejake pnp tranzistory, robilo to presne co pises - hrialo sa to ako svina (a logicky to nefungovalo nikdy ako cidlo 🙂 ). Smerujem k tomu ci ti nekurvi zbernicu prave nejake jedno taketo falsum.
Dlouhou dobu (cca 10 let) používám senzory DB18B20 z obchodu na adrese: https://www.neven.cz/ jsou tam i jiné dobré součástky,
nebo od pana Stehlíka https://teploty.info/cidla.html
Do podlahy (beton, pod parkety, pod dlaždice ......) je dávám 2x skoro vedle sebe. Jednou jako rezervu a doposud jsem jí nemusel použít. ? Šetřit na nich se nevyplatí.
Musím zaklepat na dřevo, ale mě zatím 1-W běhá v pohodě. V minulosti jsem měl taky problémy (souběhy se silovkou a rušení hlavně od 230V triaků, špatná topologie u jednoho čidla), ale aspoň v mém případě se to povedlo ošetřit v Arduino programu (přidal jsem opakované čtení dat ze senzoru, periodické skenování sběrnice po vypadnutých a znovu se objevivších čidlech). Aktuálně mám cca 11 čínských čidel na 3 sběrnicích. V rezervě mám i několik pravých, ale zatím jsem je vyměňovat nemusel. Skeč je tady:
https://github.com/budulinek/Arduino-multiple-sensors-UDP
Hmm, ale koukám, že radkovi to asi vypadává i na mém skeči, tak to už pak nevím...
Na testování a ověřování pravosti čidel můžete zkusit
https://github.com/cpetrich/counterfeit_DS18B20
Nemá někdo pánové zkušenosti s rušením? Mám celkem 2 větve na 1-W a když chci připojit třetí (i jenom drát bez senzoru), tak mi 1-w začne hlásit chybu. Stačí i jenom +5V větev jednom a už to nejede. Používám momentálně Arduino podle návodu na wiki.
Na posledním školení Loxone (min.týden) hodně zmiňovali údajně správné zapojení 1-wire, a sice na twisted pair kroutit data a GND! a napájení vést vedle. Bylo to zmiňováno často, z více stran (i zkušenější montážníci z praxe) - osobně nedokážu posoudit. Mě instalace 1-wire teprve čeká, ovšem nechce se mi obětovat samostatný CATxx kabel jen pro tuto sběrnici. Koupil jsem kroucenou dvoulinku spolu se stíněním a s ním spojeným samostatným neizolovaným vodičem (doporučeno pro RS485 apod.) ale pokud je to pravda, buď musím změnit kabel NEBO zapojit data a (+) do TP a zem na stínění podle původního plánu (a kašlat na doporučení) NEBO zapojit dle doporučení a stínění+napájení na (+), což se mi moc nechce...
1-wire je obecně hodně náchylný na rušení
Mě překvapuje, že stačí připojit jenom jeden drát, bez čidla, a už to nejede. Podle toho kterej drát zapojím to buď hlásí error na čidlech nebo to nejede vůbec. Odpojil sem všechno ostatní a nechal tam jen 1-W.
Jojo, s rušením 1-wire mám bohaté zkušenosti.
Návod na wiki je trochu starý, zkus toto:
https://github.com/budulinek/Arduino-multiple-sensors-UDP
Hardware:
- každou sběrnici na samostatný data pin Arduina
- na jednu sběrnici kolik chceš senzorů, DATA doporučuji za sebe (ne do hvězdy)
- GND a 5V samozřejmě můžou být ve kvězdě
- pull-up rezistor mezi 5V a DATA, musíš zkusit co zafunguje, může to být mezi cca 1k a 4k. Já jsem si tam dal 1k odpor + 5k potenciometr a šteloval jsem potenciometr.
Software:
- V configu povol 1-wire odkomentováním #define ENABLE_ONEWIRE
- do Arduina IDE doinstaluj knihovny:
- v configu si nastav síťové parametry
- a piny, na které 1-wire sběrnice připojuješ.
U mě funguje skvěle i v brutálně zarušeném prostředí (souběhy 1-wire se silovými kabely, rušení od triaků atd atd).
nechce se mi obětovat samostatný CATxx kabel
Cat5e v mědi stojí pár korun, podle mě se to vyplatí. Lepší než vymýšlet kombinace různých kabelů.
Mimochodem, nakonec zjistíš, že ke každému 1-wire senzoru potřebuješ 4 žíly.... Data tam.... a data zase zpátky. Tady je to dobře nakreslené. Kabely natažené do hvězdy, ovšem čidla propojená za sebe, na jednu dlouhu sběrnici. Přesně tak to mám napojené, akorát odpor jsem občas musel použít i slabší než 4k7 (viz ten můj potenciometr) a na konci nemám tu diodu:
EDIT:
Stejné zapojení (tj. data ke každému senzoru .... a data zase zpátky od každého senzoru, aby se dodržela sběrnicová topologie) používá i Unipi, blíže viz:
https://kb.unipi.technology/cs:automation:02-glossary:1wire-hidden
(nevím proč, ale link nefunguje...)
V Unipi doporučují stíněný FTP Cat6, ale jak jsem psal, stačí i nestíněný UTP Cat5e. S chybami při čtení se dá efektivně vypořádat na SW úrovni. Prostě pokud data nedorazí kvůli ručení (nebo dorazí chyba), Arduino vyšle (se zpožděním v řádu stovek milisekund) nový požadavek. Viz ten můj github. Já mám ONEWIRE_MAX_RETRY 5 (tj. 5 opakovaných pokusů, pokud data kvůli rušení nedorazí) a bohatě to stačí....
1-wire senzoru potřebuješ 4 žíly.... Data tam.... a data zase zpátky
Tuto este otazka, ked pouzijes dva pary tak ako pouzijes vodice pre data ?
Jeden par data tam a spat , alebo jeden twist s Gnd a druhy s +5V.
Možná to má vliv, ale já jsem to neřešil. Použil jsem žíly, které jsem měl volné.
Data tam a data zpátky mám každý na jiném páru, ale jak říkám, neni v tom úmysl.
Ja sa tomu ze pripojenie prazdnych vodicov k 1wire rozbije celu zbernicu vobec nedivim. Zmenis impedanciu, budu tam odrazy atd... Mas tam pullup rezistor?
Hmm, máš pravdu. Koukám na Unipi a tam to mají takto:
Takže data tam a zpátky jsou vždy v páru s GND. Celkem teda využívají šest žil z osmi.

