Електронний замок із ключем iButton (DS1990A) на мікроконтролері

До вашої уваги представлена ​​схема електронногозамку з ключем таблеткою 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 Kb, завантажено: 3 903)