Мотивация
К новому, 2024-му году я подарил племяннику Lego WeDo — набор для детей с возможностью программирования. В результате меня самого очень увлекла возможность программирования того, что можно потрогать и осязать в реальном мире.
На протяжении многих лет я писал код в одном окне и смотрел результат в другом, а тут что-то светится, крутится, пищит и реагирует на твои движения. Это оказалось завораживающим.
Через неделю я забрал в пункте выдачи маркетплейса свой первый набор Arduino и понеслось. С физикой в школе были большие проблемы, поэтому сначала приходилось тяжело, но благодаря ChatGPT видимый результат вдохновлял на продолжение изучения, а круг идей расширялся с каждым новым изученным компонентом - резисторы, LED-светодиоды, конденсаторы, транзисторы, операционные усилители, зуммеры, микрофоны и ещё куча всего.
Через 2 месяца я уже разобрался с мультиметром, осциллографом и логическим анализатором, и у меня появился целый ящик различных элементов электронной цепи. А ещё отдельный мир микроконтроллеров — управление спящим режимом, коммуникация с телефоном по BLE, отображение информации на дисплее, передача информации без проводов великим множеством способов — просто взрыв
Чтобы справиться со всем потоком информации пришлось найти, где её организовать. Ещё месяц на изучение и доработку базы в Obsidian, и поток мыслей стабилизировался.
Первое устройство
С самого начала я был замотивирован мыслью, что смогу что-то привнести в наш мир, так как с детства мечтал стать изобретателем. Начал делать некоторое сложное устройство, но поняв, что моего опыта пока что недостаточно, решил начать с чего-то простого.
Этим первым устройством стал таймер Помодоро. Пройдясь по маркетплейсу, отобрал те, что мне понравились, собрал отзывы и постарался перенять всё лучшее и отбросить всё худшее из них.
Таким образом сформировалась идея сделать небольшое устройство, удовлетворяющее следующим требованиям:
-
3 режима - таймер, секундомер и Помодоро;
-
автономная работа от батарейки-таблетки минимум 3 месяца;
-
размер устройства позволяет легко положить его в карман;
-
интуитивный UX - пользователь должен получать то, что хочет минимальным количеством простых действий;
-
Функциональность;
-
Возможность задать время;
-
Сохранение и переиспользование последних 5-ти вариантов заданного времени;
-
Отображение всей необходимой информации;
-
Автоотключение там, где это возможно;
-
-
Настройка;
-
Управление уровнем громкости;
-
Спустя некоторое время я понял, что приблизился к моменту когда мне нужен корпус для устройства, а значит нужен 3D-принтер. Приобрел свой первый - им оказался Bamboo Lab A1 Mini. Выбор сделан, исходя из отзывов, что этот принтер требует минимального количества времени для настройки, и обладает достаточно высоким качеством печати для моих потребностей.
Кстати, по поводу Помодоро. Это техника из тайм-менеджмента для работы с заданными интервалами, чтобы балансировать работу/отдых. Позволяет лучше концентрироваться.
-
Садишься за работу — включаешь таймер. Выключаешь все уведомления, которые можно себе позволить выключить.
-
Проходит 25 минут, таймер звенит, что пора передохнуть. Начинается автоматический отсчет отдыха на 5 минут.
-
После 5 минут отдыха таймер запускается снова на 25 минут. Продолжаем работу.
-
И так пока не закончишь работать.
Создание корпуса
Итак, в корпусе нужно реализовать:
-
2 энкодера;
-
3-х ступенчатый;
-
Неограниченный;
-
-
Кнопку;
Вот и все элементы управления.
С энкодерами оказалось сложнее всего во всём устройстве. Рассматривал готовые варианты. Купил такой для теста:
Кроме цены, у него был недостаток в его размере. Попытался найти ещё варианты, но не получилось подобрать то, что могло бы подойти.
Далее я пытался сделать энкодер самостоятельно. Сначала прикинул, что можно было бы сделать такую модель энкодера, которая бы крутилась по граням и вставала в пазы.
Для этой цели пришлось начать изучать 3D моделирование в САПР. После попытки работы с Fusion 360, решил, что не хочу работать в облачном приложении, которое, мало того, что неприятно подлагивало на Mac, так ещё и доступ к своим же проектам казался не стабильным - его могли в любой момент отключить, как только вздумается компании Autodesk. Поэтому перешел в SoliWorks. Запустил его через Parallels. Вообще, изначально, меня удивило насколько ограничен весь инженерный софт на Mac. В общем, около недели я изучал туториалы на YouTube, прошел немного внутреннюю шпаргалку и начал размышлять над своим видением энкодера. Набросал на блокноте такой вариант:
Далее, путём проб и ошибок через пару недель у меня наконец получилось сделать модель:
Сверху накладывалась другая модель для прохождения по пазам, но она уже где-то потеряна. По моим ожиданиям, накладка должна была крутиться и вставать в эти пазы. Но вышло всё буквально со скрежетом, шло туго, в пазы чётко не вставало и не было щелчка.
Начал изучать другие варианты и тут я окунулся в мир магнитов.
Крутим с помощью магнитов
Продолжая изучения темы ко мне пришло понимание, что магниты позволяют без какого-либо питания сделать плавную прокрутку с щелчком. И в конце концов, оказалось их легко можно приобрести, в совершенно разных формах и размерах, всё в том же маркетплейсе. Они недорогие, и могут быть настолько маленькими, насколько это необходимо.
Приобрел 20 штук размером 5х2 мм. Посмотрел и изучил как они друг с другом взаимодействуют.
Далее, перешел к проектированию энкодера мечты. Начал с блокнота.
Основной смысл в том, что при повороте внешней части, также крутится диск внутри с ещё одной партией магнитиков поменьше. Эти магнитики расположены на разном расстоянии относительно диска. С помощью датчика Холла можно узнать насколько близко находится текущий магнит и включить, соответствующий этому показанию, режим.
В итоге эволюция получилась примерно следующая:
Самой большой сложностью стало то, что нужно прикрепить внешнюю крутилку, на которой ещё будет кнопка, так, чтобы крутилка не отделялась от будущего корпуса. С каждым шагом становилось лучше, но всё ещё были не стабильности. В итоге, пришёл к следующему формату, когда трубка внешней части закрепляется между двумя частями корпуса.
Такой формат соединения обеспечил полное отсутствие не запланированного отделения деталей. На фото не приведен диск с мини-магнитами, зато его видно на всей модели в Solidworks:
Теперь мне нужно приспособить к этим магнитам датчик Холла с тем правилом, что расстояние между датчиком и диском с магнитами должно всегда быть одинаковым, с погрешностью до 1 мм, чтобы не приходилось проводить калибровку при массовом производстве.
Напоследок фото отходов, накопившихся по мере попыток подогнать размеры и форм-фактор:
Заключение
Создание корпуса для энкодера оказалось самой сложной частью в устройстве. На это ушёл примерно месяц.
В следующей части надеюсь раскрыть больше деталей про интеграцию датчика Холла и, возможно, описать более готовую версию корпуса и устройства в целом.
UPD: Добавил описание техники Помодоро
Автор: jeshio