Многофункциональный брелок
Изначально данное устройство задумывалось только как электронный
ключ на ИК лучах опять же для электронного дверного замка (тоже собственного
изготовления). Но потом я захотел, чтобы устройство было более универсальным. В
результате получился компактный брелок, выполняющий несколько функций: 1.
Термометр в диапазоне от -55°С. до 125°С. с шагом 0,1°С; 2. Считыватель и
эмулятор электронных ключей - таблеток DS1990 (память на 10 штук); 3.
Дистанционный пульт управления на ИК лучах (реализована только команда "Сделать
снимок") для цифровых фотокамер "Pentax"; 4. Светодиодный
фонарик.
Вспомогательные функции: 1. Контроль напряжения батареи
питания; 2. Цифровая регулировка яркости индикатора; 3. Протокол
MODBUS-RTU для связи с ПК.
Выбор эмуляции данного класса устройств Touch
memory и пульта ДУ был сделан исходя из того, что домофон и фотокамера у меня
соответствующие. Примечание: Поскольку здесь устройство представлено как
самостоятельное, то в данной версии функция электронного ключа для замка
отсутствует. Вместо неё введена команда "Выключение брелка". Интерфейс для связи
с ПК я ввёл для того, чтобы можно было просматривать и редактировать ключи,
наблюдать температуру и т. п., но наружу я его не вывел и управляющей программы
пока нет.
Устройство построено на микроконтроллере АТmega8-16AU, но лучше
использовать АТmega8L-8AI(U). Для индикации используется трехразрядный
светодиодный семисегментный индикатор с общим анодом и четыре дискретных
светодиода (два красных, желтый и зелёный - по одному). В качестве
температурного датчика использован DS18B20. Управление осуществляется двумя
кнопками, одна из которых сдвоенная (используется также для включения
устройства, на схеме А1 и А2 разнесены для удобства). Разъем J1
предназначен для внутрисхемного программирования МК., J2 - для связи с ПК через
адаптер TTL/RS-232. Ниже приведена конструкция собранной платы с двух
сторон.
При установке элементов питания схема обесточена. При коротком
нажатии на кнопку "A" происходит подача питания через пару контактов
сдвоенной кнопки. Затем питание брелка удерживается открытыми транзисторами Q7,
Q6. Если в течении 16 секунд не была нажата ни одна кнопка, то эти транзисторы
закрываются и схема обесточивается. При этом ток потребления не превышает 0,5
мкА. При нахождении в режиме "Пульт ДУ" этот интервал составляет 30 сек.,
а при включенном фонарике - 1 минуту. На плате много перемычек, просто не
хотелось делать её двухсторонней. Подключается программатор к разъёму J1
(стандартный шестиконтактный разъём для внутрисхемного программирования). При
этом удобнее прошивать без батареек, но чтобы питание поступало от
программатора.
FUSE-биты микроконтроллера DD1 должны быть запрограммированы
следующим образом: CKSEL3...0 = 0011 - тактирование от внутреннего RC
осциллятора 4 МГц; SUT1...0 =10 - Start-up time: 6 CK + 64 ms; CKOUT = 1
- Output Clock on CKOUT запрещен; BODLEVEL = 1 - пороговый уровень для схемы
контроля напряжения питания 2,7В; BODEN = 0 монитор питания включён;
EESAVE = 0 - стирание EEPROM при программировании кристалла запрещено;
WDTON = 1 - Нет постоянного включения Watchdog Timer; Остальные FUSE -
биты лучше не трогать. FUSE-бит запрограммирован, если установлен в "0".
Необходимо прочитать из МК калибровочный байт для внутреннего RC осциллятора
на 4 МГц и записать его в последнюю ячейку флэш памяти (1FFFh) В первых
ячейках EEPROM размещается настроечные параметры устройства. В приведённой ниже
таблице описывается их назначение, которые можно менять в разумных пределах.
№ |
Адрес ячейки EEPROM |
Назначение |
Параметр |
Примечание |
1 |
$0000-$0001 |
Величина напряжения батареи, при которой происходит сигнал о его
низком уровне |
360($168) (3,6V) |
1 ед = 10mV |
2 |
$0002-$0003 |
Коэффициент для коррекции значения измеренного напряжения
батареи |
800...1200 |
|
3 |
$0004 |
Интервал времени на отключение питания |
20($14) |
x0,8 сек |
4 |
$0005 |
Интервал времени на отключение питания при включенном
фонарике |
75($4B) |
x0,8 сек |
5 |
$0006 |
Интервал времени на отключение питания при нахождении в режиме ДУ
для фотокамеры |
40($28) |
x0,8 сек |
6 |
$10-$5F |
Здесь хранятся номера IButton ключей |
|
10 штук |
Небольшие пояснения по пунктам таблицы: 1. Здесь указывается
величина напряжения на батарее, при которой загорится светодиод, сигнализирующий
о её низком значении. Я поставил 3,6V (параметр - 360). Если нужно другое,
например 3,35V, то надо записать 335($14F). В ячейку по адресу $0000 заносится
младший байт, соответственно в $0001 - старший. 2. Поскольку я не установил
на плату переменный резистор для подстройки точности измерения напряжения
батареи ввиду отсутствия у меня такового малых размеров, то я ввел программную
коррекцию. Порядок калибровки для точного измерения следующий: вначале в ячейки
EEPROM необходимо записать число 1024($0400), затем включить устройство,
посмотреть на индикаторе напряжение, которое измерил брелок и тут же замерить
вольтметром реальное напряжение на батарее. Коэффициент коррекции вычисляется по
формуле: K=Uр/Uи*1024 где Uр - реальное напряжение, измеренное вольтметром, Uи -
напряжение которое, измерил брелок. После подсчёта коэффициента "K" его заносят
в EEPROM. В ячейку по адресу $0002 заносится младший байт, соответственно в
$0003 - старший. После калибровки у меня погрешность не превысила 3%. 3.
Здесь задается параметр времени, через которое брелок отключится, если не
происходят нажатия на кнопки. У меня стоит 20 (20*0,8=16 сек.) Если допустим
надо, чтобы отключалось через 30 сек, то надо записать 30/0,8 = ~38($26). В 4 и
5 пунктах аналогично. 6. По адресу $10 хранится код семейства нулевого ключа,
затем его 48 битный номер и CRC. И так 10 ключей последовательно.
Устройство питается от трех дисковых элементов A76 (LR44, G13,
357), суммарное напряжение 4,5V. Ток потребления при макcимальной яркости
составляет около 30 мА, но я для экономии батареи установил на среднюю. Плата
разработана под корпус брелка промышленного производства под названием "КР-3",
но можно использовать другой подходящий по размеру корпус. Эмуляция ключей
проверена на домофонах "VIZIT". Инструкция по эксплуатации находится в
прилагаемых файлах. Внешний вид устройства: С левой стороны расположен термодатчик, заключённый в медную трубку. С правой
стороны контакты считывателя/эмулятора в виде двух винтов, выступающих на разную
высоту. Тот что короче - земля, а длиннее - данные. Рядом с ними располагаются
светодиоды фонарика и ИК-пульта.
Автор устройства (схемы): Баталов Алексей aka Alex72
Связь с автором: Нет данных
Веб сайт автора: http://www.mcuprojects.narod.ru
Источник: http://radiokot.ru
Доп материалы, файлы к устройству (схеме):
Печатная плата в формате SL 5.0
Прошивка МК
Барахло для Proteus
Юзер-гат - инструкция по эксплуатации
|