ПРОГРАММИРУЕМЫЙ КОДОВЫЙ

ПРОГРАММИРУЕМЫЙ КОДОВЫЙВ технической литературе имеется немало публикаций о самодельных электронных кодовых замках — различных по сложности и управлению, выполняемых как на микросхемах малой и средней степени интеграции, так и на микроконтроллерах. К сожалению, у большинства из первых нельзя оперативно изменять код, так как для этого необходимо перепаивать перемычки или вносить другие изменения в монтаж. В других хотя и предусматривается перепрограммирование используемого микроконтроллера, но весьма ограниченное число раз. Кроме того, эти модифицируемые кодовые замки потребляют в ждущем режиме ток около 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. Принципиальная электрическая схема самодельного программируемого кодового замка (а) с эпюрами напряжений в контрольных точках (б) и вариант ее усовершенствования (в)

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

Рис. 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 служит для начальной установки микросхемы номеронабирателя при включении питания.

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

 

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

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

С выхода формирователя импульсы поступают на детектор посылки, который собран на DD3.3, VD1, R4, С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. Топология двусторонних печатных плат первого (а) и второго (б) модулей кодового замка

Рис. 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, обнуляя их. Таким образом, схема устанавливается в исходное состояние и становится готовой к приему очередной кодовой комбинации.

Фрагмент примера прошивки ПЗУ приводится (рис.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, однако при этом увеличатся габариты второго модуля и потребуется изменение топологии печатной платы. В качестве элементов питания лучше использовать щелочные гальванические элементы.

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

Рекомендуем почитать

  • Пробник на светодиодеПробник на светодиоде
    Хочу поделиться с читателями описанием простейшего пробника (рис. 1), которым я пользуюсь для проверки диодов и транзисторов обоих типов проводимости и резисторов сопротивлением до 200 Ом,...
  • И МЕЛОЧИ — НЕ МЕЛОЧЬИ МЕЛОЧИ — НЕ МЕЛОЧЬ
    У каждого домашнего мастера — «железячник» ли он, «столяр» или радиолюбитель — всегда немало разной мелочи — от винтиков-шурупчиков до радиодеталей, которые всегда требуют рационального...
Тут можете оценить работу автора: