Главная » Автоматика в быту
Призовой фонд
на декабрь 2018 г.
1. 1500 руб
Сайт Паяльник
2. Осциллограф DSO138
Сайт Паяльник
3. 200 руб.
От пользователей

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

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

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

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

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

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 прошивать не нужно.

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

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

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (13) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
andro #
Интересный алгоритм работы и хорошо что всё это сделано на Аттини13, как производилась отладка?
Ответить
0

[Автор]
ashelehov #
Подбирались светодиоды с максимально широким диапазоном чувствительности. Определялась верхняя и нижняя граница освещенности. Грубо говоря включался свет, замерялась яркость ступенями, каждой ступени соответствовали вспышки. Затем свет выключался, повторно замерялась яркость. Потом схема тестировалась без мосфета. Срабатывание мотора заменялось серией вспышек. После недели тестирования перенес все в готовое железо. Схема работает уже несколько месяцев без глюков на полудохлых китайских батарейках.
Ответить
0
andro #
Что если не производить калибровку при каждом включении, а сделать её один раз во время сборки и поместить значение в EEPROM? Это как нибудь скажется на работе устройства при смене рабочего места?
Ответить
0

[Автор]
ashelehov #
Естественно скажется. Даже если развернуть освежитель в другую сторону, освещенность может измениться в несколько раз. Чтобы снизить направленность диод лучше сделать матовым. Так что при любой смене освещенности (другая комната, более мощная или менее мощная лампа и т.д.) калибровка обязательна.
Ответить
0
OldDiver #
Есть несколько доработок этой идеи. Мысль сделать более умной эту тупую пшикалку возникла сразу после израсходования 2 баллона.
Предлагаемые отличия:
1. Сохранить переключатель управления.
2. Отличать день/ночь. В помещении возможна подсветка через матовое окно.
3. Уменьшить частоту до минимально возможной 128 кгц. Что уменьшит потребление от батареек.
4. Знать и учитывать состояние балона. Моргать диодом когда балон кончился. Родная схема это может, а мы что нет?
4. Ну и чтоб все это вместить придется написать на асеемблере.
Если автору будет интересно я приведу схему и код.
Ответить
0

[Автор]
ashelehov #
Спасибо за комментарий. К сожалению сейчас времени заниматься пшикалкой нет, но в будущем возможно. С переключателем будет много заморочек, его придется "отрезать" от остальной схемы, нужен будет делитель напряжение и стабилизатор для питания делителя, посколько 13ая тинька не умеет мерить vcc, поэтому проще перейти на "многоногую" тиньку и завести переключатель на разные пины. Уменьшать частоту смысла нет, так как для подсчета времени разряда частота не должна быть слишком маленькой, иначе контроллер не успеет подсчитать разницу. Счетчик добавить не проблема, но нужно будет после каждой смены баллона его вручную сбрасывать. Уточните по поводу "отличать день/ночь"?
Ответить
0
OldDiver #
Совсем необязательно. Можно совместить схему питания и управление режимами работы. VCC важно ноне актуально. Все равно используется делитель относительно питания. И мерить можно относительно питания. Так что не актуально совсем. С днем/ночьюи похоже поторопился, так как не нужно. По крайней мере сценарий придумать не смог. Частоты более чем достаточно. А зачем сбрасывать? Сквозной счетчик не вижу зачем нужен. Отсчитывать только интервалы. Возможно я ошибаюсь. Но прошивка написана процентов на 90. Пока другого не потребовалось. Ну и схемотехника изменена. Задействован близкий переключатель 1P4T, угловой. Можно и 2P4T, но еще и угловой, достаточно труднодоступен.(не распространен). Датчик света или ПИР отдельно. LED отдельно. Можно интерактивно обсудить функциионал. Насчет более многоногих, следующий кандидат attiny441. Там на все хватит с избытком. Сейчас проблема понять логику работы родного датчика готовности. Тот который 4-х ногий и смотрит на головку распылителя. Там 2 черных полосы. Для работы его нужно свести до состояния готов/неготов. Модель целиком в PROTEUS-е там же пока и отлаживается.
Отредактирован 11.11.2018 17:46
Ответить
0

[Автор]
ashelehov #
По поводу счетчика пшиков. Если не писать в eeprom, то при отключении питания счетчик сбросится. То есть баллон не кончился, а батарейки сели, вы их поменяли и все, приехали. А если не сбрасывать, то при смене баллона на новый, счетчик сам не обнулится. У меня уже нет четырехногого датчика баллона. А зачем он вам? Насколько я помню он нужен, чтобы нельзя было использовать не оригинальные баллоны (без полос).
Ответить
0
OldDiver #
Нет. EEPROM писать не надо. Готовность по баллону родная схема определяет по нахождению головки балона в верхнем положении. С помощъю этого датчика. По полоскам она еще определяет родной/не родной. Но это нам не надо. Остается чтобы сильно не переделывать механику 1 функцию оставить, а вторую исключить. Платку естественно придется переделывать полностью, под старые размеры.
Ответить
0

[Автор]
ashelehov #
Что то не догоню про этот датчик и счетчик пшиков. Можно поподробней как это работает без счетчика срабатываний?
Ответить
0
OldDiver #
Скажите пожалуйста, у вас с самого начала не было этого датчика, или вы при модернизации выкинули?
Чой то я запутался в моделях.
У меня с откидывающейся задней крышкой и колесиком управления сзади и фотодатчиком.
У вас другая модель, я сейчас посмотрел недавно купленный, там вообще схема вдвое проще открытый кристал управления, 1 транзистор и 1 стабилитрон. Несколько резисторов и конденсаторов. Все. Фотодатчика нет в принципе. Он что тупо пшики считает? И на чужие балоны не реагирует?
Есть еще 3 модель, видел на картинках в инете. С листиком на фасаде балона. Что там внутри не знаю.
Идея использовать дешовый пир без линзы френеля или фоторезистор/фототранзистор. Считать только интервалы и определять состояние балона. Самый тупой вариант приклеить микрокнопку на верх тунеля, где ходит клапан балона. Поднялось вверх, нажало кнопку, в балоне что еще есть, можно пшикать.
Отредактирован 17.11.2018 19:47
Ответить
0

[Автор]
ashelehov #
У меня как раз самый тупой вариант. Нет никаких датчиков. Пшики не считаются, когда баллон кончается продолжает пшикать вхолостую.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Радиореле 220В
Радиореле 220В
AVR-программатор USB ASP Raspberry Pi 2
вверх