Uutiset:

Kirjoittaja Aihe: Luxtronikin ohjaaman invertterimaalämpöpumpun hitaan kierrosten noston korjaus  (Luettu 329 kertaa)

Poissa repomies

  • Konkari
  • *****
  • Viestejä: 598
  • Maalämpöfoorumi
Taloani suoraan lattian kautta lämmittävän PWZSV9 pumpun ehkä huonoin ominaisuus on käyttövesijakson jälkeinen lämmityksen hidas kompressorin kierrosten keräys.

Ainoa lievitys ongelmaan on yrittää lyhentää itse käyttövesijaksoa käyttämällä ns. "luxus" tilaa, jossa käyttövesijakson aikana kompressorin taajuus on 20Hz normaalia korkeampi.

Nykyisellä firmwarella kone aloittaa käyttövesijakson jälkeen 42Hz taajuudella, eikä tilanne ole yhdessäkään FW-versiossa parantunut. Myöskään uusimmassa firmwaressa, jota en sattuneesta syystä enää käytä, mutta siitä enemmän vähän myöhemmin. Nyt käytössäni on FW 3.88.0.

Ongelma ei ole kesäisin minkäänlainen, eikä oikeastaan keväällä eikä syksyllä, koska lämmitys ei silloin tarvitsekaan kovin korkeita hertsejä ainakaan minun talossani.

Mutta silloin kun on oikeasti kylmä, sanotaanko vaikka -25C kuten nyt nähtiin tammikuun alussa pitkiä jaksoja, niin talo todellakin jäähtyy käyttövesisyklien takia. Niiden aikana ei tietenkään lämmitetä, ja niiden jälkeen kone kerää hyvin hitaasti kierroksia. Syy on ohjaimessa. Lattiakierron paluu valahtaa hyvin hitaasti alle tavoitellun lämpötilan, eikä pumppu tajua että kovalla pakkasella sitä lattiaa oikeasti pitäisi lämmittää voimalla. Se siis keräilee hissukseen vauhtia, ja lämpövajetta kertyy. Ennen käyttövesisykliä on voinut olla hyvinkin 100Hz nopeutta kompressorissa, ja siihen takaisin pääsy ottaa vähintäänkin toista tuntia.

Ohessa kuva hitaasta kierrosten nostosta, tosin perjantailta. Tilanne ei ole olennaisesti parempi kovalla pakkasella. Kuvitelkaa käyrään tilanne jossa ensin on lämmitetty noin 100Hz taajuudella, sitten alkaa käyttövesisykli 85Hz taajuudella, ja sen jälkeen aloitetaan hidas kierrosten keräily tasolta 42Hz. Jos tämä tehdään useamman kerran vuorokaudessa, tilanne on aika ikävä lämmityksen kannalta. Ainoa konsti jotenkin pitää kämppää lämpimänä, kun lähestytään lämmityksen rajalämpöä, on ylilämmittää taloa. Eli käyrää ylös, termostaatit täysille ja sitten toivotaan ettei tule liikaa käyttövesisyklejä, pumpun mennessä täydelle teholle niiden välillä.

Korjasin ongelman. Ensinnäkin käytän luxtronikin integraatiota Home Assistantissa, ja siihen naputtelin sitten muutaman automaation jotka pistävät muistiin kompressorin taajuuden ennen käyttövesisykliä, ja toisaalta kutsuvat shelliskriptiä saman muistista otetun taajuuden kanssa sitten lämmityksen taas käynnistyttyä. Shelliskripti sitten taas kutsuu linux-ohjelmaa netcat, joka ottaa yhteyden erääseen porttiin luxtronikkia ajavassa linuxissa ja kirjoittaa taajuuden sinne. Luxtronikissa, joka on on arm-raudassa ajettava linux, sitten taas pyörii ylimääräinen prosessi, joka kirjoittaa AIT:n lämpöpumppua ohjaavan ohjelman muistiin oikeaan muistipaikkaan kompressorin uuden tavoitetaajuuden. Ensin korkeintaan 85Hz (joka on käyttövesisyklin luxus-tilan taajuus, johon pumppu itsekin hyppää kertarykäisyllä) ja sitten minuutin kuluttua lopullinen taajuus, jos se oli yli 85Hz.

En ole sinänsä koskenut luxtronikin firmwareen pätkääkään. Se on vakio. Mutta Luxtronikin koodanneet nahkahousut unohtivat firmwarensa sisään dropbear-ssh serverin. Se on kovin reikäinen, mutta luxtronikin tietoturva on muutenkin lähinnä hirtehinen. Käyttäjiä luxtronikin linuxin sisällä on tietysti vain yksi, root. Rootin salasanassa on viisi merkkiä, joten se on helppoa kauraa esimerkiksi Jack the ripperille, mikäli saa ongittua käsiinsä shadow-tiedoston koneen sisältä tai firmispaketista. Ja senhän toki saa, konstit on monet. Firmispaketti muuten on pelkkä tarripallo joka on tarripallon sisällä. Eipä sinänsä, rootin salasana löytyy myös yleisimmiltä listoilta, joten viiden kirjaimen brute-force hyökkäystä ei tarvitse edes kokeilla. Pointti kuitenkin on, että luxtronikkiin pääsee loggaamaan sisään SSH-yhteydellä. Sisältä löytyy linux, jossa ei ole paljon mitään nähtävää.

Paitsi tietysti luxtronikkia ohjaava appl-prosessi. Se on C++ kielellä kirjoitettu softa, jota voi riittävän noheva koodari sitten käpälöidä. Lähdekoodia ei ole, mutta koska Luxtronikkia kehittää tunarit, siitä saa aivan riittävästi irti esimerkiksi Ghidran avulla. Ghidra ihan noin vinkkinä, jos joku haluaa joskus selvittää teknisen tuen loginin ilman, että hyökkää brute-forcella webserverin login sivulle, kuten itse tein aikanaan. Ja niin, tekninen tuki ei sitten ole sama kuin asentaja-login.

Kompressorin taajuuden tavoitearvon muistipaikan löytäminen ajossa olevasta appl-prosessista ei ole aivan triviaali temppu, mutta apuna voi käyttää luxtronikin webbikäyttöliittymää. Se kertoo ystävällisesti kulloisenkin taajuuden kompressorille, ja koska säätö on hidas, on mahdollista lukea appl-prosessin muistialuetta etsien taajuuden muistipaikkaa. Ensimmäisen kerran kun lukee muistialueen läpi, löytyy yleensä toista tuhatta osumaa. Kun taajuus taas muuttuu, ja lukee nuo alun toista tuhatta muistipaikkaa uudelleen, osumia uudelle taajuudelle on yleensä enää kourallinen. Kun taajuus taas muuttuu, muistipaikkoja on lopulta jäljellä joko 1 tai 0. 0 voi tulla vastaan, mikäli taajuus on muuttunut siinä välissä, kun muistista etsitään lukua. Se saattaa sattua ensimmäisen kierroksen aikana, kun luetaan koko muistialue läpi.

Loppuosa softasta on sitten socket-serveri joka kuuntelee verkon yli saapuvaa taajuuspyyntöä, ja kirjoittaa sen luxtronikin appl-prosessin muistiin oikeaan muistipaikkaan. Onhan kyseessä kuitenkin root-käyttäjä, joten estettä tälle ei ole. Luxtronik on aika vikkelä ottamaan kopin tuosta taajuudesta, mutta ihan välittömästi käyttövesisyklin jälkeen se ei ole reaktiivinen, pieni viive siinä juuri silloin on.

Ohessa kuvat ensinnäkin perjantailta, missä näkyy normaali Luxtronikin ohjaus ja hidas kierrosten nosto. Perjantaina ei ollut kylmä, mutta taloni ottaa jo nyt paljon enemmän lämpötehoa öisin kuin päivisin. Siihen on monta syytä, en jaksa niistä sen enempää jauhaa mutta se sopii ihan hyvin välillä kulutusvaikutteisen ja välillä pelkän pörssisähkön käyttäjälle.

Jälkimmäisessä kuvassa on sitten Home Assistantin potkima luxtronik, joka osaa nostaa lämmitystehon käyttövesisyklin jälkeen nopeasti melkein kuin ON/OFF kone konsanaan.

Tutkin Home Assistantin kuvaajista myös kuumakaasun ja tulistuksen käytöstä, Mitään poikkeavaa ei nopean käynnistyksen seurauksena näy. Kiertopumput ovat nopeahkoja reagoimaan muuttuneeseen lämpötilaeroon lämmityksessä ja liuoskierrossa.

Softani on rakennettu niin, että luxtronikin omaan levyjärjestelmään ei ole tehty muutoksia. Ylimääräistä serveriä ajetaan suoraan muistitikulta, ja se käynnistetään SSH:n yli. SSH:n yli myös ajoittain valvotaan, että prosessi pysyy ajossa, ja jos se ei pysy, niin sitten se käynnistetään uudelleen. Toisinaan luxtronik uudelleenkäynnistyy omia aikojaan, ihan ilman mitään prosessin muistiin kirjoittelua. Todennäköisesti syynä on watchdog, ja joku bugi sakujen softassa. Tuota ei tapahdu usein, mutta ssh:n yli käynnistetyn softan kannalta se on ikävää. Siksi oma ssh:n yli ajettava periodinen tarkastus oman prosessin olemassaololle.
AIT PWZSV9 suoraan lattiaan, KA 198m2 vm 2004 1-taso OKT Pirkkala, 230m kaivo

Poissa repomies

  • Konkari
  • *****
  • Viestejä: 598
  • Maalämpöfoorumi

Softasta kiinnostuneet voivat kysellä lisää gmailitse käyttäjältä j0ey.d0ey39

Pari varoitusta: Takuu? Se menee, mutta minulla se jo olikin ohi. Luxtronikissa on tosiaan watchdog. Jos roottaatte koneen, ja sössitte liian pahasti esimerkiksi luxtronikin käynnistysskriptit, voitte pahimmillaan saada koneen boottilooppiin. Jos appl-prosessi ei vähään aikaan potkaise watchdogia, luxtronik boottaa itsensä uudelleen. Eli aivan ensimmäisenä ennen kuin muutatte kyseisen linux-purkin käynnistysskriptejä, kannattaa varmistaa että pääsette luxtronikkiin sisään äärimmäisen nopeasti bootin jälkeen korjaamaan muutokset. Aikaa ei ole välttämättä hirveän monta sekuntia. Tämän riskin takia en ole itse koskenut boottiskripteihin, vaan operoin ssh:n yli.

Firmwareista: älkää asentako uudempaa kuin 3.88.x jos ikinä haluatte saada hitaan kierrosten noston kuntoon. Firmiksen 3.89 appl-prosessi tappaa käynnistyessään dropbear-prosessin (ssh server), mikä tekee elämästä hankalampaa. Harkitkaa siis pariin kertaan, ennen kuin päivitätte firmiksen noin uuteen. Sakut on liian paskoja koodareita osatakseen tehdä ohjauksen joka ei A) oskilloi patterilämmityksen kanssa tai B) nosta kierroksia pienen ikuisuuden lattialämmityksen kanssa, mutta ne osaavat kyllä tehdä kiusaa nohevammille koodareille, kuten firmiksestä 3.89 voi päätellä.

Liitteenä on vielä luxtronikin dmesgin kertomaa bootista, niille joita kiinnostaa kyseinen rauta hieman enemmän.

Luxtronikkiin voi kirjoitella softaa arm cross-compilerilla. Kääntelin itse arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu paketin itselleni, ja tuolla sitten tein muistitikulle tallennetun softani.
AIT PWZSV9 suoraan lattiaan, KA 198m2 vm 2004 1-taso OKT Pirkkala, 230m kaivo

Poissa tkj

  • Nuorempi jäsen
  • **
  • Viestejä: 15
  • Maalämpöfoorumi
  8)

Nyt kyllä menee omien koodaustaitojen yli niin että suorastaan pieni touhutippa jo lirahtaa.

Mutta, tällä toimintamallilla varmaan korjaisi kätevästi systeemin taajuushumppausongelmankin. Humppaamisen saa manuaalisesti kuriin kun muuttaa invertterin minimitaajuutta ulkolämpötilan mukaan, testailin sitä jonkun aikaa. Pitäisi tehdä taulukko pirtin vaatimasta minimitaajuudesta ja ajaa sitä sitten ohjaimelle.
Alpha Innotec PWZSV 12 (taatusti viimeinen AIT tuote minulla) ja 230m kaivo 80-luvun pirtissä.

Poissa repomies

  • Konkari
  • *****
  • Viestejä: 598
  • Maalämpöfoorumi
  8)

Nyt kyllä menee omien koodaustaitojen yli niin että suorastaan pieni touhutippa jo lirahtaa.

Mutta, tällä toimintamallilla varmaan korjaisi kätevästi systeemin taajuushumppausongelmankin. Humppaamisen saa manuaalisesti kuriin kun muuttaa invertterin minimitaajuutta ulkolämpötilan mukaan, testailin sitä jonkun aikaa. Pitäisi tehdä taulukko pirtin vaatimasta minimitaajuudesta ja ajaa sitä sitten ohjaimelle.

Kyllä. Kirjoittamaani softaa on käytetty myös patterilämmönjaolla olevan talon invertterin taajuuden pakottamiseen, ettei se oskilloisi. Siinä tosin saa sitten pakottaa tosiaan vähän väliä sitä taajuutta.
AIT PWZSV9 suoraan lattiaan, KA 198m2 vm 2004 1-taso OKT Pirkkala, 230m kaivo