Cilj

Sledeče je nadaljevanje članka o zalivanju zelenice s pomočjo statistike. Tam sem pisal o preprostem algoritmu, ki na podlagi vremenskih podatkov določi, če zelenica potrebuje namakanje. Omenil sem tudi relativno majhen zbiralnik vode, za katerega pa nikoli ne vem koliko vode je še na voljo - edini način je bil, da sem odprl jašek in pogledal. Strah me je namreč, da bi v primeru praznega zbiralnika odzevna cev potegnila zrak ali mulj in s tem poškodovala črpalko in namakalni sistem.

Najprej sem želel količino vode meriti s sondo, ki na dnu zbiralnika meri pritisk na podlagi katerega se da izpeljati količino vode. Sondo sem tudi nabavil, a je nikoli nisem namestil. Izzivi so bili predvsem z mikrokontrolerjem, ki bi moral biti nekje pod streho, imeti elektriko, WiFi signal in kabel do sonde. Poleg tega sem na forumih bral, da imajo tovrstne poceni sonde s kitajske relativno kratko življensko dobo. Drugi pristop, ki ga na forumu omenjajo pa je z ultrasoničnim senzorjem razdalje, ki je montiran nekje pod pokrovom in meri razdaljo do gladine. Ta pristop ima podobne izzive kot sonda.

Skratka, s senzorji bi si nakopal kar nekaj neželjenega vzdrževanja, količina vode pa me zanima le nekaj sušnih mesecev v letu, pa še to le okvirno. Letos sem se zavedel, da je moja postavitev pravzaprav zelo enostavna z vidika vhodov in izhodov. Edini način pritoka vode je s strehe, edini izhod pa je namakalni sistem. Vhodno količino vode se da oceniti s količino padavin in površino strehe, izhodno pa z meritvami porabe namakalnega sistema. S kombinacijo obojega lahko z zadovoljivo natančnostjo ocenim koliko vode je v zbiralniku.

O zbiralniku

Betonski zbiralnik vode ima 7200L uporabne prostornine. Pretočna črpalka TALLAS D-EBOOST 1100 se nahaja v hiši in sesa vodo preko plavajočega odvzema z zbiralnika proti ventilom namakalnega sistema. Je samodejna in se aktivira ob padcu pritiska, v mojem primeru takrat, ko OpenSprinkler kontroler odpre ventile namakalnega sistema.

Kot omenjeno, največji izziv je odsotnost mehanizma za samodejni izklop črpalke v primeru premajhne količine vode v zbiralniku. Nekje sem zasledil, da se to reši s plovcem, ki deluje kot stikalo, ki izključi črpalko v primeru prenizkega nivoja vode. To je sicer v redu opcija, ampak doda nekaj kompleksnosti k celotnemu sistemu. Zaenkrat nisem pripravljen delati še enega preboja skozi hišo, zato sem to tveganje naslovil na način opisan spodaj.

Implementacija logike

Za izračun vhodne količine vode v zbiralnik sem uporabil senzor “Total Rainfall” s prejšnjega članka. Ta predstavlja skupno količino dežja v litrih na kvadrat površine. To vrednost pomnožim s 85m² (tlorisna površina strehe minus nekaj tolerance) v novem virtualnem senzorju “Total Collected Water” z enoto liter.

Kot vidimo zgoraj, se vrednost tega senzorja ob padavinah povečuje v nedogled. Ker pa moj zbiralnik žal ni neomejen, sem te podatke peljal v še en virtualni senzor tipa utility meter, ki sem ga poimenoval “Water Collector”. Ta senzor predstavlja količino vode v zbiralniku in kot vhodne podatke uporablja spremembo vrednosti senzorja “Total Collected Water”. Ker je naš zbiralnik velik 7200 litrov, sem napisal preprosto avtomatizacijo, ki omeji zgornjo vrednost virtualnega zbiralnika na 7200.

Senzor Water Collector, ki predstavlja količino vode v zbiralniku in je omejen na 7200:


Avtomatika, ki prepreči vrednosti višje od 7200:

S tem se bo vrednost virtualnega zbiralnika “Water Collector” povečevala skladno s količino padavin, ki pade na streho, a ne več kot 7200 litrov.


V zadnjem koraku odštejem porabljeno količino vode od trenutne vrednosti virtualnega zbiralnika. Najprej sem izmeril koliko vode porablja namakalni sistem s preprostim odčitavanjem nivoja vode v zbiralniku:

  • Južna veja: 23.7 L/min
  • Vzhodna veja: 11.4 L/min
  • Skupaj: 35.1 L/min

Naredil sem virtualni senzor “Irrigation Flow Rate”, ki nastavi zgornje statične vrednosti ob delovanju posameznih vej:

Ta senzor je podlaga za naslednji senzor, ki z integralom površine pretvori enoto L/min v litre. Zopet nastane senzor tipa “total_increasing”, ki predstavlja skupno porabljeno količino vode in raste v nedogled. Ker pa potrebujemo porabljene vode samo v zadnjem zalivanju, uporabim te podatke v še enem senzorju tipa Utility meter, ki tokrat predstavlja porabljeno količino vode v zadnjem zalivanju. Imenujem ga “Water Spent per Irrigation”.

V zadnjem koraku pa avtomatizacija poskrbi, da je trenutna vrednost “Water Spent per Irrigation” odšteta od virtualnega zbiralnika “Water Collector”. Ker pa “Water Spent per Irrigation” predstavlja le količino zadnjega zalivanja, ga avtomatizacija ponastavi na vrednost 0. Na ta način zagotovim, da se vedno odšteje le zadnje zalivanje.

Primer zalivanja za 10 minut

Najprej poglejmo “Irrigation Flow Rate”, ki nastavi statične vrednosti pretoka glede na zgornje meritve v L/min. Kot vidimo, je bil pretok 35.1 liter na minuto za 10 minut.


Senzor “Water Spent per Irrigation” pretok zgoraj interpretira kot porabljeno vodo v litrih in je po pričakovanjih okoli 350L:


Teh slabih 350L je po koncu zalivanja odštetih od virtualnega zbiralnika “Water Collector”:


Za zgornje je poskrbela avtomatika, ki odšteje količino porabljene vode v zadnjem zalivanju od trenutne vrednosti “Water Collector” in resetira “Water Spent per Irrigation” na 0 in tako pripravi senzor na naslednje zalivanje:


Za piko na i sem dodal še grafični prikaz trenutno izračunane količine na dashboard:




S tem je naš virtualni zbiralnik končan - polni se ob padavinah glede na količino padavin in prazni glede na čas zalivanja in izmerjeno porabo namakalnega sistema. Poraja se vprašanje kako natančen je ta pristop. Verjetno ne zelo, predvsem ker izračuni temeljijo na podlagi zunanjih podatkov o vremenu in meritev porabe namakalnega sistema. Boljši pristop bi bil z lastno vremensko postajo, ki bolj natančno izmeri količino padvin. Za porabo vode pa bi bilo bolje uporabiti senzor pretoka vode.

Za konec pa še dodaten pogoj pogoj pri avtomatiki, ki skrbi za zalivanje zelenice - v zbiralniku mora biti več kot 1500L vode: