Добрый день, уважаемые читатели!
В данной очень маленькой заметке поговорим об автоматическом управлении вентиляций (проветривании) по сигналу с датчиков температуры и влажности. Допустим вам необходимо автоматически проветривать какое-либо помещение: гараж, подвал, погреб, баню, санузел на предмет удаления лишней влажности из помещения.
Казалось бы – чего проще? Устанавливаем приточный (или даже вытяжной) вентилятор, подключаем к управляющему микроконтроллеру, подключаем любой из датчиков температуры и влажности, настраиваем пороги включения и выключения (или один порог и гистерезис) и наслаждаемся сухим воздухом!
До определенного момента все работает. Но вот на улице пошел дождь и стало влажно – и в помещение вентилятором стало засасывать влажный воздух. Непорядок! Ставим ещё один датчик – на улице и программируем устройство так, чтобы вентиляция включалась только тогда, когда влажность на улице была меньше чем в помещении. Вуаля!
Пока температура воздуха на улице ниже температуры воздуха в помещении это работает отлично. Но как только на улице становится теплее, чем в помещении, внутри помещения влажность вновь начинает расти (при работающей вентиляции) и может даже выпасть роса на холодных поверхностях. Все дело в относительной влажности воздуха!
Что такое относительная и абсолютная влажность воздуха?
Дело в том, что воздух может содержать разное количество водяных паров при разной температуре. Чем ниже температура – тем меньшее количество воды (по массе) может содержать воздух. Ещё в деле участвует давление, но в меньшей степени, и для простоты расчетов мы его не будем учитывать.
Абсолютная влажность воздуха — физическая величина, показывающая массу водяных паров, содержащихся в 1 м³ воздуха. Другими словами, это плотность водяного пара в воздухе. Обычно измеряется в граммах на метр кубический, но могут быть использованы и другие единицы.
Относительная влажность воздуха – это показатель, который показывает соотношение абсолютной влажности на данный момент и максимального показателя абсолютной влажности при конкретной температуре. В формулах обозначается знаком φ. Измеряется в процентах от максимально возможной влажности.
Ниже продемонстрированы графики абсолютной (100%) и относительной влажности при разной температуре и нормальном давлении:
Наша задача автоматического управления вентилятором усложняется. Пути решения два:
- Включать вентилятор только тогда, когда температура “снаружи” меньше или равна температуре “внутри” – это гарантирует, что снаружи воздух будет содержать заведомо меньше влаги, чем в помещении (при одинаковых значениях с датчиков влажности)
- Вычислять абсолютные значения влажности и сравнивать их
Вычисление абсолютной влажности на Arduino и ESP
Несмотря на кажущуюся простоту задачи, нагуглить формулу пересчета относительной влажности в абсолютную будет довольно непросто. Вместо искомой формулы поиск выдаст вам кучу заумных несовпадающих формул и ответов типа “с физикой похоже у вас напряг” и “используйте уравнение идеального газа”. Видимо это “страшная военная тайна” Мальчиша-Кибальчиша, не менее. Что ж, я открою вам эту великую тайну физиков всех времен и народов.
В результате довольно долгих поисков я нашел два варианта расчета, которые выдают более-менее похожие друг результаты. Какой из них точнее – не знаю, но расчетные данные совпадают с приведенными выше графиками.
float calcAbsoluteHumidityV1(float temp, float humd) { if (!isnan(temp) && !isnan(humd)) { return 6.112 * exp((17.67 * temp)/(temp + 243.5)) * humd * 2.1674 / (273.15 + temp); }; return NAN; }
и второй вариант:
float calcAbsoluteHumidityV2(float temp, float humd) { if (!isnan(temp) && !isnan(humd)) { return humd * 10 * ((6.112 * 100.0 * exp((17.67 * temp)/(243.12 + temp)))/(461.52 * (temp + 273.15))); }; return NAN; }
Теперь вам останется только сопоставить рассчитанные значения “внутри” и “снаружи” и принять решение о включении вентилятора.
Пользуйтесь на здоровье!
💠 Полный архив статей вы найдете здесь
Пожалуйста, оцените статью: