Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Основные моменты:
- Это была временная хитрость, призванная определить, когда работает мой двигатель переменного тока / вентилятора печи, чтобы два моих бустерных вентилятора могли включиться.
- Мне нужны два вспомогательных вентилятора в моих воздуховодах, чтобы нагнетать больше теплого / холодного воздуха в две изолированные спальни. Но я не хочу, чтобы вентиляторы работали постоянно, только когда работает двигатель вентилятора печи.
Запасы
- WeMos D1 Mini (или дешевая подделка / что-нибудь ESP8266)
- Провода перемычки
- Резистор 10K
- Наклонный датчик
Шаг 1. Ошибка
Некоторые попытки, которые не увенчались успехом до этого решения:
- Используйте API-интерфейс ecobee для определения статуса термостата. API задерживается от 20 минут до двух часов, что недостаточно
- Датчик гибкости Arduino в воздуховоде оказался недостаточно чувствительным
- Датчик тока на линии вентилятора 24 В от термостата, у меня не было датчика постоянного тока, и я был нетерпеливым. К тому же идея меня пугает.
- Homeassistant / Hass.io те же ограничения, что и API Ecobee
- Датчик воздушного потока недостаточно чувствителен для потока возвратного воздуха.
Шаг 2. Установите вентиляторы Booster
Эта статья не касается самих бустерных вентиляторов, но это обязательный шаг. Я установил два встроенных бустерных вентилятора, загерметизировал любые утечки воздуха вентиляционной лентой и подключил их оба к умной розетке, на которую я установил Tasmota, чтобы я мог включать / выключать оба вентилятора с помощью одного запроса GET.
Использованные резиновые шайбы в местах крепления вентиляторов к балкам потолка для уменьшения вибрации.
Шаг 3: Подключение
Миниатюрный D1, датчик наклона и резистор подходят друг к другу, поэтому аналоговый вывод считывает настройку наклона.
Шаг 4: Код
#include #include // ПОСТОЯННОЕ СЧИТЫВАНИЕ С МИНИ-ДАТЧИКА ВИБРАЦИИ D1 // ЕСЛИ В 60-СЕКУНДНОМ ОКНЕ ОБНАРУЖЕНЫ ДВЕ РАЗЛИЧНЫЕ ВИБРАЦИИ, ВЫПОЛНЯЕТСЯ ВЕБ-ЗАПРОС // ЕСЛИ НУЛЬ ИЛИ ОДНА ВИБРАЦИЯ ОБНАРУЖЕНА, НИЧЕГО НЕ ПРОИЗОЙДЕТ = ПОЛУЧИТЕЛЬНО ЛОЖНО A0; uint32_t period = 1 * 60000; // 60 секунд windowint flex = 0; // начальное значениеconst char * ssid = "ssid"; // ДОБАВИТЬ WIFI SSIDconst char * password = "пароль"; // ДОБАВИТЬ ПАРОЛЬ WIFIvoid setup () {WiFi.begin (ssid, password); Serial.begin (9600); pinMode (sigPin, ВХОД); } void loop () {flex = 0; Serial.println («счетчик перезапуска»); для (uint32_t tStart = millis (); (millis () - tStart) <период;) {yield (); int sigStatus = analogRead (sigPin); if (sigStatus! = 1024) // работает {//Serial.println("up "); flex + = 1; Serial.println (гибкий); if (flex == 2) {//Serial.println("Потряси дважды, это реально "); HTTPClient http; //http.begin("https://10.0.0.50:5000/fan_on "); http.begin ("https:// IP: ПОРТ / путь"); // ДОБАВИТЬ ПРАВИЛЬНЫЙ IP, ПОРТ, ЗНАЧЕНИЯ int httpCode = http. GET (); Полезная нагрузка строки = http.getString (); Serial.println (полезная нагрузка); http.end (); задержка (6000); // немного отдыхаем} delay (1000); } else {Serial.println ("без помех"); }}}
Шаг 5: Установите
Это сложная часть, она требовала большого количества проб и ошибок. Не обращайте внимания на пятна ржавчины в вентиляционном отверстии, они от старого увлажнителя воздуха, который был установлен в воздуховоде.
Я решил разместить датчик вибрации внутри воздуховода возврата холодного воздуха рядом с воздухозаборником, чтобы весь воздух, поступающий в двигатель вентилятора, проходил мимо него, и, надеюсь, он немного встряхнулся. Самым сложным было заставить датчик повеситься так, чтобы он встал и продолжал покачиваться в воздушном потоке. На фотографиях показана макетная плата до того, как я сделал решение более долговечным. Сам D1 mini остался вне воздуховода, чтобы сигнал Wi-Fi был сильным.
В итоге я повесил датчик наклона на старый провод, который раньше использовался для управления увлажнителем, но остался в воздуховоде, так что я получил правильный угол.
Шаг 6: Тест
Код работает, сохраняя скользящее 60-секундное окно и подсчитывая количество обнаруженных вибраций. Вы можете изменить переменные, но мой настроен на отправку запроса GET на мой фляжный сервер, если в 60-секундном окне обнаружены как минимум 2 вибрации.
Затем фляжный сервер использует другие данные, чтобы определить, должен ли он включать мои вспомогательные вентиляторы, например, время суток и заполняемость дома. См. Дополнительную информацию:
www.instructables.com/id/VentMan-DIY-Autom…
github.com/onetrueandrew/green_ecobee