[Из песочницы] Простой контроллер освещения
Как ни странно, на разработку этого устройства меня толкнули лень и дискомфорт. Каждый раз загоняя автомобиль в гараж, в темное время суток, постоянно приходилось искать заветную клавишу выключения света, что бы ориентироваться при выходе. В итоге начал обдумывать методы устранения данной проблемы. Первое что пришло на ум, готовый датчик движения, что применяется для уличного освещения. Но не захотел я легкого пути, решил изготовить самостоятельно. Начал прокручивать в голове различные решения на подобии измерителя поля на полевом транзисторе и антенне, ИК приемо-передатчиками в воротный проем и в итоге тернистый путь привел меня к широко известному PIR-датчику HC-SR50.
Стоит не дорого, свой стабилизатор питания (можно подавать от 5 до 20В), регулировка чувствительности радиуса обнаружения (от 3х до 7 метров), угол обнаружения (120–140, зависит от конкретной линзы и типа датчика), регулировка времени отпускания, а так же два режима работы:
1. Одиночный захват — в этом режиме при срабатывании датчика несколько раз подряд на его выходе остается высокий логический уровень.
2. Импульсный захват — в этом режиме на выходе при каждом срабатывании датчика появляется отдельный импульс.
Снабдив такой датчик источником постоянного тока и небольшой платой с транзисторным ключом, парой резисторов, диодом и реле, получаем готовое устройство, которое сможет включать и отключать нашу нагрузку, когда в поле датчика будет находиться объект.
Поразмыслив дальше, все-таки решил я применить простой микроконтроллер Attiny13 и связать все в один взаимосвязанный пучок: клавишный выключатель, PIR-датчик и еще добавил датчик уровня освещенности (о нем речь пойдет ниже).
Логика работы устройства:
- Приоритет включения всегда у клавишного выключателя, не зависимо от уровня освещенности и нахождения объекта в поле PIR-датчика.
- По истечении примерно 5 часов, при включенном клавишном выключателе, свет автоматически отключится. Иногда домочадцы, а порой и я сам забываю выключить свет.
- Если клавишный выключатель выключен, объект находится в поле PIR-датчика и на улице темно (тут на помощь приходит фото датчик), свет включается, и горит пока объект не выйдет из поля PIR-датчика.
- Если клавишный выключатель выключен, объект находится в поле PIR-датчика и на улице темно, свет включается, и горит, если объект выйдет из поля PIR датчика, освещение продолжает работать в промежутке времени, заданным регулировочным потенциометром на PIR- датчике от 5 секунд до 300 секунд.
- Если клавишный выключатель выключен, объект находится в поле PIR-датчика и на улице светло, свет не включится, пока уровень освещенности не упадет до заданного порога или не включится клавишный выключатель.
Далее была разработана схема электрическая принципиальная, содержащая недорогие и доступные компоненты:
Для питания схемы используется трансформатор с двумя выходными обмотками по 9В (ТПГ-2), первая обмотка служит для питания микропроцессорной части устройства и выносного датчика уровня освещенности. Вторая обмотка для питания PIR-датчика и обмотки реле. Для 12В использован однополупериодный выпрямитель и интегральный стабилизатор напряжения, в данном случае такая схема думаю оправдана т.к в PIR-датчике присутствует свой стабилизатор напряжения. Транзистор Q3 служит для согласования уровней между PIR-датчиком и микроконтроллером, выход PIR — датчика LVTTL c максимальным порогом 3,3В. Транзистор Q2 служит для индикации состояния, транзистор Q1 управляет обмоткой силового реле к которому подключена наша лампа освещения. Переменный резистор необходим для регулировки чувствительности датчика освещения. Цепочка R2, D3, D6, C2 необходима для захвата напряжения сети от клавишного выключателя. Дребезг пульсаций обрабатывается программно.
Для разработки датчика освещения я использовал импортный фототранзистор из своих старых залежей, не знаю даже маркировки, но думаю подойдет например такой BPW96C. Так как устройство находится далеко от улицы или какого-либо проема, просто припаять фототранзистор на плату в моем случае не получится, а тянуть линию порядка 10 метров до фототранзистора я не рискнул, в связи с чем сделал повторитель на Rail-to-Rail операционном усилителе. Но тут натолкнулся на проблемы с калибровкой, в общем сигнал фототранзистора был очень мал для нормальной работы, и я переделал повторитель на не инвертирующий усилитель с коэффициентом усиления 2:
Если вы будете повторять конструкцию и фототранзистор будет выдавать подходящий уровень, вместо резистора R2 установите перемычку 1206 с 0 значением, а резистор R4 исключите из схемы. Фототранзистор у меня был NPN, подключил пину J1–1 коллектор, к пину J1–2 эмиттер.
Собрав датчик уровня освещенности я залил плату компаундом Виксинт ПК-68 и усадил в термоусадочную трубку, оставив на поверхности только шляпку фототранзистора с окошком.
Печатные платы контроллера:
датчика уровня освещенности:
Фото готового устройства на этапе отладки:
Схема соединений всех устройств:
Дополнительно была разработана вторая версия печатной платы для корпуса типа D3MG с установкой на DIN-рейку и разъемом для программирования микроконтроллера AVRISP (в первой версии я для программирования подпаивал провода с разъемом к плате). Микропрограмма микроконтроллера написана на языке С в среде Atmel Studio.
Исходный код, две версии печатных плат и схем электрических принципиальных с перечнями комплектующих (использовался САПР Dip Trace 3.0.0.1), а также файл симуляции для Proteus 8 вы можете найти в репозитории — LightController.
PS: перед установкой, плату контроллера и PIR-датчика на всякий случай вскрыл двумя слоями цапон-лака.