Inhoudsopgave
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:
- Homematic 4-weg relaismodule HM-LC-Sw4-W
- Homematic binnentemperatuur/vochtigheidssensor HM-WDS40-TH-I-2
- Homematische muurthermostaat HM-TC-IT-WM-W-EU
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_FH
en 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:
![](https://csiag.de/wp-content/uploads/2023/01/image-1024x243.png)
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.