DIY Mökin lämmityksen ohjaus

Linnalahti

Aktiivinen jäsen
Lämmitysohjain.gif

Tällaiseen ohjaimen tein 80m päässä olevaan talousrakennukseen. Siinä on KC868-A16 ESP32 emo ja 2.8" CYD näyttönä. DS18B20 sensorit ja AHT20 lämpötilan mittaukseen. RTC 3231 kello, sille 4.8V poveri LIR2032:sia varten ja I2C jakaja. 8 ajastinta. Vanha puhelinkaapeli saa ruveta palvelemaan RS485 kaapelina tiedot taloon johon saan mittaustiedot ja ohjaukset. LAN ja WIFI on liittävissä. Seuravaksi pitää tehdä loppuun vanhan ME-patiinin korvaaja joka on 70% valmis.
 
Viimeksi muokattu:
Minulla on lämpötilamittauksiin pari shellyä ja kaverina 4 kpl Tuya IR-lähettimiä joissa kosteus- ja lämpötilamittaukset. ILPit on Tuya pistorasioissa jotka kertovat vuorokausikulutuksen sekä hetkellisen tehon. Samanlainen pistorasia ohjaa kontaktoreja joilla saa seinillä olevat sähkölämmittimet (aka "patterit") päälle.

Kustannukset oli ehkä alun toista sataa, mutta suht kivasti tuollainen miltei hyllystä otettu ratkaisu (pl. kontaktorit) toimii ja myös ohjautuu tarvittaessa Home Assistantista käsin. Hyvänä puolena on hyvin halvat korjauskulut, jos joku kikottimista hajoaa.
 
Ok, näppärä systeemi. Rakensin vähän samanlaisen virityksen kesämökin ohjaukseen Raspberry Pi 5 & Sequent Microsystemsin I/O-korteilla. Siinä 1-Wire liityntöjä on vain yksi, joten jouduin käyttämään vanhoja DS2409P palikoita useamman segmentin luomiseen (minulla joihinkin antureihin on n. 10m matka joten yhdellä segmentillä ei oikein pärjää). Tuo KC868-A16 ESP32 on selvästi parempi 1-Wiren suhteen.

Millä tuota järjestelmää ohjelmoidaan?
 
Ok, näppärä systeemi. Rakensin vähän samanlaisen virityksen kesämökin ohjaukseen Raspberry Pi 5 & Sequent Microsystemsin I/O-korteilla. Siinä 1-Wire liityntöjä on vain yksi, joten jouduin käyttämään vanhoja DS2409P palikoita useamman segmentin luomiseen (minulla joihinkin antureihin on n. 10m matka joten yhdellä segmentillä ei oikein pärjää). Tuo KC868-A16 ESP32 on selvästi parempi 1-Wiren suhteen.

Millä tuota järjestelmää ohjelmoidaan?
Arduino IDE C++. Tiedoksi että 1-Wire antureita voi laittaa yhteen tuloon vaikka kymmeniä. Osoitteen mukaan voi määrittää mikä on mikin.
 
Arduino IDE C++. Tiedoksi että 1-Wire antureita voi laittaa yhteen tuloon vaikka kymmeniä. Osoitteen mukaan voi määrittää mikä on mikin.
Juu. Se onkin mukava tapa rakennella systeemi, anturin hajotessa ei tartte kuin muokata ohjelmaan uusi osoite ja kääntää ohjelma uusiksi uudella osoitteella.

Vaihtoehtona on se, ettei käytä osoitteita vaan I/O pinnejä.

Vielä en ole nähnyt ratkaisua, joka oppisi automaattisesti yhden anturin vaihtumisen ja ylläpitäisi osoitteita jossain eepromissa tms.

Näissä "tein itte ja säästin" tyyppisissä ratkaisuissa on vähän sellainen ongelma, että niitä pystyy käytännössä ylläpitämään lähinnä se, joka systeemin on rakentanut. Eikä kukaan muu, ellei satu olemaan vastaava virittelijä.

Tästä syystä olen heittänyt suurimman osan omista virityksistä kuikkaan. Ei niin, ettenkö osaisi, vaan ihan ylläpidettävyyden ja käytettävyyden kannalta. Joskus on toki pakko tehdä itse, mutta jos ei ole, en varsinaisesti välttämättä suosittele tekemään itse muuten kuin oman kompetenssin kasvattamiseksi.
 
Juu. Se onkin mukava tapa rakennella systeemi, anturin hajotessa ei tartte kuin muokata ohjelmaan uusi osoite ja kääntää ohjelma uusiksi uudella osoitteella.

Vaihtoehtona on se, ettei käytä osoitteita vaan I/O pinnejä.

Vielä en ole nähnyt ratkaisua, joka oppisi automaattisesti yhden anturin vaihtumisen ja ylläpitäisi osoitteita jossain eepromissa tms.
Suurin osa kunnollisista 1-Wire ohjaimista kyllä löytää automaattisesti väylään liitetyt uudet laitteet. Eikä ole kauhean vaikea kirjoittaa pientä graafista apuohjelmaa mikä antaa määritellä ja tallentaa laitteiden järjestyksen OWD-listassa ja kuvauksen mitä voi suoraan käyttää hyödyksi omassa ohjelmistossaan. Yleensä ammattimaisen ohjaimen valmistajalta voi myös asetustyökalun ladata ilmaiseksi.
 
Suurin osa kunnollisista 1-Wire ohjaimista kyllä löytää automaattisesti väylään liitetyt uudet laitteet. Eikä ole kauhean vaikea kirjoittaa pientä graafista apuohjelmaa mikä antaa määritellä ja tallentaa laitteiden järjestyksen OWD-listassa ja kuvauksen mitä voi suoraan käyttää hyödyksi omassa ohjelmistossaan. Yleensä ammattimaisen ohjaimen valmistajalta voi myös asetustyökalun ladata ilmaiseksi.
Sikäli kun tiedän, kaikki 1-wire ohjaimet löytävät kyllä anturit. Niiden tiedot voi jopa näyttää, ihan kaikkien, ilman ongelmaa. Mutta siinä kohtaa kun aletaan mäppäillä anturin osoitetta johonkin, menee säätämiseksi. Varsinkin jos on tarkoitus kötöstellä joku itsenäisesti toimiva ohjain, jonka pitäisi toimia ilman säätämistä.

Nuo on niitä valintoja. Voi valita siten, että anturin vaihto edellyttää säätämistä ja ylimääräisen softan kehittelyä, tai sitten voi valita siten että se ei edellytä.
 
Ihan hieno mutta itse tekisin vastaavat nykyisin varmaan pohjalta Raspi, H-A ja kaikki anturit ja toimilaitteet langattomina. On niin paljon helpompi tarvittaessa muuttaa sijainteja ja konfiguraatiota. Toki paljon kalliimpia kuin 1-wire anturit mutta kaapelointihässäkät jää pois.
 
Näissä "tein itte ja säästin" tyyppisissä ratkaisuissa on vähän sellainen ongelma, että niitä pystyy käytännössä ylläpitämään lähinnä se, joka systeemin on rakentanut. Eikä kukaan muu, ellei satu olemaan vastaava virittelijä.

Tulipa vastaan kiiteistöautomatiikassa vastaan sellainen juttu, että YIT:n rakentamissa kerrostaloissa käytetään automatiikkaa, jota voi kuvailla hyvinkin samalla tavalla. Sitä pystyy ylläpitämään vain yksi, firma, johon YIT on aikoinaan siirtänyt osaamisen. Hinnat on sen mukaisia eikä varaosiakaan saa muualta. Tässä siis myös laitteet on valmistanut YIT itse.
 


Sikäli kun tiedän, kaikki 1-wire ohjaimet löytävät kyllä anturit. Niiden tiedot voi jopa näyttää, ihan kaikkien, ilman ongelmaa. Mutta siinä kohtaa kun aletaan mäppäillä anturin osoitetta johonkin, menee säätämiseksi. Varsinkin jos on tarkoitus kötöstellä joku itsenäisesti toimiva ohjain, jonka pitäisi toimia ilman säätämistä.

Nuo on niitä valintoja. Voi valita siten, että anturin vaihto edellyttää säätämistä ja ylimääräisen softan kehittelyä, tai sitten voi valita siten että se ei edellytä.

Saan 1-Wire ohjaimelta suoraan listauksen kytketyistä laitteista, pystyn muuttamaan position ja kuvaukset sekä tallentamaan tiedot ohjaimelle. Oma ohjelmani lukee tiedoston ja osaa sen jälkeen automaattisesti toimia oikein. En pidä tätä kamalan suurena säätämisenä.

Koodi:
1_OWD1;C68A1924C72FFF28;S_0;DS1820;OH LÄMPÖTILA
1_OWD2;6000001D70F44C29;S_0;11221;OH VALAISTUS
1_OWD3;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD4;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD5;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD6;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD7;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD8;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD9;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD10;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD11;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD12;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD13;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD14;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD15;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD16;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD17;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD18;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD19;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD20;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD21;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD22;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD23;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD24;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD25;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD26;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD27;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD28;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD29;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD30;FFFFFFFFFFFFFFFF;S_10;none;

Tässä siis 1-Wire väylään kytkettynä tällä hetkellä pelkästään lämpötila-anturi ja kaksi kanavainen himmennin, josta toinen kanava on vaan käytössä.
ui.png
 
Ihan hieno mutta itse tekisin vastaavat nykyisin varmaan pohjalta Raspi, H-A ja kaikki anturit ja toimilaitteet langattomina. On niin paljon helpompi tarvittaessa muuttaa sijainteja ja konfiguraatiota. Toki paljon kalliimpia kuin 1-wire anturit mutta kaapelointihässäkät jää pois.
Menetät tosin kaapeloidun järjestelmän toimintavarmuuden. Esimerkiksi 1-Wire väylässä laitteet toimivat helposti vuosikymmenen ilman mitään säätämistä.
 
Tulipa vastaan kiiteistöautomatiikassa vastaan sellainen juttu, että YIT:n rakentamissa kerrostaloissa käytetään automatiikkaa, jota voi kuvailla hyvinkin samalla tavalla. Sitä pystyy ylläpitämään vain yksi, firma, johon YIT on aikoinaan siirtänyt osaamisen. Hinnat on sen mukaisia eikä varaosiakaan saa muualta. Tässä siis myös laitteet on valmistanut YIT itse.
Meinaat varmaan Niagaraa? Tuon kanssa joskus tullut taisteltua... Suurin ongelma noissa on ollut, että laitteet eivät tahdo kestää lämpimiä olosuhteita ja kun VAK yleensä asennetaan lämmönjakohuoneeseen niin vuoden tai parin välein tulee ongelmia.
 
Noilla DS18B20 antureilla saa myös laajemman mittausalueen murtoosan hinnalla. Esimerkiksi saunan mittaaminen langattomalla anturilla maksaa helposti monta kymppiä per anturi.
 
Noilla DS18B20 antureilla saa myös laajemman mittausalueen murtoosan hinnalla. Esimerkiksi saunan mittaaminen langattomalla anturilla maksaa helposti monta kymppiä per anturi.
Kyllä, tai varmaan Kiinasta temuttamalla saa edullisiakin langattomia. Piuhojen veto saunaan ja muutenkin ympäri taloa ei vaan ole ilmaista tai helppoa sekään.
 




Saan 1-Wire ohjaimelta suoraan listauksen kytketyistä laitteista, pystyn muuttamaan position ja kuvaukset sekä tallentamaan tiedot ohjaimelle. Oma ohjelmani lukee tiedoston ja osaa sen jälkeen automaattisesti toimia oikein. En pidä tätä kamalan suurena säätämisenä.

Koodi:
1_OWD1;C68A1924C72FFF28;S_0;DS1820;OH LÄMPÖTILA
1_OWD2;6000001D70F44C29;S_0;11221;OH VALAISTUS
1_OWD3;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD4;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD5;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD6;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD7;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD8;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD9;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD10;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD11;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD12;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD13;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD14;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD15;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD16;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD17;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD18;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD19;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD20;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD21;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD22;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD23;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD24;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD25;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD26;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD27;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD28;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD29;FFFFFFFFFFFFFFFF;S_10;none;
1_OWD30;FFFFFFFFFFFFFFFF;S_10;none;

Tässä siis 1-Wire väylään kytkettynä tällä hetkellä pelkästään lämpötila-anturi ja kaksi kanavainen himmennin, josta toinen kanava on vaan käytössä.
Näytä liitetiedosto 105868
Yhden lämpöanturin hanskaaminen varmasti onnistuu hyvin. Ei tuon luulisi tarvitsevan mitään osoitteen mukaan mäppäystä ylipäätään.
Kymmenen lämpöanturin käyttö saman I/O pinnin kautta sitten taas vaatii jo vähän fiksumpaa softaa, jos haluaa selvitä anturin vaihdosta ilman minkäänlaista säätöä. Se sitten, että pitääkö hommaa pahana, on vähän makuasia. Sinä et varmasti pidä, uskon sen, mutta rakennuksen seuraava omistaja saattaa vaikka pitääkin.
 
Suurin osa kunnollisista 1-Wire ohjaimista kyllä löytää automaattisesti väylään liitetyt uudet laitteet. Eikä ole kauhean vaikea kirjoittaa pientä graafista apuohjelmaa mikä antaa määritellä ja tallentaa laitteiden järjestyksen OWD-listassa ja kuvauksen mitä voi suoraan käyttää hyödyksi omassa ohjelmistossaan. Yleensä ammattimaisen ohjaimen valmistajalta voi myös asetustyökalun ladata ilmaiseksi.
Minä ratkaisin ongelman siten että ylimääräisen/vaihdetun anturin osoite näkyy näytön tyhjässä kohdassa josta sen voi siirtää halutun huoneen kohtaan.
 
Yhden lämpöanturin hanskaaminen varmasti onnistuu hyvin. Ei tuon luulisi tarvitsevan mitään osoitteen mukaan mäppäystä ylipäätään.
Kymmenen lämpöanturin käyttö saman I/O pinnin kautta sitten taas vaatii jo vähän fiksumpaa softaa, jos haluaa selvitä anturin vaihdosta ilman minkäänlaista säätöä. Se sitten, että pitääkö hommaa pahana, on vähän makuasia. Sinä et varmasti pidä, uskon sen, mutta rakennuksen seuraava omistaja saattaa vaikka pitääkin.
Oikeassa toteutuksessahan antureita ja laitteita 1-Wire väylään voi varmasti helposti 20 - 30 kpl luotettavasti liittää. Minulla on nyt vain työpöydän nurkalle seinään asennettuna keskus mihin on tällä hetkellä asennettuna ohjain, lämpötila-anturi ja himmennin. Käytän tätä apuna kehitystyössä, kun ohjelmointihommia teen.
 

Liitetiedostot

  • 20250319_161918.jpg
    20250319_161918.jpg
    168,8 KB · Lukukerrat: 80
Arduino IDE C++. Tiedoksi että 1-Wire antureita voi laittaa yhteen tuloon vaikka kymmeniä. Osoitteen mukaan voi määrittää mikä on mikin.
Juu, tiedän. Ongelma on vaan että minulla on topologiana tähtiverkko jossa haarojen pituudet ovat kovin erilaisia, 1-wire ei tällaisessa ympäristössä tunnu toimivan kovin luotettavasti. Erillisillä segmenteillä olen saanut järjestelmän ilman virheitä. 1-wire anturit luen sitten Linuxissa owfs-kirjastolla, se on toiminut luotettavasti.
 
Kaupallisissa tuotteissa helppokäyttöisyyttä saadaan esim sillä että yhteen porttiin laitetaan vain yksi 1-wire anturi. Tällöin sen osoitteella ei tavallaan ole väliä vaan oletetaan että ko portissa oleva anturi on osoitteesta riippumatta aina vaikkapa lähtevän veden lämpötila.

Toki samalla menetetään ketjutus ja muutenkin joustavuus.
 
Kaupallisissa tuotteissa helppokäyttöisyyttä saadaan esim sillä että yhteen porttiin laitetaan vain yksi 1-wire anturi. Tällöin sen osoitteella ei tavallaan ole väliä vaan oletetaan että ko portissa oleva anturi on osoitteesta riippumatta aina vaikkapa lähtevän veden lämpötila.

Toki samalla menetetään ketjutus ja muutenkin joustavuus.
Voihan 1-Wire väylään liittää muutakin, kuin pelkkiä antureita, itselläni on muun muassa 2-kanavainen himmennin kytkettynä. Omassa 1-Wire kaapeloinnissani menee: 12V, 5V, data ja GND.
 
Onko sinulla liitettynä 'hardware bus master', vai käytätkö Linux:in softa pohjaista 'w1-gpio' kernel ajuria? Linux ei ole reaaliaika käyttöjärjestelmä ja softapohjainen toteutus toimii luotettavasti vain pieniin ja simppeleihin 1-Wire verkkoihin.
On, DS2482-100 pohjainen pikkukortti raspissa, owfs:ssä on tuohon ohjain valmiiksi.
 
Takaisin
Ylös Bottom