Контроллер плавного включения ламп на AVR, с датчиком движения HC-SR501

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

В этом топике представляю простенький контроллер плавного включения галогеновых ламп на ATtiny9 /10.
Без плавного включения, хоть одна галогенка перегорала раз в несколько месяцев, а иногда чаще.
Заодно в него добавил датчик движения HC-SR501, выключающий свет по таймауту, если его забыли выключить.

У меня это устройство используется в ванной комнате.
Устройство включается обычным выключателем, решил не рисковать — все таки ванная комната. Далее, если не было движения в течении нескольких минут, то выключаем свет, если обнаруживается движение — снова плавно включаем.

Лампы включаются с помощью симистора, а плавность достигается медленным изменением фазового угла.
Датчик перехода через ноль построен на сдвоенной оптопаре и срабатывает по нарастающему фронту INT0.
Начало и конец импульса включения симистора выполняется в прерываниях сравнения таймера — COMPA и COMPB. В регистры OCR0A и OCROB заносятся значения начала и конца импульса.

Датчик движения — пассивный на PIR сенсоре — типа HC-SR501.
При подаче напряжения на датчик, он всегда сначала срабатывает на заданное время, которое задается резистором регулировки длительности импульса, потом сигнал снимается на время паузы, и начинается его нормальная работа.
Можно использовать это для своих целей, измерив время этого импульса при включении устройства.
Время в секундах таймаута выключения получается умножением длительности импульса датчика на 16.

Схема (D1, D3, R6 не используются, красная нумерация ножек для оптосимистора VO2223)

Источник

Оставить комментарий

Вы можете использовать следующие теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>