Arduino schéma - arduino.sk

Hladinomer - Arduino / ESP8266 / ESP32 + Ethernet / LoRa / S

Kompletné projekty s návodom a zdrojovým kódom
Príspevky: 69
Registrovaný: Uto 23. Dec 2014 2:15:50

Hladinomer - Arduino / ESP8266 / ESP32 + Ethernet / LoRa / S

Poslaťod martinius96 » Pon 29. Apr 2019 13:40:25

Projekt monitoru výšky hladiny vody je typom projektu so záznamom a ukladaním dát, ktoré môžu byť použité pre rozšírenú štatistiku denného vývoja hladiny vody. Vďaka tomu je možné určiť mesiace v roku, kedy je v studniach nedostatok vody a opak, kedy je vody dostatok, alebo až nadbytok. Projekt sa môže stať základom pre ďalší projekt - automatickú závlahu riadenú mikrokontrolérom. Do projektu je možné integrovať aj rozšírené ovládanie výkonových prvkov - čerpadiel, vodárni, solenoidových ventilov, ktorými je možné zalievať záhradu a záhony - zavlažovať, alebo aj čerpať vodu a využívať ju ako úžitkovú na splachovanie, umývanie. Projekt zo základnej verzii využíval iba logovanie dát do MySQL databázy v pravidelných 5-minútových intervaloch.

Pre záznam výšky hladiny vody (ale výšku aj inej veličiny, napríklad snehu, uhlia, dreva) som využil cenovo dostupný ultrazvukový senzor vzdialenosti HC-SR04, ktorý sa vyznačuje vysokou spoľahlivosťou a jednoduchým ovládaním a nízkou spotrebou. Dokáže merať vzdialenosť 2-450 centimetrov. Využíva ultrazvuk na frekvencii 40kHz s vysielacím pulzom o dĺžke 10 mikrosekúnd. Na základe času od prijatia odrazenej vlny je možné vzorcom vypočítať vzdialenosť objektu, od ktorého sa vlna odrazila. Vyžaduje sa však, aby bola plocha kolmo na ultrazvukový senzor vzdialenosti z dôvodu presnosti merania.
Obrázok
Z popisu vyplýva, že je možné merať maximálne studňu s výškou 450cm. Senzor sa umiestni na hornú úroveň, najlepšie na stred studne. Aby boli merania čo najpresnejšie, vykoná sa celkovo 5 meraní, ktoré sa spriemerujú. Nakoľko je ale výsledok merania otočený - meria sa vzdialenosť od vrchu a nie od dna, je nutné výsledok odčítať od maximálnej výšky (450cm - alebo inej pri plytšej studni) a vytvoriť absolútnu hodnotu. Takto vieme určiť výšku vody v studni. Ak vieme priemer studne a aj výšku vodného stĺpca, vieme určiť aj litre vody v rozumnej miere.
Technické parametre senzora HC-SR04:
    Operačné napätie 3.8-5.5V
    Spotreba 8mA
    Frekvencia ultrazvuku 40kHz
    Maximálna vzdialenosť 450cm
    Minimálna vzdialenosť 2cm
    Trigger pulz 10μs
    Efektívny uhol detekcie 15°
Z technickej špecifikácie vyplýva, že senzor sa hodí aj do low-power aplikácii, kedy sa využíva deep-sleep, alebo iný mód uspania mikrokontroléru pri prevádzke na batérie.

Aby bolo možné projekt uspôsobiť na prenos rôznymi technológiami, vyhotovil som niekoľko zdrojových kódov, ktoré umožňujú prenos týmito technológiami a mikrokontrolérmi:

Arduino + Ethernet (Wiznet W5100/Wiznet W5500)
ESP8266 (Wemos D1, Wemos D1 mini, NodeMCU, Generic module) - WiFi
ESP32 (Generic, devkit v1-v4, Lolin32) - WiFi
(*) Sigfox Wisol - IoT (vyžaduje náročnejšiu prvotnú konfiguráciu + HTTPS callback)
(*) NB-IoT
(*) GSM
* - Arduino ako mikrokontróler s danou perifériou
Všetky technológie umožňujú prenos do webového rozhrania, kde sa dáta spracujú, uložia sa do MySQL databázy a sú archivované pre rozsiahlejšiu štatistiku. Z Arduina s Ethernet shieldom sa vykoná HTTP request, ktorý predá dáta webovému rozhraniu. Pri využití ESP dosiek, alebo Sigfox modulu, či GSM, NB-IoT je možné vykonať HTTPS request, ktorým sa dáta do webového rozhrania odošlú.
Obrázok
Webové rozhranie využíva knižnicu Google charts na reprezentáciu dát za 2 hodiny, 24 hodín, 7 dní a 30 dní v čiarových grafoch. S možnosťou zobrazenia grafu za navolený mesiac, či deň. Vďaka tomu je možné prezerať rozdiely medzi rokmi, mesiacmi a dňami a vyhodnocovať výdatnosť studne a aj to, či vplyvom rokov naberá na výdatnosti, alebo vysychá.
Obrázok
Súčasťou systému je aj real-time tabuľka, v ktorej sa automaticky zobrazia vždy najnovšie údaje s tendenciou hladiny vody. Pre dlhodobejšiu štatistiku a priemery sa na stránke využívajú budíkové rozprezentácie, ktoré vizualizujú maximá a minimá, priemery za 24 hodín / 7 dní / 30 dní.
Obrázok
Pre historický prehľad nameraných údajov je možné využiť aj jednoduchú tabuľku, ktorá zároveň obsahuje informácie o čase daného záznamu a aj porovnanie prechádzajúcej hodnoty, teda je možné určiť v danom období aj pribúdanie, či odbúdanie vody - výšky hladiny v studni.
Obrázok
Login systém s možnosťou zmeny údajov je samozrejmosťou vrátane logovania IP adries, ktoré sa pripojili, alebo nepripojili do systému v dôsledku zadania zlých údajov.
Schéma zapojenia pre platformy Arduino, ESP32, ESP8266 (NodeMCU):
Obrázok
Viac o projekte je možné nájsť na mojich stránkach: https://arduino.php5.sk/studna-voda.php
Projekt je možné vyskúšať na adrese: https://arduino.php5.sk/studna/
Naposledy upravil martinius96 dňa Ned 22. Sep 2019 0:02:54, celkovo upravené 6

Príspevky: 7
Registrovaný: Str 20. Feb 2013 0:19:11

Re: Monitor výšky hladiny vody v studni

Poslaťod xaperle » Pia 03. Máj 2019 15:43:07

Chcel by som sa opýtať, či má niekto reálnu skúsenosť zo životnosťou tohto čidla v reálnej prevádzke (kondenzovaná voda, mráz...)

Obrázok užívateľa
Príspevky: 318
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: Monitor výšky hladiny vody v studni

Poslaťod tomXX » Pia 10. Máj 2019 13:16:37

xaperle: konkrétnu skúsenosť so životnosťou nemám. Skôr ma zaujal graf, kde je "přehled" a "vzdálenost" - kde si to autor požičal :)
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 69
Registrovaný: Uto 23. Dec 2014 2:15:50

Re: Monitor výšky hladiny vody v studni

Poslaťod martinius96 » Pia 10. Máj 2019 15:06:21

Autor ten projekt robil prvý raz pre pána z Čiech, preto to bolo v českom jazyku.
Grafy sú Google Line Charts.

Späť na Hotové projekty