Управление вентилятором в ванной

Управление вентилятором в ванной

Статьи / Измерительная аппаратура — Управление вентилятором в ванной

Конструкция это из тех про которые говорят что весь прогресс от лени.
В общем представляю блок управления вентилятором для ванной. Выполненный на микроконтроллере (МК) Atmega8 с использованием емкостного датчика влажности HCH-1000-002

Что может устройство:

В автоматическом режиме включать/выключать вентилятор по установленным в настройках порогам влажности, пороги включения/выключения выставляются раздельно.
В ручном режиме можно включить/выключить вентилятор соответствующими кнопками.
В обоих режимах осуществляется индикация, состояния вентилятора (Включен/Выключен), текущей влажности (%), режима работы (Ручной/Автомат).

И так начнем, что мы имеем, а имеем мы вот такой вентилятор

дернешь за веревочку — включится, еще раз дернешь – выключится, дешево, сердито и … неинтересно)) Тем более что там даже решетка под датчик влажности предусмотрена, но вот готовых с датчиком я в природе не встречал, хотя говорят бывают.

и видим что места там для схемы предостаточно.

Делать что то без МК мне как то не интересно, поэтому тут выбор не встал, Atmega8 как раз подходит. Датчик влажности … вот тут дилема, есть хорошие цифровые датчики влажности и температуры в одном корпусе SHT10

управляется через I2C, но дорогие заразы, стоит в районе 500 руб., а есть дешевые емкостные датчики HCH-1000-002

Всего 145 руб…. вообщем жаба победила))

Ну поскольку есть МК, есть параметры которые нужно настраивать, значит нужен дисплей. Есть хороший дисплей от Nokia 1110, недорогой и опыт работы с ним имеется, но ему желательно включать подсветку, даже при внешнем освещении, а в данной конструкции подсветка по моему лишняя, опять же лишний ток, поэтому остановился на более простом дисплее от Nokia 3310, на нем при внешнем освещении и без подсветки все отлично видно.

Единственная проблема с этими дисплеями это контакты, у левых дисплеев они напылением, так что не припаяешься. Изначально хотел поставить резинку от старых часов, она вроде как для этого предназначена, но не вышло, стал искать чем бы его законтачить и наткнулся вот на такой разъем, они обычно для плоских шлейфов используются

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

надел таким образом все контакты, по два на контакт и припаял к плате.

А вот и от разобранного монитора кнопочки пригодились))

Как под них выпилить такие фигурные отверстия не додумался, оторвал, поставил прямоугольные)

Как все это работает.

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

Все просто и стандартно, управление вентилятором осуществляется симистором через опторазвязку.

Плату делал под те детали что есть в наличии, при желании повторить с другими деталями и размерами плату соответственно придется подправить.

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

Крепил все термоклеем.

Ну а как все выглядит в собранном виде Вы уже видели на первом фото.

Тут единственное что наверное стоит напомнить, на плате присутствует напряжение 220 в., об этом не стоит забывать. В остальном все стандартно, двухсторонняя плата с наличием SMD элементов. Поскольку эксплуатируется устройство в условиях повышенной влажности, плату залакировал.

Управляется сей девайс 4-мя кнопками, условно в схеме они названы MENU, OK, UP, DOWN.
В устройстве 2 режима работы — рабочий режим и режим настроек.

В рабочем режиме

кнопкой OK осуществляется переключение режима Ручной/Автомат, кнопкой UP производится переключение в режим Ручной + включение вентилятора, кнопкой DOWN производится переключение в режим Ручной + выключение вентилятора. Кнопкой MENU осуществляется вход в настройки программы.

В режиме настроек

кнопками UP/DOWN осуществляется перемещение вверх/вниз по пунктам меню и изменение параметров +/-
кнопкой ОК осуществляется вход в выбранный пункт меню и сохранение измененных настроек.
кнопкой MENU осуществляется возврат на предыдущий уровень в меню, вплоть до выхода в рабочий режим.

Изначально требуется откалибровать устройство, для этого нужен образцовый конденсатор, образцовый это условно, достаточно точно знать его емкость, на крайней случай приблизительно, т.е. то что на нем написано с учетом его погрешности на крайний случай тоже сгодится. Как выяснилось конденсатор нужно припаивать именно туда, куда будет припаян датчик влажности, даже если это всего пару сантиметров удлинительных проводов, иначе при калибровке их емкость не будет учтена. Калибровочный конденсатор можно использовать любой в пределах от 300 до 400 пф, но желательно взять 330 пф, так как это будет примерно середина диапазона датчика. И так припаяли конденсатор, заходим в меню калибровка

Читайте также:  Как убрать условную переадресацию вызова

кнопками UP/DOWN выставляем емкость конденсатора в соответствии с тем что припаяли и нажимаем кнопку ОК, все калибровка произведена. Для того чтобы не сбить настройку, случайно повторно выполнив калибровку, но уже с подключенным датчиком, сделал небольшую защиту. Калибровка выполняется только в том случае если сохраненное значение равно "0", соответственно после калибровки можно сколько угодно жать на кнопочку, ничего не произойдет. Но как быть если все же понадобится перекалибровать? Для этого есть DIP переключатель, по схеме названый "Сброс", при его замыкании результаты калибровки обнуляются и можно заново калибровать.

Посмотреть результат калибровки и при необходимости подкорректировать его можно в пункте меню Коррекция

Собственно что это за цифры? Это коэффициент пересчета количества импульсов прошедших при зарядке конденсатора (иначе, времени заряда) в емкость в пф. только выводится без запятой, 265 это на самом деле 2,65
Пример: Припаиваем конденсатор 330 пф, при измерении этой емкости получается 875 едениц, 875/330=2,65151515. округляем до трех знаков, убираем запятую и получается 265.

Настройка порогов включения/выключения вентилятора, тут все просто, заходим в соответствующее меню

выставляем необходимое значение, незабываем нажать ОК чтоб измененные значения сохранились в энергонезависимой памяти.

Последний момент касательно настроек это DIP переключатель "Дисплей", для чего он? Кто сталкивался с дисплеями Nokia 3310 наверное уже догадался, для остальных поясню, есть у этих дисплеев одна особенность, у фирменных и у левых дисплеев вывод информации происходит немного по разному, вот чтоб не делать разные прошивки под разные дисплеи, сделал переключатель.

Вот собственно и все, для тех кто решится повторить это устройство, за точность показаний (правильнее наверное будет сказать за соответствие показаний реальным данным) не ручаюсь ибо все расчеты опираются только на график из даташита, а как точно откалибровать датчик влажности в домашних условиях я увы не знаю. Но соответствие в данном случае и не особо нужно, Ведь пороги включения/выключения вентилятора все равно нужно выставлять чисто визуально по реальным условиям. А работает все четко, мне нравится, не надо теперь за веревочку дергать))

Недавно столкнулся с тривиальной задачей — управление вытяжным вентилятором дома в ванной комнате.

Казалось бы чего проще, подключил его к выключателю света и готово. Но, время работы света непостоянно и может быть недостаточно для уменьшения влажности, хотя данную проблему можно решить установкой таймера. К тому же, моим близким очень не нравится работающий вентилятор при принятии водных процедур, так как он «создает холодный ветер».

Вторым очевидным решением было просто посадить вентилятор на отдельный выключатель и предоставить управление человеку. Но человеческий фактор таков, что вентилятор постоянно забывали включать, а если включали, то выключать. Эффективность работы вентилятора быстро стремилась к нулю.

Пришлось подключить к делу свое увлечение Arduino и несложными микроконтроллерами.

Пораскинув мозгами сформулировал

Требования к устройству управления

  1. устройство управления должно работать в автоматическом режиме;
  2. вентилятор должен включаться от повышения влажности;
  3. включение вентилятора не должно зависеть от текущего уровня влажности в квартире;
  4. вентилятор должен работать, когда в ванной комнате никого нет;
  5. устройство управление должно быть максимально простым и дешевым;

Выбор элементной базы

Прототип данного устройства создавался на отладочной плате Arduino Uno китайского производства:

Конечное устройство создавалось по принципу «я тебя слепила из того что было». Все элементы были приобретены ранее на просторах интернета под различные проектики или выдраны из неработающих устройств:

В качестве источника питания подошел LED driver 3×1вт от светильника, который вполне справился с питанием импульсного стабилизатора LM2596.
В качестве корпуса была применена кроссовая коробочка от старой АТС.

Схема устройства

На индикатор CPS03621BR даташит найден не был, поэтому выводы находились при помощи батарейки методом тыка. Индикатор оказался с общим анодом. Схема расположения катодов:

Вентилятор управляется при помощи симистора BT137.
Схему подключения взял с сайта avr.ru

Если кто-то вздумает повторять — ОСТОРОЖНО, на корпусе симистора напряжение 220В.

Алгоритм работы

Микроконтроллер с периодичностью раз в 10 секунд меряет влажность и температуру.
Влажность циклически накапливается в архиве из 6 значений. Если текущая влажность выше первой из архива более чем на 3% либо абсолютное значение влажности выше 85%, значит нужно включать вентилятор.
Вентилятор включается на 20 минут при отсутствии света на фоторезисторе.
Кнопка принудительно включает вентилятор на 20 минут (если он не работает) или выключает (если работает).
Все константы в алгоритме подбирались эксперементальным путем.

Читайте также:  Вне диапазона вай фай на телефоне

Индикатор циклически показывает текущую температуру, влажность и таймер обратного отчета.
Точка второго разряда горит, если требуется понижение влажности и мигает, если подана команда на включения вентилятора.

Полностью логику работы прибора можно описать конечным детерменированным автоматом.
Входной алфавит автомата состоит из следующих событий (в порядке приоритетов):

  • нажата кнопка ручного режима;
  • сработал датчик влажности;
  • горит свет;
  • не горит свет;
  • сработал таймер работы вентилятора.

Множество состояний:

  1. режим ожидания, вентилятор не работает, тайме отключен;
  2. требуется включение вентилятора, вентилятор не работает, таймер (при)остановлен;
  3. вентилятор работает в автоматическом режиме, таймер включен;
  4. вентилятор работает в ручном режиме, таймер включен;

Ну и таблица переходов состояний автомата:

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

AVR-studio и прочих монстров я устанавливать не стал, а обошелся опять же тем, что было — IDE Arduino.

Как подготовить контроллер для работы в среде ARDUINO IDE описано в этой статье
Контроллер прошил на 8МГц с внутренним резонатором и отключенным контролем напряжения питания.

Скетч и библиотеки, использованные в проекте

  • Arduino DHT library для работы с датчиком DHT11
  • Seven Segment Display для работы с семисегментным индикатором.
  • Скетч контроллера управления влажностью

Проблемы

Первой проблемой, с которой столкнулся в реализации — не работал датчик DHT11. На Arduino UNO все нормально, а на голом микроконтроллер не работает. Проблема оказалась в частоте работы контроллера и таймингам протокола опроса DHT.
В контроллерах, работающих на частоте 8МГц в библиотеке DHT нужно обязательно указывать задержку «3» (третий параметр в конструкторе класса) DHT dht(dhtPIN, DHT11, 3);

Второй проблемой стало произвольное срабатывание ресет и кнопки ручного режима. Виной всему были наводки с силовых проводов, проходящих недалеко от данных выводов. Сперва встроенный подтягивающий резистор микроконтроллера на соответствующих выводах был заменен на внешний 10К. Помеха уменьшилась, но не исчезла совсем. Контроллер периодически жил своей жизнью самостоятельно включая/выключая вентилятор.
Тогда я реализовал программное подавление помехи — кнопка опрашивалась подряд 10 раз с задержкой 10мс и только при наличии всех 10 срабатываний признавалось нажатие кнопки.

Готовое устройство выглядит так:

Супруга посмотрела на унылую коробочку непонятного цвета и сделала ей «декупаж»

Два месяца эксплуатации контроллера прошло нормально и особо переделывать ничего не хочется.

Статьи / Измерительная аппаратура — Управление вентилятором в ванной

Конструкция это из тех про которые говорят что весь прогресс от лени.
В общем представляю блок управления вентилятором для ванной. Выполненный на микроконтроллере (МК) Atmega8 с использованием емкостного датчика влажности HCH-1000-002

Что может устройство:

В автоматическом режиме включать/выключать вентилятор по установленным в настройках порогам влажности, пороги включения/выключения выставляются раздельно.
В ручном режиме можно включить/выключить вентилятор соответствующими кнопками.
В обоих режимах осуществляется индикация, состояния вентилятора (Включен/Выключен), текущей влажности (%), режима работы (Ручной/Автомат).

И так начнем, что мы имеем, а имеем мы вот такой вентилятор

дернешь за веревочку — включится, еще раз дернешь – выключится, дешево, сердито и … неинтересно)) Тем более что там даже решетка под датчик влажности предусмотрена, но вот готовых с датчиком я в природе не встречал, хотя говорят бывают.

и видим что места там для схемы предостаточно.

Делать что то без МК мне как то не интересно, поэтому тут выбор не встал, Atmega8 как раз подходит. Датчик влажности … вот тут дилема, есть хорошие цифровые датчики влажности и температуры в одном корпусе SHT10

управляется через I2C, но дорогие заразы, стоит в районе 500 руб., а есть дешевые емкостные датчики HCH-1000-002

Всего 145 руб…. вообщем жаба победила))

Ну поскольку есть МК, есть параметры которые нужно настраивать, значит нужен дисплей. Есть хороший дисплей от Nokia 1110, недорогой и опыт работы с ним имеется, но ему желательно включать подсветку, даже при внешнем освещении, а в данной конструкции подсветка по моему лишняя, опять же лишний ток, поэтому остановился на более простом дисплее от Nokia 3310, на нем при внешнем освещении и без подсветки все отлично видно.

Единственная проблема с этими дисплеями это контакты, у левых дисплеев они напылением, так что не припаяешься. Изначально хотел поставить резинку от старых часов, она вроде как для этого предназначена, но не вышло, стал искать чем бы его законтачить и наткнулся вот на такой разъем, они обычно для плоских шлейфов используются

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

надел таким образом все контакты, по два на контакт и припаял к плате.

А вот и от разобранного монитора кнопочки пригодились))

Читайте также:  Прошивка для micromax a104

Как под них выпилить такие фигурные отверстия не додумался, оторвал, поставил прямоугольные)

Как все это работает.

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

Все просто и стандартно, управление вентилятором осуществляется симистором через опторазвязку.

Плату делал под те детали что есть в наличии, при желании повторить с другими деталями и размерами плату соответственно придется подправить.

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

Крепил все термоклеем.

Ну а как все выглядит в собранном виде Вы уже видели на первом фото.

Тут единственное что наверное стоит напомнить, на плате присутствует напряжение 220 в., об этом не стоит забывать. В остальном все стандартно, двухсторонняя плата с наличием SMD элементов. Поскольку эксплуатируется устройство в условиях повышенной влажности, плату залакировал.

Управляется сей девайс 4-мя кнопками, условно в схеме они названы MENU, OK, UP, DOWN.
В устройстве 2 режима работы — рабочий режим и режим настроек.

В рабочем режиме

кнопкой OK осуществляется переключение режима Ручной/Автомат, кнопкой UP производится переключение в режим Ручной + включение вентилятора, кнопкой DOWN производится переключение в режим Ручной + выключение вентилятора. Кнопкой MENU осуществляется вход в настройки программы.

В режиме настроек

кнопками UP/DOWN осуществляется перемещение вверх/вниз по пунктам меню и изменение параметров +/-
кнопкой ОК осуществляется вход в выбранный пункт меню и сохранение измененных настроек.
кнопкой MENU осуществляется возврат на предыдущий уровень в меню, вплоть до выхода в рабочий режим.

Изначально требуется откалибровать устройство, для этого нужен образцовый конденсатор, образцовый это условно, достаточно точно знать его емкость, на крайней случай приблизительно, т.е. то что на нем написано с учетом его погрешности на крайний случай тоже сгодится. Как выяснилось конденсатор нужно припаивать именно туда, куда будет припаян датчик влажности, даже если это всего пару сантиметров удлинительных проводов, иначе при калибровке их емкость не будет учтена. Калибровочный конденсатор можно использовать любой в пределах от 300 до 400 пф, но желательно взять 330 пф, так как это будет примерно середина диапазона датчика. И так припаяли конденсатор, заходим в меню калибровка

кнопками UP/DOWN выставляем емкость конденсатора в соответствии с тем что припаяли и нажимаем кнопку ОК, все калибровка произведена. Для того чтобы не сбить настройку, случайно повторно выполнив калибровку, но уже с подключенным датчиком, сделал небольшую защиту. Калибровка выполняется только в том случае если сохраненное значение равно "0", соответственно после калибровки можно сколько угодно жать на кнопочку, ничего не произойдет. Но как быть если все же понадобится перекалибровать? Для этого есть DIP переключатель, по схеме названый "Сброс", при его замыкании результаты калибровки обнуляются и можно заново калибровать.

Посмотреть результат калибровки и при необходимости подкорректировать его можно в пункте меню Коррекция

Собственно что это за цифры? Это коэффициент пересчета количества импульсов прошедших при зарядке конденсатора (иначе, времени заряда) в емкость в пф. только выводится без запятой, 265 это на самом деле 2,65
Пример: Припаиваем конденсатор 330 пф, при измерении этой емкости получается 875 едениц, 875/330=2,65151515. округляем до трех знаков, убираем запятую и получается 265.

Настройка порогов включения/выключения вентилятора, тут все просто, заходим в соответствующее меню

выставляем необходимое значение, незабываем нажать ОК чтоб измененные значения сохранились в энергонезависимой памяти.

Последний момент касательно настроек это DIP переключатель "Дисплей", для чего он? Кто сталкивался с дисплеями Nokia 3310 наверное уже догадался, для остальных поясню, есть у этих дисплеев одна особенность, у фирменных и у левых дисплеев вывод информации происходит немного по разному, вот чтоб не делать разные прошивки под разные дисплеи, сделал переключатель.

Вот собственно и все, для тех кто решится повторить это устройство, за точность показаний (правильнее наверное будет сказать за соответствие показаний реальным данным) не ручаюсь ибо все расчеты опираются только на график из даташита, а как точно откалибровать датчик влажности в домашних условиях я увы не знаю. Но соответствие в данном случае и не особо нужно, Ведь пороги включения/выключения вентилятора все равно нужно выставлять чисто визуально по реальным условиям. А работает все четко, мне нравится, не надо теперь за веревочку дергать))

Ссылка на основную публикацию
Узнать историю своих предков по фамилии
История собственной семьи вызывает интерес каждого человека. Слушая семейные легенды, люди нередко увлекаются судьбой своих предков, составляют генеалогическое дерево, стараясь...
Топ лучших видеокарт для игр
Видеокарты крайне быстро улучшаются, практически каждые полгода выходит видеоадаптер, значительно превосходящий предшественника. Активный прогресс обусловлен быстрым увеличением системных требований компьютерных...
Топ приложений для запоминания слов
Топ-8 приложений, где запоминать английские слова Приложения для изучения английских слов помогают быстро и эффективно пополнять словарный запас. Без работы...
Узнать откуда пришло заказное письмо по номеру
Многим гражданам периодически приходит корреспонденция, сопровождаемая извещениями, в которых содержится скудная информация, не дающая представления об отправителе. В случае невозможности...
Adblock detector