Обычно освещение в подъездах и на лестничных клетках используется даже тогда, когда в нём никто не нуждается. Вышел человек из квартиры, включил свет и пошёл на работу, а свет продолжает гореть. При таком подходе расходуется впустую не только существенное количество электроэнергии, но и уменьшается ресурс работы лампочек. И в конце концов света не будет именно тогда, когда он будет нужен. Данное устройство позволяет экономить электроэнергию расходуемую на освещение подъездов многоэтажных домов и позволяет продлить срок службы ламп.
Принцип работы: Всё предельно просто вы выходите из квартиры, нажимаете на кнопку и свет включается на пару минут, далее в течении 15 секунд лампочка начнёт моргать, предупреждая о скором отключении, после чего свет выключается до следующего нажатия кнопки.
Схема:
Перечень элементов:
Основой устройства служит микроконтроллер atmega8 фирмы atmel. Управление лампочкой осуществляется симистором MAC16N. Для гальванической развязки микроконтроллера и мощного симистора используется оптосимистор MOC3083.
Схема рассчитана на десять этажей, 11 канал используется для крыльца, его отличие в том, что по истечении времени лампочка не моргает а просто выключается, не привлекая своим морганием выстрел из рогатки или камень
Время свечения лампочек можно изменить в исходнике прошивки.
if (PINB.0==1) a=120000; // проверить "0" на линии 0 порта B и присвоить переменной количество циклов
if (PINB.1==1) b=120000; // проверить "0" на линии 1 порта B и присвоить переменной количество циклов
if (PINB.2==1) c=120000; // проверить "0" на линии 2 порта B и присвоить переменной количество циклов
if (PINB.3==1) d=120000; // проверить "0" на линии 3 порта B и присвоить переменной количество циклов
if (PINB.4==1) e=120000; // проверить "0" на линии 4 порта B и присвоить переменной количество циклов
if (PINB.5==1) f=120000; // проверить "0" на линии 5 порта B и присвоить переменной количество циклов
if (PINB.6==1) g=120000; // проверить "0" на линии 6 порта B и присвоить переменной количество циклов
if (PINB.7==1) h=120000; // проверить "0" на линии 7 порта B и присвоить переменной количество циклов
if (PINC.3==1) k=120000; // проверить "0" на линии 0 порта C и присвоить переменной количество циклов
if (PINC.4==1) l=120000; // проверить "0" на линии 1 порта C и присвоить переменной количество циклов
if (PINC.5==1) m=120000; // проверить "0" на линии 2 порта C и присвоить переменной количество циклов
Изменяя значения переменных a, b, c ... m вы тем самым изменяете время свечения ламп. 120000мс = 120с = 2мин. В данном случае лампочка будет гореть 1 минуту 45 секунд, а затем начнёт мигать.
Программа написана на языке С в среде CodeVisionAVR.
Моделирование в протеусе пройдено успешно:
Скачать файлы проекта:
Отредактировал:
Tonich
- 21-02-2013, 08:21
Причина: Исправлена прошивка