Gudriai karštas vanduo

Posted: 2018-08-27 in Darbeliai
Žymos:, , , ,

Regis, kad prie savo senų idėjų apie namą (tuo metu dar tik būsimą) buvau parašęs apie karštą vandenį ir komfortą jį gauti vos atsukus čiaupą. Metus laiko be to komforto pragyvenom ir, turiu pasakyti, užkniso. Todėl neseniai, tuo pačiu, kai statėm rekuperatorių (apie jį kokį kitą kartą), pasijungėm pagaliau ir recirkuliacinį siurbliuką.

Siurbliukas kažkoks man no name, bet turintis šiokią tokią galimybę jį valdyti. Kai jį paleidau, iš karto pastebėjau boileryje kritusią temperatūrą. Na, logiška, juk siurbliukas faktiškai šildo grindis 🙂 Nors nelabai šildo, nes vamzdžiai guli putplastyje giliai, žemiau grindinio šildymo sluoksnio. Su termovizorium pažiūrėjus ne kažin kas matosi, nors žinant galima įtart, kur tie vamzdžiai eina:

Recirkuliacinė linija matoma termovizinėje nuotraukoje | Darau, blė

Ir ta pati linija matoma koridoriuje:

Recirkuliacinė linija matoma termovizinėje nuotraukoje | Darau, blė

Na, boileris truputį atvėso, kiek daugiau nuostolių, bet vanduo — o vaikyti! Sekundė ir karštas. O ne minutė, kaip buvo seniau. Pasijuto visuose trijuose gyvenamųjų patalpų mazguose: virtuvėj, tualete ir vonioj.

Nežinau, kiek tas siurbliukas sunaudoja elektros, bet vis tiek: nėra ko jį sukti nuolat, o ypač naktį. Kol kas man rankos nepriėjo pasigaminti judesio fiksavimą, t.y. kad siurbliukas veiktų tik tada, jei signalizacija judesį namuose užmato.

Pirmas „automatizavimas“ buvo pastatyti paprasčiausią laikmatį, kuris naktį siurbliuką išjungtų. Paskui aš susiradau laidus ir prijungiau virtuvėje palaidotą Dallas temperatūros daviklį prie savo temperatūros stebyklos ir Home Assistant. Siurbliukui įsijungus temperatūra pašoka beveik momentaliai, o po dienos krenta gan lėtai:

Recirkuliacinės linijos temperatūros svyravimas naudojant laikmatį | Darau, blė

Paskui galvojau galvojau, ką čia padarius, kad truputį pakoreguočiau to siurbliuko darbą. Visų pirma, komfortiškam naudojimui nereikia palaikyti maksimalios temperatūros. Antra, reikėtų kada nors pasidaryti ir buvimo namie stebėjimą. O trečia — reikia panaudoti jau esamą Home Assistant ir iš seniau užsilikusių nepanaudotų geležėlių rezervą.

Sonoff S20 pritaikymas

Kažkada kažkodėl nusipirkau Sonoff S20 „išmaniųjų“ rozečių:

Išmanioji rozetė Itead Sonoff S20 | Darau, blė

Kiek jos ten išmanios — nežinau. Buvau pradėjęs pats rašyti Sonoff jungikliams nuosavą firmwarę, bet parašiau, pasinaudojau biškį ir užmečiau, nes radau vieną iš geriausių šios srities firmwarių. Ta firmwarė padaryta labai gudri ir dinaminė, ją įkrovus į bet kurį Sonoff įrenginį vėliau galima pasirinkti, kas čia per įrenginys ir firmwarė atitinkamai užsikonfigūruoja. Tada mygtuko spaudinėjimais galima perjungti firmwarę į reikiamą režimą ir pasidaryti norimą konfigūraciją.

Išsiardžiau vieną rozetę apžiūrai, tada prisilitavau headerį ir prijungiau prie kompiuterio:

Išardyta Sonoff S20 išmanioji rozetė prijungimui prie kompiuterio | Darau, blė

Parsitempiau sonoff.bin failiuką ir jį sukišau naudodamasis su Arduino ir ESP8266 pateikiamu įrankėliu:

esptool.py --port /dev/ttyUSB1 write_flash -fm dout 0x00000 ~/Desktop/sonoff.bin

Tada atlikau pradinę konfigūraciją. Pasirinkau Sonoff tipą (Sonoff S2X), suvedžiau WiFi duomenis ir susikonfigūravau MQTT:

Sonoff S20 Tasmota firmware MQTT konfigūracija | Darau, blė

Įrenginys persikrovė ir po kurio laiko purptelėjo į MQTT stebimą konsolę jo apsireiškimas:

darauble/sonoff/siurbliukas/tele/LWT Online
darauble/sonoff/siurbliukas/cmnd/POWER (null)
darauble/sonoff/siurbliukas/tele/INFO1 {"Module":"Sonoff S2X","Version":"6.1.1","FallbackTopic":"DVES_86EB19","GroupTopic":"sonoffs"}
darauble/sonoff/siurbliukas/tele/INFO2 {"WebServerMode":"Admin","Hostname":"darauble-2841","IPAddress":"192.168.5.211"}
darauble/sonoff/siurbliukas/tele/INFO3 {"RestartReason":"Software/System restart"}
darauble/sonoff/siurbliukas/stat/RESULT {"POWER":"OFF"}
darauble/sonoff/siurbliukas/stat/POWER OFF

Per MQTT liepiau įrenginiui įsijungti:

mosquitto_pub -t darauble/sonoff/siurbliukas/cmnd/POWER -m ON -h megauoga

Relė spragtelėjo, įsijungė. Pradžia yra. Dabar reikia Home Assistant susikonfigūruoti jungiklį:

- platform: mqtt
  name: "Siurbliukas"
  command_topic: "darauble/sonoff/siurbliukas/cmnd/POWER"
  state_topic: "darauble/sonoff/siurbliukas/stat/POWER"
  state_on: "ON"
  state_off: "OFF"
  payload_on: "ON"
  payload_off: "OFF"

Perkroviau Home Assistant, atsirado naujas daiktas.

Automatizavimas

O dabar įdomioji dalis — automatizavimas. Turime temperatūros daviklį ir turime nuotolinį jungiklį. Nelabai aš WiFi mėgstu, bet čia yra nekritinė sistema, tad labai nepergyvenu. Reikia temperatūrą ir norimą tvarkaraštį sukabinti su tuo jungikliu. Nusprendžiau, kad siurbliuką jungsiu, kai vamzdžio temperatūra nukris žemiau 44 laipsnių, o išjungsiu pakilus jai virš 45. Taip pat taikysiu tą patį tvarkaraštį, kurį buvau uždėjęs ir paprastam siurbliuko laikmačiui. Automagizacijas apsirašiau tokias:

- id: siurbliukas_on
  alias: "Jungiam siurbliuka"
  trigger:
    platform: numeric_state
    entity_id: sensor.cirkuliacija
    below: 44
  condition:
    condition: or
    conditions:
      - condition: time
        after: '06:50:00'
        before: '23:00:00'
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
      - condition: time
        after: '08:30:00'
        before: '23:00:00'
        weekday:
          - sat
          - sun
  action:
    - service: switch.turn_on
      entity_id: switch.siurbliukas
- id: siurbliukas_off
  alias: "Isjungiam siurbliuka"
  trigger:
    platform: numeric_state
    entity_id: sensor.cirkuliacija
    above: 45
  action:
    - service: switch.turn_off
      entity_id: switch.siurbliukas

Čia, manau, viskas aišku net ir nepažįstantiems Home Assistant. Automatizavimo aprašymas susideda iš trijų esminių dalių: trigerio, sąlygų ir veiksmo. Trigeris — tai koks nors įvykis ar kažkas tokio. Sąlygos — tiesiog papildomos sąlygos, kad veiksmas galėtų įvykti, na, o veiksmas — kažkas, ką turime atlikti įvykus įvykiui ir tinkamomis sąlygomis.

Įjungiau Sonoff rankutėm. Tas paėmė ir išsijungė, nes siurbliukas dar varė vandenį visu karštumu. Home Assistant sureagavo. Tada nunešiau ir įkišau Sonoff rozetę katilinėj.

Ilgokai teko palaukti, kol temperatūra nukrito, bet va, mažiau 44 ir suveikė:

darauble/ds18x20/28A22306050000A6/scratchpad BF024B467FFF0110AF
darauble/ds18x20/28A22306050000A6/temperature 43.9375
darauble/sonoff/siurbliukas/cmnd/POWER ON
darauble/sonoff/siurbliukas/stat/RESULT {"POWER":"ON"}
darauble/sonoff/siurbliukas/stat/POWER ON

Kiek pavėpsojęs pamačiau, kad temperatūra vėl kyla. Dėl visa ko nuėjau ir katilinėn pasižiūrėt, ar ten viskas sukasi:

Veikiantis recirkuliacinis siurbliukas | Darau, blė

Ir Sonoff lemputė jaukiai šviečia kamputyje:

Įjungta išmanioji rozetė Sonoff S20 | Darau, blė

Praėjo kelios minutės, temperatūra pakilo, Sonoff išsijungė:

darauble/ds18x20/28A22306050000A6/temperature 45.3125
darauble/sonoff/siurbliukas/cmnd/POWER OFF

Home Assistant veiklos istorijoje matosi automatizacijų suveikimai:

Home Assistant veiksmų žurnalas ir automatizacijos | Darau, blė

Heh, reikia šiaip ir vandens ant rankų testą atlikti.

Karštas tas vanduo, blė. Plius, kažkiek jo paleidus temperatūra vamzdžiuose užkyla ir siurbliukas dirba mažiau. Žodžiu, kažkas gavosi. Dabar dar reikės ir signalizaciją kažkaip su Home Assistant suintegruoti, greičiausiai per PGM’us ir kokį nors valdiklį ar Avietės kloną.

Bet ne viskas taip paprasta 🙂 Atsikėlęs ryte pasižiūrėjau – o siurbliukas tai neveikia. Nesuveikė trigeris? Ogi pasirodo, yra toks niuansas. Trigeris suveikia, tačiau veiksmas įvyksta tik atitikus papildomas sąlygas. Čia ir buvo mano užsirovimas: trigeris suveikia, kai temperatūra nukrenta. Vieną kartą. Atėjo numatyto tvarkaraščio pabaiga, trigeris suveikė, bet neatitiko sąlygų ir viskas. Temperatūra krenta toliau, bet trigeris jau įvykęs. Ryte jau tvarkaraštis tiko, bet trigeris “šauna“ tik kartą ir dar kartą nesuveikė, siurbliukas neįsijungė. Teko papildyti trigerių sąrašą:

- id: siurbliukas_on
  alias: "Jungiam siurbliuka"
  trigger:
    - platform: numeric_state
      entity_id: sensor.cirkuliacija
      below: 44
    - platform: time
      at: '06:50:00'
    - platform: time
      at: '08:30:00'
  condition:
    condition: and
    conditions:
    - condition: numeric_state
      entity_id: sensor.cirkuliacija
      below: 44
    - condition: or
      conditions:
      - condition: time
        after: '06:50:00'
        before: '23:00:00'
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
      - condition: time
        after: '08:30:00'
        before: '23:00:00'
        weekday:
          - sat
          - sun
  action:
    - service: switch.turn_on
      entity_id: switch.siurbliukas
- id: siurbliukas_off
  alias: "Isjungiam siurbliuka"
  trigger:
    platform: numeric_state
    entity_id: sensor.cirkuliacija
    above: 45
  action:
    - service: switch.turn_off
      entity_id: switch.siurbliukas

Pridėjau papildomus trigerius siurbliuko paleidimui ir papildomas sąlygas. Gavosi gan sudėtinga bestija. Kodėl taip? Ogi todėl, kad jei neįdėčiau papildomos sąlygos, kad trigeriai būtų validūs tik kai temperatūra yra žemiau nustatytų laipsnių, tai teoriškai siurbliukas gali įsijungti ir niekada nebeišsijungti. Kodėl? Ogi jei imsim bukai tik temperatūros ir laiko trigerius, gali susiklostyti tokia situacija:

  • Iššauna laiko trigeris 6:50, siurbliukas pasileidžia.
  • Temperatūra pakyla, iššauna išjungimo trigeris.
  • Viskas veikia iki 8:30 (savaitgalio laiko). Bet šitas trigeris irgi iššauna darbo dienom.
  • Jei jo iššovimo metu temperatūra virš 45 laipsnių, jau suveikęs išjungimo trigeris. Tačiau laiko trigeris vėl įjungia siurbiuliuką ir temperatūra kyla toliau. Antro išjungimo trigerio nebus!

Čia iš dalies būtų galima laiko trigerius papildyti savaitės dienomis. Bet jei aš atsikelsiu savaitgalį anksčiau ir nueisiu į dušą, recirkuliacinė linija užsipildys pati nuo to, be siurbliuko. Tad vėl įmanoma, kad jis bus įjungtas “ne laiku“.

O ką, galvojot, kad automatizavimas yra paprastas dalykas? 😀

Kitos įdomybės

Jau pirmą vakarą pasireiškė boilerio ekonomija. Temperatūra jame pakilo. O siurbliuko įjungimas kas keliolika minučių suveikia irgi įdomiai. Daviklis pasiekia užduotą 45 laipsnių temperatūrą, siurbliukas išsijungia, bet temperatūra kyla toliau, po nakties ir iki 60 laipsnių. Be abejo, čia yra inercija, vandens temperatūra turi pasiekti ir išorinę vamzdžio sienelę, ir daviklis dar turi sušilti putplastyje. Nors aš jį lyg ir prie pat vamzdžio priklijavau, bet maža ten kas, jis dar epoksidinės dervos lukšte įlipdytas. Tačiau matyti iš temperatūros grafiko, kad jo siūbavimo intervalas vis didėjo, t.y. boileryje vanduo pradėjo labiau įšilti, nes siurbliukas varinėja vandenį tik intervalais, o ne nuolat:

Karšto vandens cirkuliacija pagal temperatūrą | Darau, blė

Aišku, man pačiam kyla klausimas, kokią įtaką tam siurbliukui turi šitoks junginėjimas. Ar jis greitai nesusidroš? Kiek pats iš teorijos žinau apie cirkuliacinius siurblius, tai turėtų laikyt, bet teorija yra viena, o praktika – kas kita.

Jei turite recirkuliacinę liniją, bet neturite jos tolimajame gale palaidoto temperatūros daviklio – nenusiminkite. Panašų efektą pasieksite pritaisę daviklį ir šalia paties siurbliuko ant grįžtamojo vamzdžio. Kadangi mano daviklis palaidotas betone ir teoriškai gali sugesti, tai ir man gali tekti imtis šito alternatyviojo varianto. Tiesa, kartu palaidojau ir termistorių, kaip atsarginį variantą, tai teoriškai su ADC galėčiau jį patikrinti ir išsivesti temperatūrą.

Taigi nors nurodžiau gan žemą palaikymo temperatūrą, daviklis vėluoja ją pranešinėti. Kai siurbliukas jau išjungtas, daviklis dar ilgai rodo kylančią temperatūrą. Tad teoriškai reikėtų siurbliuko valdymą padaryti dar kažkiek gudresnį, apriboti jo darbo laiką gal. Po nakties jis įsijungia 10-12 minučių, po to kas valandą su trupučiu 5-6 minutėms. Gal per pus sutrumpinus tą laiką pavyktų pasiekti tolygesnį temperatūros palaikymą, bet čia jau reikėtų apsimokančio PID reguliatoriaus 😀 Gal kada nors vėliau.

Sistema dabar dar turi tokį trūkumą, kad gerai išleidus iš boilerio šilumą siurbliukas įsijungtų ir dirbtų tol, kol temperatūra pakiltų pačiame boileryje. Tad reikėtų daviklio boileryje ir neįjungti siurbliuko, jeigu vandens temperatūra nukrenta žemiau gal kokių 48 laipsnių ar pan.

Na, jei turit kokios patirties ar kitų minčių — dalinkitės 🙂

Komentarai
  1. vytenis parašė:

    Kiek laiko sugaišai, šiam darbeliui/projektukui?

    • Darau, Blė parašė:

      Kažką tai apie valandą. Na, bet daviklis buvo palaidotas statybų metu, o siurbliuką pajungė santechnikas. Tai ant paruoštukų nesudėtinga buvo.

  2. sauliusok parašė:

    Matuok boilerio temperatūrą, ne vamzdžio. Pvz. ant metalinio boilerio fitingo kur nors.

  3. scaniagti parašė:

    Boilerio temperatūra ryškiai priklauso nuo naudojimo dažnumo. Kuo dažniau – tuo labiau kaista. Spėju, dėl skirtumų šilumos sluoksniavimosi stovinčiam vandeny ir maišomam. Negarantuoju 😀 Tiesiog mažink boilerio temperatūrą, dėl dažnesnio maišymo siurbliuku gausi tą pačią temperatūrą, kokia buvo iki siurbliuko pastatymo.

    • Darau, Blė parašė:

      Nu tai kad mažinti ne variantas, teko didinti 😀 Nes aš visada laikydavau 65-70 laipsnių, o pajungus siurbliuką „bukai“ liko vargani 50. Dėl to ir dariau visą šitą siurbliuko „pirsčiojimą“, kad jis nuolat šilumos iš boilerio nešvaistytų.

      • scaniagti parašė:

        Stovintis vanduo boileryje sluoksniuojasi: šiltas kyla viršun, šaltas lieka apačioje. Įjungimo daviklis nevisiškai viršuje: su 50° nustatymu gausi 55° ant išėjimo (ar panašiai). Judančiam vandeny suoksniai maišosi, ir su 50° nustatymu gausi 50°. Visai gali būti, kad ne dėl šilumos nuostolių temperatūra krito.
        Čia tiek sugalvojau per savaitę, norėčiau tikro speco atsakymą sužinot. Pas save boilerį iš karto jungsiu su cirkuliacija, aktualu man 🙂

        • Darau, Blė parašė:

          Nu aš ne specas, bet tamstos fizikiniai išvedžiojimai atrodo labai tikėtini. Dėl pastebėjimų: kai siurbliukas tik įsijungia ir pašildo vamzdžius iki norimos temperatūros, tai temperatūra boileryje taip smarkiai nekrenta. O ir visokie santechnikai ir kiti išbandę žmogai sakė, kad elektros išdega tikrai smarkiai daugiau, nei kad išdegintų tik pats siurbliukas, kartais ir trigubai daugiau. Priklauso gal nuo vamzdžių izoliacijos kokybės ar ką…

          Dėl siurbliuko tai jų būna labai išmanių, kurie per kokią savaitę apsimoko patys, kada ir kaip naudojamas vanduo labiausiai. Bet vienas draugas tokį po mėnesio atjungė ir nugrūdo į sandėliuką — pagailo jam elektros. Tai ir nežinau. Va, aš galėsiu bandymą padaryt: uždėt boilerio elektros išnaudojimą kokiai dienai be siurbliuko, su savo dabartiniu „valdymu“ beigi su bukai įjungtu siurbliuku. Jaučiu, kad bus realistiškiausias įvertinimas, o ne teoriniai sluoksnių maišymaisi 🙂

          • scaniagti parašė:

            Šilumos nuostolius galima pamatyti su dviem termometrais, suskaičiuoti galima dar žinant ir vandens kiekį. Pvz pas mane vamzdžio kilpa bus virš 50 metrų. Tai jei izoliacija fail – tikrai jausis per pinigėlį 😀

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti /  Pakeisti )

Google photo

Jūs komentuojate naudodamiesi savo Google paskyra. Atsijungti /  Pakeisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti /  Pakeisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti /  Pakeisti )

Connecting to %s

Brukalų kiekiui sumažinti šis tinklalapis naudoja Akismet. Sužinokite, kaip apdorojami Jūsų komentarų duomenys.