Käymisen seurantajärjestelmän rakentelua ja kaarlo.net

Tykkään rakennella asioita. Näin koronakevään aikana on ollut hyvin aikaa puuhailla kotona harrastusten parissa, joten innostuin rakentelemaan käymisenseurantajärjestelmää. Järjestelmälläni pystyy seuraamaan oluen käymisen aikaista lämpötilaa, ominaispainoa sekä vesilukon pulputusta lähes reaaliajassa osoitteessa kaarlo.net/fermenter/. Tällä hetkellä käymässä on Sabrolla humaloitu pale ale, jonka käymisdatan pysyvä osoite on kaarlo.net/fermenter/?batch=143. Resepti löytyy tämän kirjoituksen lopusta.

Käymiskaappi

Minulla on pitkään ollut käytössä jääkaapista rakennettu käymiskaappi, johon olen askarrellut itse langattoman verkon yli säädettävän termostaatin. Tavallinen termostaatti kun ei ole tarpeeksi tarkka käymislämpötilan hallintaan. Järjestelmän aivoina toimii Wemos D1 Mini -kehitysalusta, johon on kytketty lämpöanturi (DS18B20) ja rele, joka ohjaa virtaa jääkaapin kompressorille.

Lämpöanturi on johdon päässä ja tapanani on teipata se käymisastian kylkeen eristeenä toimivan paperi- ja folioviritelmän alle. Lisäksi kaapissa hurisee tuuletin, jonka tarkoituksena on pitää lämpötila samana eri puolilla kaappia. Kaappiin mahtuu näppärästi 30-litrainen teräksinen käymisastia.

Itse lämpötilan säätöalgoritmi on yksinkertainen termostaatti, joka menee päälle, kun kaapin lämpötila nousee yli asetetun ja pois päältä kun se menee alle. Lisäksi ohjelmistossa on muutaman minuutin varoaika, jottei kompressori menisi päälle ja pois tarpeettoman usein. Jossain vaiheessa olin koodannut hieman hienostuneemman PID-algoritminkin, mutta sitä aikani värkättyäni päädyin siihen, että hyvin toimiakseen PID-algoritmi vaatisi nopeahkoa kompressorin kytkemistä päälle ja pois, eikä tämä kuulemma tee hyvää kompressorille.

Kaapissa olisi liitäntä toisellekin anturille, sillä alkuperäinen ajatukseni oli, että yksi anturi olisi jollain viritelmällä käymisastian sisässä ja toinen kaapissa käymisastian ulkopuolella. Toistaiseksi käytössä on ollut vain yksi anturi.

Turvallisuussyistä en halua, että käymiskaapin säätöihin pääsisi käsiksi kotini ulkopuolelta. Siksi olen pystyttänyt käymiskaappia ja muita järjestelmiä varten erillisen wlan-verkon, joka ei ole yhteydessä internetiin. Käymiskaappi pystyttää käynnistyessään tässä mittariverkossa pyörivän http-palvelimen, jonka kautta kaapin lämpötilaa voi seurata ja lämpötila-asetusta muuttaa:

Varsinainen lämpötila-asetuksen muuttaminen tehdään GET-kutsulla. Esimerkiksi lämpötilan asettaminen 18 asteeseen tehdään liittymällä mittariverkkoon ja menemällä osoitteeseen 192.168.0.204/?set_temp=18. Hieman kirveellä veistettyhän tuo käyttöliittymä tällä hetkellä on, mutta hoitaa asiansa.

Ominaispainomittari

Ominaispainomittari on ehkä järjestelmän siistein osa. Kyseessä on iSpindelin hengessä rakennettu vierteessä kelluva hydrometri. Karkea toimintaperiaate ja valtaosa osista ovat samoja kuin iSpindelissä, mutta softapuoli on kasattu tee-se-itse -hengessä.

Hydrometrin kalibrointia

Tämänkin laitteen aivoina toimii Wemos D1 Mini -mikroprosessori, minkä lisäksi putkilon sisältä löytyy litiumakku, kiihtyvyysanturi (jossa myös sisäänrakennettu lämpömittari), 3d-printattu ”kelkka”, joka pitää osat paikallaan, sekä kelkkaan kiinnitetty teräsruuvi, jolla voi hienosäätää laitteen painopistettä. Hydrometrin painopiste on kalibroitu niin, että nesteen ominaispainon laskiessa lukemasta 1,080 lukemaan 1,000 kellumisasento kääntyy lähes vaakasuorasta pystympään. Kiihtyvyysanturin perusteella voidaan päätellä, mihin suuntaan painovoima laitetta vetää, ja laskea tästä kellumiskulma.

Koska laite kelluu vierteessä käymisen aikana, pitää akun kestää pitkään. Tästä syystä mikroprosessori on valtaosan ajasta virransäästötilassa ja herää vain puolen tunnin välein keräämään kiihtyvyysanturin datan ja lähettämään sen eteenpäin langattomaan verkkoon. Näin hydrometrin keskimääräinen virrankäyttö pysyy alle 1 mA:ssa. Laite voisi siis teoriassa toimia 2800 mAh akulla yhdellä latauksella lähes neljä kuukautta.

Täysin tarkkaa ominaispainolukemaa tällainen mittari ei tietenkään tuota. Käymisen aikana hydrometrin pintaan tarttuu hiilidioksidikuplia ja käymisen synnyttämää vaahtoa, mikä vaikuttanee kellumiskulmaan. Toistaiseksi olen käyttänyt mittaria kahden oluen käymisen seurantaan. Olen tehnyt ennen kumpaakin käymistä kahden pisteen kalibroinnin, eli kalibroinut sekä 20-asteisella vedellä, jonka ominaispaino on 1,000, että vierteellä, jonka ominaispainon olen mitannut tarkemmalla mittarilla ennen käymistä. Muutaman käymisastioista ottamieni näytteiden perusteella mittausvirhe on ollut enimmillään noin 0,004, joten lasken jatkossakin oluiden alkoholiprosentit ihan tavallisen hydrometrin avulla. Virheestä huolimatta tämä vehje on aika kiva lisä käymisen seurantaan.

Vesilukko

Digitaalinen vesilukko on näistä viritelmistä ehkä hölmöin, mutta ihan hauska silti, ja muihin verrattuna yksinkertaisin rakentaa. Pohjana toimi pitkään käyttämättä lojuneen Speidelin kaksiosaisen vesilukon hattuosa, johon kiinnitin kiihtyvyysanturin ja – yllätys yllätys – Wemos D1 Mini -mikroprosessorin. Vesilukon alaosa on puolestaan muovisesta labrapullosta, josta on leikattu pohja pois ja koko komeus istuu nätisti 3d-printatussa telineessä. Käymisen aikana hattu pomppii pulputuksen voimasta ja kiihtyvyysanturi mittaa tämän pomppimisen tiheyttä.

Käymisaktiivisuuden vesilukko laskee seuraavasti. Vesilukko rekisteröi tapahtuman aina kun kiihtyvyysanturin kiihtyvyyslukema on itseisarvoltaan pienempi kuin pitkän aikavälin keskiarvo. Pitkän aikavälin kiihtyvyyskeskiarvo on olevinaan normaali painovoiman aiheuttama kiihtyvyys. Käytännössä laite siis kirjaa tapahtuman aina kun vesilukon hattu käy vapaassa pudotuksessa.

Näitä tapahtumia kirjataan korkeintaan yksi jokaisella kolmasosasekunnin aikavälillä. Kullakin hetkellä vesilukko pitää kirjaa viimeisen kahden minuutin aikana tapahtuneiden tapahtumien määrästä ja jakaa tämän tapahtumien teoreettisella maksimimäärällä (360). Esimerkiksi lukema 0,33 tarkoittaisi karkeasti yhtä kuplaa sekunnissa. Saatan kyllä vielä säätää laskennan yksityiskohtia. Ehkä kupla/minuutti voisi olla järkevämpi mittayksikkö.

Mitään kovin tarkkaa vesilukon datasta tuskin pystyy päättelemään, mutta kyllä tuosta sen näkee, milloin käyminen lähtee toden teolla vauhtiin ja koska se hiipuu. Ohessa kuva APAn käymisen alkutunneista.

kaarlo.net/fermenter/

Mihin tämä data sitten päätyy? Tavoitteenani oli koko ajan päästä seuraamaan käymistä internetin yli, joten vuokrasin OVH:lta virtuaalipalvelimen. Palvelimella pyörii mongodb-tietokanta, jonne data tallentuu, ja web-palvelin, joka piirtää datasta kauniita kuvia. Niitä pääsee katselemaan osoitteessa kaarlo.net/fermenter/.

Kerroin ylempänä, ettei mittariverkkoni ole yhteydessä internetiin. Kuinka data siis välittyy internetiin ja palvelimelle? Käymiskaapin, ominaispainomittarin ja vesilukon lisäksi verkossa pyörii vielä kaksi lisälaitetta, joiden funktio on toimia siltoina mittariverkon ja julkisen internetin välillä. Sillat yhdistyvät vuorotellen mittariverkkoon ja kotiverkkoon ja välittävät dataa laitteilta palvelimelle. Toinen siltalaite hakee viiden minuutin välein jääkaapin ja vesilukon datan http-kutsuilla ja välittää ne palvelimelle. Toinen taas odottaa passiivisesti mittariverkossa, että hydrometri ottaa siihen yhteyden ja lähettää sille dataa, jonka se tämän jälkeen välittää palvelimelle. Vähän purkkaratkaisuja, mutta toistaiseksi järjestelmä on toiminut aika hyvin ja ainakin ratkaisu takaa, ettei internetin röllit ja muut hakkerit pääse pilaamaan oluitani käymislämpötiloja törskäämällä.

Siltalaitteina toimivat Wemos D1 Minit

Sabro pale ale

Tällä hetkellä kaapissa tosiaan pulputtaa sabrolla humaloitu single hop APA. Olin tilannut Panimonurkasta tarvikkeet simcoe-APAan, mutta hakiessani niitä kävi ilmi, että simcoe oli päässyt loppumaan. Sabrosta olin kuullut kovasti hyvää, joten päädyin testaamaan sitä. Pohjana hyvin simppeli, vaalea APA-resepti.


Sabro pale ale (5,0 %)

20 litraa / kantavierre 1,046 / 35 IBU (Tinseth)
Resepti Brewer’s Friendissä

  • 3,7 kg Simpson’s Golden Promise Pale Ale
  • 0,12 kg Viking Caramel 50
  • 12 g Sabro 14,8 % α (60 min)
  • 43 g Sabro 14,8 % α (hop stand, 85 °C,15 min)
  • 45 g Sabro 14,8 % α (kuivahumalointi, 3 pv)
  • 1 paketti Wyeast 1450 Denny’s Favorite 50 Ale

Vesiprofiili: Brewer’s Friend Balanced

Ca2+Mg2+Na+ClSO42-HCO3
80 ppm5 ppm25 ppm75 ppm80 ppm100 ppm

Mäskää 60 min 65 asteessa. Ulosmäskää nostamalla lämpötila vartiksi 85 asteeseen entsyymitoiminnan lopettamiseksi ja valuttamisen helpottamiseksi. Valuta ja kerää 22 litraa vierrettä.

Keitä kasaan 1 tunnin ajan. Lisää ensimmäiset humalat heti keiton alussa. Keiton jälkeen jäähdytä 85-asteiseksi, lisää hop stand -humalat ja anna hautua 15 minuuttia, minkä jälkeen jäähdytä 18-asteiseksi, ilmasta ja käytä tässä lämpötilassa.

Kun käyminen on päättynyt, kuivahumaloi 3 päivän ajan, minkä jälkeen pullota tai kegitä. Hiilihapota esim. 2,9 tilavuuteen, tai oman maun mukaan.


2 comments

  1. Toimiiko tuo yhteys rosteripöntöstä ja jääkaapista ulkomaailmaan ilman antennivirityksiä?

    Tykkää

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google photo

Olet kommentoimassa Google -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s