Доработка автоматического освежителя воздуха Airwick

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

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

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

В качестве датчика света применяется красный светодиод в прозрачном корпусе*. При этом светодиод продолжает выполнять свои прямые обязанности.

При включении устройства выполняется калибровка датчика света. Перед калибровкой будет 10 секундная задержка, сопровождающаяся вспышками светодиода с частотой 1Гц. За это время нужно поместить освежитель на его рабочее место, светодиод желательно направить на источник освещения. Сразу после калибровки будет тестовое срабатывание освежителя. Перед каждым срабатыванием производятся быстрые вспышки светодиода в течении 2 секунд.

В схеме используются 2 кнопки. Одна производит принудительное срабатывание освежителя (у меня не используется, потому что освежитель висит высоко), вторая по кругу меняет режимы работы. Режим работы сохраняется в энергонезависимой памяти EEPROM.

Алгоритм работы устройства:

1) «пшикаем» через равные промежутки времени, напр. раз в час, при условии, что свет выключен то есть в помещении никого нет.

2) если свет включается, запускаем таймер.

3) когда свет выключается:

  1. если прошло мало времени (напр. меньше 2.5 минут), пшикать не надо.

  2. если прошло больше, «пшикаем» и сбрасываем таймер.
Если после последнего срабатывания прошло меньше 15 минут, то не «пшикаем», потому что аэрозоль ещё не выветрился.

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

Режимы работы:

1) «Пшикаем» раз в час, минимальное время включения света — 2.5 минуты

2) -//- раз в час, -//- 5 минут

3) -//- каждые 3 часа, -//- 2.5 минуты

4) -//- каждые 3 часа, -//- 5 минут

Все режимы настраиваются в исходнике, который подробно прокомментирован.

Первоначально проект тестировал в Протеусе.

Когда дело дошло до датчика света, пришлось собрать модель на макетке.

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

В качестве управляющего транзистора подойдет любой маломощный N-канальный Logic Level мосфет. Такие обычно стоят в цепи питания процессора на материнской плате. Я свой выпаял со старой видеокарты (P0903BDG).

Ввиду простоты схемы решил не разводить печатную плата, разместил детали на макетке.

Диод D2 и конденсатор C1 припаиваются непосредственно к выводам мотора. Для подавления собственных выбросов контроллера на его выводы питания (или в непосредственной близости он них) желательно припаять керамический конденсатор на 0.1 мкф (на схеме не показан).

В режиме покоя схема потребляет 7 микроампер. Раз в 8 секунд контроллер просыпается, опрашивает датчик. После этого на 1 мс вспыхивает светодиод. Двигатель включается на 300 мс, дальше крутится по инерции, обратно его крутит клапан баллона. Средний потребляемый ток двигателя 100 миллиампер. При таком режиме алкалиновых батарей хватит ооооочень надолго.

Исходник прошивки написан на СИ. Прошивка скомпилирована в среде WinAVR. Контроллер прошивал китайским UsbASP в программе SinaProg. Фьюзы по умолчанию. EEPROM прошивать не нужно.

* работа светодиода в качестве датчика света основана на заряде паразитной емкости ног контроллера и светодиода и последующем разряде с подсчетом времени, которое потребуется для разряда до нуля. Чем ярче свет, тем быстрей идет разряд.

Прикрепленные файлы:

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

Ваш адрес email не будет опубликован.