Перейти к содержимому

SmartHome - управление вентиляцией в зависимости от влажности

Время чтения 3 минут

Обновлено - 8 января 2025 г.

Влагозависимое управление вентиляцией предотвращает образование конденсата. Модели Niessmann-Bischof Flair обычно оснащены рольставнями на переднем окне. Это хорошо защищает от холода и обеспечивает разницу температур около 14 °C (например, 4 °C между рольставнями и передним окном, 18 °C в жилой зоне за рольставнями).

Преимущество такой хорошей изоляции между жилой зоной и ветровым стеклом заключается в том, что тепло в жилой зоне остается эффективно сконцентрированным внутри. Однако недостатком является образование конденсата на ветровом стекле в результате большой разницы температур и связанной с этим значительно более высокой влажности.

Цель представленной здесь функции автоматической вентиляции - минимизировать или даже предотвратить это с помощью встроенного вентилятора автомобиля (вариант Fiat Ducato 244).

Но это умное решение можно использовать и дома для предотвращения появления плесени, например, в подвальных помещениях, активируя вентилятор или/и обогреватель для предотвращения достижения точки росы.

Кабели

Параллельно белому/черному проводу подключения вентилятора на селекторе в приборной панели автомобиля протягивается кабель к одному из четырех беспотенциальных контактов реле 4-х кратного релейного модуля Homematic. Соответствующий второй контакт реле подключен к плюсу аккумулятора.

Если реле активируется под программным управлением при превышении критического значения влажности, первая ступень автомобильного вентилятора включается и снова выключается при достижении некритического значения.

Необходимое оборудование

Устанавливаемое оборудование ограничивается двумя компонентами Homematic:

  • Релейный модуль Homematic с 4 складками HM-LC-Sw4-W
  • Датчик температуры/влажности воздуха в помещении Homematic HM-WDS40-TH-I-2
  • Настенный термостат Homematic HM-TC-IT-WM-W-EU

Программирование

Показанная программа сохраняет в переменных текущие значения влажности и температуры, измеренные датчиком температуры/влажности в кабине. F_FH и T_FHи температура и влажность настенного термостата в переменных T_WT и F_WT. Рассчитанные таким образом значения в конечном итоге приводят к рекомендации "проветривать" или "не проветривать", который хранится в переменной Lueften.

В зависимости от результата, например. Канал 1 4-х кратного релейного модуля или включается двигатель вентилятора на уровне 1.

Программа:

Программа рекомендаций по вентиляции / предотвращению образования конденсата

Код:

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").Value();

integer rF_WT = F_WT; ! относительная влажность в % внутри помещения
целое число rF_FH = F_FH; ! относительная влажность в % на улице

реальный 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);
реальная F_WT = ((eSat / 461,51 * (T_WT+273,15))10).ToString(2);WriteLine("F_WT");WriteLine(F_WT); WriteLine("abs. Влажность внутри 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);
реальный F_FH = ((eSat / 461,51 * (T_FH+273,15))10).ToString(2);WriteLine("F_FH");WriteLine(F_FH);WriteLine("abs. Влажность на улице e: " + F_FH);

! Абсолютная влажность - внутри
если (T_WT < 0,0) {T_WT = 0,0;}
если (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 абс.F, если 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);
}

! Абсолютная влажность - снаружи
если (T_FH < 0.0) {T_FH = 0.0;}
если (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 абс.F, если 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("Температура внутри: (T_WT)" + T_WT);
WriteLine("rel. Влажность внутри (rF_WT)%: " + rF_WT);
WriteLine("абс. влажность внутри: F_WT)" + F_WT);
WriteLine("Температура на улице: (T_FH)" + T_FH);
WriteLine("относит. Влажность на улице (rF_FH)%: " + rF_FH);
WriteLine("абс. Влажность на улице: (F_FH)" + F_FH);

! Насыщение (0,5 г/кг при гистерезисе 0,7 К)
если ((F_FH <= (F_WT - 0.8)) && (T_FH 20,7))
{Lueften.State(true);}
else
{ if ((F_FH >= (F_WT - 0.3)) || (T_FH >= (T_WT - 0.3)) || (T_WT <= 20.0))
{Lueften.State(false);}
}

WriteLine("Люфтен");WriteLine(Люфтен);

Переменные считываются с соответствующих датчиков температуры/влажности во внешней программе и таким образом становятся доступными для всех остальных программ без необходимости повторного запроса датчика (чтобы минимизировать DutyCyclesи используется в этой программе для расчета рекомендации "Вентилировать" или "Не вентилировать".

Как всегда: все WriteLine Инструкции могут быть выданы после функционального тестирования с указанием "! " можно закомментировать или удалить.

Если вы хотите получить более подробное объяснение основ расчета, вы найдете здесь найдено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ru_RURussian