Ilmanvaihdon ohjaus anturilla

Eli olisi tarkoitus ohjata talon ilmanvaihtokonetta anturidatan perusteella. Ilmanvaidon teho määräytyisi tarpeen mukaan automaattisesti. Päämääränä olisi saada parempi sisäilmanlaatu vähemmällä energialla. Laatu on kyllä nytkin hyvä, mutta se vaatii jatkuvaa nopeuden manuaalista säätämistä mututuntumalla.

Kone on Valloxin 95-malli, jossa ei ole j√§nniteohjausta, kuten n√§iss√§ uudemmissa ja kalliimmissa malleissa. ‚ÄúOhjauskeskuksesta‚ÄĚ menee 230 volttia neliasentoiseen kytkimeen, josta tuo sama j√§nnite ohjataan ohjauskeskuksen ainoaan komponenttiin, eli muuntajan eri liittimiin. Esimerkiksi 1-asento menee muuntajassa kohtaan 70v, kakkosasento kohtaan 120v, jne‚Ķ Muuntaja my√∂s pit√§√§ sellaista pient√§ s√§rin√§√§ pienemmiss√§ asennoissa. Laitteessa on kaksi 180 watin moottoria.

En tiedä onko tuollainen muuntaja hyötysuhteeltaan tehokas vai ei. Epäilen ettei se ainakaan ole tehokkaampi mitä joku jänniteohjattu tyristorisäädin. Juonena olisi asentaa tuollainen säädin sähkökaapin din-kiskoon. sitten arduino antureiden kera lähettäisi säätimelle jännitettä 0-5 voltin väliltä anturidatan mukaisesti.

Tässä muutama löytämäni vaihtoehto:
Tiimi 320 malli. Hinta 228 (ilmeisesti ilman alvia)
team-control.fi/html2/assets … alehti.pdf

EM-262 malli. Hinnasta ei vielä tietoa, mutta tuskin kovin edullinen
electromen.com/pdf_fi/FI_em-262.pdf

Jos tiedät mistä tälläisiä ohjaimia saisi edullisesti, niin olisin kiitollinen. En ole oikein keksinyt, millä sanoilla googlettaa noita ulkomailta.

Anturiksi olen miettinyt tälläistä iAQ-2000 mallia:
co2meter.com/collections/co2 … ity-sensor
Siinä on useita kommunikointi vaihtoehtoja, mutta olen ymmärtänyt, että PWM olisi analogista tarkempi ja TTL- ja I2C-menetelmiä helpompi.

Haluaisin myös kyhäelmään kaksirivisen LCD-näytön, josta kävisi ilmi sen hetkinen ppm-arvo sekä prosentuaalinen arvo moottorien pyrintänopeudesta.

Komponetttivaihtoehtoja on mieletön määrä, joten tässä olisi muutama kysymys:

  • mik√§ arduino malli kelpaisi t√§h√§n hommaan parhaiten?
  • voinko k√§ytt√§√§ arduinoa tuon anturin virtal√§hteen√§?
  • jos voin, voinko sijoittaa anturin noin 4-metrin p√§√§h√§n arduinosta?
  • kuinka paksuja johtimia pit√§isi k√§ytt√§√§, jos anturi on 4-metrin p√§√§ss√§?
  • mik√§ n√§ytt√∂malli olisi helpoin kiinnitt√§√§ arduinoon?

Ohjelma voisi olla melko yksinkerainen. Esimerkiksi:
kun 860ppm ylittyy pyörintänopeutta lisätään 5% minuutin välein
kun 840ppm alittuu pyörintänopeutta vähennetään 5% minuutin välein
kun 900ppm ylittyy pyörintänopeutta lisätään 10% minuutin välein
kun 800ppm alittuu pyörintänopeutta vähennetään 10% minuutin välein
minimi pyörintänopeus 25%
Sitten ppm arvon ja prosentin printti LCD-näytölle vaikka 10 sekunnin välein. Voisihan siinä prosenttiarvon perässä olla vaikka nuoli sen mukaan, onko laite korottamassa vai laskemassa tehoa.

Olen käsittänyt, että kaikki yllämainittu pitäisi olla mahdollista toteuttaa arduino piirillä. Tarvisisin näin alkuun apua noitten komponettien valinnan kanssa. Ehkä sitten myöhemmin tuossa ohjelmoinnissa, vaikka olen siitä jo päässyt hieman jyvälle, vaikka en käytännössä ole kokeillutkaan.

Kyllä tuo kuulostaisi mikrokontrolleriködöllä onnistuvalta ongelmalta.

Seuraava kysymys kuuluukin: Mittaatko lämpötilaa ja haluaisitko tuulettaa lämpimän ilman pois? Mitenkäs yö ja päiväaika? Tietenkin jos päivällä ollaan töissä ja aurinko paistaa, niin turhaan yksikseen ilmastointi puhisee lämmön perusteella. Ratkaisu on tietenkin kello.

Miten sellainen tehdään? AC muuntajasta(ei hakkuri) otetaan tasasuunnatusta sähköstä 100Hz taajuus, niin kello pysyy ajassa. KAveriksi 32k kide, ja kun sähkö katkeaa, tiputaan patterivetoon ja ajetaan kelloa kiteestä ja nukutaan.

Seuraavaksi kiinnostaa, paljonko tehoa palaa moottorissa. Mikä on hyötysuhdekkain tapa siirtää ilmaa. Tarvitaan virtausmittari, virtamittari ja ja…

Mten olisikaan mukava piirtää käppyrää ja ATK:lla saisi ohjattua. Tarvittaisiin sitten internet kylkeen ja webbiselaimella vilkuilla laitetta.

Nyt tulee sitten se Oikea kysymys. Löytyykö kaupasta valmista tuotetta, joka tekee kaiken tämän?

Kerran esimerkiksi haluttiin valojen syttyvän rauhalliisesti, kun liiketunnistin naksahti.

Lopussa pultasin sähkökaapin kylkeen pari Atomikonetta, vaihtoreleet ja muut sellaiset ja laite hoiti kaiken ilmastoinnin ja muun taloautomatiikan ohjauksen. Suoraa salaman iskua nuo eivät kestä, mutta jos jotenkin muuten laite viottuu niin toinen buuttaa ja ottaa homman haltuun.

Tuo projekti lähti lapasesta ja vaatimukset muuttuivat ja kalliiksi tuli. Talonrakennuskonkurssissa se ei kyllä enää näkynyt mitenkään.

Eli DIY henkeä vastaan suosittelen etsimään sellaisen säätimen, mikä tekee kaiken tarpeellisen, keittää kahvit ja täyttää veroilmoituksen. Lisäksi lopettaa yöpakkaset pedissä.

Haluan vain muistuttaa, mitä tarvitset, mitä on saatavilla ja mitkä ovat rajoitteet. Jossain vaiheessa voi esimerkiksi olla halvempi ostaa uusi ilmastointikone, joka osaa lukea sähköpostit ja irkata ja myydä se vanha suristin pois.

Jos kuitenkin haluat kulkea valitsemaasi tieuraa pitkin, Ulkomailta voi etsiä varmaan jollain air sensor tai co2 sensor. Ohjausta miettiessä kannattaa selvitää, moottorin toimivuus tyristorilla/triakilla. Toisaalta jos moinen ei onnistu, neliasentoinen kytkin kuikkaan (vesilintuja ei saa heittää lyijyllisellä elektroniikalla) ja releet, joita voi ohjata esimerkiksi 12DCV:llä. sähköasentaja osannee neuvoa tässä asiassa. Tosin tuo voi olla jo koneen muuttamista ja siihen pätee eri säännöt.

Kiitos vastauksesta…

Toistaiseksi tarkoitus olisi ohjata vain puhaltimen tehoa. Laitteen omaan jälkilämmityspatterin termostaattiin en koske. Talo lämmitetään pääsääntöisesti takalla, ilmapumpulla ja huonekohtaisella lattialämmityksellä. Ilmanvaihtokoneella tuodaan asuuntoon noin 20-asteista (lämmityskaudella) ilmaa ja tätä olisi tarkoitus tuoda niin vähän kuin mahdollista, silti säilyttäen mielyttävän ilman laadun.

Jos tuollaista moottorisäädintä ei alle 200 eurolla saa, projektin hinnaksi tulee arviolta 500 euroa. Uusi kone (nykyinen on siis kolmevuotias kuten talokin) noilla ominaisuuksilla maksaisi 1.500 euroa. Arvion että systeemillä saisi tiputettua sähkönkulutusta noin 1.000 Kwh, mikä vastaa noin 130 euron säästöä. Näinpä järjestelmä ehkä maksaisi itsensä muutamassa vuodessa takaisin, kun taas kokonaan uuden ilmanvaihtokoneen hankinta ei.

Edit: sain juuri vastauksen electromeniltä tästä säätimestä:
electromen.com/pdf_fi/FI_em-262.pdf
Hinta on 91 euroa + 14 euroa toimituskuluja.
Tuskimpa heti halvemmalla toista löytyy…

No nyt on tuo moottorisäädin tilattu. Saan sen varmaan asennettua tämän viikon aikana. Ennen kuin tuo mikrokontrolleri on saatu toimimaan, pitää ilmanvaihtoa säätää siitä minimitaso potikasta, mutta kaippa se kone voi ajaa hieman isommalla pari viikkoa, nyt kun ei ole varsinainen lämmityskausi…

En edelleenkään ole varma, mikä arduino olisi tähän sopiva, mutta ilmeisesti tuo Mega sisältää paljon muistia ja siinä on valmiiksi useampi sarjaportti, joka tulee tuossa LCD-hommassa vissiin hyödyksi. Ja tuosta muistia kait tarvitaan isompien näyttöjen kanssa? Onko megassa jotain huonoja puolija, jos hintaa ei huomioida?

Näytöksi olen ajatellut tuollaista 126x64 GLCD näyttöä:
robomaa.com/index.php?main_p … cts_id=520
Tuohon mahtuisi hetkellisen tiedon lisäksi käppyrää, jotta tietää mitä laite on touhunnut esim. yöllä tai työpäivän aikana. Ilmeisesti näyttö jakaantuu kahteen osaan, joten ylempään puolikkaaseen olisi helppo laittaa lukuarvoja ja alempaan osaan käyrää.

Olen lukenut, että kirjaston avulla näytölle voi piirtää viivoja yksinkertaisilla komennoilla. Esimerkiksi pystyviivaa varten pitää kertoa aloituspaikka, pituus ja väri. Näin näytön alempaan osaan voisi piirtää ppm arvoa kuvastavia viivoja vierekkäin, vaikka 5 minuutin välein, jolloin näytöllä näkyisi 10-tunnin arvot. Moottorin prosenttiarvon voi ilmeisesti piirtää pisteenä ja väriksi voi laittaa negatiivisen, jolloin ei ole väliä, osuuko piste viivan päälle vai ei. Ainoa mikä hieman mietityttää, on jo piirrettyjen viivojen ja pisteiden siirtäminen pikselin verran vasemmalle, jotta oikeaan laitaan mahtuu uusi viiva.

Sain ulkomaalaiselta foorumilta vahvistuksen näytön sopivuudesta, joten laitoin seuraavat osat tilaukseen:

Koekytkent√§levy ‚ÄúMini‚ÄĚ
20 in 1! Basic components mixed pack
0.1" (2.54mm) Crimp Connector Housing: 1x1-Pin 25-Pack
Jäykkä hyppylankasetti (140 kpl)
1 x 40 Pin Header - Long Straight
Arduino Mega 2560
128x64 Graphic LCD

USB-kaapeleita ei ollut, mutta olen käsittänyt että tuohon käy tavallinen kaapeli tuolla isommalla päällä.

Itse koodasin SDL:ll√§ (ei liity mitenk√§√§n mikrokontrollereihin) siten, ett√§ minulla oli tuollaisten ‚Äúviivojen‚ÄĚ arvot taulukossa ja uutta lis√§tess√§ kaikki vanhat arvot siirrettiin yhdell√§ aiemmaksi (ensimm√§inen poistettiin) ja viimeisen tilalle laitettiin uusi arvo. Sitten ne viivat piirrettiin. Luultavasti tuon voi tehd√§ aika samalla tavalla.

Joo, johto on semmoinen mitä tulostimissakin monesti. Itse olen vähän ihmetellyt miksi noissa ei käytetä micro-usb tai mini-usb tyyppisiä liittimiä (johtoja on kännyköiden jäljiltä valmiiksi), mutta josko nuo isommat olisi kestävämpiä.

Nyt kun olen lukenut tuota näytön manuaalia läpi, niin sieltä näyttäisi löytyvän shift-toiminto. En tosin tiedä voiko toimintoa käyttää sarjatilassa tai kirjaston kautta. Komento siirtäisi alemman näytön dataa pikselin verran ja sitten voisin piirtää uuden suoran sekä pisteen.

Täytynee vielä hankkia Hagerilta logiikka rele, jota ohjattaisiin jostain digitaalipinnistä. Rele kytkettäisiin poistomoottorin vaihejohtimeen (?), jotta takkaa sytyttäessä saadaan hetkellinen ylipaineen.

Kuulosti vaikealta. Ei tarvi mulkata, sillä % on ystävä.

uint8_t arvot[ARVOJEN_MAARA];
uint8_t arvo_indeksi = 0;

void lisaa_arvo(uint8_t arvo){
  arvo_indeksi = (arvo_indeksi +1) % ARVOJEN_MAARA;
  arvot[arvo_indeksi] = arvo;
}

void tulosta_arvot(void){
  uint8_t i = arvo_indeksi +1;
  while(i != arvo_indeksi){
    tulostus_funktio(arvot[i]);
    i = (i +1) % ARVOJEN_MAARA;
  }
  tulostus_funktio(arvot[arvo_indeksi]);
}

Meniskö noin?

Eikö tuo kasva yhdellä joka kerta (en osaa kieltä riittävästi, joten en ole varma)? Se minun ratkaisu (muuten varsin erityyppiseen ohjelmaan) tarvitsi sen, ettei vanhoja tietoja säilytetä. Siksipä niitä siirreltiin. Ehkä olisi voinut myös kokeilla jotain slice-juttua (sori olen käyttänyt javascriptissä semmoista, en tiedä muista kielistä).

Hups. Pitääpi korjata :slight_smile: Olisi tulostanut yhdelle kohdalle vain. Mutta niin tuohan toimii noin, että % on jakojäännös. x % ARVOJEN_MARA saa arvoja 0… ARVOJEN_MAARA -1 aivan kuten taulukossa on indeksejä. Ei voi karata lapasesta. Siinä kirjoitetaan aina vanhin ylitse ja sen jälkeen tulostetaan vanhimmasta alkaen. Kun saavutetaan arvo_indeksi, poistutaan while_loopista ja lopuksi kirjoitetaan se uusin ja indeksin osoittama arvo.

Varoitus: % operaattori on jakolasku. Nollalla ei saa jakaa ja negatiiviset luvut tuovat tuosta mielenkiintoisia vastauksia. Kannattaa tutustua.

Jos tuota shift-toimintoa ei voida käyttää, pitää siirto tehdä softapuolella. Lukuarvoja olisi kaksi jokaista 128 pystyriviä kohden. Onko arduinossa joku taulukkohomma, mihin noita tietoja voi tallentaa? Koodista ainakin tulisi pitkä, jos noi tiedot pitäisi tallentaa 128-muuttujaan…

Näytön tiedot voi ilmeisesti myös lukea takaisin? Jos tämä on mahdollista, ehkäpä voisin lukea näytöltä kaiken muun, paitsi ensimmäsen pystyrivin. Sitten dumpata ne takaisin alkaen näytön vasemmasta laidasta. Näin oikealle jäisi yksi tyhjä pystyrivi, johon uusi arvo voitaisiin dumpata.

Tässä olisi nyt graafinen esimerkki, mitä tietoja näytöllä näkyisi:

Ylhäällä lukee hetkelliset arvot sekä tila. Toinen tila olisi se ylipainetila, jossa se poistomoottori kytketään hetkellisesti pois.

Alaosa täyttyy oikealta vasemmalle. ppm arvo väliltä 600 - 1200 vastaa 0 - 100%. Jokaisen palkin päälle piirretään myös piste moottorin prosenttiarvon mukaisesti. Tästä syntyy sitten ajanmyötä käyrä graafin päälle. Tuossa voidaan kait käyttää sitä eriväritoimintoa.

Olen käsittänyt, että millis-toiminto olisi tässä hommassa paras, kun esim. pitää odottaa viisi minuuttia ennen arvon päivitystä. Toimii kait siten että tallennetaan nykyinen millis-arvo muuttujaan ja sitten verrataan muuttujaa ja nykyistä arvoa ja laukaistaan tapahtuma kun ero on tarpeeksi suuri.

Ylipainetila toteutetaan ilmeisesti interrup-toiminnon avulla. Eli kun nappia painetaan, niin interrup-toiminnolla katotaan se de-bounce suodatus ja sitten muutetaan joku muuttuja ykköseksi ja palataan ohjelmaan. Kun määrätty aika (millis-toiminnolla) on kulunut, tämä muuttaja muutetaan takaisin ja moottori käynnistyy. Pääohjelma, joka ei siis pysähtele kuin enitään hyvin pieniksi ajoiksi liittyen antureihin ja muuhun luku/kirjoitustoimintaan, juoksisi kokoajan ympäri. Ja siellä olisi sitten If tai vastaavia komentoja, joihin ohjelma menisi muuttujan tai millisarvojen säätelemänä.

Olenko oikeilla jäljillä?

Homma on edennyt hyvin ja eilen illalla tuli pienoinen läpimurto. Sain sen graafitoiminnon toimimaan:


Kun ruutu tulee täyteen, niin vasen viiva tippuu ulos ja uusi viiva tulee oikealle. Toimii siten, että FOR-luuppi siirtää Array-toiminnon sisällä olevia lukuja isommasta pienempään ja sitten FOR-luupilla tulostetaan kaikki viivat bufferiin ennen renderöintiä. Uusi arvo tulee Arrayn viimeiseen paikkaan.

Myös lukuarvot ja tekstit onnistuu, mutta ongelmana on se, että viivat onnistuu eri kirjastolla mitä kirjaimet.

Eli pitäisi tonkia tuo kirjain toiminto tästä kirjastosta:
dfrobot.com/image/data/FIT0021/LCD12864R.rar

Ja liittää se tähän kirjastoon:
arduino.cc/playground/upload … D12864.zip
Tässä kirjastossa merkit pitää tehdä kutsumalla merkin pinnejä ja merkkejä ei voi siirtää Y-suunnassa. Viivat ja muut toimii tässä paremmin…

Olen itsekin ajatellut tekeväni taloni ilmanvaihtokoneesta fiksumman. Se on tulo- ja poistopuhaltimella, sekä lämmönvaihtimella varustettu 13 vuotias kone.
Puhallinnopeuden säätöön siinä on 4-asentoinen kytkin, pääkytkin jolla katkaistaan koko koneen virrat, jälkilämmitysvastuksen kytkin sekä lämmitysvastuksen säätötermostaatti. Itse olen myöhemmin laittanut kytkimen jolla poistopuhaltimen voi sammuttaa. Tuota käytetään kun leivinuunia sytytetään, sammuttamalla poistopuhallin ja lisäämällä tulopuhaltimen nopeutta, saadaan hieman ylipainetta taloon ja se purkautuu uunin ja savuhormin kautta ulos, uunin veto paranee sytytysvaiheessa.
Puhallinnopeuden säätö tapahtuu tuolla 4-asentoisella kytkimellä, jolla kytketään laitteessa olevan muuntajan ulostulojännitteet 80 / 120 /160 / 230 V puhaltimien moottoreille. Muuntajassa näyttää olevan myös ulostulot jännitteille 100, 135 ja 180 V, joten noilla saisi ilmanvaihdon nopeuksiin lisää säätöarvoja. Ellei halua tehdä hienompaa tyristoriohjausta.

Toimintoja jota voitaisiin toteuttaa jos koneen ohjaus tehtäisiin viisaaksi.

Systeemi sisältäisi ilmanpaineen, lähinnä paine-eron mittauksen talon ulko- ja sisäpuolen välillä, lämpötilojen mittauksen, ulkoa, sisältä, tulo- ja poistokanavissa, sekä ilmankosteuden mittauksen lähinnä pesuhuoneessa ja kodinhoitohuoneessa.

Erikseen ei tarvisisi ilmavirtauksien nopeuksia mitata jatkuvasti, sen kun kerran tekisi puhallinnopeuksien eri arvoilla ja loput tehtäisiin laskemalla.

Ilmanvaihtoa ohjattaisiin siten mainittujen mittausten perusteella, käyttäjän määräämien tilojen perusteella (kotona/poissa/uunin sytytys ym.)

Jos jokin savunhaistelija-anturi on olemassa, siis herkempi kuin palovaroitin, niin sellainenkin voisi olla hyvä, ilmastointi pysähtyisi jos savua tai muuta käryä tulisi ulkoa sisälle.

En ole LVI-alan asiantuntija, mutta kaivamalla lisää tietoa ja ottamalla kaiken mahdollisen huomioon, voisi lopputuloskin olla hyvä.
Tuo on ihan sopiva aihe, ja ehkä tarpeellinenkin, järkevä. Eikä siihen hirveästi rahaakaan luulisi menevän.
Olen sitä mieltä, että nykytaloissa koneellinen ilmanvaihto on tarpeellinen, sen käytön järkevyydessä uskoisin olevan varaa mennä ylöspäin. Koskaan kovilla pakkasillakaan en ole sammuttanut ilmanvaihtoa, ainoastaan jälkilämmityksen termostaattia säätänyt kuumemmalle.

Ollaanko täällä jo tehty jotain tuollaista, vai onko tyydytty valmiisiin ratkaisuihin, joista ainakaan minulla ei ole tietoa, en nimittäin aio uusia konetta ellei se kokonaan tuhoudu.

Hiilidioksidi. Tottakai voi hifistellä ja mitata joka ikisen parametrin ilmasta mitä vaan pystyy keksimään, mutta hiilidioksidi riittää.

‚ÄúHiilidioksidin m√§√§r√§√§ sis√§ilmassa voidaan pit√§√§ ihmisest√§ per√§isin olevien ep√§puhtauksien esiintymisen indikaattorina.‚ÄĚ Sanoo Sosiaali- ja terveysministeri√∂n asumisterveysohje.

En nyt puutu millään tavalla siihen, että miten kukin aikoo omaa ilmastointikonettaan ohjailla, mutta mittaustekniikka on jo olemassa. Vaisala lienee alan kuuminta hottia. Lisäksi ainakin Enerventillä on olemassa valmiita mittalähettimiä sekä seinä- että kanava-asennusmalleina. Siis jos anturia ei rupea tyhjästä nyhjäsemään…

Vaisala: Tarpeenmukaisen ilmanvaihdon optimointi alkaa mittausteknologiasta

Tuo nyt oikeastaan kertoo sen mitä minä koitan sanoa :slight_smile:

Vaisala: Hiilidioksidilähettimet

Sosiaali- ja terveysministeriö: Asumisterveysohje

Joo, kun jaetaan ilmastointi ja sen merkitys kahteen pääosaan:

  1. Sisäilman laatu ihmisen terveyden kannalta

  2. Sisäilman laatu rakenteiden säilymisen kannalta

niin varmaankin on 1. kohdassa hiilidioksidi ja 2. kohdassa kosteus ovat ne pääosan esittäjät.

Ja kun nuo pääasiat hoidetaan, niin varmaankin siinä sivussa tulee hoidettua sellaisiakin epäpuhtauksia joita ei indikoidakaan.

Mutta erityisen hyvä vinkki on tuo hiilidioksidin indikointi, täytyy paneutua noihin linkkeihin, niiden sissältöihin.

Suosittelen vilkaisemaan hajatelmani täältä, varsin läheisesti aiheeseen liittyvää tarinaa :wink:

Voin vahvistaa tuon toimivan varsin mainiosti :wink: