Алгоритм работы прост - когда в определенном месте освещение ниже допустимого уровня (определяется с помощью фотодатчика), а также детектируется движение человека (определяется пассивным инфракрасным датчиком присутствия TLC-15), то устройство плавно включает освещение на заданное время. Если во время включения в зоне наблюдается продолжение активности человека, то освещение продолжает работать (таймаут удержания освещения постоянно сбрасывается). Все параметры, по которым работает устройство (время удержания освещения, чувствительность фотодатчика и т. п.), записаны в EEPROM микроконтроллера и сохраняются при выключении питания устройства. Параметры могут быть изменены с помощью специальной программы llcontrol.exe через интерфейс USB, либо сброшены в значение по умолчанию - как с помощью программы llcontrol.exe, так и с помощью перемычки между контактами 4 и 6 коннектора ISP платы AVR-USB-MEGA16. Процедура изменения настроек или их сброса описана далее.
Выполнено устройство на основе макетной платы AVR-USB-MEGA16 [1], и свободно распространяемой библиотеки V-USB компании OBJECTIVE DEVELOPMENT Software GmbH [2]. Его схема представляет собой интерфейс для подключения датчика движения/присутствия и фотодатчика, а также ключа управления включением светодиодов освещения. Индикационный светодиод, установленный на плате AVR-USB-MEGA16, показывает активность датчика движения. При особенных требованиях к освещенности можно применить фотодатчик повышенной чувствительности, с двумя фоторезисторами. Такая схема имеет преимущество также в том, что фоторезисторы СФ3-4Б работают при более походящем напряжении (2.5 в вместо 4.5 в, так как для них предельное напряжение 5 в).
С меньшим успехом можно также использовать фотодиоды ФД-256 - при этом снизится чувствительность фотодатчика.
Питается устройство от стабилизированного источника напряжения 12 вольт, ток потребления не превышает 50 мА а в режиме ожидания и 120 мА в режиме включения светодиодной подсветки. Подсветка питается от того же источника 12 вольт - это 3 светодиода, включенные последовательно. Ток через светодиоды ограничивает резистор R2. Для измерения уровня сигнала с фотодатчика используется АЦП микроконтроллера ATmega16, включенный в режиме с дифференциальными входами (ножки 35, 36, 37 корпуса TQFP). Коэффициент усиления перед АЦП (x1, x10 или x200), влияющий на чувствительность фотодатчика, задается установкой соответствующего параметра в EEPROM. Для приема сигнала с датчика движения TLC-15 используется простой цифровой входной порт с включенным внутренним нагрузочным резистором (ножка 33 корпуса TQFP). Включением света управляет порт в режиме выхода (ножка 43 корпуса TQFP).
Для сброса параметров в значения по умолчанию выключается питание устройства, замыкаются контакты 4 и 6 коннектора ISP (при этом ножка 1 корпуса TQFP замыкается на землю), а затем включается питание. Микроконтроллер в течение секунды опрашивает наличие низкого уровня на порте PB5 (ножка 1 корпуса TQFP), и если он сохраняется, то 3 раза мигает индикационным светодиодом, сигнализируя о том, что параметры EEPROM будут сброшены. Если перемычку во время этих миганий не убрать, то параметры EEPROM сбрасываются, и устройство перезагружается, после чего перемычку нужно убрать. Сбросить параметры можно также командой llcontrol.exe default (описание опций утилиты llcontrol.exe см. далее).
Нормальный вход в рабочий режим после включения питания индицируется плавным включением и выключением подсветки. Если обнаружена ошибка контрольной суммы параметров CRC, то устройство переходит в режим индикации ошибки - постоянно с периодом в секунду мигает подсветка.
Для управления параметрами устройства используется программа llcontrol.exe, при этом устройство должно быть подключено к интерфейсу USB компьютера. Для получения подсказки по опциям командной строки нужно запустить llcontrol.exe без опций, выведется следующая информация:
C:\TEMP>llcontrol.exe Usage: llcontrol.exe default llcontrol.exe param llcontrol.exe verify llcontrol.exe view llcontrol.exe read llcontrol.exe write Options: default reset all params to default values param <...> set specified params. Params are: -LON:nnnn threshold ON light. Value 1..1023. -LOFF:nnnn threshold OFF light. Value 1..1023. -IL:nn number consecutive ADC readungs. Value 1..255. -MD:n enable (n==1) or disable (n==0) motion detection. Value 0 or 1. -LT:nn time light keeping in seconds. Value 1..255. -RS:nn step delay to light brightness rising. Value 1..255. -FS:nn step delay to light brightness falling. Value 1..255. -GA:n ADC gain select. Value 0 (x1), 1 (x10) or 2 (x200). verify check all EEPROM params. view view all EEPROM params. read read all EEPROM data and dump to console. write <...> write bytes to EEPROM from start address 0. Наиболее часто используемые опции default, param, verify и view (оставшиеся опции read и write нужны для манипуляции данными EEPROM в двоичной форме, и их лучше не использовать). Для управления параметрами устройства вводят llcontrol.exe param и список параметров (можно указать один или более параметров). Если какой-то параметр не указан, то он оставляется в EEPROM без изменения. Параметры могут быть следующие (вместо букв n вводят значение параметра):
-LON:nnnn порог освещенности для ВКЛючения. Допустимые значения 1..1023. Значение по умолчанию 100. -LOFF:nnnn порог освещенности для ВЫКЛючения. Допустимые значения 1..1023. Значение по умолчанию 102. -IL:nn количество последовательных считываний ADC. Допустимые значения 1..255. Значение по умолчанию 10. -MD:n разрешение работы датчика движения. Допустимые значения 0 и 1. Значение по умолчанию 1 (разрешено). -LT:nn Время удержания освещения в секундах. Допустимый диапазон 1..255. Значение по умолчанию 10. -RS:nn Сколько времени длится шаг увеличения яркости освещения (255 шагов). Диапазон 1..255. Значение по умолчанию 100. -FS:nn Сколько времени длится шаг увеличения яркости освещения (255 шагов). Диапазон 1..255. Значение по умолчанию 100. -GA:n Выбор усиления перед ADC. Возможные значения 0 (x1), 1 (x10) или 2 (x200). Значение по умолчанию 1 (усиление x10).
Проверить параметры можно командой llcontrol.exe verify, вывести из значения - llcontrol.exe view.
[Ссылки]
1. Макетная плата AVR-USB-MEGA16. 2. V-USB download site:obdev.at. 3. 081030ledlight.rar - исходный код и бинарники проекта, документация. |
Комментарии
microsin: на самом деле все просто - прогуглите, как качать с депозита, и все встанет сразу на свои места.
RSS лента комментариев этой записи