Дисковый кодовый замок
Oчередной, как бы, проект, в духе моего традиционного шизомодернизма… Изначально, мне на работу нужен был небольшой локер для личных вещей. Ну, некое подобие шкафчика или бокса с символической функцией запирания. Эдакий кусочек личного пространства, создающий иллюзию приватности. Ну, там, кружку спрятать, например. Или записи какие, которые не нужно, чтобы уж совсем явно по столу валялись… Вроде бы, ну, сколотил деревянный ящик, повесил на него “чемоданный” замочек и все. Так, нет же…
* * *
Порция первичного вдохновения была случайно получена из старого видео от Matthias Wandel, где он за какой-то известной только ему шизоидной надобностью соорудил кодовый дисковый замок из гуано и палок.
Обязательно посмотрите видео. Там Матиас весьма внятно излагает суть и принципы работы замка. А то я упарюсь это все словами описывать. Предполагается, что, читая дальше, вы уже представляете о чем идет речь.
Ну и, чего-то меня это так вштырило, что тоже захотелось. Тем более, что при живом то ЧПУ-фрезере, оно, даже и на приключение не тянет. Матиас, вон, этого буратину своими живыми руками папакарлил, а мне чего париться? Поэтому, чтобы разнообразить процесс, решил не просто тупо повторить замок из упомянутого видео, а сделать его, во-первых, не целиком из дерева, во-вторых с бóльшим количеством дисков и, в-третьих, “программируемым” – чтобы можно было выставлять произвольные комбинации и менять их время от времени.
А потом, что-то мысль, как водится, поплыла… Поплыла… Одни голоса в голове нашептали то, другие – это… И, вот, простой проект из ящика с замочком превратился в “многоступенчатый” проект полный механизмов, приспособлений и основательно, так, выходящий за рамки здравого смысла и реальной необходимости. Причем, с сомнительными перспективами на финал… Видимо, сказывается вынужденный “летный простой” в моем рукотворчестве.
Итак, на первом этапе задуманного проекта, необходимо было сделать “сердце” локера – сам кодовый замок. А остальное уж вокруг него уже будет хреновертиться. Или не будет… Еще не решил…
* * *
Хоть в моем распоряжении и оказался многолетний опыт создания таких замков другими людьми, включая теорию, модификации и множество видео, но начать пришлось все равно с рисования. Совсем уж, что попало я делать не мог т.к. оказался ограничен в материалах. Не хотелось под этот идиотизм покупать что-то специально…
Поэтому решил обойтись строго тем, что есть в загашниках мастерской. Прямо, вот, взял с полки и строгай. Т.е., еще, как бы, добавить себе приключений… А это означало, что конструкция и размеры диктовались не тем, что может быть удобно рассчитано и рационально отрисовано, а наоборот – все считалось и чертилось сообразно размерам кусков всякой дряни, что наскреблась в сусеках…
Прежде всего, наскреблось немного разномастных кусков акрилового стекла. Материал это довольно прочный и из него было решено выполнить основные механические элементы. Для вспомогательных толстых элементов, типа втулок и креплений нашлись куски HDPE от кухонной разделочной доски. Для осей и ручек – дерево (ну, а чо?!). Ну и, после вдумчивого рисования в попытках подружить весь этот зоопарк между собой, вышло нечто вот такое:
Сам слегка прифигел. Безусловно, конструкцию можно было бы сильно упростить, если не удерживать себя в рамках предопределенных фрагментов материала, но с тем, что у меня было, выходило все вот так и никак иначе…
До кучи, нужно было еще иметь в виду, что все это может быть станет частью нечто бóльшего, а не просто вещью в себе. Соответственно, некоторые вывихи проекта, которые могут показаться странными на первый взгляд, на деле являются “крючочками”, за которые “зацепятся” последующие этапы затеи. Или не “зацепятся”… Еще не решил…
* * *
Началось все с таких, вот, пластин, призванных выполнять функции корпуса:
На деле, как следует из Плана, вся конструкция представляет собой своеобразный бутерброд, начинка которого “зажата” между этими основными пластинами:
Причем передняя пластина должна быть легко снимаемой для возможности “перепрограммирования” замка. Соответственно, на ней не должно висеть никакой начинки, которую пришлось бы долго и нудно откручивать. По сути, это должна быть просто крышка, чтобы “бутерброд” не расползался.
Вот, для, непосредственно, монтажа, деталей “бутерброда”, предназначена задняя пластина. Весь фарш на себе она удерживает посредством двух осей:
Та, что квадратная – для кодирующих дисков. Та, что круглая – для механизма “собачки”, которая будет непосредственно открывать/запирать язычок замка дверцы ящика/шкафчика…
Конструкция обеих осей – составная. И служит не только для удержания на себе деталей “бутерброда”, но и для капитального крепления самой себя к задней пластине корпуса:
ЧПУ-фрезер, токарный станок – ничего сложного.
Квадратная форма оси для дисков может показаться странной, но она является результатом идеи, согласно которой, диски должны быть взаимно независимыми… Ну, т.е., чтобы вращаясь, один диск не передавал свое вращение на соседний, посредством трения…
Да, этот момент можно было решить намного проще. Проклеив к оси шайбы между дисками. Или, не проклеив, а как-то иначе их закрепив. Шплинтами, там, или, даже, винтиками. Но в этом случае я лишал себя возможности простого “перепрограммирования” дисков. Или, как минимум, сильно усложнил бы себе этот процесс.
Квадратная же ость решает все проблемы легко и изящно. Достаточно в комплект к каждому диску выточить из HDPE вот такую втулку:
Диск легко вращается на втулке, а сама втулка сидит, как влитая на квадратной оси:
Диски свободно вращаются уже на втулках, будучи при этом полностью изолированы друг от друга и никак не взаимодействуют между собой:
При этом не нужно ничего, ни клеить, ни шплинтовать, ни прикручивать – вообще ничего. Легко собрать, легко разобрать. Как детская игрушка-пирамидка с кольцами на палке. Или не пирамидка… Еще не решил…
* * *
Но взаимодействовать диски между собой все же должны. Просто, согласно сути работы самого такого замка. В нужный момент, один диск должен цеплять и вращать соседний.
Вот для этого, в дисках имеется специальная перфорация:
Каждый диск имеет 15 отверстий для установки шипа, что при 4 дисках (= четырехзначный код) дает 15^4 = 50625 комбинаций кода. Я счел это достаточным в контексте секьюрности простой коробки-локера для хранения стратегического запаса сахара и чайных пакетиков на работе.
Диски условно делятся на “четные” и “нечетные”. Вращение от одного диска другому передается через вставленные в перфорацию в нужных местах “шипы”:
Посредством этих шипов диски и взаимодействуют, начиная вращать друг друга, приходя ими в зацепление:
Соответственно, расстояние между отверстиями перфорации должно равняться диаметру шипа и на каждом последующем диске, перфорация должна быть смещена на диаметр такого “шипа”. Поскольку, очевидно, что смещение будет в точности повторять себя на каждом втором диске, то вот так и получилось разделение оных на “четные” и “нечетные”. На глаз их легко различить по отношению отверстий относительно прорези для срабатывания замка:
Сей момент оказался достаточно важным. Признаюсь, я не учел его на уровне проектирования и обнаружил только, когда вырезал первые два диска. Если перфорация на дисках полностью совпадает, то прорези для срабатывания “собачки” не совпадут никогда – они всегда будут расходиться на половину диаметра отверстия перфорации. Деление дисков на “четные” и “нечетные” устраняет эту проблему полностью.
* * *
Итого, есть основа с осями, есть диски, которые можно “программировать” посредством вставляемых в них “шипов” – нужен механизм срабатывания. То, что будет непосредственно открывать замок.
Тут я немного отошел от традиций построения таких замков. Есть, как минимум, два общепринятых варианта срабатывания: 1. отдельная ручка, которую нужно повернуть (она повернется только если диски выставлены верно); 2. вариант без отдельной ручки, когда механизм срабатывает при обратном вращении кодового лимба после установки последней цифры.
Но я решил отказаться от этого “последнего движения”. Безусловно, мой вариант существенно снизит секьюрность замка. Но, помните, там – дохриндильон комбинаций, стратегический запас сахара, деревянный ящик-локер… Понижение уровня секьюрности на 10-15%. в данном случае – несущественно. Итого, мой замок всегда сработает автоматически сам, как только будет правильно выставлена последняя четвертая цифра кода.
Для этого служит вот такая собачка-бутерброд, подвешиваемая на пружинах в корпусе:
Понятно, что она была набрана в точности так же, как были набраны кодовые диски. Только вместо дисков – планки, а втулки между ними – с ушками. Потому, что, в отличие от дисков, элементы “собачки” не должны быть независимы. Напротив – вся ее суть кроется в монолитности. Все ее элементы наглухо стянуты двумя сквозными винтами:
“Бутербродность” собачки обеспечивает, во-первых, возможность использования обрезков того же самого оргстекла и кусков HDPE, что использовался для дисков, во-вторых, дает более равномерную нагрузку в прижимании ко всем дискам, исключая перекосы собачки и возвращая несколько процентов секьюрности, потерянные ранее (по клацанию собачки на слух/ощупь нельзя определить попала она хоть в одну прорезь или нет) и, в-третьих – она так просто крепче. Ведь ей еще целый последующий механизм запора двигать. Или не двигать… Еще не решил…
Некоторый запас пружин у меня был. Вот только все более-менее одинаковые по силе растяжения. Поэтому подбирать оное пришлось количественно. Четырех пружин оказалось в самый раз. “Собачка” ходит не слишком туго, но и не слишком свободно. Ведь, помимо того, что пружины заставляют “собачку” срабатывать автоматически, они еще и прижимают ее, заставляя клацать по лункам на торцах дисков.:
Это добавляет эстетизьму тактильным ощущениям при наборе кода (и, разумеется, еще на сколько-то там процентов снижает секьюрность).
Но есть и более разумное обоснование – клацая по лункам в торцах кодовых дисков, “собачка” позиционирует их относительно друг друга, выстраивая их строго в ряд по номерам-позициям. Правильная это позиция, с точки зрения заданного кода, или нет – дело десятое. Главное, что диски синхронизируются и не прокручиваются по инерции, например, если излишне резво крутануть ручку. И не смещаются от всяких внешних воздействий типа волнения на море и землетрясений. Это позиционирование всегда обеспечит комфортный и надежный процесс набора кода.
* * *
Настал черед “органов управления”. К сожалению, совсем без дополнительной ручки в механизме обойтись не получилось. Открывается то замок автоматически – да. Но, чтобы его снова закрыть, нужно вывести “собачку” из пазов в дисках. Пока механизм весь кишками наружу, это можно сделать напрямую. Просто приподняв “собачку” пальцем. Но, когда оно все будет в монолитном корпусе то… Так, что ручку для отвода “собачки” все же пришлось сделать:
Да, это странно: открывается кодовый замок автоматически, а закрывается вручную. У нормальных людей – все наоборот. Знаю. Но голосам в моей голове логичными кажутся оба варианта. Просто один из них ускоряет процесс закрытия, другой – открытия. Мне важнее – открытие. Утром, в помраченном состоянии сознания побыстрее присосаться к кружке кофе/чая, которую надо максимально быстро извлечь из локера… Смиритесь…
Вращающаяся ручка-лимб для набора кода, так же была сделана из дерева. По ее периметру предусмотрена канавка для разметки с цифрами:
На самом деле, я еще не решил для себя, а хочу ли я именно цифры. Ведь, в качестве кода можно использовать любые знаки: буквы, цифры, иероглифы, пиктограммы, идеограммы, идИограммы… Да, вообще, все, что только в голову взбредет и сможет быть в ней запомнено. Пока оставил для себя этот вопрос открытым. На текущем этапе это совершенно неважно.
Ребристый поясок для удобного захвата – кусок старого зубчатого ремня от ЧПУ-фрезера. Временами они у станка растягиваются или, даже, рвутся. Пару раз уже приходилось менять… Поврежденные ремни отправляются в загашник, как раз, вот, для таких поделок.
С обратной стороны обе ручки имеют одинаковой толщины проставки:
Они нужны для того, чтобы вывести ручки из будущего корпуса… Чем бы он там потом в итоге ни был. Ручки – единственное, что будет впоследствии доступно пользователю снаружи. Весь механизм-бутерброд, ясен пень, окажется где-то в глубине двери потенциальная толщина которой, признаться, внушает теперь некоторую озабоченность… Трехдюймовой толщины дверь. Да, пускай, хоть и из фанеры или МДФ… Мнда… Ну, посмотрим, когда время придет. Или не посмотрим… Еще не решил…
* * *
Осталось только накрыть весь этот бутерброд передней пластиной и соединить ее с задней пластиной посредством, таких, вот стоек:
Изначальная идея была нарезать в стойках резьбу и прикручивать к ним заднюю и переднюю панели независимо. Но HDPE, хоть и прочный, но вязкий. И не держит зуб резьбы винтиков разумного размера. Скажем, там, #12 уже будет норм – у них зубищи огого! Но не #10 или мельче. Эти срываются в таком пластике. Поэтому, в итоге, я пришел к сквозному болтовому соединению. Тут уж – без вариантов и осечек. Все держит намертво.
* * *
Итог всей затеи:
Работает весьма стабильно и надежно… Насколько вообще можно говорить о надежности в случае пластмассовых деталей…
* * *
Большинство сейфов и ящиков заводского производства, что мне попадались, имея в основе своих замков в точности этот же самый принцип работы, бывают с трех- или четырехзначным кодом (понятно, что все зависит от количества дисков внутри, можно, хоть 100-значный сделать, но кому это надо?). Т.е., внутри механизм состоит обычно из трех или четырех дисков. Ноль – “ключевая позиция”.
В общем случае, в инструкции пользователя, пишут, типа “поверните лимб по часовой стрелке три раза (= ноль должен пройти “зенит” три раза), после чего установите первую цифру кода. Теперь поверните лимб против часовой стрелки два раза (= ноль должен пройти “зенит” два раза), после чего установите вторую цифру кода…” и т.п. В конце “установите лимб на ноль – открывайте“.
Для трехзначного кода, например “368”, общий алгоритм выглядит так:
В моем же случае, поскольку “программируемыми” являются ВСЕ диски, включая “ключевой”, то вместо нуля я могу выбрать ЛЮБУЮ цифру. Просто надо помнить, что последняя цифра кода – ключевая. Те проценты секьюрности, что я потерял на всяких своих конструктивных вывихах выше, я только что полностью компенсировал тем, что привычный для всех “ключ” моего замка – не обязательно будет ноль! В этом – единственное отличие принципа работы моего механизма от “заводских” вариантов.
Например, у меня на замке задан код “8293”. Ноль в нем вообще никакой роли играть не будет. “Ключом” является последняя цифра кода: “3”. Соответственно, алгоритм открытия моего замка будет:
Т.е., сделав, формально, трехзначный замок, я получил честный четырехзначный, поскольку последняя “ключевая” цифра не является нулем, к которому все привыкли…
* * *
Да-да, не переживайте! Конечно, движущиеся картинки с демонстрацией работы:
Не знаю, будет ли продолжение или нет (я сейчас вообще мало загадываю наперед), но у меня теперь палюбасу есть адский механический кодовый замок ручной сборки, который, как минимум, притягивает внимание друзей и коллег.
Обычно, взявший его в руки, не может оторваться от его верчения/закрытия/открытия/попыток обмануть/попыток понять принцип работы без предварительного пояснения – пока насильно не отнимешь… Как оказалось, работа механизма оказывает гипнотическое воздействие на приматов… Кто бы мог подумать.
Продолжение следует. Или не следует… Еще не решил… 🙂
UPD: Почти чрез год – решил. Продолжения не следует… Хрень прекрасна сама по себе, как сувенир на полке…
Комментарии:
Потрясающее изделие! Но ему место на полке, для гостей. Пока будут изучать, то про виски забудут. Экономия…
А меня всегда интересовал вопрос, как открыть такой замок, если в процессе открытия остановился, отвлекся и не помнишь где, на каком шаге?
На видео, где-то в районе второго-третьего порядка происходит переход между кадрами с белой засветкой. Как раз момент, когда я, за пространными бла-бла-бла на камеру, сбился со счета и вынужден был впоследствии прибегнуть к монтажу. Ибо было лень делать новый “правильный” дубль съемок.
Собственно, в любой момент, если сбился со счета – просто надо крутануть все вперед на количество оборотов, равное, количеству порядков кода. Этим самым автоматически происходит “ресет” комбинации. Просто начать после этого все сначала. Ничего критичного – просто несколько потерянных секунд. Как в наборе пароля для входа в винду. Пальцем промахнулся – проще все стереть и набрать пароль по-новой с самого начала, чем пытаться гадать и исправлять вслепую один, ошибочно набранный символ… 🙂
Вот один пример применения такого замка. Игрушка-пазл https://youtu.be/hR8YQMN0I-0.
Там есть еще много интересных игрушек.
Когда замок прощелкивает глубокий паз звук намного более глухой получается. Не очень секьюрно получается. Возможно, пазы для трещетки можно сделать на отдельном диске как-то?