Реклама ⓘ
Главная » Охрана
Призовой фонд
на май 2024 г.
1. 1000 руб
Сайт Паяльник

Реклама ⓘ

Считыватель RFID-меток с несущей частотой 125 кГц

RFID_reader_pic3.jpg   RFID_reader_pic1.jpg    RFID_reader_pic2.jpg   

Характеристики:
Частота метки: 125 кГц
Источник питания: +5 В постоянного тока
Выводимые данные: последовательно, 2 400 б/с 8N1. Выдается 10-цифровой серийный номер метки.

25 кГц RFID-метка (брелок)   125 кГц RFID-метка (размер с кредитную карточку)

Рисунок 1: 125 кГц RFID-метка (брелок)    Рисунок 2: 125 кГц RFID-метка (размер с кредитную карточку).

Введение

Данный RFID-считыватель работает с метками частотой 125 кГц в картах размером с кредитную карточку и 125 кГц брелоках (Рисунок 1). При этом используется протокол EM4100. Когда вы приближаете RFID-метку на близкое расстояние (4-5 см) к катушке считывателя (L1), считыватель считает 10-цифровой уникальный идентификатор метки и передаст его как ASCII символы через последовательных выход со скоростью 2 400 бит в секунду.

В схему входит сигнализатор, который издает прерывистые звуковые сигналы, когда метка успешно считывается.

Схема считывателя RFID

Описание

Я попытаюсь в нескольких словах объяснить, как работает RFID-считыватель. Контроллер ATtiny13 используется функцию PWM для создания прямоугольного импульсного сигнала частотой 125 кГц. Данный сигнал выходит с вывода PB0. По заднему фронту импульса на выводе PB0 (Логический ноль '0'), транзистор T1 закрыт. Таким образом, катушка L1 возбуждается через резистор R1 (номиналом 100 Ом) от напряжения +5V. Когда импульс на выводе PB0 растет (Логическая единица '1') транзистор T1 открывается и один из выводов катушки L1 соединяется с землей GND. К катушке L1 параллельно подсоединяется конденсатор C2, создавая LC генератор. Данные переключения катушки L1 от логической единицы к логическому нулю происходят 125 000 раз в секунду (125 кГц).

   Колебания сигнала частотой 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 бит в секунду.

RFID_signal_data.jpg    Альтернативный рисунок PSK модуляции

Рисунок 4: Снимок экрана передаваемых данных...10101...    Рисунок 5: Альтернативный рисунок PSK модуляции.

Структура данных RFID-метки.

Структура данных RFID-метки

  • 125 кГц RFID-метка передает 64 бита.
    1. Первые 9 бит – это стартовые биты передачи (всегда '1').
    2. Следующие 4 бита – это младшие биты идентификатора пользователя (D00,..., D03).
    3. Следующий 1 бит (P0) – это бит контроля четности предыдущих 4 бит.
    4. Следующие 4 бита – это старшие биты идентификатора пользователя (D04,..., D07).
    5. Следующий 1 бит (P1) – это бит контроля четности предыдущих 4 бит.
    6. Следующие 4 бита – это первая часть 32-битного серийного номера метки (D08,..., D11).
    7. ...
    8. Бит PC0 – это бит контроля четности битов D00, D04, D08, D12, D16, D20, D24, D28, D32 и D36 (биты располагаются в одной колонке).
    9. Биты PC1, PC2, PC3 представляют собой биты четности следующих трех колонок.

Верификация данных выполняется с помощью контроллера ATtiny13, путем вычисления бита контроля четности каждой строки и каждой колонки с битами четности, которые получены в передаваемых данных RFID-метки.   

Изготовление катушки

Coil tuning.gif

Катушка имеет диаметр 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 Выход данныПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 1
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (14) | Я собрал (0) | Подписаться

0
Богдан #
Я так понял что она только считывает, а не открывает?
Ответить
0
Антон #
Автору БОЛЬШОЕ СПАСИБО! Данный считыватель очень полезен в своих разработках. Плюс ко всему проект писался на Си, что позволяет взять из него нужные функции и самому применить уже более емкий по памяти контроллер
Ответить
0
Иван #
Помогите разобраться: необходимо физически переподключить выводы микроконтроллера в уже действующем аналогичным проектом замка на RFID ключах, замок рабочий. Разводка печатной платы ножек микроконтроллера немного не совпадает с схемой этой статьи, для изменения прошивки меняю выводы в файле .с делаю компиляцию и мне выдается файл .hex с объемом команд около 8кБайт, что соответствует 737% для Tiny13
Ответить
0
Иван #
Собрал, прошил. Не работает. Проверил все несколько раз. Все согласно принципиальной схемы. Ещё не понял, зачем фьюзами отключает автор ножку RESET если она даже не используется в данной схеме.
Ответить
0
ilya #
Объясните пожалуйста что это за serial data out (ttl), вывод данных куда?
Ответить
0
ALDS #
Это вывод на последовательный (COM / RS232) порт компа. Но там не зря указано TTL. Это значит, что уровни логического 0 и 1 в указанной схеме лежат в диапазоне 0,3-5 В. А в COM порте диапазон больше. Поэтому TTL надо согласовать с последовательным интерфейсом, для чего можно применить микросхему MAX232, включив её по типовой схеме.
Ответить
0
martooshka #
Собрала согласно принципиальной схеме, прошила прошивкой, но не работает. Ткнулась осциллографом - данные какие-то приходят,при поднесении к катушке карточки, но в COM-порт либо вообще ничего не приходит, либо далеко не тот номер, что на карточке указан.
Может кто подскажет, пожалуйста, есть ли разница между карточками? В интернете наткнулась на инфу, что длительность бита в протоколе EM4100 может быть 64, 32 и 16 тактовых циклов, а в программе к считывателю (по всей видимости) учитывается длительность битов, которые приходят.
Ответить
0
wal #
C1 вообще не опечатка? Может 12 пикофарад? Потому как 12 нано не бывает, бывает 10 или 15 - нано, но не 12!
Ответить
0
Vasil #
По-моему тут куча опечаток. Например в прошивке задействован PB3. На схеме же к нему ничего не подключено. И не совсем понятно как же всё-таки считка понимает что поднесли ключ. В спецификации указано что метка начинает передавать 9 логических единиц подряд - это и есть признак того что началось считывание метки, НО когда метка не поднесена, с катушки и так уже шпарит постоянно все лог единицы. Так как тогда он вычисляет эти 9 единиц?
Ответить
0
samandar #
У кого то работал это схема?
Ответить
0
serfeld #
Пробовал в Proteus. Использовал симулятор RFID карты из другого проекта, где всё ОК. На Attiny13 не работает вовсе. Подправил под Atmega8. Результат очень похож на тот, что у martooshka. Интересно, у кого-нибудь в железе заработало?
Ответить
0
Павел #
Я собирал по подобной схеме ( эта тоже должна функционировать) - все работает как надо - сейчас бьюсь с увеличением дальности - чтоб считывала в центре антены габаритом 170х170мм
Ответить
0
andro #
Спасибо за статью, очень интересует вопрос - сколько потребляет устройство в режиме ожидания, как долго хватит батареек?
Ответить
0
малюта скуратов #
Много ошибок, благодаря которым эта схема нерабочая. В программе множество ошибок и нестыковок, без рефакторинга не заработает.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Мультиметр Mastech MS8239C
Мультиметр Mastech MS8239C
Радиореле 220В МиниПК MK809V - 4 ядра, Android 4.4.2
вверх