Avançar para o conteúdo

SmartHome – controle de ventilação dependente da umidade

Tempo de leitura 3 minutos

Aktualisiert – Janeiro 8, 2025

O controle de ventilação dependente da umidade evita a formação de condensação. Os modelos Niessmann-Bischof Flair geralmente possuem persiana frontal. Isto mantém o frio muito bem do lado de fora e garante uma diferença de temperatura de cerca de 14 °C (por exemplo, 4 °C entre a persiana e a janela frontal, 18 °C na sala atrás da persiana).

A vantagem desta boa separação de isolamento entre a área de estar e a área do pára-brisas é que o calor na área de estar permanece efetivamente concentrado no interior. A desvantagem, no entanto, é que se forma condensação no pára-brisas como resultado da grande diferença de temperatura e da humidade significativamente mais elevada associada.

Minimizar ou mesmo prevenir isto é o objetivo da função de ventilação automatizada aqui apresentada através do ventilador integrado do veículo (variante Fiat Ducato 244).

Aber auch daheim lässt sich diese smarte Lösung zur Vermeidung von Schimmel, z.B. in Kellerräumen nutzen, entweder, um einen Lüfter oder / und eine Heizung zu aktivieren, um das Erreichen des Taupunktes zu unterbinden.

cabeamento

Paralelamente ao cabo branco-preto da conexão do ventilador na chave seletora no painel do veículo, um cabo é puxado para um dos quatro contatos de relé livres de potencial do módulo de relé de 4 vias Homematic. O segundo contato de relé associado está conectado ao positivo da bateria.

Se o relé for ativado programaticamente quando um valor crítico de umidade for excedido, o primeiro estágio do ventilador do veículo liga e desliga novamente quando um valor não crítico é alcançado.

Hardware necessário

O hardware a ser instalado está limitado a dois componentes Homematic:

programação

O programa mostrado salva a umidade do ar atualmente medida e a temperatura do sensor de temperatura-umidade na cabine do motorista nas variáveis F_FH e T_FH, bem como a temperatura e umidade do termostato de parede nas variáveis T_WT e F_WT. Os valores calculados a partir disso resultam, em última análise, na recomendação “ar" ou "não ventile“. que é armazenado na variável Ventilação.

De acordo com o resultado, por exemplo: Canal 1 do módulo de relé quádruplo ou o motor do ventilador no nível 1 está ligado.

O programa:

Programa para recomendações de ventilação / prevenção de condensação

O código:

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 Airing = dom.GetObject("Airing").Value();

inteiro rF_WT = F_WT; ! umidade relativa em % dentro
inteiro rF_FH = F_FH; ! umidade relativa em % externa

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);
eSat real = e * rF_WT;WriteLine("eSat (WT)");WriteLine(eSat);
F_WT real = ((eSat / 461,51 * (T_WT+273,15))10).ToString(2);WriteLine("F_WT");WriteLine(F_WT); WriteLine("abs. umidade dentro 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);
eSat real = 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. umidade externa e: " +F_FH);

! Umidade absoluta - dentro
se (T_WT < 0,0) {T_WT = 0,0;}
se (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 se T_WT < 10,0");WriteLine(F_WT);
}
outro
{ 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);
}

! Umidade absoluta - externa
se (T_FH < 0,0) {T_FH = 0,0;}
se (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)) * 0,01 * rF_FH;
WriteLine("F_FH abs.F se T_FH < 10,0");WriteLine(F_FH);
}
outro
{ 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("Temperatura interna: (T_WT)" + T_WT);
WriteLine("umidade relativa interna (rF_WT)%: " + rF_WT);
WriteLine("abs. umidade interna: F_WT)" + F_WT);
WriteLine("Temperatura externa: (T_FH)" + T_FH);
WriteLine("umidade relativa externa (rF_FH)%: " + rF_FH);
WriteLine("abs. umidade externa: (F_FH)" + F_FH);

! Saturação (0,5 g/kg a histerese de 0,7 K)
if ((F_FH <= (F_WT - 0,8)) && (T_FH <= (T_WT - 1,0)) && (T_WT > 20,7))
{Lueften.State(true);}
outro
{ if ((F_FH >= (F_WT - 0,3)) || (T_FH >= (T_WT - 0,3)) || (T_WT <= 20,0))
{Lueften.State(falso);}
}

WriteLine(“Exibição”); WriteLine(Exibição);

As variáveis são lidas dos respectivos sensores de temperatura/umidade em um programa externo e assim repassadas para todos os outros programas sem a necessidade de consultar novamente o sensor (para minimizar o Ciclos de serviçoe utilizado neste programa para calcular a recomendação “ventilar” ou “não ventilar”.

Como sempre: todos WriteLine As instruções podem ser seguidas por um teste funcional com um “! “pode ser comentado ou excluído.

Quem quiser que a base de cálculo seja explicada com mais detalhes, aqui encontrei.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

pt_PTPortuguês