Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Електронний замок із ключами iButton. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери Якийсь час тому з'явився проект "ІМІТАТОР TOUCH-MEMORY DS1990A", тобто. відмичка. Тепер до Вашої уваги пропонується замок до цієї відмички:-). Замок має просту конструкцію та призначений в основному для індивідуального використання. Замок працює з будь-якими типами ключів iButton, тому можна застосовувати вже наявні ключі, призначені для інших цілей. Усього в пам'ять може бути записано до 9 ключів, хоча цю кількість можна легко збільшити. Для авторизації процесу програмування використовується майстер-ключ, код якого занесений до ПЗП і не може бути стертий або змінений звичайною процедурою програмування замка. Останнім часом широкого поширення набули замки, ключем до яких є електронна таблетка iButton (або touch memory) фірми Dallas Semiconductor. Такі замки часто використовуються на дверях під'їздів, а також у багатьох закладах. Крім того, ключі iButton часто застосовуються для розрахунків на автозаправних станціях та інших місцях. Таким чином, у багатьох вже є ключі iButton від чогось. Тому при проектуванні саморобного замку раціонально використовувати в ньому ключі, що вже є у користувача. Саме так і зроблено у пропонованому замку: з ним можуть працювати будь-які типи ключів, тому що використовується тільки записаний у ПЗУ iButton серійний номер, який є в будь-якому типі. До того ж, команда читання цього номера та сама для всіх типів ключів (33H). Код сімейства, що відрізняється у різних типів, може бути будь-яким. Він сприймається як одна цифра серіального номера. Потрібно відзначити, що найдешевшим типом ключів є DS1990A. Замок проектувався для індивідуального використання та має просту конструкцію. На вхідних дверях зовні розташовується тільки панелька для iButton та світлодіод відчинення дверей. Відкриття дверей зсередини здійснюється за допомогою кнопки. Як виконавчий механізм використовується стандартна клямка з електромагнітом, який розрахований на напругу 12В. Коди ключів зберігаються в незалежній пам'яті і можуть стиратися і додаватися користувачем. Для захисту від несанкціонованого перепрограмування замка використовується майстер-ключ. Загалом у пам'ять можна записати 9 ключів. Ця кількість продиктована можливостями 1-розрядного індикатора номера ключа, що програмується. Якщо використовувати ще й літери, можна збільшити сумарну кількість ключів до 15. Це робиться шляхом заміни значення константи MAXK в програмі. У такий же спосіб можна і зменшити максимальну кількість ключів.
Принципова схема замку показана малюнку 1. Основою конструкції є микроконтроллер U1 типу AT89C2051 фірми Atmel. До порту P1 підключено 7-сегментний індикатор, який використовується під час програмування ключів. Для цих цілей призначена і кнопка SB1, підключена до порту P3.7. Зберігання серійних номерів ключів здійснюється у мікросхемі EEPROM U3 типу 24C02, підключеної до портів P3.4 (SDA) та P3.5 (SCL). Зовнішня панелька для iButton підключається до порту P3.3 через роз'єм XP2 та елементи захисту VD4, R3, VD5 та VD6. Підтягуючий резистор R4 вибраний згідно зі специфікацією однопровідної шини. Паралельно до зовнішньої панельки підключена ще й внутрішня панелька XS1, яка використовується для програмування ключів. Кнопка відчинення дверей підключена до порту P3.2 через роз'єм XP1 та такі ж елементи захисту, як і для iButton. Виконавчим пристроєм замку є електромагніт, що підключений через термінал XT1. Електромагнітом керує ключ VT3, в якості якого використовується потужний МОП-транзистор типу IRF540. Діод VD7 захищає від викидів самоіндукції. Ключем VT3 керує транзистор VT2, який інвертує сигнал, що надходить з порту P3.0 і забезпечує рівні 0/12В, що управляють, на затворі VT3. Інверсія потрібна для того, щоб виконавчий пристрій не спрацьовував під час скидання мікроконтролера, коли на порту є рівень логічної одиниці. 12-вольтові керуючі рівні дозволили застосувати звичайний МОП-транзистор замість дефіцитного низькопорогового (logick level). Для індикації відкриття замка використовується світлодіод, який управляється тим самим портом, що й електромагніт, але через транзисторний ключ VT1. Світлодіод підключається через той самий роз'єм, що і iButton. Оскільки пристрій має працювати цілодобово без обслуговування, для підвищення надійності встановлено супервізор U2 типу ADM1232. Він має вбудований сторожовий таймер та монітор живлення. На порту P3.1 мікроконтролер формує періодичні імпульси скидання сторожового таймера. Живлення пристрою здійснюється від вбудованого блоку живлення, що містить трансформатор T1, випрямний міст VD9-VD12 та інтегральний стабілізатор U4. Як резервне джерело живлення використовується батарея BT1-BT10 з 10-ти NiMH-акумуляторів типорозміру AA ємністю 800мА/год. При живленні пристрою від мережі акумуляторна батарея заряджається через резистор R10 струмом приблизно 20мА, що становить 0.025C. Режим заряджання малим струмом називають крапельним (trickle charge). У такому режимі акумулятори можуть бути як завгодно, контроль кінця процесу зарядки не потрібно. Коли акумулятори виявляються повністю зарядженими, енергія, що забирається ними від джерела живлення, перетворюється на тепло. Але оскільки струм зарядки дуже маленький, тепло, що виділяється, розсіюється в навколишній простір без скільки-небудь помітного збільшення температури акумуляторів. Конструктивно пристрій виконаний у корпусі розміром 150х100х60мм. Більшість елементів, включаючи трансформатор живлення, змонтовано на друкованій платі. Акумулятори розміщуються у стандартних пластмасових утримувачах, які закріплені всередині корпусу поруч із платою. В принципі, можна використовувати й інші типи акумуляторів, наприклад 12-вольтову кислотну батарею, що не обслуговується, застосовується в охоронних системах. Для підключення виконавчого пристрою на платі є термінали типу TB-2, решта зовнішніх ланцюгів підключаються через малогабаритні роз'єми з кроком контактів 2.54мм. Роз'єми розташовані на друкованій платі та зовні корпуси недоступні. Провіди виходять із корпусу через гумові ущільнювачі. Оскільки індикатор HG1, кнопка SB1 та панель для iButton XS1 використовуються лише під час програмування, вони розміщені на платі всередині пристрою. Це полегшує конструкцію корпусу і робить його більш захищеним від зовнішніх впливів. На бічній панелі корпусу розміщено лише світлодіод індикації увімкнення VD13. Схема зовнішніх з'єднань показано на рис. 2.
При відкриванні дверей електромагніт подається імпульс тривалістю 3 секунди. Логіка роботи пристрою така, що якщо кнопку відчинення дверей утримувати, весь час електромагніт буде під напругою і, відповідно, двері будуть відчиненими. Замок може мати максимум 9 ключів плюс один майстер-ключ. Коди ключів заносяться до енергонезалежної пам'яті під номерами від 1 до 9. Код майстер-ключа занесений до ПЗУ мікроконтролера і не може бути змінений. Програмування нових ключів або стирання старих може бути здійснено лише за наявності майстер-ключа. Як і інші ключі, майстер-ключ може використовуватися для відкриття замка. Для програмування нового ключа потрібно виконати такі дії: 1. Натисніть кнопку програмування.
Схематично процес програмування нового ключа показано на рис. 3.
Якщо потрібно запрограмувати кілька ключів, можна відразу перейти від пункту 9 до пункту 5 і повторити пункти 5 - 9 необхідне число раз. Якщо після виконання пункту 7 виявиться, що вибрано не той номер, то для виключення втрати коду ключа під цим номером можна натиснути кнопку або почекати 5 секунд. У першому випадку поточний номер збільшиться на одиницю, а вміст пам'яті залишиться без змін. У другому випадку відбудеться повний вихід із режиму програмування без зміни кодів. Взагалі, вихід із програмування можна здійснити будь-якої миті, якщо зробити паузу більше 5 секунд. Для стирання з пам'яті зайвого ключа послідовність дій залишається такою самою, як і при програмуванні, тільки всі дії виконуються майстер-ключом. Тобто. процес стирання фактично є записом коду майстер-ключа на номери, що не використовуються. Схематично процес стирання зайвого ключа показано на рис. 4.
У процесі програмування відчинити двері кнопкою можна, а ось відкривання за допомогою iButton заблоковане. Оскільки внутрішня та зовнішня панельки з'єднані паралельно, слід стежити, щоб під час програмування ніхто не торкався зовнішньої панельки жодними ключами. Код майстер-ключ записується в ПЗУ програм мікроконтролера, починаючи з адреси 2FDH. Довжина коду складає 8 байт. Послідовність цифр має бути така сама, як і на корпусі touch-memory, читати потрібно зліва направо. Тобто. за адресою 2FDH заноситься значення контрольної суми, потім за адресами 2FEH - 303H шість байт серійного номера, починаючи зі старшого байта, і, нарешті, за адресою 304H - код сімейства. Наприклад, код може виглядати так: 67 00 00 02 D6 85 26 01. Програма електронного замку має головний цикл, блок-схему якого показано на рис. 5. В основному циклі проводиться опитування панельки, і якщо там виявляється ключ, зчитується його код. Потім цей код перевіряється, і якщо він збігається з кодом майстер-ключа або іншого ключа (ключа користувача), занесеного в пам'ять, замок відкривається. Також перевіряється стан кнопки відчинення дверей, і у разі виявлення натискання замок також відкривається.
Для обробки подій, пов'язаних із програмуванням, є дві підпрограми: PROGT та PROGS, блок-схеми яких наведені на рис. 6. Перша викликається під час зчитування коду ключа як програмування, друга - при натисканні кнопки програмування (NUMBER). Процес програмування розбитий на 3 фази. При натисканні кнопки NUMBER здійснюється вхід програмування, тобто. перехід до фази 1. У цьому на індикатор виводиться буква " P " . Коди ключів, що зчитуються після цього, перевіряються на збіг з кодом майстер-ключа, оскільки тільки він може дозволити продовжити програмування. Якщо таке збіг відбулося, здійснюється перехід до фазі 2. На індикатор відображається номер поточного ключа, який може змінювати кнопка NUMBER. Якщо знову буде зареєстровано торкання ключа, то відбудеться перехід до фази 3. Ще один торкання ключа призведе до запам'ятовування його коду та повернення до фази 2. Натисканням кнопки NUMBER також можна повернутися до фази 2, але без зміни вмісту пам'яті. Будь-яка дія в режимі програмування викликає перезавантаження таймера повернення, який має інтервал 5 секунд і перевіряється в основному циклі. Якщо буде виявлено обнулення цього таймера, відбувається вихід з режиму програмування.
Наведені на рис. 5 і 6 блок-схеми є спрощеними, проте загальну логіку побудови програми вони зрозуміти дозволяють. Описаний замок, звичайно, не має широкого набору можливостей. Однак він дуже простий, що робить його доступним для повторення. Відкритий вихідний текст програми дозволяє самостійно вдосконалювати конструкцію або адаптувати її до конкретних вимог. завантажити:
Автори: Рідіко Леонід Іванович, wubblick@yahoo.com, Лапицький Віктор Петрович, victor_lap@yahoo.com; Публікація: cxem.net Дивіться інші статті розділу Мікроконтролери. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Машина для проріджування квітів у садах
02.05.2024 Удосконалений мікроскоп інфрачервоного діапазону
02.05.2024 Пастка для комах
01.05.2024
Інші цікаві новини: ▪ Volkswagen Golf нового покоління ▪ Lenovo – найбільший виробник ноутбуків ▪ Створено надміцну форму срібла ▪ Технологія Transcend SuperMLC ▪ Життя у космосі викликає генетичні зміни Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ Розділ сайту Електрику. ПТЕ. Добірка статей ▪ стаття Кипіти млеком та медом. Крилатий вислів ▪ стаття Як золоте руно опинилося в Колхіді? Детальна відповідь ▪ стаття Козлобородник луговий. Легенди, вирощування, способи застосування ▪ стаття Підключення електровилки В16 242. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |