Ga naar de inhoud

SmartHome – vochtafhankelijke ventilatieregeling

Leestijd 3 minuten

Bijgewerkt - 8 januari 2025

Vochtafhankelijke ventilatieregeling voorkomt condensvorming. De Niessmann-Bischof Flair modellen hebben meestal een rolluik voor het voorraam. Dit houdt de kou zeer goed buiten en zorgt voor een temperatuurverschil van ongeveer 14 °C (bijv. 4 °C tussen het rolluik en het voorraam, 18 °C in het woongedeelte achter het rolluik).

Het voordeel van deze goede isolerende scheiding tussen het woongedeelte en het voorruitgedeelte is dat de warmte in het woongedeelte effectief naar binnen gericht blijft. Het nadeel is echter dat er zich condens vormt op de voorruit als gevolg van het grote temperatuurverschil en de daarmee samenhangende aanzienlijk hogere luchtvochtigheid.

Het doel van de hier gepresenteerde automatische ventilatiefunctie is om dit te minimaliseren of zelfs te voorkomen door middel van de ingebouwde ventilator van het voertuig (Fiat Ducato 244-variant).

Maar deze slimme oplossing kan ook thuis worden gebruikt om schimmel te voorkomen, bijvoorbeeld in kelders, door een ventilator en/of verwarming te activeren om te voorkomen dat het dauwpunt wordt bereikt.

bekabeling

Er wordt een kabel parallel getrokken aan de wit/zwarte kabel van de ventilatoraansluiting op de keuzeschakelaar in het dashboard van het voertuig naar een van de vier potentiaalvrije relaiscontacten van de Homematic 4-voudige relaismodule. Het overeenkomstige tweede relaiscontact is verbonden met accu plus.

Als het relais onder programmabesturing wordt geactiveerd wanneer een kritische vochtigheidswaarde wordt overschreden, wordt de eerste fase van de ventilator van het voertuig ingeschakeld en weer uitgeschakeld wanneer een niet-kritische waarde wordt bereikt.

Vereiste hardware

De te installeren hardware is beperkt tot twee Homematic-componenten:

programmeren

Het getoonde programma slaat de op dat moment gemeten vochtigheid en de temperatuur van de temperatuur-/vochtigheidssensor in de cabine op in de variabelen F_FH En T_FHen de temperatuur en vochtigheid van de muurthermostaat in de variabelen T_WT En F_WT. De hieruit berekende waarden resulteren uiteindelijk in de aanbeveling "ventileren" of "niet ventileren"die wordt opgeslagen in de variabele Lueften.

Afhankelijk van het resultaat, bijv. Kanaal 1 van de 4-voudige relaismodule of de ventilatormotor op niveau 1 wordt ingeschakeld.

Het programma:

Programma voor ventilatieaanbeveling / voorkoming van condensatie

De code:

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

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

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

geheel getal rF_WT = F_WT; ! relatieve vochtigheid in % binnen
geheel getal rF_FH = F_FH; ! relatieve vochtigheid in % buiten

reële r = (17,62 * T_WT) / (243,12 + T_WT);WriteLine("r (WT)");WriteLine(r);
reëel e = r.Exp()*611.2;WriteLine("e (WT)");WriteLine(e);
real eSat = e * rF_WT;WriteLine("eSat (WT)");WriteLine(eSat);
werkelijke F_WT = ((eSat / 461,51 * (T_WT+273,15))10).ToString(2);WriteLine("F_WT");WriteLine(F_WT); WriteLine("abs. Vochtigheid binnen e (WT): " + F_WT);

reële r = (17,62 * T_FH) / (243,12 + T_FH);WriteLine("r (FH)");WriteLine(r);
reëel e = r.Exp()*611.2;WriteLine("e (FH)");WriteLine(e);
real eSat = e * rF_FH;WriteLine("eSat (FH)");WriteLine(eSat);
reëel F_FH = ((eSat / 461.51 * (T_FH+273.15))10).ToString(2);WriteLine("F_FH");WriteLine(F_FH); WriteLine("abs. Vochtigheid buiten e: " + F_FH);

! Absolute vochtigheid - binnen
Als (T_WT < 0,0) {T_WT = 0,0;}
als (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)) * 0,01 * rF_WT;
WriteLine("F_WT abs.F if T_WT < 10.0");WriteLine(F_WT);
}
anders
{ 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 anders");WriteLine(F_WT);
}

! Absolute vochtigheid - buiten
if (T_FH < 0.0) {T_FH = 0.0;}
als (T_FH < 10.0)
{ F_FH = (3.78 + (0.29 * T_FH) + (0.0046 * T_FH * T_FH) + (0.00051 * T_FH * T_FH)) * 0.01 * rF_FH;
WriteLine("F_FH abs.F if T_FH < 10.0");WriteLine(F_FH);
}
anders
{ 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 anders");WriteLine(F_FH);
}
WriteLine(" ");
WriteLine("Temperatuur binnen: (T_WT)" + T_WT);
WriteLine("rel. Vochtigheid binnen (rF_WT)%: " + rF_WT);
WriteLine("abs. vochtigheid binnen: F_WT)" + F_WT);
WriteLine("Buitentemperatuur: (T_FH)" + T_FH);
WriteLine("rel. Vochtigheid buiten (rF_FH)%: " + rF_FH);
WriteLine("abs. Vochtigheid buiten: (F_FH)" + F_FH);

! Verzadiging (0,5 g/kg bij 0,7 K hysterese)
als ((F_FH <= (F_WT - 0.8)) && (T_FH 20.7))
{Lueften.State(true);}
anders
{ als ((F_FH >= (F_WT - 0.3)) | (T_FH >= (T_WT - 0.3)) | (T_WT <= 20.0))
{Lueften.State(false);}
}

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

De variabelen worden uitgelezen van de respectievelijke temperatuur- en vochtigheidssensoren in een extern programma en zo beschikbaar gemaakt voor alle andere programma's zonder dat de sensor opnieuw hoeft te worden opgevraagd (om de kosten van het uitlezen te minimaliseren). DutyCyclesen in dit programma gebruikt om de aanbeveling "Ventileren" of "Niet ventileren" te berekenen.

Zoals altijd: alle Schrijflijn Instructies kunnen na het functioneel testen worden uitgegeven met een leidende "! " kan worden uitgecommentarieerd of verwijderd.

Als je een meer gedetailleerde uitleg van de berekeningsgrondslag wilt, vind je hier hier gevonden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLDutch