Электронный замок с ключом iButton (DS1990A) на микроконтроллере

Вашему вниманию представлена схема электронного замка с ключом таблеткой iButton модели DS1990A (Touch Memory). Ключ представляет собой устройство, которое имеет в своей памяти уникальный серийный номер. Уникальность состоит в том, что серийный номер состоит из 48 бит и как следствие этому, количество возможных вариантов составляет  281474976710656.

Описание электронного замка

Замок собран на микроконтроллере фирмы Microchip PIC16F628A (627A, 648A). После подачи питания, микроконтроллер посылает импульс сброса длительностью 500 мкс и через 70 мкс проверяет ответ от DS1990A. Если ответа нет, то микроконтроллер ждёт еще примерно 80 мс  и снова передаёт импульс сброса. По такому алгоритму проверяется подключение ключа к замку.

Электронный замок с ключом iButton DS1990A - схема 1

Если ответ есть, значит DS1990A подключен к замку. Затем посылается команда "читать ROM" (33h), после чего микроконтроллер переходит на приём и записывает в ОЗУ переданный таблеткой DS1990A номер, где сравнивает его с записанным номером в EEPROM. Если он совпадает с одним из них, то подается звуковой сигнал, и  устанавливается высокий уровень на выводе RA1 в течение 1,5 секунд. Оптопара DA1 (АОТ122А) откроет транзистор VT1 (КТ972, BD677, BD679, BD681), который управляет электромагнитным реле на 12 вольт.

Процесс записи номера ключа в EEPROM: приложить ключ к замку и после звукового сигнала нажать кнопку SA1. Эта кнопка должна быть расположена в скрытом,  недоступном для посторонних людей месте.

Для очистки всех номеров из EEPROM необходимо при выключенном питании нажать кнопку SA1, подать питание и удерживать кнопку  в течение 5 секунд. После очищения памяти EEPROM замок подаст звуковой сигнал. Общее количество серийных номеров, которые можно записать в память не более 21.

Чтобы микроконтроллер не пострадал от статического разряда, в схеме применен стабилитрон VD1 (КС156А, 1N4733A, BZX55C5V1)  на 5В.  В данном замке можно использовать любой из микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A. Для микроконтроллера PIC12F629/PIC12F675 имеется своя прошивка. Запитать схему можно от стабилизатора на  микросхеме LM317.

Электронный замок с ключом iButton DS1990A - схема 2

При программировании PIC программатором, следует выставить следующие биты:

  • Тип генератора IntRC,
  • WDT включен,
  • PWRT включен,
  • MCLR выключен.

Схемы проверены в Proteus:

Эмуляция работы схемы в Proteus

Скачать прошивку, модель в Proteus (17,0 Kb, скачано: 3 563)

редактор

3 комментария

  • 18.06.2012 в 08:58

    Уважаемые у Вас небыло глюков с данным замком???
    А именно…. После прошивки контроллера невозможность потом его стереть и залить другую прошивку, количество ключей больше 9 нельзя записать.
    Прорграмматор видит контроллер, в режиме стирания процесс проходит без ошибок ног контроллер не стирается и нельзя прочитать содержимое залитой прошивки.
    Как можно востановить контроллер в первоначальное состояние, скорее всего в исходнике или НЕХ файле включен бит защиты. Контроллер PIC16F628A новый ниразу до этого не прошивался. Запорол уже два штуки.
    Хотя контроллеры в схеме работаю, программатор видит и считывает но в буфере все нолики или FF, Я в написании программ не силен.
    Спасибо за поддержку.

    Ответить
  • 18.09.2012 в 14:22

    Отличное устройство (очень нравится), но проблема с прошивкой напрягает — все что написано выше подтверждаю и самое печальное нельзя стереть ключи из памяти, с 12f629 глюки такие же, если автор подправит буду очень благодарен, спасибо

    Ответить
  • 12.04.2016 в 10:02

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

    Ответить

Добавить комментарий

Ваш электронный адрес не будет опубликован.

*