Программируемый кодовый

Программируемый кодовый

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

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

В частности, привлекательными иногда выглядят самые дешёвые солевые (марганцо-цинковые) гальванические элементы обширно распространенного формата АА (диаметр 14, высота 50 мм). Емкость их находится в пределах от 0,45 до 0,85 А ч, а ожидаемая гарантированная длительность работы образовывает 450 — 850 ч, либо 19 — 35 дней. Еще заманчивее, казалось бы, гальванические элементы громадных размеров — щелочные, емкость которых для формата АА находится в пределах 1 — 3,7 Ач.

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

Публикуемое ниже устройство потребляет в ожидающем режиме ток не более 40 мкА. Работа данного замка основана на сравнении двух бинарно-десятичных кодов.

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

Устройство исправно трудится на КМОП-микросхемах и «старом ППЗУ» типа ТТЛШ, но питание на последнее подается лишь на время считывания кода, что и разрешает минимизировать энергопотребление. Наряду с этим обеспечивается гарантированная защита, оцениваемая возможностью подбора кода порядка 10-8 (100 млн комбинаций).

Для сравнения допустим, что для комплекта одной комбинации из восьми цифр требуется 5 секунд. Тогда для перебора всех комбинаций потребуется 500 млн секунд, либо более 15 лет.

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

Особенности работы предлагаемой принципиальной электрической схемы замка (рис.1а) таковы, что в исходном состоянии все счетчики обнулены: DD2 — большим уровнем на входе R (вывод 9), a DD4 и DD9 — при включении питания (в этом случае на выходе элемента DD8.4 устанавливается уровень лог.1 на время около 70 мс, определяемое постоянной времени цепочки R16C8).

Установить счетчики в исходное состояние возможно и нажатием кнопки SB11. Это не редкость необходимо по окончании неудачных попуток подбора кода.

Рис.

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

Входной код генерируется посредством микросхемы импульсного номеронабирателя DD1 типа КР1008ВЖ10 и бинарного счетчика DD2. Подключение — в соответствии с логикой работы (см. рис.1а).

HS КР1008ВЖ10 (вывод 17) — вход от «рычажного тумблера» (положение трубки); вход DRS (вывод 10) — выбор частоты кодовой посылки (10 либо 20 импульсов в секунду); вход М/С (вывод 11) — выбор отношения имп./пауза (3:2 либо 2:1); выход NSA (вывод 12) — выход разговорного ключа (в этом случае не употребляется); выход NSI (вывод 18) — выход импульсного ключа. Выходы NSI и NSA выполнены по схеме с открытым коллектором.

Частота следования посылок выбрана равной 20 имп./с (вход DRS соединен с «плюсом» источника питания), отношение имп./пауза — равным 2:1 (вход М/С соединен с «плюсом» источника питания), другими словами продолжительность посылки лог.0 равна 33,3 мс, лог.1 —16,7 мс. Выход импульсного ключа через «притягивающий» резистор R5 соединен с «плюсом» источника питания.

При нажатии любой из кнопок на выходе импульсного ключа появляется импульсная последовательность частотой 20 Гц с числом импульсов, соответствующим надавленной кнопке, и амплитудой, фактически равной напряжению питания. Через буфер DD3.1 эта последовательность поступает на вход формирователя, складывающегося из DD3.2, R3, С2. Цепочка R6С4 помогает для начальной установки микросхемы номеронабирателя при включении питания.

Пример «firmware» кода ПЗУ (фрагмент)

Формирователь владеет особенностями триггера Шмитта и интегрирующей цепочки. Импульсы на его выходе (рис.1б, график 1) имеют крутые фронты независимо от крутизны входных импульсов. Помимо этого, он подавляет импульсные помехи малой длительности, поскольку конденсатор не успевает зарядиться до порога переключения логического элемента DD3.2.

С выхода формирователя импульсы поступают на детектор посылки, что собран на DD3.3, VD1, направляться4, С3 и трудится следующим образом. Первый отрицательный импульс последовательности, проходя через диод VD1 на вход ячейки DD3.3, переключает ее в лог.0. В паузах между соседними импульсами последовательности конденсатор С3 заряжается через резистор R4, но наряду с этим напряжение на входе DD3.3 не достигает порога переключения.

Любой последующий импульс скоро разряжает через диод VD1 конденсатор С3 (рис. 16, график 2), исходя из этого на протяжении прохождения последовательности на выходе ячейки DD3.3 будет лог.0. В паузах между последовательностями напряжение на конденсаторе С3 достигает порога переключения, и названная выше ячейка переключается в лог.1.

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

В один момент импульсы с выхода формирователя поступают на счетный вход бинарного счетчика DD2. Эта микросхема подсчитывает количество импульсов (счет ведется по хорошему перепаду) и запоминает его.

На выходах DD2 наряду с этим присутствует бинарный код количества импульсов.

Данный код поступает на один из портов цифрового компаратора DD5 (входы А1 — А4). Хороший перепад напряжения поступает по окончании комплекта цифры на счетный вход бинарного счетчика DD4 и устанавливает на его выходах код 0001.

Рис. 3. Топология двусторонних печатных плат первого (а) и второго (б) модулей кодового замка

Данный код поступает на младшие разряды шины адреса микросхемы ПЗУ DD6.

Код старших разрядов шины адреса формируется съемными перемычками (джамперами) JP1 — JP5. Так, вероятны 25 = 32 кодовые комбинации.

В один момент хороший перепад напряжения поступает на вход одновибратора, складывающегося из D-триггера DD7.1 и элементов С6, R13.

По этому перепаду на инверсном выходе триггера появляется маленький отрицательный импульс (рис. 16, график 5) длительностью около 10 мкс. Данный импульс поступает через ограничительный резистор R14 на базу транзистора VТ1 и открывает его.

Через открытый транзистор VТ1 подается питание на микросхему ПЗУ DD6, и на ее выходах D0 — D3 появляется бинарный код, содержащийся в ячейке с номером 0001. Данный код поступает на второй порт цифрового компаратора (входы В1 — В4).

Происходит сравнение кода, содержащегося в ПЗУ, и кода на выходе счетчика DD2. При их совпадении (другими словами при комплекте «верной» цифры) на выходе цифрового компаратора DD5 (вывод 3) появляется уровень лог.1, что инвертируется логической ячейкой DD8.3. Лог.0 с выхода последней поступает на инверсный вход переноса CJ бинарного счетчика DD9, разрешая счет.

На счетный вход счетчика DD9 поступает задержанный сигнал с выхода формирователя (рис.1б, график 4).

Задержка осуществляется схемными элементами DD8.1, DD8.2, R8, С5 и образовывает величину около 4 мкс. За это время считываются эти из ПЗУ, происходит сравнение кодов и устанавливается низкий логический уровень на входе CJ счетчика DD9. При совпадении кодов счетчик DD9 увеличивает собственные показания на единицу.

В случае если коды не совпали, то на выходе цифрового компаратора присутствует уровень лог.0, на входе CJ счетчика DD9 — лог.1 (что запрещает счет), и хороший перепад на его счетном входе не приводит к показаний.

С выхода инвертора DD8.2 сигнал поступает на вход сброса К счетчика DD2. При появлении лог.1 на входе К счетчик DD2 обнуляется, по окончании чего он готов к приему новой импульсной последовательности (следующей цифры).

При комплекте восьми «верных» цифр на выходе «8» счетчика DD9 (вывод 2) появляется хороший перепад (рис. 16, график 6), что поступает на одновибратор, складывающийся из триггера DD7.2 и элементов R17, С7. Данный перепад запускает одновибратор, и на прямом выходе триггера появляется хороший импульс длительностью около 2 с (рис. 16, график 7).

Последний открывает составной транзистор VТ2, что подключает аккуратное устройство к неспециализированному проводу.

Светодиод HL1 индицирует включение аккуратного устройства. В один момент на инверсном выходе триггера DD7.2 появляется отрицательный импульс такой же длительности (рис. 16, график 8), из заднего фронта которого элементы С9, R20 и R21 формируют хороший импульс длительностью около 70 мкс, что через буфер DD3.4 и диод VD2 поступает на входы R счетчиков DD4 и DD9, обнуляя их.

Так, схема устанавливается в исходное состояние и делается готовой к приему очередной кодовой комбинации.

Фрагмент примера firmware ПЗУ приводится (рис.2). Возможно применять и собственные придуманные коды, лишь наряду с этим нужно учитывать, что набираемой цифре «0» (наряду с этим микросхема DD1 выдает 10 импульсов) соответствует код А (1010) ПЗУ.

Одна строка листинга соответствует одному коду. Фактически код начинается с адресов 01, 11, 21, 31 и т. д., заканчивается, соответственно, на адресах 08, 18, 28, 38.

Старший полубайт ячеек памяти не употребляется, исходя из этого в том месте возможно покинуть код F (в микросхеме КР556РТ5 в исходном состоянии «зашиты» лог.1). Так, первая строка листинга соответствует коду 23715580.

Конструктивно кодовый замок сделан в форме двух модулей (на направляться печатных платах) и аккуратного устройства. Первый модуль (рис. 3а) содержит клавиатуру S1 — S11, микросхему номеронабирателя DD1, времязадающие элементы R1, R2, С1, цепь начальной установки R6С4, и «притягивающий» резистор R5 и светодиод.

HL1 устанавливается с наружной стороны двери и соединен эластичными проводами с другим модулем, на котором установлены остальные подробности, не считая аккуратного устройства, представляющего собой маломощный электромагнит: тот только снимает блокировку, а не оттягивает ригель замка.

Входы неиспользуемых логических элементов соединены с «плюсом» источника питания. Конденсаторы С10 — С12 (рис. 3б) — блокировочные.

Для повышения секретности замка возможно повысить колличество цифр кода. Для этого нужно выводы 2,6,11 и 14 счетчика DD9 (рис.1в) подключить к входам логической ячейки 4И, а выход последней — к счетному входу триггера DD7.2. Наряду с этим возможно применять микросхему К564ЛА8 (2 элемента 4И-НЕ), включив ее вторую ячейку инвертором. В этом случае выходной одновибратор запускается по окончании 15-го совпадения.

В качестве источника питания употребляются 4 гальванических элемента неспециализированным напряжением 6 В. Они крепятся металлической скобой с обратной стороны второго модуля. Работоспособность замка сохраняется при понижении напряжения питания до 4,8 В. Очевидно, возможно применять и сетевые источники питания, а в качестве аккуратного устройства применить низковольтное реле, управляющее 220-вольтным соленоидом, что и будет оттягивать ригель замка.

Но при отсутствия сетевого напряжения доступ в помещение станет неосуществимым.

В устройстве употребляются микросхемы серии 564 (DD2 — DD5, DD7 — DD9), КР1008ВЖ10 (DD1), КР556РТ5 (DD6), транзисторы КТ3107К (VТ1), КТ829А (VТ2), резисторы С-2-22 с мощностью рассеяния 0,125 Вт, конденсаторы КМ-5 (С1), КМ-6 (С2 — С6, С9, С11, С12), К50-35 (С7, С8, С10), диоды КД521 (VD1 — VD3), светодиод АЛ307 (HL1). В качестве кнопок SB1—SB11 возможно применять фактически каждые подходящие, не фиксируемые. В авторском варианте они — от клавиатуры компьютера.

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

Вместо микросхем серии 564 возможно применять микросхемы серии 561, но наряду с этим увеличатся габариты второго модуля и потребуется изменение топологии печатной платы. В качестве элементов питания лучше применять щелочные гальванические элементы.

В.

ВАСИЛЕНКО, г. Свердловск, Луганская обл., Украина

Программируемый кодовый замок в minecraft.


Темы которые будут Вам интересны:

Читайте также: