Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Модуль керування кодовим замком. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Будинок, присадибне господарство, хобі Застосування сучасної елементної бази, зокрема мікроконтролерів, дозволяє зменшити масу та габарити електронних пристроїв, збільшити кількість виконуваних ними функцій. У запропонованій статті розказано про модуль кодового замку, виконаний з використанням РІС-контролера. Пристрій призначений для застосування як вузла секретності (електронної замкової "личинки") в кодових замках, системах керування сигналізацією або інших пристроях, доступ до використання яких необхідно обмежити повністю або в окремих режимах. Модуль забезпечує появу високого логічного рівня своєму виході при наборі з клавіатури семизначного десяткового числа - коду. При повторному наборі на виході виникає низький рівень. У складі модуля - два незалежні один від одного канали, кожен з них управляє одним виходом. Коди доступу до каналу можуть бути задані (модифіковані) користувачем у спеціальному режимі попереднього встановлення. У нього канал переходить при наборі з клавіатури семизначного коду попереднього встановлення (кожен канал має свій код). З цього режиму можна модифікувати як код доступу, так і код передустановки. Усі коди обох каналів зберігаються в електрично програмованій пам'яті даних (ЕЕРROM) модуля, яка доступна для запису програмно. Схема модуля показано на рис. 1. Його основа - мікроконтролер PIC16F84 фірми MICROCHIP, що забезпечує мале енергоспоживання та мінімальні витрати [1]. Усі функції реалізовані програмно. Виводи порту У мікроконтролера DD1 (RBO-RB6) використовуються для підключення стандартної 12-кнопкової клавіатури. RB0-RB3 запрограмовані на введення даних, a RB4-RB6 - виведення. Висновок RB7, запрограмований як вихід, використовується для подачі звукових сигналів. При кожному натисканні на будь-яку клавішу, яке виявляється і оцінюється програмою як "справжнє", на виведенні DD13 DD1 з'являється пачка з 124 імпульсів з періодом між ними близько 4 мс. Звучить короткий звуковий сигнал. При утриманні клавіші пачки слідують один за одним без пауз (постійний сигнал). При наборі правильного коду (доступу або попереднього встановлення) на цьому висновку з'являються 1240 таких імпульсів (звуковий сигнал тривалістю близько 5 с). На елементах R5, R6, C4, VD1 виконаний вузол зовнішнього скидання мікроконтролера при включенні живлення. Висновки порту А мікроконтролера RAO-RA4 запрограмовані як виходи. RAO є прапором роздільної здатності режиму для обох каналів. Встановлення цього прапора (роздільна здатність режиму установки) відображається світлом світлодіода HL1. Прапорець встановлюється при натисканні на кнопку "*" клавіатури, а скидається при натисканні на кнопку "#" або після закінчення модифікації кодів у режимі попереднього встановлення в будь-якому каналі або в момент системного скидання (при відключенні-включенні живлення). RA1 і RA2 - прапори режимів попереднього встановлення каналів 1 і 2. Кожен з них встановлюється при наборі відповідного коду попереднього встановлення, а скидається при натисканні на кнопку "#" або після закінчення модифікації кодів у режимі попереднього встановлення у відповідному каналі або при системному скиданні. Установка кожного з цих прапорів відображається світлом відповідного світлодіода HL2, HL3. Модифікація кодів у вибраному каналі можлива лише в тому випадку, якщо встановлено прапорець режиму попереднього встановлення цього каналу та прапорець роздільної здатності режиму попереднього встановлення. RA3 та RA4 - виходи каналів 1 і 2 відповідно. На кожному з них виникає високий рівень під час набору відповідного коду доступу, а скидається під час повторного набору цього коду або системного скидання. RA3 має рівні ТТЛ, a RA4 - вихід з відкритим стоком. До виходів каналів підключають виконавчі пристрої. Зі сказаного випливає, що модуль фактично є чотириканальним: крім двох "повних" каналів, що встановлюються і скидаються тільки набором кодів доступу, є ще два "неповних" каналу (RA1 і RA2). Їх встановлюють набором кодів попередньої установки, а скидають натисканням на кнопку "#", тобто вони обмежують доступ тільки до включення виконавчих пристроїв, але не до вимкнення. Щоб уникнути помилкової модифікації кодів у EEPROM. під час використання "неповних" каналів слід стежити, щоб прапор дозволу режиму попереднього встановлення був скинутий. Спрощена блок-схема алгоритму роботи програми показано на рис. 2. Після включення живлення відбувається системне скидання, обнулення всіх прапорів та виходів порту А. Далі програма починає опитувати клавіатуру. Під час виявлення натиснутої клавіші опитування припиняється, доки клавіша не буде відпущена. Захист від брязкальця контактів клавіш реалізований програмно. Код, що набирається, накопичується в регістровому ОЗУ мікроконтролера. Після введення сьомої цифри набраний код порівнюється з кодом попереднього встановлення каналу 1. У разі розбіжності - порівнюється з кодом попереднього встановлення каналу 2. Коли набраний код збігається з одним з цих кодів, програма встановлює відповідний прапор режиму попереднього встановлення і скидає набраний код. Якщо ж не збігається, він послідовно порівнюється з кодами доступу каналів 1 і 2. Якщо і з ними набраний код не збігається, він скидається. Після введення з клавіатури кожної цифри програма перевіряє, чи встановлено прапорець роздільної здатності режиму попереднього встановлення. Переконавшись, що це сталося, програма послідовно уточнює, чи встановлені прапори режиму попереднього встановлення каналів 1 і 2. Якщо хоча б один з них встановлено, відбудеться перехід у режим попереднього встановлення. В результаті кожного натискання на клавіші "0"-"9" в цьому режимі проводиться запис в комірку EEPROM коду відповідної цифри, "праючи" код, що знаходився там раніше. Після введення чотирнадцяти цифр (семи цифр коду доступу та семи - коду попереднього встановлення) автоматично здійснюється вихід з режиму попереднього встановлення (скидання всіх прапорів). Вийти з режиму попереднього налаштування можна також шляхом набору будь-якої кількості цифр (менше чотирнадцяти), наприклад, коли потрібно модифікувати лише код доступу. Для цього треба натиснути кнопку "#" після набору семи цифр. Програма була підготовлена серед MPLAB [2]. При програмуванні кристала слід встановити OSC = XT, WDT = Off, PWRTE = On, CP = Off, а EEPROM даних записати код 00h no всім адресам. Для живлення модуля можна використовувати джерело постійної напруги +7,5...+15 В. Струм споживання мікроконтролера DD1 від інтегрального стабілізатора DA1 при погашених світлодіодах HL1-HL3 становить близько 1 мА. Кварцовий резонатор ZQ1 можна застосувати на частоту 2...4 МГц (можна замінити RC-ланцюгом), проте слід враховувати, що від частоти тактового генератора залежить тональність звукових сигналів на виведенні 13 DD1. П'єзовипромінювач НА1 – ЗП-3. Для узгодження логічних рівнів на виході каналу 2 (висновок 3 DD1) з виконавчим пристроєм нижній за схемою виведення резистора R12 відключають від стабілізатора і підключають до виведення плюсового джерела живлення виконавчого пристрою. Конструктивне виконання модуля має бути таким, щоб унеможливити доступ ззовні до ланцюгів його виходів. Пристрій не вимагає налагодження, проте перед початком експлуатації користувачеві необхідно ввести в пам'ять обох каналів свої коди. Це роблять в такий спосіб. Після першого увімкнення живлення потрібно сім разів натиснути на кнопку "0". Повинен спалахнути світлодіод HL2 і пролунати довгий звуковий сигнал. Потім натискають кнопку "*". Тепер має спалахнути світлодіод HL1. Наступна операція - користувач з клавіатури вводить чотирнадцять цифр, перші сім із яких будуть кодом доступу каналу 1, а решта - кодом попереднього встановлення цього каналу. Коли буде набрано чотирнадцять цифр, світлодіоди HL1, HL2 згаснуть. Повторно натиснувши сім разів на кнопку "0" (має загорітися світлодіод HL3 і прозвучати довгий звуковий сигнал), а потім на кнопку "*" (має загорітися світлодіод HL1), користувач вводить ще чотирнадцять цифр - код доступу і код встановлення каналу 2. Світлодіоди HL1 та HL3 гаснуть. Тепер у EEPROM модуля записані власні коди користувача. У випадку, якщо користувач забув свій код доступу, його просто замінюють на новий режим передустановки. Якщо забутий код попередньої установки, то побачити його можна лише за допомогою програматора, вважаючи EEPROM даних РIC-контролера. Код попереднього встановлення каналу 1 розташований там за адресами 19h-1Fh, а каналу 2 - за адресами 27h-2Dh. Слід зазначити, що EEPROM має обмежену кількість циклів запису даних контролера, тому рекомендується дуже часто модифікувати коди. Кнопкою "#" можна примусово скинути набраний код за помилки в наборі. література
Автор: П.Редькін, м.Ульяновськ Дивіться інші статті розділу Будинок, присадибне господарство, хобі. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Машина для проріджування квітів у садах
02.05.2024 Удосконалений мікроскоп інфрачервоного діапазону
02.05.2024 Пастка для комах
01.05.2024
Інші цікаві новини: ▪ Біорозкладний бездротовий підшкірний зарядний пристрій Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Інструкції з експлуатації. Добірка статей ▪ стаття Під сурдинку. Крилатий вислів ▪ стаття У якій азіатській країні вживання марихуани легальне? Детальна відповідь ▪ стаття Сенна олександрійська. Легенди, вирощування, способи застосування ▪ стаття Просте пристрій миготливого світла. Енциклопедія радіоелектроніки та електротехніки ▪ стаття Кільце та паличка. Секрет фокусу
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |