Kuivanapitolämmitin v1.1

Tästä linkistä uuden v2.0 version sivuille, jossa on jännitelähde ja rele integroituna.

Tässä on rakennusohje miten parinkymmenen euron hintaisista osista saa itse rakennettua kuivanapitolämmitysohjaimen. Sitä saa vapaasti rakentaa ja muutella omaan käyttöön. Tällä sivulla olevan materiaalin, kuvien, suunnittelutiedostojen ja lähdekoodin osittainenkin käyttö kaupallisiin tarkoituksiin sallittu vain tekijän kirjallisella luvalla. Yhteystieto sivun alareunassa.

Ohjaimessa on seuraavat ominaisuudet:

Vastuuvapauslauseke: Käyttö omalla vastuulla. En ota mitään vastuuta jos homehdutat, poltat tai muuten tuhoat talosi tai jos halkaiset vesijohdot tai saat sähköiskun tämän sivun ohjeiden avulla tai niiden inspiroimana.

Kuivanapitolämmitysohjain

Kuivanapitolämmityksen perusteita

Kuivanapitolämmityksellä tarkoitetaan lämmitystä, jossa rakennusta lämmitetään vain sen verran, että sen rakenteet pysyvät kuivina. Yleisimmin tämä tarkoittaa sitä, että rakennuksen sisälämpötila pyritään pitämään muutaman asteen ulkolämpötilaa korkeampana. Yksinkertaisimmillaan tämä onnistuu pienitehoisella sähkölämmittimellä joka on jatkuvasti päällä. Tarvittava teho on noin 5-15 W/m2, riippuen rakennuksen eristyksestä ja ilmanpitävyydestä. Aiheesta on muutama vuosi sitten tehty TTY:llä varsin kattava tutkimus joten en höpise tästä sen enempää, kannattaa tutustua raporttiin tästä jos haluaa tietää asiasta tarkemmin.

Vakiotehoinen lämmitys toimii keskimäärin varsin hyvin. Nopeissa ulkolämpötilan muutoksissa se tietysti jää jälkeen. Kun ulkolämpötila laskee nopeasti, on lämmitys päällä 'turhaan'. Vastaavasti kun ulkolämpötila nousee nopeasti, vakiotehoinen lämmitys ei riitä pitämään sisälämpötilaa ulkolämpöä suurempana. Myös kirkkaana kevätpäivänä voi lämmitys olla turhaan päällä kun aurinko lämmittää ikkunoista.

Vakiotehoista lämmitystä hienostuneempi tapa on käyttää tehokkaampaa lämmitintä ja lämpötilaerotermostaattia. Lämpötilaerotermostaatti mittaa sekä sisä- että ulkolämpötilaa ja pyrkii pitämään niiden eron halutun suuruisena. Koska tällaisessa järjestelmässä lämmitin on tehokas, se estää sisälämpötilaa painumasta ulkolämpötilaa kylmemmäksi jos keli lauhtuu nopeasti. Näitä on nykyään jo jonkun verran saatavilla kaupallisiakin malleja:

Lämmityksen ohjauksen älykkyyttä voisi lisätä entisestään mittaamalla lämpötilojen lisäksi ilmankosteutta. Sisäilman suhteellinen kosteus tulisi pitää alle 80%:ssa rakenteiden säilymisen takia. Käytännössä tähän pitäisi päästä n. 4 asteen lämpötilaerolla, sillä suhteellinen kosteus laskee n. 5 prosenttiyksikköä yhtä Celsiusastetta kohden. Tässä siis oletetaan että rakennuksen ilma vaihtuu sen verran että sisäilman absoluuttinen kosteus on sama kuin ulkoilman. Pitkien sadejaksojen aikana voisi olla järkevä pitää hieman suurempaa lämpötilaeroa että rakenteet pysyvät kuivana, kun taas kuivemmalla ilmalla riittäisi pienempi ero.

Ohjaimen toiminta

Tein syksyllä 2012 lämpötilaerotermostaatin ohjaamaan talon kylmää kuistia. Tarkoituksena on pitää kuisti talvisin ulkoilmaa lämpimämpänä, mutta minimoida lämpöhukka. Kolmen talven perusteella se on toiminut kuten pitää. Tosin mitään konkreettista näyttöä lämmityksen hyödystä rakenteiden kannalta ei ole - kuka tietää onko sitä vuosikymmenten aikana aiemmin lämmitetty lainkaan.

Tekemäni termostaatti pohjautuu aiemmin tekemääni lämpömittariin, joka mittaa kahta lämpötilaa NTC-vastuksilla, laskee niistä lukemat PIC 16F690 -mikrokontrollerilla ja esittää sen 7-segmenttinäytöillä joita ohjaavat SAA1064 piirit. Lämpöpatterina toimii 1500W öljytäytteinen lämpöpatteri, jonka oma termostaatti on säädetty melko suurelle. PIC ohjaa patterille menevää sähköä puolijohdereleen avulla.

Vähitellen on löytynyt muitakin kohteita joissa olisi tarvetta vastaavanlaiselle ohjaimelle. Päätin suunnitella ohjainta varten piirilevyn, jotta niitä olisi helpompi rakentaa enemmän. Samalla yksinkertaistin kytkentää jättämällä SAA ohjainpiirit pois ja ajamalla näyttöjä suoraan PIC:llä. Lisäsin ohjaimeen myös käyttöliittymäksi enkooderin, joten hystereesit, lämpötilaerot ym. voi asetella tapauskohtaisesti nuppia pyörittämällä, aiemmin ne oli hardkoodattu.

Kytkentä

Ohjaimen kytkentäkaavio PDF muodossa nähtävissä alla olevasta linkistä:

temp_controller_v11_Circuit_diagram.pdf

Kytkentä sinänsä on varsin yksinkertainen, sillä mikrokontrolleri hoitaa lähestulkoon kaiken. Termistorit liitetään liittimiin X3 ja X4. Termistori muodostaa 10 kohm vastuksen kanssa jännitejaon. Sitä luetaan mikrokontrollerin AD-muuntimella.

Sisä- ja ulkolämpötilat esitetään kukin omalla 4-numeroisella 7-segmenttinäytöllä. Näyttöjä ajetaan suoraan mikrokontrollerin pinneistä. Yhteiskatodeja (tai yhteisanodeja, näyttötyypistä riippuen) ajetaan kahdella rinnankytketyllä pinnillä, jolloin saadaan riittävän suuri virta ilman ulkoista transistoria tai ohjainpiiriä. Segmenttejä ohjaavissa pinneissä on sarjavastus, joka asettaa yhden segmentin läpi meneväksi virraksi noin 6 mA.

Enkooderi on kytketty suoraan mikrokontrollerin pinneihin, ja sitä luettaessa käytetään PICin sisäisiä heikkoja ylösvetovastuksia. Lämmittimen relettä ohjataan transistorilla Q1. Tässä käytettävän NPN transistorin voi valita melko vapaasti, itse olen käyttänyt 2N4401 tyyppiä, koska niitä sattui olemaan läjä. Releen kelan takapotkulta suojaamassa on diodi; sitä ei tarvita jos käytetään relettä jossa on integroitu diodi. Puolijohderelettä voi ohjata suoraan mikrokontrollerin pinnistä ja jättää transistorinkin pois.

Tulevaisuuden laajennusten varalle on liitin X5. Siihen voisi kytkeä esimerkiksi I2C -väyläisen kosteus- ja ilmanpaineanturin, taikka kaksi termistoria lisää. Ulkolämpötilaa mittaavia termistoreja voisi olla kaksi, eri puolilla rakennusta, jotta niistä jompi kumpi on aina varmasti varjossa.

Mikrokontrollerin pinnijärjestys ei ole aivan optimaalinen. Hardis I2C ei ole kytketty laajennusliittimeen, ja enkooderi on ICSP liitännän kanssa rinnakkain, vaikka C-portissa olisi vapaita pinnejä. Tämä johtuu siitä, että ensimmäinen 1.0 versio oli suunnitelu PIC18F45K50 kontrollerille. Mutta sen AD-muunnin oli jostain syystä melko kohinainen, joten siirryin käyttämään nykyistä PIC16F1789 piiriä, joka sopi suoraan tilalle. Kun firmis on jo kehitetty tuolle pinnijärjestykselle ja toimii, en alkanut muuttamaan sitä 1.1 versioon. 1.1 versiossa on lähinnä vain hienosäädetty liitinten paikkoja ja jätetty aiemman kontrollerin vaatima konkka Cusb pois.

Leiska

Piirilevy on suunniteltu Eagle 5.12.0 ohjelmistolla. Se on mitoiltaan 54 x 78 mm, ja sopii Serpac C10 koteloon. Koteloa saa läpinäkyvinä versioina jolloin näyttöjä varten ei tarvitse tehdä reikiä. Läpinäkyvä harmaa ja läpinäkyvä punainen toimivat molemmat hyvin punaisten 7-segmenttinäyttöjen kanssa.

Kuivanapitolämmitysohjain Eagle'up mallinnos

Kortilla on käytetty pelkästään läpiladottavia komponentteja, joten se on aloittelevalle harrastajallekin helppo kasata. Kortilla on 2-puoleinen kuparointi joten helpointa on käyttää tehdastekoista korttipohjaa. Piirilevyjä saa varsin edullisesti Kiinasta. Olen teettänyt näitä dirtypcbs.com korttipajassa. Tästä linkistä saa tilattua 10 kpl näitä kortteja, toimituskuluineen 25$.

Eagle -tiedostot ladattavissa alla olevasta linkistä

temp_controller_hw_v11.zip     4.7.2015 Piirilevyyn suunnittelutiedostot, tehty Eagle versiolla 5.12.0.

Osasijoittelukuva ja osaluettelo PDF muodossa ladattavissa tästä temp_controller_v11_assy_and_bom.pdf
Osaluettelossa on listattu myös Mouserin tilausnumerot.

Osaluettelossa on annettu Bournsin koodi enkooderille. Tämä tuntuisi olevan hiukan rimpula, pykälät ovat löysät ja epämääräiset. Painokytkin on sen sijaan tosi jäykkä. Sen asemesta voi käyttää myös Alpsin malleja jotka sopivat suoraan piirilevyn reikiin. Esimerkiksi Alps EC12E2424407 toimii erinomaisesti.Tuota Alpsin mallia saa ainakin Farnellista. Enkooderia valitessa täytyy huomioida että siinä on myös painonappi (kaikissa malleissa ei ole) ja että molempien lähtöjen tila vaihtuu kahdesti mekaanisten pykälien välillä.

Näytöille suositeltava tyyppi on tuo osaluettelossa annettu Lite-Onin yhteiskatodinäyttö, sillä PIC:n lähdöt jaksavat ajaa voimakkaammin alas kuin ylös. Yhteisanodinäytöt toimivat kyllä nekin OK, mutta merkkien keskinäiset kirkkaudet voivat hiukan vaihdella, riippuen siitä montako segmenttiä on päällä. Noiden Lite-Onin LTC-4727JR ja LTC-4627JR näyttöjen lisäksi voi käyttää myös Youngsun ATA3492BR-1 -näyttöä jota saa Sparkfunin lisäksi ainakin Hobbytronicsilta.

Firmis

Mikrokontrollerin ohjelma on tehty CCS PIC-C kääntäjällä. Koodi on jossain määrin kommentoitu joten en ala selostamaan sen toimintaa tässä. Jos joku kohta on epäselvä niin lähetä meiliä. Jos käytät yhteisanodi -tyyppisiä näyttöjä, kommentoi rivi #define CC_DISPLAY. Alla olevassa paketissa on lähdekoodin lisäksi käännetyt binäärit kummallekin näyttötyypille.

temp_controller_fw_v11.zip    21.7.2015. Lähdekoodi ja CCS 5.021 versiolla käännetyt binäärit.
temp_controller_fw_v12.zip    8.11.2015. Lähdekoodi ja CCS 5.048 versiolla käännetyt binäärit. Uutena toimintona alarajan tyypin valinta.
temp_controller_fw_v14.zip    4.2.2016. Lähdekoodi ja CCS 5.054 versiolla käännetyt binäärit. Korjattu alarajan hystereesin toiminta. Näyttää FW version kun sähköt kytketään.

Tehonsyöttö ja lämmittimen ohjaus

Kuivanapitolämmitin tarvii toimiakseen +5V tasajännitelähteen. Virtaa tarvitaan n. 60 mA + releen käämin tarvitsema virta. Virtaliittimeen X1 sopii DC-plugi jonka ulkohalkaisija on 5,5 mm ja keskireikä 2,5 mm. Jos DC-plugin keskireikä on 2,1 mm sen saa sopimaan vaihtamalla liittimen X1 tyyppiin CUI PJ-051AH. Maan pitää olla DC-plugin ulkokuoressa, kortilla ei ole suojausta väärin päin kytkettyä käyttöjännitettä vastaan.

Releen voi valita melko vapaasti kunhan käämin jännite on 5 V ja kontaktit kestävät lämmittimen kuorman (ja jännitteen!). Itse olen käyttänyt Teledyne 615-2H puolijohderelettä koska hankin niitä joskus halvalla läjän. Myös Bebekissä olen nähnyt tätä samaa relettä myynnissä. Myös ebaystä näyttäisi saavan relekortteja noin yhden euron hintaan postikuluineen hakutermeillä "5v relay board". En ole tällaisia kokeillut joten omalla vastuulla.

Huomautan vielä että lämmittimen ohjaukseen liittyvät kytkennät ovat lähes poikkeuksetta hommaa johon vaaditaan tarvittava sähkömiehen pätevyys! Joten en ala sitä ohjeistamaan tarkemmin. Jos et tiedä miten kytkentä kuuluu tehdä pyydä tähän sähkömiehen apua.

Termistorit

Termistoreina olen käyttänyt ebaystä hankittuja 10 kohm NTC-vastuksia joiden beta on 3950. Niissä on metrin mittainen johto jonka päässä ns. XH-liitin joka on kiinalainen kopio JST:n XH-sarjan liittimestä. En ole koittanut sopivatko nämä keskenään ristiin vaan olen hankkinut piirilevylle tulevat vastakappaleetkin kiinasta. Itse termistori on metallihylsyn sisällä joka on täytetty epoksilla. Testieni perusteella nuo tuntuisivat noudattavan varsin hyvin tätä Adafruitin sivuilta löytyvää taulukkoa. Mittasin yhden termistorin resistanssiksi jäävedessä 31,87 kohm ja kiehuvassa vedessä 652 ohm. Firmiksessä oleva lämpötila/AD-muunnos -taulukko on tehty tuon em. taulukon mukaan ja käytännössä mittarin näyttämä pitää varsin hyvin yhtä kaupasta ostetun digitaalisen lämpömittarin kanssa.

Absoluuttista tarkkuutta tärkeämpäähän tässä sovelluksessa on, että termistorit antavat keskenään samansuuruisia lukemia. Tämä kannattaa varmistaa teippaamalla anturit yhteen ja katsomalla näyttääkö lämpömittari yhtä paljon, ja tehdä testi vielä mieluusti sekä kylmässä että lämpimässä.

Käyttöliittymä

Lämmittimen käyttöliittymän valikkorakenne on esitetty allaolevassa tilakaaviossa. Valikossa liikutaan pyörittelemällä ja painamalla nuppia.

Kuivanapitolämmitin tilakaavio

Perustila on siis tuo oikealla ylhäällä jossa näytössä näkyy sisä- ja ulkolämpötilat. Ulkolämpötilanäytön oikeanpuoleisin desimaalipiste ilmaisee onko lämmitys päällä. Lämmityksen ohjaus toimii normaalisti riippumatta siitä ollaanko lämpötilanäkymässä vaiko jossain valikon syövereissä.

Rakentaminen

Ohjaimen rakentamiseen tarvittavat osat näkyy kuvassa alla.

Kuivanapitolämmitysohjain rakennussarja

Kasaamisessa ei ole juurikaan mitään ihmeellistä. Näytöt, mikropiiri, pienempi vastusverkko, diodi ja transistori pitää asentaa oikein päin. Näytöt kannattaa asentaa hiukan irti piirilevyn pinnasta että ne tulevat kotelon sisäpinnan tasalle. Tällöin kotelon kipinäpinta sumentaa näyttöjä mahdollisimman vähän. Tämä onnistuu parhaiten käyttämällä kotelon etukappaletta (sitä jossa ruuvinreikä ei mene läpi asti) juotosjiginä alla olevan kuvan mukaisesti. Tämä vaihe täytyy tehdä ennen enkooderin ja releen liittimen asennusta.

Näytön kolvaus

Kustannukset

Kuivanapitolämmittimen ohjaimen osat maksavat noin 20 €, mukaanlukien kotelo ja termistorit. Lisäksi tarvitaan 5V poweri, lämmittimen ohjaukseen rele, releen mahdollinen kotelointi, liittimiä ja piuhaa.

Ohjaimen hintaa saa hiukan karsittua jos jättää enkooderin pois. Tällöin halutut asetusarvot pitää muuttaa firmikseen, oletusarvojen paikalle. Vielä lisää saa säästettyä jättämällä 7-segment näytöt ja niiden etuvastukset pois. Kun lisäksi jättää vielä kotelonkin pois niin loppujen osien hinnaksi jää noin kymppi.

page created 2.7.2015
last updated 11.9.2016 webmaster@kair.us