laskennat sen taustalla on todennäköisesti sekä oppivia että erittäin monimutkaisia.
Aikanaan on-off -koneella varustetussa rivitalossa minulla oli Talologger logittamassa menolämpöjä. Käytännössä BT25-anturin keskiarvo vastasi aina täysin lasketun menon keskiarvoa siitä huolimatta, että todellisuudessahan tuo menolämpö vaihteli todella paljon. Paluulämpö pysyi käytännössä stabiilina tuollaisessa noin 800m2 betonilaatalla varustetussa talossa. Hyvin siis toimii tuo Niben tapa laskea lämmitystarvetta, niinkuin taitaa toimia muissakin pumpuissa.
Ei tuo todellakaan ole mitään rakettitiedettä. PI-säädin ei ole montaa riviä koodia. Itse olen sellaisen ohjelmoinut. C-koodia 319 riviä, josta puolet kommunikointia lämpötila-anturin ja relekortin kanssa. Itse varsinainen PI-säätöarvon laskenta on hurjat 9 riviä:
double PID(double error) // Must be called at 1 Hz
{
double Kc=0.3, Ti=500;
static double I=0.0;
// I term is increased only when output is less than maximum to limit windup.
if((Kc*(error+I/Ti)<1.0 && error>0) || ((Kc*(error+I/Ti)>-1.0 && error<0)))
I+=error;
return Kc*(error+I/Ti);
}
Loput reilut 100 riviä sitten on lähinnä virhe- ja erikoistilanteiden hallintaa (ei saada lämpötilaa, kompressoria ei saa käynnistää ennen tiettyä varoaikaa sammutuksesta jne). Tuo mun koodi ohjaa pakastimesta tehtyä kalibrointiuunia. Tuolla 319 rivillä saa lämpötilakäyriä ajettua läpi -30 C - +80C ja lämpötilan ohjaamiseen käytetään pakastimen kompressoria, sisällä laitettua vastusta+puhallinta sekä tuuletuspuhallinta, joka vaihtaa ilmaa kannen läpi. Kuumissa lämpötiloissa jäähdytys vain tuuletuspuhaltimella.
Noita sitten ohjataan releillä PWM:nä eli vastus ja puhallin ovat PI-arvosta riippuvan ajan päällä 60 s jaksosta ja kompura 6 min jaksosta.
Tuolla kalibroin tekemäni elektroniikkaa lämpötilariippumattomaksi.
Tuolla siis saa erinomaisesti lämpötilaa säätävän systeemin. Kertoimet Kc ja Ti pitää valita sopivaksi systeemiin, mutta ei noi ole niin mitenkään kriittisiä. Voisi varmasti laittaa arvot kohdilleen parilla kysymyksellä (lattia vs. patteri, vesitilavuus). Ehkä se asteminuuttiasetuskin vaikuttaa noihin suoraan.
En siis usko että ovat oppivia enkä varsinkaan usko, että ovat erittäin monimutkaisia, tuskin alkuunkaan monimutkaisia.