Контроллер управления вытяжным вентилятором с WiFi / Хабр
Почти два года прошло с изготовления контроллера управления влажностью для ванной комнаты. Все это время контроллер служил верой правдой без глюков и зависаний, как и положено хорошему устройству и даже обзавелся с легкой руки моей супруги гламурным корпусом ручной работы.Но технический прогресс неумолимо бежит вперед и новые веяния опять не давали мне покоя. Давно вынашивал идею реализации концепции умного дома на WiFi модулях ESP8266. Некоторое время экспериментировал с этими модулями и теперь решил свой «умный дом» на них перевезти.
Основной целью проекта поставил реализацию новых возможностей, которые в дальнейшем буду применять в других устройствах.
Итак, что мне даст модернизация контроллера вентилятора на ESP8266?
Новые возможности
- Просмотр всех показателей по WiFi с компьютера/планшета/телефона.
- Обработка дополнительных параметров — время наработки вентилятора и время горения лампы в ванной комнате.
- Управление вентилятором по WiFi с компьютера/планшета/телефона.
- Настройка работы контроллера по WiFi с сохранением значений в энергонезависимую память.
- Периодическая запись значений всех показателей на сервер в интернете.
- Ну и, раз все равно есть интернет, отображение времени с синхронизацией по NTP протоколу.
Схема не сильно изменилась от предыдущей версии:
- Atmega328 заменена на ESP8266
- Семисегментный индикатор заменен готовый модуль дисплея на TN1637
- Симистор с оптопарой заменены твердотельным реле (то же самое, но в корпусе).
Перечень компонентов
- Модуль ESP8266 ESP07 с платой адаптером ~ $2. 3
- Четырехразрядный семисегментный дисплей на микросхеме TM1637 с I2C подключением ~ $1
- Твердотельное реле OMRON G3MB-202P ~ $1
- Блок питания 220В/3.3В 600мА ~ $2.2
- Датчик температуры и влажности (точность низкая, но для моих задач достаточная) DHT11 ~ $0.7
- Приборный пластиковый корпус 110х73х34 ~ $1
- Фоторезистор, просто резисторы, макетка и провода
Все детали кроме корпуса и блока питания куплена на aliexpress.com. Корпуса и БП по адекватным ценам заказываю с taobao.com
Сборка контроллера
Этот контроллер — прототип для будущих устройств на ESP8266, поэтому монтаж сделал на макетной плате.Светофильтр под индикатор изготавливаю из папки-уголка для бумаг, купленной в магазине канцтоваров. Прозрачное окно для фоторезистора — защитная пленочка оставшаяся от какого-то телефона (заказывал когда-то с запасом, теперь валяются)
А это мой старый контроллер, проработавший в ванной два года
При отладке обнаружился технологический дефект — фотодиод за окошечком в корпусе получал слишком мало света и без усилителя не срабатывал при зажигании лампы в ванной комнате, пришлось его вывести наружу в сторону лампы
Теперь расскажу об особенностях программы, алгоритмах управления и настройках этого контроллера.
ESP8266, в отличие от Atmega328, на которой была реализована предыдущая версия, имеет гораздо больше памяти (ОЗУ, ПЗУ. EEPROM), что позволило вкупе со встроенным WiFi реализовать функции встроенного WEB-сервера, не экономя память для текстовых строк.
А вот с GPIO у ESP8266 довольно плоховато, поэтому, такая роскошь, как управления семисегментным индикатором напрямую ему не доступна. Поэтому и выбран индикатор на микросхеме TM1637, требующий для подключения всего два вывода.
Среда разработки
Я достаточно наигрался с различными прошивками ESP8266 позволяющими писать программы на встроенных интерпретаторах LUA, JC и вообще программировать через WEB. Пробовал писать на одном SDK. Остановился на компромиссном варианте — программировании в Arduino IDE.Довольно простая установка, программирования и огромное количество готовых библиотек, которые, в большинстве своем, работают на ESP-шке. Эта среда позволила использовать много старого кода, обеспечивающего основную логику работы контроллера управления вентилятором сохранилось с предыдущей версии.
В основном интересно было перенести хорошо зарекомендовавший себя алгоритм, реализующий конечный детерменированный автомат состояний, описанный в таблице переходов состояний:
Подошли без проблем и ардуиновские библиотеки DHT для работы с датчиками влажности/температуры от Adafruit и для работы с индикатором на TM1637 DigitalTube.
Подробности использования Arduino IDE для программирования ESP8266 хорошо описаны в этой статье
Реализация новых функций
Очень неудобно делать WiFi контроллеры, в которых зашиваются параметры подключения к сети. Представляете, во что выльется смена имени точки доступа или пароля при наличии десятка таких контроллеров дома?Поэтому в данном программе реализованы функции сохранения параметров подключения в энергонезависимую память EEPROM и настройка их по сети. Структура для сохранения параметров, а также чтение и запись ее реализованы в файлах WC_EEPROM.h и WC_EEPROM.cpp моего проекта. Верификация чтения и записи производится при помощи вычисления контрольной суммы конфигурации и сравнения ее с записанной в EEPROM.
Кроме конфигурации сети в память сохраняются также все таймауты и прочие параметры алгоритма управления вентилятора, что позволяет оптимизировать и настраивать данный контроллер прямо «по воздуху».
Отображение режимов работы, настройка конфигураций контроллера, а также непосредственное управление вентилятором реализовано при помощи встроенного WEB-сервера (фалы WC_HTTP.h и WC_НTTP.cpp)
Алгоритм настройки точки доступа следующий:
Если ESP-шка не смогла подключиться к прописанной в конфигурации EEPROM точке доступа, то она поднимает свою точку доступа и по адресу 192.168.4.1, позволяет сконфигурировать.
Ну а если подключилась, то работает в штатном режиме.
Главная страница WEB-сервера показывает основные параметры контроллера и позволяет вручную включить/выключить контроллер (аналог нажатия кнопки ручного управления)
Здесь же можно перейти на страницу сетевых настроек
и страницу настроек алгоритма работы контроллера
С этих двух страничек можно выполнить перезагрузку контроллера и сброс всех настроек «по умолчанию».
«Наводить красоту» на интерфейс я еще планирую в будущем, когда концепция умного дома на WiFi более менее устаканится у меня в голове.
Еще одна функция, реализованная в этой программе — часы реального времени, синхронизирующиеся по NTP протоколу в интернете. (Файлы WC_NTP.h и WC_NTP.cpp)
Описание основного алгоритма описывать не буду, логика работы себя хорошо зарекомендовала и осталось прежней, почитать про нее можно в предыдущей статье. Основные изменения коснулись дисплея. Хочу обратить внимания на одну «фичу» — функцию DisplaySpecialChar(), которая позволяет по битовой маске вывести любой символ, который можно придумать для отображения на семисегментном индикаторе. Я придумал вот такой символ «процентов» в отображении влажности
и символ «градусов» при отображении температуры
Биты в битовой маске соответствуют сегментам индикатора.
Ну и последняя из новых функций — сохранение параметров на сервер в интернете для отображения и последующего анализа. Сохраняются значения влажности, температуры, аналогового порта с фоторезистором для подстройки порога срабатывания освещения, время работы вентилятора, время горения света и UPTIME-время работы контроллера от последней перезагрузки.
Запись на сервер происходит в двух режимах. С большей периодичностью записываются параметры, когда в ванной «что-то происходит», в это время либо горит свет, либо работает вентилятор. Все таймауты настраиваются через WEB-интерфейс.
Сохраняются данные на мой сервер в интернете. Адрес сервера можно настроить, а вот формат записи пока зашит в программу. Опять до лучших времен устаканивании концепции ))). Сейчас параметры сохраняются простейших PHP-скриптом в таблицу с простейшей структурой.
Довольно просто перенастроить сохранения параметров на тот же «народный мониторинг». Лично меня это сервер не устраивает ограничениями в периодичности сохранения данных и глубине архива.
Оптимизация настроек контроллера
После «опытной эксплуатации» можно определить, правильно ли установлены пороги срабатывания освещения и влажности, а также таймауты различных событий. В прошлой реализации я установил время срабатывания 20 минут, сидя в ванной с секундомером. Понаблюдав за графиком параметров во время нескольких принятий душа я увидел следующее:- Влажность в зимнее время меняется на 35-40%
- Время нормализации влажности при естественной вентиляции 20-25 минут
- Время нормализации влажности с работающим вентилятором 10-12 мин
- Вентилятор повышает эффективность проветривания вдвое
Теперь, после проведения анализа можно увеличить период записи параметров на сервер.
Выводы
- Контроллер на ESP8266 работает стабильно, функции свои выполняет.
- Функциональность его расширилась, теперь им легко управлять и он нормально интегрируется в систему Умного дома
- Некоторые вещи требуют доработки, например, WEB-интерфейс, авторизация доступа, серверная часть и некоторые неточности в расчете времени работы вентилятора и света. Может быть выявятся и другие хотелки по улучшению.
- Пилотный проект по Умному дому на WiFi можно признать успешным 😉
Скетч контроллера вентилятора на WiFi
Затраченное на проект время — два выходных дня
P.S. Сразу отвечаю на вопрос, зачем так сложно? Можно посадить параллельно выключателю или на таймер?
— Да можно. Но включение по таймеру и свету меня не устроили. К тому же это хобби, реализация некоторых идей, который применяются в других проектах.
Хаброхранилище опять глючило, поэтому картинки с моего блога. Там же можно посмотреть про мои наработки по умному дому
Шкаф управления приточными и вытяжными вентиляторами
Производство и сборка НКУ в Минске. Купить или заказать щиты электрические, шкафы электротехнические, распределительное устройство, распределительный щит или ящик управления можно у наших специалистов по телефонам указанным в разделе «Контакты».
Работаем только с юридическими лицами и по безналичному расчету- Главная
- Электрощитовое оборудование
- Шкаф управления приточными и вытяжными вентиляторами серии ШУ-Е
Шкафы управления серии ШУ-Е предназначены для управления приточными и вытяжными вентиляционными установками без подогрева воздуха.
Технические показатели, особенности ШУ-Е
Количество контуров управления | от 1 до 4 в зависимости от количества вентиляторов |
Управление вентиляторами | пассивное управление |
активное управление (контроллер РТМ-03А) | |
Основные функциональные возможности | |
Шкафы с пассивным управлением | Управление работой от 1 до 4 вентиляторов |
режимы работы:
| |
отключение от питающей сети | |
индикация наличия напряжения сети на вводе в шкаф | |
прямое управление вентилятором(контактор) или управление частотным преобразователем | |
защита вентилятора тепловым реле при прямом управлении | |
защита цепей питания частотного преобразователя автоматическим выключателем | |
индикация работы вентилятора | |
индикация аварии вентилятора | |
отключение при пожаре | |
Шкафы с активным управлением | управление работой от 1 до 4 вентиляторов |
управление воздушной заслонкой каждого вентилятора | |
режим работы:
| |
отключение от питающей сети | |
индикация наличия напряжения сети на вводе в шкаф | |
прямое управление вентилятором(контактор) или управление частотным преобразователем | |
управление работой вентиляторов в автоматическом режиме:
| |
защита вентилятора по датчику перепада давления | |
защита вентилятора тепловым реле при прямом управлении | |
защита цепей питания частотного преобразователя автоматическим выключателем | |
резервирование вентиляторов | |
индикация работы вентилятора | |
индикация аварии вентилятора | |
контроль засоренности фильтра | |
отключение при пожаре | |
Электропривод воздушных заслонок | тип управления — двух или трехпозиционное |
управляющее напряжение ~24В, ~220В | |
Вентилятор | напряжение, мощность: ~220В, до 1,5кВт; ~380В, до 15кВт |
защита: тепловые реле, датчик ΔP | |
Контроль засоренности фильтра | датчик ΔP |
Архивы | архив температур |
архив ошибок | |
архив событий | |
Последовательный порт обмена при активном управлении | тип RS-232, тип RS-485 |
оптопорт, выход на сеть Ethernet | |
телефонный модем, модем GSM |
Изготовление и сборка шкафов управления осуществляется в соответствии с ТУ BY 691768257. 003-2017.
Окончательная стоимость шкафов управления серии ШУ-Е формируется при заказе и зависит от состава, электрорадиоэлементов, мощности управляемого оборудования, конкретной технологической схемы, дополнительных функций.
Узнать более подробную информацию, купить или заказать шкаф управления серии ШУ-Е можно у наших специалистов по телефонам:
+375-17-361-61-90 тел./факс
+375-29-638-88-26
e-mail: [email protected] Артур
Управление вытяжным вентилятором, 2 скорости — Идеи и предложения
Tomtomstation (Том Дженсен) 1
Привет, ребята,
Надеюсь, вы поможете такому новичку, как я.
Ищу способ управления вентилятором с 2 скоростями. Катушка двигателя представляет собой одну катушку с язычком для более низкой скорости, поэтому важно, чтобы питание подавалось только на низкую или высокую скорость, а не на обе одновременно, поскольку это сожжет катушку.
См. дополнительные сведения о вентиляторах здесь: TD-SILENT – S&P – S&P
Я просматривал этот форум, но не нашел решения, которое соответствовало бы моим потребностям, поэтому, пожалуйста, помогите.
//Том
Пол_Оливер (КПО) 2
Используйте двухклавишный переключатель. С 1 переключателем для высокой и 2-й для низкой скорости.
черный (Джеймс) 3
Я думаю, двойной интеллектуальный переключатель или два интеллектуальных переключателя, один из которых управляет реле, чтобы они не конфликтовали.
Бьюсь об заклад, об этом уже есть тема…
Или умный переключатель с управлением сценами. Выключатель может обеспечивать питание, а сцена может запускать реле, подобное этому? Таким образом, только высокие или низкие получат власть. (хотя сцена должна была бы выключить один канал и включить другой, а другая сцена сделать наоборот)
Я также нашел сообщение в обзоре этого продукта (версия 120 В из трех вариантов то, что вам нужно)… 2Bcontrol%2Brelay%2B120&qid=1613942019&sr=8-7&th=1
Кажется, это то, что вы хотите сделать (интересно, он здесь участник?):
Несколько лет назад я построил вентилятор для всего дома. Я подключил его к 2 отдельным переключателям для управления вентилятором. Один для питания вентилятора и переключатель SPDT для высокого/низкого уровня (чтобы предотвратить одновременное питание обеих обмоток или вызвать возгорание…) Затем я решил обновить переключатель Zwave и тот же переключатель высокого/низкого уровня, но… он продолжал сгорать. переключатель zwave. дважды. Я заменил его, поэтому решил использовать вместо него эти (ГОРАЗДО ДЕШЕВЛЕ!!)
Затем я заменил переключатель высокого/низкого уровня на переключатель zwave и переделал проводку. Я использую один zwave для питания одного из этих реле, чтобы обеспечить питание двигателя (нет питания двигателя через переключатель zwave, поэтому обратная ЭДС не сожжет его снова)… затем второй переключатель zwave для питания второго реле, чтобы обеспечить подайте питание на высокую ИЛИ низкоскоростную обмотку двигателя. Он работает отлично, и до сих пор я запускал его всю ночь несколько раз без каких-либо сбоев. Оба реле находятся внутри электрической коробки на 2 поста с глухой крышкой, и они отлично работали с первого раза, когда я попробовал. Мало того, теперь я могу управлять скоростью двигателя без сложного макроса Zwave для переключения между скоростями… (что могло привести к тому, что предыдущие переключатели Zwave умерли).
Очень доволен, работает (пока) отлично.
Немного не хватает деталей, но я уверен, что это можно решить.
Вот моя попытка воссоздать то, что сделал обозреватель реле. Если я ошибаюсь или иным образом имею ошибку, кто-нибудь, пожалуйста, сообщите, и я исправлю. 12980×1991 322 KB Электромагнитное поле, создаваемое катушками/обмотками вентилятора.
Томтамстанция (Том Дженсен) 4
Привет, Джеймс
Спасибо за ответ.
Я был вдохновлен вашей идеей и сделал свой собственный дизайн, я не думаю, что у меня будут проблемы с фанкойлами, отправляющими обратно высокое напряжение на реле умных вещей, поэтому я рискну.
С уважением
Том
Управление вентилятором1123×794 50,9КБ
1 Нравится
(Джеймс) 5
Выглядит фантастически. Это также помогает мне найти другие идеи.
Элементы управления — вентиляторы и вентиляция для скота
Toggle NavПосмотреть как Сетка Список
16 шт.
Страница- Вы сейчас читаете страницу 1
- Страница 2
- Страница Следующий
Сортировать по Позиция наименование товара Установить нисходящее направление
Показывать12 24 36 Все
на страницуПосмотреть как Сетка Список
16 шт.