OKW: приборные корпуса из Германии

Электронный замок со смарт-картой в роли ключа

Vassilis Serasidis

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

Какими будут станции зарядки электромобилей в 2030 году: лучшие решения и мировой опыт для отечественных разработок

Основой устройства является микроконтроллер AVR ATtiny26 компании Atmel. Схема устройства показана на рисунке.

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

Микроконтроллер настроен на работу от внутреннего тактового RC-генератора 1 МГц (заводские установки).

При установке карты в слот (срабатывает переключатель SW1), микроконтроллер отрабатывает факт установки карты и считывает первые 16 байт. Временно сохраняет их в оперативной памяти и после поиска и сравнения с зарегистрированными в EEPROM ключами, определяет открывать замок или нет. Если совпадений с зарегистрированными ключами не найдено, то включается красный светодиод. Микроконтроллер имеет 128 байт встроенной EEPROM памяти данных, соответственно мы можем сохранить в памяти информацию о восьми ключах.
На рисунке представлено содержимое EEPROM памяти микроконтроллера с сохраненными 8 ключами.

Регистрация нового ключа в системе:
Для регистрации нового ключа необходимо установить карту в слот и нажать кнопку SW2. При этом микроконтроллер произведет поиск 1 группы памяти (1 группа – это 16 байт со значением &0F). Если свободное место есть, то данные о ключе (карте) сохраненные в ОЗУ, переписываются в EEPROM. Затем микроконтроллер производит сброс карты и считывает ее повторно и проверяет, зарегистрирована ли ката (сравнивая 16 байт карты с одной группой памяти в EEPROM). Если ключ успешно записан, то выключается красный светодиод и включается зеленый и активируется реле подключенное к порту PB6 через транзистор BC547.

Удаление зарегистрированного ключа из памяти:
В некоторых случаях требуется удалить ключ из памяти микроконтроллера. Для этого необходимо установить данную карту в слот и после того, как микроконтроллер опознает его (включится зеленый светодиод) необходимо нажать кнопку SW3. Процессор установит местонахождение группы данных соответствующей данному ключу и запишет в нее значения &0F. После этого проводится сброс карты, повторное чтение и сравнение считанных данных и так как мы удалили карту, то включится красный светодиод, указывая на то, что данный ключ не зарегистрирован в системе. Данную карту потом, при необходимости можно зарегистрировать снова, пройдя процедуру регистрации карты.

Стирание всего содержимого EEPROM микроконтроллера:
Если мы имеем зарегистрированные восемь карт в системе и пытаемся записать еще одну, то при нажатии кнопки SW2 для регистрации, красный и зеленый светодиоды замигают поочередно 4 раза. Выход в данной ситуации – удалить один из 8 ключей или стереть полностью EEPROM. Под стиранием в данном случае понимается запись значения &0F во все ячейки памяти (128 Байт). Для стирания необходимо при отсутствии карты в слоте нажать и удерживать кнопку SW3 в течении 2 с. Красный светодиод вспыхнет 4 раза, после этого память EEPROM будет очищена от значений ключей.

Значения по умолчанию в EEPROM памяти микроконтроллера - &FF. Однако, если будет установлена смарт-карта с неверным (отличным от приведенного в схеме) расположением выводов, микроконтроллер прочитает все 16 байт как &FF, т.к. включены внутренние подтягивающие резисторы порта PB4. Если мы оставим такие значения по умолчанию для EEPROM (&FF), то при установке любой карты или даже при нажатии переключателя SW1? микроконтроллер считает значения &FF и активирует замок. Поэтому для значений по умолчанию принято &0F, программируя EEPROM микроконтроллера (файл safety_lock.eep) мы избавляем систему от этой ошибки.

Пользователь может изменить это значение, например, на &AB или &CF. Но необходимо также, не забыть изменить это значение в исходном коде для микроконтроллера (не только данные EEPROM) и произвести компиляцию.

На рисунке ниже изображена схема электронного замка, но на микроконтроллере AT90S2313 (если не удалось найти микроконтроллер ATtiny26). Отличия: используемые порты для коммуникации со смарт-картой, используется внешний кварцевый резонатор 4 МГц.

Схема, исходный код для микроконтроллера ATtiny26, .hex-файл, .eep-файл
Схема, исходный код для микроконтроллера AT90S2313, .hex-файл, .eep-файл

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Electronic safety-lock with telecard as key

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Здраствуйте ! Можите виставить прошивку на Attiny26 для подключения в место реле електромотора на 9 та 10 ножку МК.
  • Прошивка зависит от схемы включения электродвигателя и его параметров. Огласите это в студии.
  • И почему именно на 9 и 10 ножку мк. Я так понимаю для возможности изменять полярность включения двигателя.