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:
- Ohjaa lämmitintä ulkoisen releen avulla
- Näyttää sekä sisä- että ulkolämpötilan ja ohjausreleen tilan
- Pitää sisätilan halutun verran ulkolämpötilaa lämpimämpänä,
lämpötilaero aseteltavissa
- Säädettävä hystereesi
- Säädettävät sisälämpötilan ylä- ja alarajat jota kylmemmäksi
sisätilaa ei päästetä ja jota kuumemmaksi sitä ei lämmitetä
- Säädettävä ulkolämpötilan alaraja jota kylmemmässä lämmitys
sammutetaan kokonaan (vaihtoehtoinen em. sisälämpötilan
alaraja-asetukselle)
- Tuntilaskurit kokonaisajalle ja ajalle jonka lämmitin päällä,
voi käyttää kulutuksen seurantaan
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ä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.
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.
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ä.
- Difference tarkoittaa lämpötilaeroa, joka halutaan pitää ulko-
ja sisälämpötilojen välillä. Oletusasetus tälle on 5 astetta
- Hysteresis on lämpötilasäädön hystereesi. Tällä estetään ettei
lämmitin räpsy jatkuvasti päälle/pois kun lämpötilaero on juuri
asetetun suuruinen. Jos käytössä on puolijohderele, tämä voi
olla aika pienikin kun puolijohderele ei ole kuluva osa.
Mekaanisella releellä sopiva arvo on esim. 1.0 asteen
hystereesi, joka on oletusasetus.
- Low limit on alaraja jonka vaikutus riippuu mitä alarajan
tyypiksi on asetettu.
- Jos tyyppi on 'antifreeze', asetus on alaraja jota
kylmemmäksi ohjain ei sisälämpötilaa päästä. Tämän voi siis
esimerkiksi asettaa muutaman asteen plussan puolelle jos
rakennuksessa on vesijohto joka ei saa jäätyä. Jos kyseessä on
kesämökki, jota käytetään satunnaisesti talvisin, alaran voi
asettaa vaikka muutaman asteen pakkasen puolelle. Tällöin
kovilla pakkasilla mökille tullessa sen lämmitys asuttavaksi
ei kestä niin kauan kuin täysin kylmästä, mutta toisaalta kun
lämmöt pidetään talvella pakkasella, home ei kasva.
Oletusasetus on -5.0 astetta.
- Jos tyyppi on 'heater off', asetus on _ulkolämpötilan_
alaraja jossa lämmitys katkaistaan kokonaan. Tämän ideana on
sammuttaa lämmitys kokonaan kun ollaan reilusti pakkasella,
jolloin home ei kasva ja ilma on muutenkin kuivaa. Maksimoi
sähkönsäästön. Kannattaa käyttää tätä toimintoa varoen ja
mietittävä itse onko se soveltuva omaan käyttöön.
- High limit on yläraja jota kuumemmaksi sisätiloja ei
lämmitetä. Ei esimerkiksi liene mielekästä lämmittää sisätiloja
yli +30 asteeseen helteillä. Oletusasetus on +21 astetta
- Low limit type, alarajatyypin valinta. Tilojen nimet hiukan
kryptiset kun puristettu neljämerkkisiin 7-seg kirjaimiin.
Kuvaus edellä.
- Total hours laskee tunteja kuinka kauan ohjain on ollut
käytössä
- Heater hours laskee tunteja kuinka pitkään lämmitin on ollut
päällä. Kun tiedät lämmittimen tehon, tämän avulla voi helposti
laskea kuinka paljon sähköä on kulunut. Maksiminäyttämät
kummallekin tuntinäytölle on 9999, joka riittää hyvin vuositason
seurantaan. Tällöin laskurit kannattaa nollata kerran vuodessa.
- Reset hours valikossa napin painaminen nollaa molemmat
tuntilaskurit
Rakentaminen
Ohjaimen rakentamiseen tarvittavat osat näkyy kuvassa alla.
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.
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