Вашему вниманию представлена схема электронного замка с ключом таблеткой iButton модели DS1990A (Touch Memory). Ключ представляет собой устройство, которое имеет в своей памяти уникальный серийный номер. Уникальность состоит в том, что серийный номер состоит из 48 бит и как следствие этому, количество возможных вариантов составляет 281474976710656.
Описание электронного замка
Замок собран на микроконтроллере фирмы Microchip PIC16F628A (627A, 648A). После подачи питания, микроконтроллер посылает импульс сброса длительностью 500 мкс и через 70 мкс проверяет ответ от DS1990A. Если ответа нет, то микроконтроллер ждёт еще примерно 80 мс и снова передаёт импульс сброса. По такому алгоритму проверяется подключение ключа к замку.
Если ответ есть, значит 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.
При программировании PIC программатором, следует выставить следующие биты:
- Тип генератора IntRC,
- WDT включен,
- PWRT включен,
- MCLR выключен.
Схемы проверены в Proteus:
Скачать прошивку, модель в Proteus (17,0 KiB, скачано: 4 931)


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