Характеристики:
Частота метки: 125 кГц
Источник питания: +5 В постоянного тока
Выводимые данные: последовательно, 2 400 б/с 8N1. Выдается 10-цифровой серийный номер метки.
Рисунок 1: 125 кГц RFID-метка (брелок) Рисунок 2: 125 кГц RFID-метка (размер с кредитную карточку).
Введение
Данный RFID-считыватель работает с метками частотой 125 кГц в картах размером с кредитную карточку и 125 кГц брелоках (Рисунок 1). При этом используется протокол EM4100. Когда вы приближаете RFID-метку на близкое расстояние (4-5 см) к катушке считывателя (L1), считыватель считает 10-цифровой уникальный идентификатор метки и передаст его как ASCII символы через последовательных выход со скоростью 2 400 бит в секунду.
В схему входит сигнализатор, который издает прерывистые звуковые сигналы, когда метка успешно считывается.
Описание
Я попытаюсь в нескольких словах объяснить, как работает RFID-считыватель. Контроллер ATtiny13 используется функцию PWM для создания прямоугольного импульсного сигнала частотой 125 кГц. Данный сигнал выходит с вывода PB0. По заднему фронту импульса на выводе PB0 (Логический ноль ‘0’), транзистор T1 закрыт. Таким образом, катушка L1 возбуждается через резистор R1 (номиналом 100 Ом) от напряжения +5V. Когда импульс на выводе PB0 растет (Логическая единица ‘1’) транзистор T1 открывается и один из выводов катушки L1 соединяется с землей GND. К катушке L1 параллельно подсоединяется конденсатор C2, создавая LC генератор. Данные переключения катушки L1 от логической единицы к логическому нулю происходят 125 000 раз в секунду (125 кГц).
Рисунок 3: Колебания сигнала частотой 125 кГц, которые передаются от катушки L1 и конденсатора C2.
RFID-считыватель передает энергию к транспондеру (метке) путем создания электромагнитного поля. Передача энергии между RFID-считывателем и меткой происходит на том же принципе, что и работа трансформаторов, преобразующих напряжение 220 В сети переменного тока в 12 В переменного тока, благодаря магнитному полю, которое создает первичная обмотка. В нашем случае первичная обмотка – это RFID-считыватель, а вторичная обмотка – это RFID-метка. Разница лишь в том, что в схеме RFID-считывателя нет стального магнитопровода между двумя катушками (одна катушка располагается на стороне считывателя, а другая катушка в RFID-метке). Компоненты D1 ,C3 и R5 составляют демодулятор AM сигнала (AM = Амплитудная модуляция).
Передача данных между метками и считывателем.
Как метки передают данные в считыватель? Очень просто! Когда метка хочет передать логический ноль ‘0’ в считыватель, она прилагает «нагрузку» к своей линии источника питания для получения большей энергии из считывателя. Это вызывает небольшое падение напряжения на стороне RFID-считывателя. Этот уровень напряжения является логическим нулем ‘0’ (смотрите рисунок 4). Одновременно с передачей считывателем сигнала частотой 125 кГц, он считывает напряжение передаваемого сигнала через фильтры D1, C3 и R5, C1. Когда метка снижает напряжение, как было сказано ранее, считыватель считывает данное падение напряжение как логический ноль ‘0’. Если метка не требует дополнительной энергии, она не вызывает падение напряжения. Это соответствует логической единице ‘1’ (Рисунок 3). Длина ‘единиц’ или ‘нулей’ зависит от скорости передачи последовательной передачи данных. Например, для несущей частоты 125 кГц мы не получаем скорость передачи данных 125 000 бит в секунду! Передача данных от метки в считыватель изменяется от 500 до 8 000 бит в секунду.
Рисунок 4: Снимок экрана передаваемых данных…10101… Рисунок 5: Альтернативный рисунок PSK модуляции.
Структура данных RFID-метки.
- 125 кГц RFID-метка передает 64 бита.
- Первые 9 бит – это стартовые биты передачи (всегда ‘1’).
- Следующие 4 бита – это младшие биты идентификатора пользователя (D00,…, D03).
- Следующий 1 бит (P0) – это бит контроля четности предыдущих 4 бит.
- Следующие 4 бита – это старшие биты идентификатора пользователя (D04,…, D07).
- Следующий 1 бит (P1) – это бит контроля четности предыдущих 4 бит.
- Следующие 4 бита – это первая часть 32-битного серийного номера метки (D08,…, D11).
- …
- Бит PC0 – это бит контроля четности битов D00, D04, D08, D12, D16, D20, D24, D28, D32 и D36 (биты располагаются в одной колонке).
- Биты PC1, PC2, PC3 представляют собой биты четности следующих трех колонок.
Верификация данных выполняется с помощью контроллера ATtiny13, путем вычисления бита контроля четности каждой строки и каждой колонки с битами четности, которые получены в передаваемых данных RFID-метки.
Изготовление катушки
Катушка имеет диаметр 120 мм и 58 витков. На всякий случай, оставьте немного медного провода для дополнительных 2-3 витков (всего 60-61 витков). Для достижения максимального расстояния между RFID-меткой и считывателем (между меткой и антенной-катушкой считывателя) вам необходимо откалибровать катушку. Если подключить осциллограф в общую точку соединения R1 и L1 вы увидите место, помеченное красным кружком на рисунке слева. Это означает, что катушка L1 должна быть откалибрована.
Как откалибровать катушку L1?
Включите RFID-считыватель:
1. После подключения щупа осциллографа в общую точку R1, L1 попытайтесь медленно удалить или добавить немного медной проволоки (увеличить или уменьшить количество витков) катушки, пока шум не будет устранен.
или
2. Если вы не имеете осциллограф, тогда попытайтесь переместить RFID-метку близко к катушке L1, пока метка не будет распознана считывателем. Если ваша метка будет обнаружена на расстоянии 2 см от катушки L1, тогда попытайтесь добавить несколько витков медной проволоки для катушки L1, чтобы убедиться в обнаружении метки на более длинном расстоянии (например, 3 см).
Попытайтесь выполнить те же действия, удалив витки медной проволоки с катушки L1. Таким образом, вы получите максимальный диапазон расстояния между метками и катушкой L1.
Я изготовил катушку L1 диаметром 120 мм с 58 витками, но впоследствии захотел сделать ее более меньшего размера. Поэтому я согнул катушку пополам так, чтобы она стала похожа на «цифру восемь» (по форме напоминает восьмерку) и выполнил повторную калибровку. Таким образом, катушка L1 на рисунках фактически имеет диаметр менее 120 мм.
Катушка L1 на рисунке имеет диаметр 60 мм и почти 116 витков.
Программирование ATtiny13
Набор битов конфигурации (фьюзов) для ATtiny13: High Fuse: 0x1F и Low Fuse: 0x7A . Данный набор настроек ATtiny13 работает с внутренним генератором частотой 9.6 МГц. Функция деления на 8 системного тактового генератора отключена.
Прошивка версии v1.00 занимает 1024 байт и занимает 100% Flash-памяти контроллера ATtiny13. Возможно переход на любой другой 8-выводный AVR, такой как ATtiny85, будет хорошей идеей, если вы захотите добавить некоторые функции в исходный программный код.
Проект спроектирован: Вассилис Серасидис (Vassilis Serasidis) 18 августа 2012 года
Язык программирования: С
Среда разработки: AVRstudio 6
Микроконтроллер: ATtiny13 (внутренний генератор 9.6 МГц)
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATtiny13 | 1 | |||
IC2 | Операционный усилитель | LM358 | 1 | |||
IC3 | Линейный регулятор | LM78L05 | 1 | |||
T1 | MOSFET-транзистор | BS170 | 1 | |||
T2 | Биполярный транзистор | BC547B | 1 | |||
D1 | Выпрямительный диод | 1N4148 | 1 | |||
C1 | Конденсатор | 12 нФ | 1 | |||
C2 | Конденсатор | 1.5 нФ | 1 | |||
C3 | Конденсатор | 4.7 нФ | 1 | |||
C4, C5 | Электролитический конденсатор | 100 мкФ | 2 | |||
C6 | Конденсатор | 100 нФ | 1 | |||
R1 | Резистор | 100 Ом | 1 | |||
R2 | Резистор | 1 кОм | 1 | |||
R3 | Резистор | 390 кОм | 1 | |||
R4, R8 | Резистор | 33 кОм | 2 | |||
R5 | Резистор | 270 кОм | 1 | |||
R6 | Резистор | 1.2 кОм | 1 | |||
R7 | Резистор | 100 кОм | 1 | |||
R9 | Резистор | 4.7 кОм | 1 | |||
R10 | Резистор | 1.8 кОм | 1 | |||
L1 | Катушка индуктивности | диаметр 120 мм, 58-61 виток | 1 | Катушка считывателя | ||
BUZZER1 | Пьезоизлучатель | 5 вольт | 1 | |||
CON1 | Разъём | 2 контакта | 1 | Разъём питания | ||
SERIAL DATA OUT | Разъём | 2 контакта | 1 | Выход данны | ||