Дата публикации

Автор статьи: Редакция Clex.kz

10

RFID-доступ своими руками: карта, замок, кнопка выхода и контроллер

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

Идея RFID-доступа

RFID-доступ - это система, в которой человек прикладывает карту, брелок или браслет к считывателю, а контроллер решает, можно ли открыть замок.

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

В базовой системе есть четыре главных элемента:

  • RFID-считыватель;
  • контроллер;
  • электрозамок или защелка;
  • источник питания.

Дополнительно часто ставят кнопку выхода, датчик двери, аварийное открытие, индикатор, зуммер и журнал событий.

Как проходит открытие двери

Работа RFID-доступа выглядит просто, но внутри есть несколько шагов.

Сначала считыватель получает идентификатор карты. Затем контроллер сравнивает этот идентификатор со списком разрешенных. Если доступ разрешен, контроллер включает реле или силовой ключ. Замок получает питание или, наоборот, теряет питание - зависит от типа замка. Дверь открывается на несколько секунд, после чего система снова блокирует проход.

Типовая логика такая:

  1. Пользователь прикладывает карту.
  2. Считыватель передает код контроллеру.
  3. Контроллер проверяет право доступа.
  4. Если доступ разрешен, включается выход управления замком.
  5. Замок открывается на заданное время.
  6. Событие записывается в журнал.
  7. Система возвращается в режим ожидания.

В реальном проекте важно не только открыть дверь, но и правильно обработать отказ: неизвестная карта, заблокированный пользователь, ошибка связи, пропавшее питание или аварийный режим.

Считыватель и карта

RFID-считыватель работает с метками: картами, брелоками, браслетами или наклейками. В простых системах чаще встречаются карты 125 кГц или 13.56 МГц. В проектах на микроконтроллерах часто используют модули, которые передают код карты по UART, Wiegand, SPI или другому интерфейсу.

Важно понимать: карта не всегда хранит сложные данные. Во многих простых системах контроллер использует только уникальный идентификатор карты. Если этот идентификатор есть в базе разрешенных, доступ открывается.

Более серьезные системы используют защищенные карты, сектора памяти, ключи доступа и криптографию. Но для простой двери, шкафчика или учебного проекта обычно начинают с чтения UID и проверки списка разрешенных карт.

⚠️Нельзя считать любую RFID-карту надежной защитой по умолчанию. Простые идентификаторы могут копироваться. Для ответственных объектов нужны защищенные карты, правильная архитектура и контроль доступа на стороне сервера или надежного контроллера.

Контроллер: где хранить доступы

Контроллер - это мозг системы. Он принимает код карты, решает, разрешен ли доступ, и управляет замком.

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

Есть три популярных подхода.

ПодходКогда подходит
Список карт в прошивкеУчебный проект или очень простая дверь
Локальная память контроллераНебольшая автономная система
Сервер или база данныхМного пользователей, журнал событий, удаленное управление

Для реального объекта хорошая схема такая: контроллер умеет открывать доступ локально, но синхронизирует список разрешений с сервером. Тогда система не останавливается полностью при временной потере сети.

Электрозамок: нормально открытый и нормально закрытый

Электрозамок может вести себя по-разному при пропадании питания. Это один из самых важных моментов в системе доступа.

Нормально закрытый замок без питания остается закрытым. Чтобы открыть дверь, на него подают питание. Такой вариант часто используют там, где при отключении электричества дверь должна оставаться запертой.

Нормально открытый замок без питания открывается. Чтобы дверь была закрыта, питание нужно удерживать постоянно. Такой вариант применяют там, где при пожаре или аварии проход должен автоматически разблокироваться.

Выбор зависит не только от удобства, но и от требований безопасности.

  • для склада может быть важнее защита от несанкционированного входа;
  • для эвакуационной двери важнее возможность выхода при аварии;
  • для шкафчика важна простота и малое потребление;
  • для турникета важны логика прохода и контроль состояния.

Перед покупкой замка нужно понять, что должно происходить при пропадании питания.

Реле, MOSFET или отдельный контроллер замка

Микроконтроллер не должен питать электрозамок напрямую. Замок, защелка или соленоид потребляют больше тока, чем может выдать GPIO. Между контроллером и замком нужен исполнительный элемент.

Самый понятный вариант - реле. Оно просто разрывает или замыкает цепь питания замка. Реле удобно, когда нужно управлять разными напряжениями или когда важна электрическая развязка.

Для DC-замков и соленоидов можно использовать MOSFET-ключ. Он не щелкает, быстрее срабатывает и лучше подходит для частых включений. Но схема должна быть собрана правильно: общий GND, защита от выбросов, подходящий MOSFET и запас по току.

Для более серьезных систем используют готовые контроллеры замков с защитой, таймером, входом кнопки выхода и аккумуляторным резервом.

⚠️Электрозамок, соленоид и реле являются индуктивными нагрузками. При отключении они могут создавать выбросы напряжения. Без защитного диода, TVS-диода или готового модуля можно повредить ключ или контроллер.

Кнопка выхода

Кнопка выхода нужна, чтобы человек мог открыть дверь изнутри без карты. В офисах, складах, мастерских и технических помещениях это почти обязательный элемент.

Кнопка может быть обычной механической, сенсорной, антивандальной или бесконтактной. Контроллер считывает ее состояние и открывает замок на заданное время.

Есть два варианта подключения. Первый - кнопка подключена к контроллеру, а контроллер уже управляет замком. Второй - кнопка напрямую разрывает или подает питание на замок. Первый вариант лучше для журналирования и логики. Второй может быть полезен как резервный путь открытия.

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

Питание системы

Система доступа должна питаться надежно. Ошибки питания часто приводят к странным симптомам: считыватель перезагружается, замок не открывается, реле щелкает, контроллер зависает или дверь открывается через раз.

Обычно замок питается от 12 В, а микроконтроллеру нужно 5 В или 3.3 В. Поэтому часто используют один 12-вольтовый источник для замка и DC-DC преобразователь для логики.

Главное - учитывать ток замка. Если электромагнитный замок потребляет 500 мА или 1 А, источник питания должен иметь запас. Если к этому добавляются считыватель, контроллер, индикация и реле, запас становится еще важнее.

Практические правила:

  • не питать замок от слабого USB-адаптера;
  • делать запас по току источника питания;
  • разделять силовые и сигнальные провода;
  • защищать соединения от случайного обрыва;
  • ставить предохранитель там, где это нужно;
  • учитывать поведение замка при пропадании питания.

Для объектов, где доступ должен работать постоянно, используют аккумуляторный резерв.

Датчик двери и контроль состояния

Открыть замок - это только половина задачи. Контроллеру полезно знать, что реально произошло с дверью. Для этого ставят датчик положения двери: геркон, магнитный датчик, концевик или другой контакт.

С помощью датчика можно понять:

  • дверь закрыта или открыта;
  • дверь не закрылась после прохода;
  • дверь открыта слишком долго;
  • замок сработал, но дверь не открыли;
  • дверь открыли механически без разрешения;
  • нужно ли включить тревогу или записать событие.

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

Журнал событий

Журнал событий превращает простую открывашку двери в систему контроля доступа. В журнал можно записывать, кто и когда приложил карту, был ли доступ разрешен, какая дверь открылась и была ли ошибка.

Даже небольшой журнал помогает разбираться в спорных ситуациях. Например, кто заходил в помещение ночью, почему дверь открывалась часто, какие карты пытались использовать и когда начались проблемы со считывателем.

Для автономного контроллера журнал можно хранить локально. Для системы с сервером события отправляют в базу данных. Если сеть временно пропала, контроллер может накопить события и передать их позже.

Не обязательно начинать с большого интерфейса. На первом этапе достаточно фиксировать время, UID карты, результат проверки и номер точки доступа.

Пример логики контроллера

Ниже пример общей логики. Это не готовая программа, а понятный каркас поведения контроллера доступа.

if (cardDetected()) { String cardId = readCardId(); if (isAccessAllowed(cardId)) { logEvent(cardId, "ACCESS_GRANTED"); openLock(); delay(openTime); closeLock(); } else { logEvent(cardId, "ACCESS_DENIED"); denySignal(); } } if (exitButtonPressed()) { logEvent("EXIT_BUTTON", "OPEN"); openLock(); delay(openTime); closeLock(); }

В реальном устройстве лучше избегать длинных delay, если контроллер должен одновременно следить за дверью, сетью, кнопкой выхода и аварийными событиями. Но для понимания принципа такой пример показывает основную логику.

Безопасность и резервное открытие

В системе доступа нужно заранее продумать аварийные ситуации. Что будет, если пропадет питание? Что будет, если контроллер зависнет? Как открыть дверь при поломке считывателя? Кто сможет удалить потерянную карту?

Для технической двери и для эвакуационного выхода ответы будут разными. Универсального варианта нет. Но резервный сценарий должен быть всегда.

Возможные решения:

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

Ошибка многих самодельных систем - они хорошо открывают дверь в нормальном режиме, но не имеют понятного плана на случай отказа.

Частые ошибки при сборке

RFID-система доступа объединяет слаботочную электронику, силовую нагрузку, питание, механику и безопасность. Поэтому ошибки могут быть в разных местах.

ОшибкаЧто происходит
Замок подключен напрямую к GPIOМожно повредить контроллер
Нет защиты от выбросовКлюч или реле выходят из строя
Слабый блок питанияЗамок не открывается стабильно
Нет общей землиСигналы работают непредсказуемо
Кнопка выхода зависит от сервераПри сбое сети нельзя выйти
UID карты считается полной защитойКарту могут скопировать
Нет датчика двериКонтроллер не знает реальное состояние прохода
Нет резервного открытияПоломка превращается в блокировку

Лучше сначала собрать систему на столе: считыватель, контроллер, реле и маленькую тестовую нагрузку. Только после этого подключать настоящий замок и ставить систему на дверь.

Как развивать систему дальше

После базового RFID-доступа систему можно расширять. Но добавлять функции лучше постепенно, чтобы не потерять надежность.

Полезные улучшения:

  • роли пользователей;
  • расписания доступа;
  • временные карты;
  • журнал событий в базе данных;
  • удаленная блокировка карты;
  • несколько дверей;
  • индикация состояния;
  • контроль открытой двери;
  • уведомления об ошибках;
  • автономная работа при потере сети.

Главное - не превращать контроллер двери в полностью зависимое от интернета устройство. Доступ должен работать локально, а сервер должен помогать управлять правами, журналами и аналитикой.

RFID-доступ своими руками: карта, замок, кнопка выхода и контроллер

Чтобы оставить комментарий, авторизируйтесь

Комментарии (0)