Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Электронный замок с ключами iButton. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Некоторое время тому назад появился проект "ИМИТАТОР TOUCH-MEMORY DS1990A", т.е. отмычка. Теперь Вашему вниманию предлагается замок к этой отмычке:-). Замок имеет простую конструкцию и предназначен в основном для индивидуального использования. Замок работает с любыми типами ключей iButton, поэтому можно применять уже имеющиеся ключи, предназначенные для других целей. Всего в память может быть записано до 9 ключей, хотя это количество можно легко увеличить. Для авторизации процесса программирования используется мастер-ключ, код которого занесен в ПЗУ и не может быть стерт или изменен обычной процедурой программирования замка.

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

В последнее время широкое распространение получили замки, ключом к которым является электронная таблетка iButton (или touch memory) фирмы Dallas Semiconductor. Такие замки часто используются на дверях подъездов, а также внутри многих учреждений. Кроме того, ключи iButton часто применяются для расчетов на автозаправочных станциях и в других местах. Таким образом, у многих уже есть ключи iButton от чего-либо. Поэтому при проектировании самодельного замка рационально использовать в нем уже имеющиеся у пользователя ключи. Именно так и сделано в предлагаемом замке: с ним могут работать любые типы ключей, так как используется только записанный в ПЗУ iButton серийный номер, который есть в любом их типе. К тому же, команда чтения этого номера одна и та же для всех типов ключей (33H). Код семейства, который различается у разных типов, может быть любым. Он воспринимается как еще одна цифра сериального номера. Нужно отметить, что самым дешевым типом ключей является DS1990A.

Замок проектировался для индивидуального использования и имеет предельно простую конструкцию. На входной двери снаружи располагается только панелька для iButton и светодиод открывания дверей. Открывание дверей изнутри осуществляется с помощью кнопки. В качестве исполнительного механизма используется стандартная защелка с электромагнитом, который рассчитан на напряжение 12В. Коды ключей хранятся в энергонезависимой памяти и могут стираться и добавляться пользователем. Для защиты от несанкционированного перепрограммирования замка используется мастер-ключ. Всего в память можно записать 9 ключей. Это количество продиктовано возможностями 1-разрядного индикатора номера программируемого ключа. Если задействовать еще и буквы, можно увеличить суммарное количество ключей до 15. Это делается путем замены значения константы MAXK в программе. Таким же способом можно и уменьшить максимальное количество ключей.

Электронный замок с ключами iButton. Принципиальная схема замка
Рис. 1. Принципиальная схема замка

Принципиальная схема замка показана на рисунке 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.

Электронный замок с ключами iButton. Схема внешних соединений
Рис. 2. Схема внешних соединений

При открывании двери на электромагнит подается импульс длительностью 3 секунды. Логика работы устройства такова, что если кнопку открывания двери удерживать, то все это время электромагнит будет под напряжением и, соответственно, дверь будет открытой.

Замок может иметь максимум 9 ключей, плюс один мастер-ключ. Коды ключей заносятся в энергонезависимую память под номерами от 1 до 9. Код мастер-ключа занесен в ПЗУ микроконтроллера и не может быть изменен. Программирование новых ключей или стирание старых может быть произведено только при наличии мастер-ключа. Как и другие ключи, мастер-ключ может использоваться для открывания замка.

Для программирования нового ключа нужно проделать следующие действия:

1. Нажать кнопку программирования.
2. На индикаторе появится буква "P", что означает вход в режим программирования.
3. Коснуться мастер-ключом панельки.
4. На индикаторе появится цифра "1", которая обозначает номер программируемого ключа.
5. Кнопкой выбрать нужный номер.
6. Коснуться любым ключом панельки.
7. Цифра на индикаторе начнет мигать, что говорит о готовности к программированию.
8. Коснуться панельки тем ключом, код которого требуется занести в память.
9. В случае успешного программирования цифра на индикаторе перестанет мигать и начнет гореть постоянно.
10. Для выхода из режима программирования нужно просто подождать 5 секунд, после чего индикатор погаснет.

Схематически процесс программирования нового ключа показан на рис. 3.

Электронный замок с ключами iButton. Программирование нового ключа
Рис. 3. Программирование нового ключа

Если нужно запрограммировать несколько ключей, то можно сразу перейти от пункта 9 к пункту 5 и повторить пункты 5 - 9 необходимое число раз.

Если после выполнения пункта 7 окажется, что выбран не тот номер, то для исключения потери кода ключа под этим номером можно нажать кнопку или просто подождать 5 секунд. В первом случае текущий номер увеличится на единицу, а содержимое памяти останется без изменений. Во втором случае произойдет полный выход из режима программирования без изменения кодов. Вообще, выход из программирования можно осуществить в любой момент, если сделать паузу более 5 секунд.

Для стирания из памяти лишнего ключа последовательность действий остается такой же, как и при программировании, только все действия производятся мастер-ключом. Т.е. процесс стирания фактически является записью кода мастер-ключа на неиспользуемые номера.

Схематически процесс стирание лишнего ключа показан на рис. 4.

Электронный замок с ключами iButton. Стирание лишнего ключа
Рис. 4. Стирание лишнего ключа (нажмите для увеличения)

В процесе программирования открыть дверь кнопкой можно, а вот открывание с помощью iButton заблокировано. Поскольку внутренняя и внешняя панельки соединены параллельно, нужно следить, чтобы во время программирования никто не касался внешней панельки никакими ключами.

Код мастер-ключа записывается в ПЗУ программ микроконтроллера, начиная с адреса 2FDH. Длина кода составляет 8 байт. Последовательность цифр должна быть такая же, как и на корпусе touch-memory, читать нужно слева направо. Т.е. по адресу 2FDH заносится значение контрольной суммы, затем по адресам 2FEH - 303H шесть байт серийного номера, начиная со старшего байта, и, наконец, по адресу 304H - код семейства. Например, код в целом может выглядеть так: 67 00 00 02 D6 85 26 01.

Программа электронного замка имеет главный цикл, блок-схема которого показана на рис. 5. В основном цикле производится опрос панельки, и если там обнаруживается ключ, то считывается его код. Затем этот код проверяется, и если он совпадает с кодом мастер-ключа или любого другого ключа (ключа пользователя), занесенного в память, замок открывается. Также проверяется состояние кнопки открывания двери, и в случае обнаружения нажатия замок тоже открывается.

Электронный замок с ключами iButton. Блок-схема основного цикла программы
Рис. 5. Блок-схема основного цикла программы (нажмите для увеличения)

Для обработки событий, связанных с программированием, имеются две подпрограммы: PROGT и PROGS, блок-схемы которых приведены на рис. 6. Первая вызывается при считывании кода ключа в режиме программирования, вторая - при нажатии кнопки программирования (NUMBER). Процесс программирования разбит на 3 фазы. При нажатии кнопки NUMBER осуществляется вход в программирование, т.е. переход к фазе 1. При этом на индикатор выводится буква "P". Считываемые после этого коды ключей проверяются на совпадение с кодом мастер-ключа, так как только он может позволить продолжить программирование. Если такое совпадение произошло, то осуществляется переход к фазе 2.

На индикатор выводится номер текущего ключа, который кнопка NUMBER может изменять. Если снова будет зарегистрировано касание ключа, то произойдет переход к фазе 3. Еще одно касание ключа приведет к запоминанию его кода и к возврату к фазе 2. Нажатием кнопки NUMBER тоже можно вернуться к фазе 2, но без изменения содержимого памяти. Любое действие в режиме прграммирования вызывает перезагрузку таймера возврата, который имеет интервал 5 секунд и проверяется в основном цикле. Если будет обнаружено обнуление этого таймера, то происходит выход из режима программирования.

Электронный замок с ключами iButton. Блок-схемы подпрограмм, используемых при программировании кода ключа
Рис. 6. Блок-схемы подпрограмм, используемых при программировании кода ключа

Приведенные на рис. 5 и 6 блок-схемы являются сильно упрощенными, однако общую логику построения программы они понять позволяют.

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

Download:

  • lock.asm - исходный текст программы замка.
  • lock.bin - оттранслированная программа скачать

Авторы: Ридико Леонид Иванович, wubblick@yahoo.com, Лапицкий Виктор Петрович, victor_lap@yahoo.com; Публикация: cxem.net

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Оптимальная продолжительность сна 12.11.2025

Сон играет ключевую роль в поддержании здоровья, когнитивных функций и общего самочувствия. Несмотря на широко распространенный стереотип о восьмичасовом сне, последние исследования показывают, что оптимальная продолжительность сна для большинства здоровых взрослых ближе к семи часам. Эволюционный биолог из Гарварда, Дэниел Э. Либерман, утверждает, что традиционная норма восьми часов сна - это скорее культурное наследие индустриальной эпохи, чем биологическая необходимость. По его словам, полевые исследования, проведенные в сообществах, не использующих электричество, показывают, что средняя продолжительность сна составляет 6-7 часов, что значительно отличается от общепринятого стандарта. Современные эпидемиологические данные подтверждают этот взгляд. Исследования выявили так называемую "U-образную кривую" зависимости между продолжительностью сна и рисками для здоровья. Минимальные показатели заболеваемости и смертности наблюдаются именно у людей, спящих около семи часов в сутки. ...>>

Дефицит кислорода усиливает выброс закиси азота 12.11.2025

Парниковые газы играют ключевую роль в изменении климата, а закись азота (N2O) - один из наиболее опасных среди них. Этот газ не только втрое сильнее углекислого газа в удержании тепла, но и разрушает озоновый слой. Недавнее исследование американских ученых показало, что микробы в зонах с низким содержанием кислорода активно производят N2O, усиливая глобальные климатические риски. Команда из Университета Пенсильвании изучала прибрежные воды у Сан-Диего и провела наблюдения на глубинах от 40 до 120 метров в Восточной тропической северной части Тихого океана - одной из крупнейших зон дефицита кислорода. Исследователи сосредоточились на том, как морские микроорганизмы превращают нитраты в закись азота. В ходе работы выяснилось, что существует два пути образования N2O. Один путь начинается с нитрата, другой - с нитрита. На первый взгляд более короткий путь должен быть эффективнее, однако микробы, использующие нитрат, продуцируют больше газа, поскольку этот "сырьевой" источник более д ...>>

Омега-3 помогают молодым кораллам выживать 11.11.2025

Сохранение коралловых рифов становится все более актуальной задачей в условиях глобального изменения климата. Молодые кораллы особенно уязвимы на ранних стадиях развития, когда стрессовые условия и нехватка питательных веществ могут привести к высокой смертности. Недавнее исследование ученых из Технологического университета Сиднея показывает, что специальные пищевые добавки способны существенно повысить выживаемость личинок кораллов. В ходе работы исследователи разработали особый состав "детского питания" для коралловых личинок. В него вошли масла, богатые омега-3 жирными кислотами, а также важные стерины, необходимые для формирования клеточных мембран. Личинки, получавшие эти добавки, развивались быстрее, становились крепче и демонстрировали более высокую устойчивость к стрессовым факторам. Особое внимание ученые уделили липидам. Анализ показал, что личинки активно усваивают эти вещества, что напрямую влияет на их жизнеспособность. Стерины, содержащиеся в корме, повышают устойчи ...>>

Случайная новость из Архива

Компьютерные игры для собак 04.12.2022

Если ваша собака устала от игры в догонялки и перетягивание каната, возможно, ее больше заинтересуют видеоигры! Стартап Joipaw, базирующийся в Гонконге, разработал серию игр с сенсорным экраном, призванных поддерживать активность ума наших пушистых друзей.

Основатели компании надеются, что видеоигры принесут собакам много пользы и помогут предотвратить тип деменции, известный как синдром когнитивных дисфункций (СКД) у собак.

На создание видеоигр для собак Дерсимa Авдара вдохновила его собственная дворняжка, которую он взял себе в мае 2021 года. Активная собака быстро потеряла интерес к головоломкам и игрушкам, наполненным лакомствами, и стала беспокойной, разрывала мебель и обувь своих хозяев и ходила в туалет на пол квартиры.

Мужчина и его супруга быстро поняли, что все это были симптомы тревоги разлуки, и что Кавет (имя собаки) нуждался в дополнительной стимуляции, когда хозяева покидали дом.

Тогда Авдар прочитал исследование Университета ветеринарной медицины в Вене, в котором утверждалось, что если пожилые собаки будут играть в игры на сенсорном экране, это может предотвратить снижение когнитивных способностей. В работе говорилось, что в отличие от щенков или молодых собак, старые собаки почти никогда не подвергаются дрессировке или умственным испытаниям.

Так в голову Авдару пришла идея создания специальной консоли для собак, которая могла бы служить инструментом профилактической помощи пожилым псам, и занимала бы гиперактивных молодых собак.

На сегодняшний день консоль поддерживает игры по типу "Бей крота", когда на экране одновременно появляются несколько кротов, который нужно успевать схватить, а также пинбол.

Также платформа имеет функцию слежения за псом, когда хозяин покидает дом. Кстати, владельцы тоже могут играть, и даже сравнивать свои результаты с собачьими! Joipaw также надеется в будущем включить игры, в которых собаки могут играть против своих владельцев.

Сейчас все игры все еще находятся на стадии тестирования, но все они предназначены для воспроизведения на сенсорном экране, который можно облизывать. Команда Joipaw отмечает, что собак можно научить работать с экраном, намазав его чем-нибудь вкусненьким!

Соучредитель Дерсим Авдар рассказал, что при тестировании игр почти с двумя десятками собак "самым трудным шагом" было постепенное сокращение вкусного поощрения, чтобы заставить псов играть самостоятельно. Но, когда этот рубеж преодолен, наступает "волшебный момент, когда вы видите свет в глазах животных". Кстати, дополнительные лакомства раздаются с консоли, когда собака выигрывает игру.

Другие интересные новости:

▪ Напечатан гибкий графеновый суперконденсатор

▪ Достигнута скорость передачи данных 43 терабита в секунду

▪ Микроконтроллер ATmega169

▪ Карманный SSD-накопитель Verbatim Vx500

▪ Умная рубашка Xenoma e-skin

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Конспекты лекций, шпаргалки. Подборка статей

▪ статья Видеомонтаж для начинающих. Искусство видео

▪ статья Как появилось плавание? Подробный ответ

▪ статья Производственный мастер. Должностная инструкция

▪ статья Симисторный светорегулятор. Энциклопедия радиоэлектроники и электротехники

▪ статья Сетевой передатчик. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025