Stránka 1 z 2
Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 07:51
od Pacok
Zdravim vospolok.Mam uz asi pat rokov Arduino Mega + dotykovy display + Rtc.Ked som mal na zaciatku dva cidla ds18b20 islo vsetko ok.A teraz ked som pridal tretie,ktore je asi 10m daleko vedene po utp kabli tak sa stava ze sa pomiesaju adresy cidiel a spina mi solarny panel .Kod teraz nemam no musel som dat casovac kedy nacita cidla,kedze nepotrebujem rychlost.Bez toho casovaca mi nesiel display.nerobi to pravidelne.Ako sikovne softwerovo tomu zabranit?Vdaka
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 12:39
od ondraN
Tak na to bych nepotřeboval jednu, ale dvě křišťálové koule. Tou první bych si na dálku prohlédl Tvůj kód a tou druhou hardware. Myslíš, že ti je někdo schopen poradit bez detailní znalosti obojího?

Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 13:18
od jankop
ondraN píše: ↑13 říj 2020, 12:39
Tak na to bych nepotřeboval jednu, ale dvě křišťálové koule.
To já vím přesně, co tomu je.
Je to pokažený! 
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 13:47
od pavel1tu
Dej sem kod, zapojení 3 vodič, nebo parazirní napájení, délka vedení ?
při více čidlech je musíš vyčíst jakoumají adresu - ideálně po jednoma označit si je,
pak je vyčítat přímo dle adres - po jednom
když je vyčítáš hromadně a netřídíš dle adres, může se stát, že když jedno neodpoví, vyčtené hodnoty se srovnají v jiném pořadí - jakoby se zamění.
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 13:57
od Pacok
Vsetky tri cidla su rovnake zapojene su vsetky tri vodice.dva z nich mam dlho a su zapojene 1m kablom takze isli pat rokov bez zavad.no teraz som doplnil tretie tiez vodotesne rovnako no je daleko vonku asi 10m.Pouzil som utp kabel.pokial som pouzival tretie cidlo s druhym sli ok.A teraz ked sa uz pouzivaju dokopy tri miesaju sa hodnoty.Kod dam vecer ked pridem z roboty.
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 14:22
od kiRRow
I2C sběrnice je původně určená ke komunikaci zařízení na jedné DPS do vzdálenosti max 30cm. U I2C sběrnice nikdy nepoužívej kroucený pár (vem třeba hnědý a modrý), nikdy nezkrucuj páry dohromady aby jsi získal větší průřez. Použíj nekroucený stítněný kabel, kde stínění na straně arduina zapojíš na GND na druhé straně se nezapojuje nikam. A to vše jen za předpokladu, že každý senzor má svou vlastní jedinečnou adresu. Na větší vzdálenosti se používají jinačí protokoly ... RS232 do 15m, RS485 do 1,5km (tenhle zrovna vyžaduje kroucený pár) ...
Další věc ... většina těhle modulů má na sobě pull-up rezistory. Máš je tam pak 3x ... ale měly by být jen jednou. Je třeba ty odpory z těch modulů dát do pryč.
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 14:36
od AstroMiK
kiRRow píše: ↑13 říj 2020, 14:22
... I2C sběrnice je původně určená ke komunikaci zařízení na jedné DPS do vzdálenosti max 30cm....
DS18B20 není I2C, ale OneWire.
Na datovém vodiči by měl být jeden společný Pull-Up 4k7.
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 14:57
od pavel1tu
Pacok píše: ↑13 říj 2020, 13:57
Vsetky tri cidla su rovnake zapojene su vsetky tri vodice.dva z nich mam dlho a su zapojene 1m kablom takze isli pat rokov bez zavad.no teraz som doplnil tretie tiez vodotesne rovnako no je daleko vonku asi 10m.Pouzil som utp kabel.pokial som pouzival tretie cidlo s druhym sli ok.A teraz ked sa uz pouzivaju dokopy tri miesaju sa hodnoty.Kod dam vecer ked pridem z roboty.
OK, každé čidlo je na vlastní vstup Arduina, nebo jsou všechny připojené jakoby na jednu sběrnici - tedy na jeden vstup ?
Pokud jsou na jeden vstup - prostuduj si jak se "tahá" sběrnice "OneWire".
Může být dlouhá ----- hodně

Ale odbočky z ní mají svá omezení - vzdálenost.
NEFUNGUJE v zapojení "star" - tedy do hvězdy - z jednoho bodu rozbočené na více stran.
Jak se píše výše - jedna sběrna - 1 odpor proti datovému vodiči.
A další "standarty"

Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 15:01
od kiRRow
AstroMiK píše: ↑13 říj 2020, 14:36
kiRRow píše: ↑13 říj 2020, 14:22
... I2C sběrnice je původně určená ke komunikaci zařízení na jedné DPS do vzdálenosti max 30cm....
DS18B20 není I2C, ale OneWire.
Na datovém vodiči by měl být jeden společný Pull-Up 4k7.
Pardon ... už tak nějak předpokládám všude možně I2C ... omlouvám se za mystifikaci
Re: Pri nacitani cidiel pomiesa teploty
Napsal: 13 říj 2020, 15:17
od Pacok
Zabudol som no mam zapojeny 4k7.teda musim doplnit este dalsie dva?Jedna adresa je 0. Moze byt aj tam chyba?