Главная » Охрана
Призовой фонд
на сентябрь 2017 г.
1. 1000 руб
PCBWay
2. Осциллограф DSO138
Паяльник
3. Тестер компонентов MG328
Паяльник
4. Регулируемый паяльник 60 Вт
Паяльник
5. 100 руб.
От пользователей

Система доступа на RFID картах

Сейчас много где используются технологии RFID - это и контроль за продукцией в магазинах (наклейки с RFID метками), карточки контроля пассажиров в транспорте (электронные проездные билеты), а также системы контроля доступа. В статье как раз и пойдет речь о системе доступа с применением RFID карточек марки Mifare. Данные карточки, как гласит статистика, получили наибольшее распространение. Видимо в большей степени потому, что очень дешевые. По сути это кусок пластика в середине которого антенка из тонкого гибкого проводника и сам чип памяти. По сути чип также изготовлен таким образом, что обладает свойствами эластичности - иначе он бы часто выходил из строя, делая карточку непригодной. Этот чип содержит помимо памяти (данных которые она хранит) также и интерфейс, позволяющий посредством антенны получать и передавать информацию, а также контроллер, управляющий этой памятью, организовано несколько защит информации (памяти). Но спросите вы как же информация передается от карточки к считывателю и наоборот, ведь считыватель, понятное дело, подключен к источнику питания, а вот карточка та она просто карточка - кусок пластмассы или картона без батареек. Создатели этого чуда поступили хитро и очень просто - в начале любого действия считыватель посылает сигналы карточке первым, энергия сигнала улавливается антенной карточки. При этом эта энергия является не только информацией, но и энергией для питания чипа!

Так вот, в зависимости от марки (модели) карточки, она может хранить определенный объем памяти - для часто встречаемых Mifare S50 это 1 кб, для Mifare S70 объем памяти составляет 4 кб. Конечно же есть и другие карточки, но мы их не будем затрагивать в статье за неимением их в наличие у автора. Многие после прочтение названия могут полезть к себе в карман за карточкой пропуска через турникет. Однако не стоит спешить. Наряду с рассматриваемыми выше карточками, есть другие, часто встречающиеся, карточки HID. Способ работы у них немного другой и читаться они у нас не будут. 

Несколько примеров применения карт Mifare, которые же и будут использоваться в нашем устройстве (карточка проездного билета, белая карта и синий брелок шли в комплекте с RFID-RC522 модулем, карточка доступа к домофону "Любимый город", к слову те же синие брелки также используются для открытия двери домофона):

Для считывания и записи карт Mifare компания NXP выпустила микросхему RC522. Имеет она аж три возможных интерфейса для использования - SPI, I2C и UART, ну и соответственно интерфейс RFID, так сказать, на другом конце. Частота сигнала RFID интерфейса 13,56 МГц. Соответствует стандартам передачи информации для карточек Mifare. Микросхема RC522 может содержать одну из двух версий программного обеспечения, они отличаются различными настройками в небольшой степени, характеристиками, управляемыми этими настройками. В настоящее время выпускается микросхема в основном с версией 2 (версию 1 не встречал).

Несколько слов о безопасности использования подобных устройств. Безопасность таких систем заключается в том, что ВЧ канал модулируется и шифруется при передачи данных - просто считать данные не получится без специального считывателя. Каждая карточка содержит уникальный серийный номер, который не повторяется, его стереть или изменить невозможно. При обращении к памяти информация, хранящаяся там, защищена тремя уровнями аутентификации, а также доступ к информации защищен специальным транспорт-ключом. Одним словом вещь серьезная при использовании всех уровней защиты.

Приступим, наконец, к устройству системы доступа с применением карт Mifare. Первоначально определимся с используемой информацией карт. Возможно два варианта. Первый заключается в том, что карты хранят уникальный идентификационный номер (серийный номер), который не повторяется на других карточках - этот код хранится в определенной области, которую невозможно изменить, поэтому, зная этот код, можно уверенно определить разрешить ли доступ этой карте или нет. Второй метод заключается в том, что этот серийный номер дает всего лишь доступ к памяти карточки, на которую зашита информация. При втором методе на множество карт можно записать один пароль и использовать его как условие доступа. При первом методе вся информация о карте сохраняется по его серийному номеру - то есть каждая карта будет иметь свою индивидуальную запись в контроллере. Конечно же это просто несколько вариантов, родившиеся у меня в голове, поэтому функционал этим совсем не ограничивается - всегда можно придумать свою систему и использовать ее. Так вот более интересной мне показался первый вариант, который и был использован в устройстве.

Схема устройства системы контроля доступа представлена ниже:

Микроконтроллер был выбран Atmega8 за свою широкую распространенность и небольшую цену. Данный микроконтроллер можно использовать как в корпусе DIP-28, так и в SMD исполнении в корпусе TQFP-32. Резистор R4 необходим для предотвращения самопроизвольного перезапуска микроконтроллера в случае появления случайных помех на выводе PC6. Резистор R4 подтягивает плюс питания к этому выводу, надежно создавая потенциал на нем, дело в том, что при низком уровне на этом выводе контроллер перезапустится. Для индикации используется жидко кристаллический (ЖК или LCD) дисплей. Индикатор выбирался большой - 4 строки по 20 символов для возможности отображения большого количества информации при сохранении карточек в память устройства.  ЖК дисплей подключается к микроконтроллеру по четырех битной системе. Переменный резистор R2 необходим для регулировки контраста символов на дисплее. Вращением движка этого резистора добиваемся наиболее четких для нас показаний на экране. Подсветка ЖК дисплея организована через вывод "А" и "К" на плате дисплея. Подсветка включается через резистор, ограничивающий ток - R1. Чем больше номинал, тем более тускло будет подсвечиваться дисплей. Однако пренебрегать этим резистором не стоит во избежание порчи подсветки. При помощи кнопок S1 - S4 происходит запись и сохранение RFID карточек в память микроконтроллера. Кнопки можно использовать абсолютно любые, удобные для пользователя. Для питания схемы используется микросхема линейного стабилизатора L7805, ее можно заменить на отечественный аналог пяти вольтового линейного стабилизатора КР142ЕН5А, либо применить другу микросхему стабилизатора напряжения в соответствии с подключением ее в схеме (например LM317 или импульсные стабилизаторы LM2576, LM2596, MC34063 и так далее). Далее 5 вольт стабилизируются другой микросхемой - AMS1117 в исполнении, дающей на выходе 3,3 вольта. В этой схеме 5 вольт используется для питания дисплея, далее вся схема питается от напряжения 3,3 вольта. Выбор уровней напряжения обусловлен ограничением максимального напряжения для микросхемы RC522 в эти 3,3 вольта. Для управления исполнительным устройством (электро замок или что-то другое) используется цепь с реле. При разрешении доступа по карточке на выводе PB0 микроконтроллера появится высокий потенциал на 5 секунд, транзистор T1 откроется и замкнет цепь катушки реле. Диод VD1 предохраняет транзистор от выхода из строя при выключении катушки - в этот момент ЭДС самоиндукции может пробить транзистор без диода. Для общего питания схемы нужно использовать отдельный блок питания на 12 вольт. Он же и используется в зависимости от типа электро замка для питания этого замка. Мощность блока питания должна соответствовать потреблению тока электро замка.

Для считывания RFID карточек применен модуль на базе микросхемы RC522. Модуль сам имеет такое же название. Подобную вещь можно купить на aliexpress или e-bay в ценовом диапазоне около 5 зеленых бумажек. Модуль содержит всю необходимую обвязку на плате, а главное это грамотно разведенная антенна в виде печатных проводников и не столь часто встречающийся кварц на 27,120 МГц.

Однако этот модуль ограничивает возможности микросхемы в плане обилия возможных интерфейсов общения с микроконтроллером. Используется только SPI. Хотя с моей точки зрения использование I2C было бы более экономично в плане меньшего количества выводов, которые необходимо подсоединить к микроконтроллеру. Или тот же UART. Но вот так вот было задумано. Помимо всего этого на плате модуля предусмотрен светодиод, который всего лишь дает индикацию напряжения - просто горит, в общем, и ничего более.

Схема была собрана и отлажена на макетной плате для микроконтроллера Atmega8 (а то все на ардуинах делают):

Устройство контроля доступа на RFID картах в данном исполнении хранит до 5 карт в памяти, при выключении питания информация сохраняется в EEPROM и не теряется. Все меню устройства на английском языке по причине проблем с отображением кириллицы на дисплее 2004A. Для наглядности вместо реле на фото при разрешении доступа загорается светодиод.

Как пользоваться? Все просто - поднесли карту к считывателю, если карта занесена в память, то дверь и откроется или что там вместо двери. Теперь как занести карту в память.

  • кнопка S2 - заходит в меню управления, на первой странице отражена информация о версии ПО, на последующих страницах сохраняется каждая из пяти карт отдельно, перелистывание страниц меню осуществляется этой же кнопкой, то есть нажали S2 - страница с информацией о ПО, нажали еще раз S2 - перешли на страницу первой карты, если приложить карту к считывателю, то карта будет считана и информация будет автоматически сохранена, далее еще раз нажимаем S2 - страница второй карты, аналогично сохраняем информацию о ней и так далее до пятой карты. Если вы не хотите сохранять, например, четвертую карту, то оставляем это меню пустым и нажатием S2 переходим дальше. После меню пятой карты при нажатии на S2 операции с картами завершаются и переходим в основное меню ожидания карты. Но сразу же карты не заработают. Для применения сохраненной информации необходимо нажать на кнопку S1 - перезапустить устройство. Теперь можно пользоваться - ключи сохранены и используются.
  • кнопка S3 - на первой странице с информацией о ПО при нажатии этой кнопки будет стерта вся информация о ключах - очистка памяти.
  • кнопка S4 - осуществит выход из меню из любого пункта.
  • кнопка S1 - перезапуск (reset) устройства.

Нагляднее все на видео в конце статьи.

Для программирования микроконтроллера необходимо знать конфигурацию фьюз битов:

К статье прилагается прошивка для микроконтроллера Atmega8 и документации на ключи S50 и микросхему RC522.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
IC1 МК AVR 8-бит
ATmega8
1 Поиск в elBaseВ блокнот
VR1 Линейный регулятор
L7805AB
1 Поиск в elBaseВ блокнот
VR2 Линейный регулятор
AMS1117-3.3
1 Поиск в elBaseВ блокнот
T1 Биполярный транзистор
КТ817Б
1 Поиск в elBaseВ блокнот
VD1 Выпрямительный диод
1N4007
1 Поиск в elBaseВ блокнот
MOD1 Считыватель RFIDRC5221 Поиск в elBaseВ блокнот
C1 Электролитический конденсатор470 мкФ1 Поиск в elBaseВ блокнот
C2, C3, C5, C8, C9 Конденсатор100 нФ5 Поиск в elBaseВ блокнот
C4 Электролитический конденсатор220 мкФ1 Поиск в elBaseВ блокнот
C6, C7 Электролитический конденсатор10 мкФ2 Поиск в elBaseВ блокнот
R1 Резистор
22 Ом
1 Поиск в elBaseВ блокнот
R2 Подстроечный резистор10 кОм1 Поиск в elBaseВ блокнот
R3 Резистор
390 Ом
1 Поиск в elBaseВ блокнот
R4 Резистор
10 кОм
1 Поиск в elBaseВ блокнот
HG1 LCD-дисплей2004A1 Поиск в elBaseВ блокнот
Rel1 Релеhjr-3ff-s-z1 Или др. 12 ВПоиск в elBaseВ блокнот
S1-S4 Тактовая кнопкаTC-A1094 Поиск в elBaseВ блокнот
Добавить все

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

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

Теги:

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

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

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

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

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

0
Sfdag #
Очень интересная статья, хоть и RFID очень старая технология
Ответить
0

[Автор]
Gauss #
Старая технология достаточно растяжимое понятие, например GPS тоже очень давно придуман, но она (технология GPS) только обороты набирает среди любительской техники
Ответить
0
Максим #
А данный ридер умеет писать на карты информацию? Или он только читать умеет?
Ответить
0

[Автор]
Gauss #
В смысле техническая часть умеет писать, программная - нет
Отредактирован 21.09.2014 10:20
Ответить
0
Alex #
Вы можете дать исходник, Я был бы благодарен за ваш отклик. У меня как то не выходит с чтением данных в среде codevisionavr
Ответить
0
Artos5 #
Можете рассказать о работе своего кода?

Вот этот участок:
while (1) {
if (!buf && count_buff > 255) { //ждем освобождение первой части буфера
pf_read(&DAC_Buff[0], 256, &cnt); //загрузить ее данными
buf = 1;
if (cnt < 256)
break; //если конец файла
}

if (buf && count_buff < 256) { //ждем освобождение второй части буфера
pf_read(&DAC_Buff[256], 256, &cnt); //загрузить ее данными
buf = 0;
if (cnt < 256)
break; //если конец файла
}
}

Не совсем понятно как работает этот код.....
Ответить
0
Gennadiy-P #
Если Автор схему исправит, то устройство будет работать.
Отредактирован 23.04.2015 20:53
Ответить
0

[Автор]
Gauss #
ага
Ответить
0
ProrokZV #
Господа, а есть исходник данного проекта? Что-то не могу в файлах найти.
Ответить
0
Алексей #
Собрал сей девайс, почему-то не не реагирует, когда подносишь карту к ридеру!?
Ответить
0
Павел #
Схему так и не исправили? Пробовал - не работает
Ответить
0
Алексей #
Повторил данный проект, всё заработало после исправления ошибки :
MISO- к 17-ой ноге МК
MOSI- к 18-ой ноге МК
Ответить
0
alex_6636 #
Я тоже повторил данный проект, у меня заработало после исправления ошибки:
MISO- к 17-ой ноге МК
MOSI- к 18-ой ноге МК
Ответить
0
Александр #
Хочу данный девайс, проверенный мной, поставить на вх.дверь, но нужно добавить
управление сервоприводом. У меги ещё много места и лапок. Пожалуйста дайте исходник. Заранее благодарен.
Ответить
0
Глеб #
А что если убрать 7805 (с 12 на 5 В) и питаться от 5В ? так ведь можно сделать.и еще вопрос
Я тоже повторил данный проект, у меня заработало после исправления ошибки:
MISO- к 17-ой ноге МК
MOSI- к 18-ой ноге МК
Вот тут можно поподробнее, в смысле на самом модуле дорожки не правильно выведены или что? Или на схеме просто ошибка?
Ответить
0
Runodel #
А есть исходный текст прошивки? не hex
Ответить
0
Любченко Иван Алексеевич #
А как увеличить количество привязываемых ключей?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Мультиметр Mastech MS8268
Мультиметр Mastech MS8268
UNI-T UT-61A Arduino UNO
вверх