Problém se stabilitou meteostanice

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
PB1
Příspěvky: 10
Registrován: 18 zář 2017, 17:34

Problém se stabilitou meteostanice

Příspěvek od PB1 » 12 lis 2017, 14:01

Zdravím, měl bych dotaz ohledně meteostanice postavena na desce Wemos D1 s dvěma senzory DS18B20 (vše pořízeno na Aliexpress). Jde o nestabilitu cele stanice která obsahuje celkem 3 desky Wemos D1 a data jsou odesílaná na jeden účet na Thingspeak. Někdy je to z odstupem několika hodina a někdy zase během 5 minut všechny desky přestanou data na Thingspeak odesílat. Související problém je takový že po restartovaní Wemos D1 přes WIFI zásuvku je počáteční hodnota vždy 85 což je dost nevhodné při zobrazeni v grafu. Děkuji za Váš čas pokud by měl někdo nějaký návrh na zlepšeni stability.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39

Re: Problém se stabilitou meteostanice

Příspěvek od Wojta » 12 lis 2017, 15:36

3 WEMOSy to už nejsou malé proudy. Klidně bych sázel na problém s napájením. Máte na napájení nějaké větší kondíky? Ty by mohli pomoct.

martinius96
Příspěvky: 585
Registrován: 01 srp 2017, 19:29
Bydliště: Poprad
Kontaktovat uživatele:

Re: Problém se stabilitou meteostanice

Příspěvek od martinius96 » 12 lis 2017, 15:55

85 sa zobrazí preto, lebo málo čakáte pri prvom meraní. Keď už zbehne prvá slučka, tak je tam určitý delay, ktorí postačuje. Dajte napríklad 250ms delay za to meranie, aby sa počkalo na jeho dokončenie. Problém by som hľadal tam.

PB1
Příspěvky: 10
Registrován: 18 zář 2017, 17:34

Re: Problém se stabilitou meteostanice

Příspěvek od PB1 » 12 lis 2017, 15:58

Žádné kondenzátory nepoužívám, každá deska je v jiné místnosti a vše napájeno celkem obyč USB nabíječkou.  :oops:

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39

Re: Problém se stabilitou meteostanice

Příspěvek od Wojta » 12 lis 2017, 17:31

Těch 85 při restartu skoro jistě vyřeší ten delay. Ale to že se deska zasekne už může být problémem se zdrojem. Možná bych zkusil přidat nějaký kondík mezi 3.3V a GND desky. Něco jako 4700uF, na zkoušku, třeba to s tím něco udělá. Taky to ale může být něco v programu. Může tam být někde místo kde se při chybě dostanete do smyčky a už z ní nevylezete. To je nejspíš i pravděpodobnější než problém se zdrojem.

martinius96
Příspěvky: 585
Registrován: 01 srp 2017, 19:29
Bydliště: Poprad
Kontaktovat uživatele:

Re: Problém se stabilitou meteostanice

Příspěvek od martinius96 » 12 lis 2017, 17:39

Nie je to nejaký moc veľký kondík? :) NodeMCU (zrovnateľná doska) má napríklad na doske 100uF ak sa nemýlim integrovaný. Pripoj si na ten modul Počítač, spusť Putty a čítaj výpisy na UART, aby si vedel, kde sa to seklo :) Myslím si, ale že to bude iba chybka v kóde.
Ja si napríklad s NodeMCU posielam real-time (bez delayu) teplotu na môj server + čítam + spúšťam 1 PHP script a ešte sa mi to neseklo a už to beží viac ako mesiac vkuse.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39

Re: Problém se stabilitou meteostanice

Příspěvek od Wojta » 12 lis 2017, 18:23

Je to nadsazený :D ale pokud ho má v repertoáru tak by uškodit neměl. Ale jak říkáte, chybka bude spíš v kódu. Zkuste nám ho sem poslat PB1.

PB1
Příspěvky: 10
Registrován: 18 zář 2017, 17:34

Re: Problém se stabilitou meteostanice

Příspěvek od PB1 » 13 lis 2017, 07:06

Jsem úplný amatér v programovaní takže se přikloním k názoru že chyba bude v kódu :) posilám teda své kódy, na jedné desce jsou pouze dva senzory DS18B20 a na dalších dvou deskách je navíc senzor DHT22 a fotorezistor + displej. Děkuji za další pomoc.
Přílohy
WIFI_meteostanice.ino
(2.71 KiB) Staženo 287 x
WIFI_DS_18B20.ino
(1.55 KiB) Staženo 260 x

martinius96
Příspěvky: 585
Registrován: 01 srp 2017, 19:29
Bydliště: Poprad
Kontaktovat uživatele:

Re: Problém se stabilitou meteostanice

Příspěvek od martinius96 » 13 lis 2017, 12:05

Tiež nie som profi programátor, millis neovládam, ale myslím si, že sa môže biť to, že máš v kóde millis a delay :) Nechal by som to buď jedno alebo druhé. Ale to si iba čisto myslím :) Možno to problém nie je. Kód nie je ako taký zle napísaný. Na mňa to pôsobí dobrým dojmom.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39

Re: Problém se stabilitou meteostanice

Příspěvek od Wojta » 14 lis 2017, 16:11

Zkusil bych si ten delay nahradit millis jak píše martinius96. Stačí si deklarovat někde nahoře nad programem unsigned long millis_old. Pak si jen dáte celý program do podmínky a zpouštíte ho pokud je millis() >= millis_old + 60000. Pak si jen do předchvílí zmíněné podmínky dáte millis_old = millis();. Pokud to nic neudělá tak bych si udělal nějakou errorovou rutinku. Něco jako pokud jsou naměřené teploty o X větší než ty předchozí, něco dělej.
Mohlo by to být klidně takto:

Kód: Vybrat vše

float teplota_old;

.....
smyčky a kód
.....
//Merime teplotu
float teplota_now = sensors.getTempCByIndex(0);

if(teplota_now > (teplota_old + 10) ││ teplota_now < (teplota_old - 10)){
//Asi mame chybu, neco delej
// Muzete treba merit znovu, resetovat arduino nebo dalsic X veci
}else{
teplota_old = teplota_new;
}

......
......

Pokud je teplota o 10 stupňů větší nebo menší než ta předchozí tak se spustí chybová smyčka. Tam už můžete dělat co chcete.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů