| Ср, 22.04.2020, 19:32 | Сообщение # 1
|
VladUS731303
Постов: 7
ОК |
Эмулятор бесконтактного домофонного ключа или карты доступа (RFID). Эмулятор представляет собой устройство, которое имитирует бесконтактный домофонный ключ или карту формата EM-Marine. Рабочая частота 125кГц. Я собрал устройство, которое заменяет мне пару ключей: ключ от домофона и рабочий пропуск в офис. Схема весьма простая, но требует навыков выпаивания SMD компонентов:
Компоненты (BOM). C1 – любой керамический, 560 пФ D1 – любой диод Шотки с частотой работы выше 125 кГц R1, R2 – любые маломощны резисторы L1- бескаркасная, индуктивностью от 0,4 мГн до 3 мГн Q1 – любой маломощный NPN транзистор, например S9014 U1 – Arduino Pro Mini
Алгоритм работы. Принцип работы заключается в модуляции электромагнитного поля считывающей катушки домофона путем открывания\закрывания транзистора Q1. Открыли транзистор – закоротили катушку L1, тем самым изменили поле считывающей катушки, закрыли транзистор - поле не изменилось. Более подробно останавливаться на этом нет смысла, так как принцип считывания кода ключа широко описан в интернете. При поднесении эмулятора к считывателю Arduino формирует кодовую последовательность из заранее внесенных в программу ключей путем управления транзистором Q1 через цифровой выход 3 (константа coil_pin в программе). Коды ключей генерируются попеременно, сначала генерируется первый ключ несколько раз, затем – второй код, и так далее пока вы не уберете эмулятор от считывателя. Затем Arduino переходит в спящий режим для экономии энергопотребления. Для использования режима сна я использовал библиотеку LowPower.h. Контроллер «просыпается» при изменении состояния цифрового входа 2 с низкого уровня на высокий. Изменение входа 2 происходит при помещении эмулятора в магнитное поле катушки считывателя. Питание осуществляется от батарейки-«таблетки» CR2032, которые широко используются в компьютерах. Так как основное время контроллер просто спит, то энергопотребление, при модификации платы Arduino, весьма мало и составляет несколько микроампер. При умеренном использовании ключа (~20 раз в день) расчётный срок службы батареи составит около 3-х лет. Модифицировать плату Arduino не обязательно, но при этом потребляемый во время сна ток будет 2-3 мА.
Изготовление и настройка.
Использован метод навесного монтажа. В качестве катушки L1 берем катушку от домофонного ключа, из которого аккуратно выкусываем микросхему оставив только контактные площадки антенны. К площадкам припаиваем конденсатор С1 и транзистор Q1:
Разумеется, катушку индуктивностью от 0,4 мГн до 3 мГн можно изготовить самостоятельно. Емкость конденсатор C1 подбирается под вашу катушку таким образом, чтобы резонансная частота контура C1L1 составляла 125 кГц. Для расчета резонанса можно воспользоваться он-лайн калькулятором или вспомнить формулу.
Теперь о модификации платы Arduino. Для максимального снижения энергопотребления с платы Arduino-Pro Mini нужно выпаять пару элементов: линейный стабилизатор напряжения и резистор светодиода индикации питания. Они обведены кружочками:
Их расположение на китайских клонах Arduino-Pro Mini:
К плате припаиваем элементы R1,R2,D1, выводы питания и разъем для программирования Arduino. Подключаем батарейку и приклеиваем катушку, плату, батарейку и разъем внутри подходящего корпуса:
Фото готового изделия:
Программа и запись своего ключа в программу.
Программа позаимствована отсюда с небольшими изменениями. Код ключа состоит из 64-х байт и состоит из байта идентификатора и четырех байт данных. Что бы его узнать вам потребуется считать ключ RFID- ридером.
Иногда строчка данных написана на самом пропуске с обратной стороны:
По ссылке в конце статьи я выложил конвертер кодов ключей в данные для программы.
Пример работы эмулятора. Вот то, что считывает RFID- ридер. Видна попеременно появляющаяся пара ключей:
Файлы принципиальной схемы, печатной платы в формате программы Dip Trace и .pdf и скетч для Arduino можно скачать здесь: https://cloud.mail.ru/public/W8di/XdGavooyw
Дальнейшее развитие эмулятора не планирую, может кто возьмется сделать его без батарейным.
VladUS73. 2020.
|
|