Ugrás a tartalomra

SmartHome - Páratartalomfüggő szellőzésvezérlés

Olvasási idő 3 percek

Frissítve - január 8, 2025

A páratartalomtól függő szellőzésszabályozás megakadályozza a páralecsapódás kialakulását. A Niessmann-Bischof Flair modellek általában elülső redőnnyel rendelkeznek. Ez nagyon jól távol tartja a hideget, és kb. 14 °C-os hőmérsékletkülönbséget biztosít (pl. 4 °C a redőny és az első ablak között, 18 °C a redőny mögötti lakótérben).

A lakótér és a szélvédő közötti jó szigetelési elválasztás előnye, hogy a lakótérben lévő hő hatékonyan a belső térre összpontosul. Hátránya azonban, hogy a nagy hőmérsékletkülönbség és az ezzel járó jelentősen magasabb páratartalom miatt a szélvédőn kondenzáció képződik.

Az itt bemutatott automatizált szellőztető funkció célja, hogy a jármű beépített ventilátorával (Fiat Ducato 244-es változat) ezt minimalizálja vagy akár meg is akadályozza.

De ez az intelligens megoldás otthon is használható a penészesedés megelőzésére, például pincékben, akár egy ventilátor és/vagy egy fűtőberendezés aktiválásával, hogy megakadályozza a harmatpont elérését.

Kábelezés

A jármű műszerfalán lévő választókapcsolón lévő ventilátorcsatlakozás fehér/fekete kábelével párhuzamosan egy kábelt húznak a Homematic 4-szeres relé modul négy potenciálmentes relé érintkezőjének egyikéhez. A megfelelő második reléérintkező az akkumulátor pluszhoz van csatlakoztatva.

Ha a relé programvezérléssel aktiválódik egy kritikus páratartalom-érték túllépésekor, a járműventilátor első fokozata bekapcsol, majd egy nem kritikus érték elérésekor ismét kikapcsol.

Szükséges hardver

A telepítendő hardver két Homematic komponensre korlátozódik:

Programozás

A bemutatott program az aktuálisan mért páratartalmat és a fülkében lévő hőmérséklet/páratartalom érzékelő hőmérsékletét a változókban tárolja. F_FH és T_FHés a hőmérséklet és a páratartalom a fali termosztát változókban T_WT és F_WT. Az ebből kiszámított értékek végső soron az alábbi ajánlást eredményezik: "szellőztetni" vagy "nem szellőztet", amelyet a Lueften változóban tárolunk.

Az eredménytől függően, pl. 1. csatorna a 4-szeres relé modul, vagy az 1. szinten lévő ventilátor motorja bekapcsol.

A program:

Szellőztetési ajánlás / a páralecsapódás elkerülésére szolgáló program

A kód:

real T_WT = dom.GetObject("T_actual_WT").Value();
WriteLine("T_aktuális_WT / T_WT");WriteLine(T_WT);
real F_WT = dom.GetObject("F_actual_WT").Value();
WriteLine("F_aktuális_WT / F_WT");WriteLine(F_WT);

real T_FH = dom.GetObject("T_actual_FH").Value();
WriteLine("T_aktuális_FH / T_FH");WriteLine(T_FH);
real F_FH = dom.GetObject("F_actual_FH").Value();
WriteLine("F_aktuális_FH / F_FH");WriteLine(F_FH);

var Lueften = dom.GetObject("Lueften").Value();

integer rF_WT = F_WT; ! relatív páratartalom %-ben
integer rF_FH = F_FH; ! relatív páratartalom %-ben kint

real r = (17,62 * T_WT) / (243,12 + T_WT);WriteLine("r (WT)");WriteLine(r);
real e = r.Exp()*611.2;WriteLine("e (WT)");WriteLine(e);
real eSat = e * rF_WT;WriteLine("eSat (WT)");WriteLine(eSat);
valós F_WT = ((eSat / 461,51 * (T_WT+273,15))10).ToString(2);WriteLine("F_WT");WriteLine(F_WT); WriteLine("abs. Humidity inside e (WT): " + F_WT);

real r = (17,62 * T_FH) / (243,12 + T_FH);WriteLine("r (FH)");WriteLine(r);
real e = r.Exp()*611.2;WriteLine("e (FH)");WriteLine(e);
real eSat = e * rF_FH;WriteLine("eSat (FH)");WriteLine(eSat);
valós F_FH = ((eSat / 461,51 * (T_FH+273,15))10).ToString(2);WriteLine("F_FH");WriteLine(F_FH); WriteLine("abs. Humidity outside e: " + F_FH);

! Abszolút páratartalom - belül
if (T_WT < 0.0) {T_WT = 0.0;}
ha (T_WT < 10.0)
{ F_WT = (3,78 + (0,29 * T_WT) + (0,0046 * T_WT * T_WT) + (0,00051 * T_WT * T_WT * T_WT * T_WT)) * 0,01 * rF_WT;
WriteLine("F_WT abs.F ha T_WT < 10.0");WriteLine(F_WT);
}
else
{ F_WT = (7.62 + (0.51 * (T_WT-10.0)) + (0.0143 * (T_WT-10.0) * (T_WT-10.0)) + (0,00045 * (T_WT-10,0) * (T_WT-10,0) * (T_WT-10,0)))) * 0,01 * rF_WT;
WriteLine("F_WT abs.F else");WriteLine(F_WT);
}

! Abszolút páratartalom - kint
if (T_FH < 0.0) {T_FH = 0.0;}
ha (T_FH < 10.0)
{ F_FH = (3,78 + (0,29 * T_FH) + (0,0046 * T_FH * T_FH) + (0,00051 * T_FH * T_FH * T_FH * T_FH)) * 0,01 * rF_FH;
WriteLine("F_FH abs.F ha T_FH < 10.0");WriteLine(F_FH);
}
else
{ F_FH = (7,62 + (0,51 * (T_FH-10,0)) + (0,0143 * (T_FH-10,0) * (T_FH-10,0)) + (0,00045 * (T_FH-10,0) * (T_FH-10,0) * (T_FH-10,0)))) * 0,01 * rF_FH;
WriteLine("F_FH abs.F else");WriteLine(F_FH);
}
WriteLine(" ");
WriteLine("Belső hőmérséklet: (T_WT)" + T_WT);
WriteLine("rel. Páratartalom a (rF_WT)% belsejében: " + rF_WT);
WriteLine("abs. páratartalom belül: F_WT)" + F_WT);
WriteLine("Külső hőmérséklet: (T_FH)" + T_FH);
WriteLine("rel. Páratartalom kívül (rF_FH)%: " + rF_FH);
WriteLine("abs. Kinti páratartalom: (F_FH)" + F_FH);

! Telítettség (0,5 g/kg 0,7 K hiszterézis mellett)
ha ((F_FH <= (F_WT - 0,8)) && (T_FH 20.7))
{Lueften.State(true);}
else
{ ha ((F_FH >= (F_WT - 0.3)) || (T_FH >= (T_WT - 0.3)) || (T_WT <= 20.0))
{Lueften.State(false);}
}

WriteLine("Lueften");WriteLine(Lueften);

A változókat egy külső program olvassa ki a megfelelő hőmérséklet/páratartalom érzékelőkből, és így az összes többi program számára elérhetővé válnak anélkül, hogy az érzékelőt újra le kellene kérdezni (a minimálisra csökkentendő a DutyCyclesés ebben a programban a "Szellőztetni" vagy "Nem szellőztetni" ajánlás kiszámításához használják.

Mint mindig: minden WriteLine Az utasításokat a funkcionális tesztelés után lehet kiadni egy vezető "! " ki lehet kommentálni vagy törölni.

Ha részletesebb magyarázatot szeretne kapni a számítási alapról, a következőket találja itt találtam.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük