На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

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

Vassilis Serasidis

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

Технология правильного хранения аккумуляторов и батареек по рекомендациям FANSO и EVE Energy

Основой устройства является микроконтроллер 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 ножку мк. Я так понимаю для возможности изменять полярность включения двигателя.