Hopp til innholdet

SmartHome - fuktighetsavhengig ventilasjonskontroll

Lesetid 3 minutter

Oppdatert - 8. januar 2025

Fuktighetsavhengig ventilasjonskontroll forhindrer dannelse av kondens. Niessmann-Bischof Flair-modellene har vanligvis en rullesjalusi i frontvinduet. Dette holder kulden ute og sikrer en temperaturforskjell på rundt 14 °C (f.eks. 4 °C mellom rullegardinen og frontvinduet, 18 °C i oppholdsrommet bak rullegardinen).

Fordelen med det gode isolasjonsskillet mellom bodelen og frontruten er at varmen i bodelen effektivt konsentreres på innsiden. Ulempen er imidlertid at det dannes kondens på frontruten som følge av den store temperaturforskjellen og den tilhørende betydelig høyere luftfuktigheten.

Formålet med den automatiske ventilasjonsfunksjonen som presenteres her, er å minimere eller til og med forhindre dette ved hjelp av den innebygde kjøretøyviften (variant Fiat Ducato 244).

Men denne smarte løsningen kan også brukes hjemme for å forebygge mugg, f.eks. i kjellere, enten ved å aktivere en vifte og/eller en varmeovn for å hindre at duggpunktet nås.

Kabling

En kabel trekkes parallelt med den hvite/svarte kabelen til viftetilkoblingen på valgbryteren i bilens dashbord til en av de fire potensialfrie relékontaktene i Homematic 4-fold relémodul. Den tilsvarende andre relékontakten er koblet til batteri pluss.

Hvis reléet aktiveres under programstyring når en kritisk fuktighetsverdi overskrides, slår det første trinnet av kjøretøyets vifte seg på og slår seg av igjen når en ikke-kritisk verdi er nådd.

Nødvendig maskinvare

Maskinvaren som skal installeres, er begrenset til to Homematic-komponenter:

Programmering

Programmet som vises, lagrer den aktuelle målte luftfuktigheten og temperaturen til temperatur- og luftfuktighetssensoren i førerhuset i variablene F_FH og T_FHog temperatur og luftfuktighet på veggtermostaten i variablene T_WT og F_WT. Verdiene som beregnes ut fra dette, resulterer til slutt i anbefalingen "lufte" eller "ikke ventiler". som er lagret i variabelen Lueften.

Avhengig av resultatet, f.eks. Kanal 1 av den 4-foldige relémodulen, eller viftemotoren på nivå 1, er slått på.

Programmet:

Program for ventilasjonsanbefalinger/forebygging av kondens

Koden:

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_aktuell_WT / F_WT");WriteLine(F_WT);

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

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

heltall rF_WT = F_WT; ! relativ luftfuktighet i % inne
heltall rF_FH = F_FH; ! relativ luftfuktighet i % utenfor

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);
real F_WT = ((eSat / 461,51 * (T_WT+273,15))10).ToString(2);WriteLine("F_WT");WriteLine(F_WT); WriteLine("abs. Luftfuktighet inne i 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);
real F_FH = ((eSat / 461,51 * (T_FH+273,15))10).ToString(2);WriteLine("F_FH");WriteLine(F_FH); WriteLine("abs. Luftfuktighet utenfor e: " + F_FH);

! Absolutt luftfuktighet - inne
if (T_WT < 0,0) {T_WT = 0,0;}
hvis (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 hvis T_WT < 10.0");WriteLine(F_WT);
}
ellers
{ 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);
}

! Absolutt luftfuktighet - utvendig
if (T_FH < 0,0) {T_FH = 0,0;}
hvis (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 if T_FH < 10.0");WriteLine(F_FH);
}
ellers
{ 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("Temperatur inne: (T_WT)" + T_WT);
WriteLine("rel. Luftfuktighet inne i (rF_WT)%: " + rF_WT);
WriteLine("abs. fuktighet inne i: F_WT)" + F_WT);
WriteLine("Temperatur ute: (T_FH)" + T_FH);
WriteLine("rel. Luftfuktighet utenfor (rF_FH)%: " + rF_FH);
WriteLine("abs. Luftfuktighet ute: (F_FH)" + F_FH);

! Metning (0,5 g/kg ved 0,7 K hysterese)
if ((F_FH <= (F_WT - 0,8)) && (T_FH 20,7))
{Lueften.State(true);}
ellers
{ hvis ((F_FH >= (F_WT - 0,3)) || (T_FH >= (T_WT - 0,3)) || (T_WT <= 20,0))
{Lueften.State(false);}
}

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

Variablene leses ut fra de respektive temperatur-/luftfuktighetssensorene i et eksternt program og legges dermed til i alle andre programmer uten at det er nødvendig å spørre sensoren på nytt (for å minimere DutyCyclesog brukes i dette programmet til å beregne anbefalingen "Ventilér" eller "Ikke ventilér".

Som alltid: alle WriteLine Instruksjoner kan utstedes etter funksjonstesting med en ledende "! " kan kommenteres ut eller slettes.

Hvis du ønsker en mer detaljert forklaring av beregningsgrunnlaget, finner du her funnet.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

nb_NONorwegian