eb

Automatizuojam alaus virimą namuose: projektas „eBrewer“

Nusipirkau naują žaislą – Arduino Uno mikrovaldiklį, kurio pagrindu planuoju pasidaryti maksimaliai automatinę naminio alaus gamybos sistemą. Kadangi visam sprendimui įgyvendinti reikės nemažai laiko ir investicijų į komponentus, nusprendžiau projektą suskaidyti etapais, kad kiekvieno etapo pabaigoje turėčiau veikiantį daiktą atliekantį vis daugiau funkcijų. Tai apsaugos ir nuo rizikos, kad kažkuriuo metu pristigsiu entuziazmo bei projekto neužbaigsiu – bent jau turėsiu kažkokią veikiančią dalį. Galutinis tikslas visgi pasidaryti stendą į kurį supylus ingridientus bei nustačius gamybos režimą užtektų po kurio laiko ateiti ir alų išpilstyti į butelius. Tad detaliau apie etapus:

1 etapas: temperatūros sekimas

Etapo tikslas – pasidaryti paprastą temperatūros valdiklį kuris:

  • Padėtų nepražiopsoti momento kai vanduo kaitinamas iki reikiamos temperatūros. Taip… beveik kas kartą kai reikia paruošti vandenį iki sakykime kokių 78C, rezultatą tenka skiesti šaltu vandeniu nes paprasčiausiai vandenį perkaitinu.
  • Padėtų nusipiešti alaus fermentacijos proceso temperatūros pokyčių kreivę. Kol kas tai man nėra baisiai aktualu, bet ši funkcija bus sudėtinė sekančių etapų dalis tad pasiruošiu logiką iš anksto.

Šis etapas realiai jau įgyvendintas. Apie jo eigą papasakosiu atskiru įrašu. Trumpai: turiu veikiantį Arduino su LCD ekranu ir keliais mygtukais. Trijų pozicijų mygtuko pagalba galiu išjungti įrenginį arba perjungti vieną iš dviejų režimų – temperatūros aliarmo ir temperatūros logger’io. Pirmu atveju mygtukų žemyn/aukštyn dėka nusistatau norimą temperatūrą 0.5C tikslumu, pajungtas DS18B20 temperatūros daviklis įmerkiamas į vandens katilą. LCD ekrane atvaizduojama dabartinė temperatūra. Kai temperatūra pasiekia 5-iais laipsniais žemesnę temperatūrą nei nustatyta pasigirsta ne pastovus pypsėjimas (intervalais). Tokiu atveju sužinau apie momentą kai reikia pradėti ruoštis sekantiems etapams. Temperatūrai pasiekus nustatytą ribą pypsėjimas tampa pastovus – sužinau, kad jau laikas išjungti kaitinimą ir pradėti sekantį etapą.

Antrame režime tas pats temperatūros zondas įleistas į fermentavimo kubilą kas minutę matuoja temperatūrą ir į kompiuterį (per USB prievadą) atiduoda matavimo rezultatus. Kompiuteris savo ruožtu internetu perduoda informaciją į serverį. Serveris duomenis apdoroja ir supaišo gražius grafikus. Tad sėdėdamas namuose galiu matyti kokioje temperatūroje alus fermentuojasi šiuo momentu bei kaip kito temperatūros kreivė.

Kaip ir minėjau – veikiantis prototipas jau yra, lieka tik jį perkelti nuo montažinės plokštės ant spausdintinės.

2 etapas: elektroninis hidrometras

Šiame etape prasidės eksperimentai. Kadangi noriu mobiliajame telefone matyti ne tik temperatūros pokyčius fermentacijos metu, bet ir tankio kitimą reikia sugalvoti kaip tą tankį išmatuoti. Maža to – reikia matavimo rezultatus paversti į elektros signalą, kad juos suprastų mano Arduino. Deja normalaus sprendimo kurį galima būtų tiesiog nusipirkti ir prijungti nėra. Tiksliau yra, bet elektroninių hidrometrų kainos mažu mažiausiai kosminės. Todėl bandysiu sukurti savo. Mintyse turiu kelis metodus kuriais remiantis bent jau teoriškai galima būtų išmatuoti tankį pigių sensorių dėka. Tai ultragarso sklidimo skystyje matavimas, elektros laidumo matavimas, vibracijos sklidimo matavimas, svorio/tūrio santykio matavimas ir dar keli į galvą šovę variantai. Tačiau pirmam eksperimentui pasirinkau metodą paremta elektromagnetinio lauko matavimu. Trumpai – prie klasikinio hidrometro galiuko pritvirtintas magnetas, ant plūduro (kad būtų visada vienodame aukštyje nuo skysčio viršaus) tvirtinamas Holo efekto sensorius. Matuodamas magnetinio lauko stiprumą, teoriškai turėčiau galėti nustatyti atstumą tarp hidrometro galiuko ir Holo sensoriaus, t. y. nustatyti kiek hidrometras yra paniręs. Jei šis metodas pasiteisins, įrenginyje realizuosiu funkciją leidžiančią analizuoti tankio pokyčius analogiškai kaip analizuojama temperatūra ankstesniame etape.

3 etapas: temperatūros valdymas

Šioje vietoje sėdėdamas toli nuo fermentavimo kubilo turėčiau jau galėti matyti temperatūros ir SG kitimą. Bet kas iš tos informacijos jei negaliu nieko padaryti…? Šiame etape noriu realizuoti galimybę to paties mobilaus telefono pagalba reguliuoti fermentacijos temperatūrą. Tam bus naudojamas šaldytuvas kurio temperatūrą galėsiu reguliuoti nuotoliniu būdu. Principas paprastas ir panašus į kažkieno iš Atviro Alaus bendruomenės realizuotą sprendimą su STC-1000 – matuojama temperatūra ir kelių relių dėka įjungiamas/išjungiamas šaldytuvas arba į jį įleista terariuminė šildymo žarna.

4 etapas: algoritmo valdymas

Prie Arduino bus prijungtas SD kortelių skaitytuvas ir RTC (realaus laiko laikrodis). Nuo šiol SD kortelėmis iš kompiuterio bus perkeliamas konkretaus proceso aprašymas. Tai bus paprastas TXT tipo failas kuriame bus nurodyta kada ir ką sistema turės daryti (idealiu atveju kada nors tokį TXT failą galėsiu susigeneruoti pagal atvirasalus.lt esantį receptą). Pirminiame etape, tokiu būdu noriu apsirašyti fermentacijos temperatūros režimą. Pvz.: tarkime, kad gaminu kokį nors Altbier’ą. Nustatau, kad pirmą parą temperatūra būtų apie 20+C, kad mielės turėtų progą tinkamai „užsikurti“, vėliau temperatūros rėžimas keičiasi iki 12C ir laikosi kol tankis nukris iki nustatyto rodmens, tada šaldytuvas vėsinamas iki dar mažesnės temperatūros ir nustatytą laiką vyksta lageriavimo procesas. Pasiekus nustatytą SG arba išlaukus nustatytą laiko tarpą mobilusis telefonas praneš apie pasibaigusią fermentaciją ir tai, kad jau laikas keliauti pilstyti alų.

5 etapas: tinklas

Susitvarkysiu tinklą. Arduino aprūpinsiu WiFi galimybėmis – nebereikės laikyti pajungto prie kompiuterio. Siekiant atsisakyti begalės laidų pasidarysiu IR arba 433MHz tinklą – atskiri komponentai su Arduino bendraus bevieliu ryšiu. Pasibaigus šiam etapui turėsiu jau pilnai veikiantį fermentavimo proceso valdymą. Laikas pereiti prie kitų procesų…

6 etapas: vandens ruošimas

Tiek salinimui, tiek tekinimui, tiek virimui reikės mechanizmo leidžiančio valdyti šilumos šaltinį – dujinę arba elektrinę viryklę. Atėjus iki šios vietos reikės apsispręsti ar relių pagalba bus junginėjama viryklė ar elektromagnetinio vožtuvo, elektroninio degtuko ir liepsnos jutiklio dėka bus valdomas dujinis degiklis. Jau dabar nujaučiu, kad bus krypstama link elektros nes stovėti su gesintuvu bei laukti kol koks sistemos bug’as pradės nevaldomai purkšti dujas nesinori. Nors internetuose mačiau ne vieną tokį puikiai veikiantį sprendimą su dujomis. Matysim… bet kuriuo atveju šiame etape reikės išmokyti Arduino valdyti vieną ar kitą šilumos šaltinį. Čia pažaisiu su PID valdikliais ir pasistengsiu išmokyti Arduino paruošti norimos temperatūros vandenį bei palaikyti nustatytą temperatūrą.

7 etapas: salinimo proceso valdymas

Principas toks: pirmame katile Arduino paruošia vandenį iki reikiamos temperatūros, įsijungia pompa, atsidaro vožtuvas ir vanduo perpilamas į salinimo kubilą kuriame jau subertas maltas salyklas (kubile false-bottom filtras). Paraleliai antrame kubile paruošiamas vanduo kurio temperatūra lygi pirmo salinimo etapo temperatūrai. Šiame kubile įrengtas varinis gyvatukas. Vėl įsijungia pompa, atsidaro vožtuvas ir iš po salinimo kubilo filtro vanduo siurbiamas per gyvatuko vidų ir grįžta atgal į fermentavimo kubilą (purškiamas iš viršaus). Tokiu būdu keisdamas kubilo su gyvatuku temperatūrą galiu palaikyti salinimo temperatūrą ir esant reikalui pažingsniui keisti salinimo temperatūrinį režimą.

8 etapas: didelis raudonas mygtukas.

Kadangi jau prasidėjo automatinis vandens varinėjimas po sistemą ir mes puikiai žinome, kad nebūna sistemų be bug’ų. Noriu pasidaryti mygtuką kuris išjungtų visas pompas, uždarytų visus vožtuvus ir atjungtų visą sistemą velniop. Tuo pačiu kubilai aprūpinami sensoriais padedančiais nustatyti perteklinį skysčio kiekį katiluose. Jei taip nutiks, kad koks nors skysčio srauto matuoklis nesuveiks tinkamai ir į kubilą bus paduodamas per didelis vandens kiekis – gresia patalpų užpylimas vandeniu. Sensoriui nustačius, kad kubile yra kritinis kiekis vandens visos pompos išjungiamos, visi vožtuvai uždaromi, sistema išsijungia.

9 etapas: tekinimas

Pajungiama papildoma linija. Pasibaigus salinimo procesui iš paruošto 78C vandens kubilo purškiamas vanduo į salinimo kubilą, iš po filtro vanduo pompuojamas į virimo katilą. Srautus reguliuoja skysčių tėkmės sensoriai tam kad vandens papildymas būtų proporcingas misos išleidimui. Tuo pačiu matuojamas išleidžiamos misos kiekis. Pasiekus nustatytą kiekį likusi misa nukreipiama į kanalizaciją.

10 etapas: virimas

Vanduo kaitinamas iki virimo temperatūros ir virimo temperatūra palaikoma viso proceso metu. Pagal užduotą režimą signalizatorius primena kada reikia mesti apynius ar kitus priedus, LCD ekrane nurodomas pavadinimas ir kiekis.

11 etapas: aušinimas

Katilas su spirale pripildomas šalto vandens. Vanduo pamažu papildomas, šaltesniu, šiltesnis išleidžiamas į kanalizaciją. Įsijungia pompa, atsidaro reikiami vožtuvai ir iš virimo katilo misa pompuojama per spiralę atgal į virimo katilą. pasiekus mielėms palankią temperatūrą atsidaro kiti vožtuvai ir viskas perpompuojama į fermentavimo kubilą.

12 etapas: nuvirusio vandens kompensavimas

Matuojamas vandens kiekis virimo kubile ir nuolat papildomas vandeniu siekiant kompensuoti nuvirtą vandens kiekį.

13 etapas: automatinis priedų dozatorius

Pasidaryti mechaninį įrenginį su atskirai valdomomis sekcijomis. Tokiu būdu į sekcijas sudėjus apynius galima automatiškai reikiamu metu juos išberti į virimo katilą.

14 etapas: sanitarinis režimas

Viename kubile įpylus norimos chemijos tirpalo, per visą sistemą nuolatos pompuojamas skystis, išleidžiamas į kanalizaciją, kelis kartus perskalaujama švariu vandeniu.

15 etapas: fermentacijos procesas

Ataušinta misa teka tiesiai į iš anksto paruoštą ir šaldytuve stovintį fermentavimo kubilą. Automatinis dozatorius paduoda sausas mieles, pagal nustatytą režimą gali suberti apynius sausam apyniavimui.

X etapas

Kažkas ko dar nenumačiau, bet gal dar sugalvosiu… automatinė alaus išpilstymo linija? :)

Visa projekto eiga bus detaliai aprašoma šiame blog’e. Pateiksiu visas schemas, programos kodą, reikalingų medžiagų sąrašus bei finansinę projekto pusę. Tad jei kažkas užsimanys pasidaryti analogišką sistemą, čia ras pilną ir detalų HowTo.

Pasidalink!Share on Facebook0Share on Google+0Share on LinkedIn0Tweet about this on Twitter0Email this to someone

9 komentarai

    1. Tomas (Alaus dirbtuvės) Įrašo autorius(-ė)

      ExDigi, alaus gamyba namuose žavi tuo, kad tai yra DIY užsiėmimas. Taip ir čia – jau įsitikinau, kad sistemų paremtų Arduino, BrewPi ar RaspberryPi yra prigaminta ir ne viena, bet norisi pačiam pasidaryti. Labiausiai būtent šiame procese ir žavi tai, kad toks projektas suteikia neribotą erdvę eksperimentams bei suteiks daug naujų žinių (ypač atsižvelgiant į tai, kad su elektronika nesu draugiškuose santykiuose… bent jau iki šiol)

      Atsakyti
  1. BruZas

    Ner cia star warsu, viskas realu :) as pasidariau is fermenterio sau kaitinimo „kubila“ tik man neuzteko 2 spiraliu vandeniui uzkaisti, teko deti visas 3 :) dabar zaidziuosi su termo davykliu, kad atsijunginetu, issijunginetu ir palaikytu nustatyta temperatura . Krapstau piniga ant raspio ^^ Laukiu daugiau sio projekto info ir source

    Atsakyti
  2. mk

    NI LabVIEW Interface for Arduino Toolkit
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/209835

    cia jeigu arduino adrodo kaip starwarsai :) galima ji paprastesniu padaryt.

    del hidrometro galvoju ar nebus bedu su virsutine „puta“ fermentacijos pradzioje. ar nestrigs hidrometras joje. kita vertus gal fermentacijos pradzhia ne tiek ir idomi.

    Sekmes vystant projekta

    Atsakyti
  3. Artis

    Šaunuolis! 21 amžius: tikiuosi, kad projektas pasieks tokį lygi, kad užteks iš atvirasalus.lt paspausi mygtuką „Virti“ 😀

    Atsakyti

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *