Оглавление:

Часы с планетарной передачей: 6 ступеней (с изображениями)
Часы с планетарной передачей: 6 ступеней (с изображениями)

Видео: Часы с планетарной передачей: 6 ступеней (с изображениями)

Видео: Часы с планетарной передачей: 6 ступеней (с изображениями)
Видео: Каждый бмвшник после чип-тюнинга #blondinkadrive #bmw 2024, Июль
Anonim
Часы с планетарной передачей
Часы с планетарной передачей
Часы с планетарной передачей
Часы с планетарной передачей
Часы с планетарной передачей
Часы с планетарной передачей

(Старые) механические часы невероятно интересны и приятно смотреть, но, к сожалению, их практически невозможно построить самостоятельно. Механическим часам также не хватает небрежности, присущей доступным сегодня точным цифровым технологиям. Эта инструкция покажет вам, как объединить лучшее из обоих миров; управляя механическими стрелками часов через планетарный редуктор с шаговым двигателем и Arduino!

Запасы

Общие компоненты:

  • 5 мм дерево и акриловый лист
  • Болты М5 (с потайной головкой), шайбы и гайки
  • Стойки для печатных плат
  • Винты M3 для шагового двигателя

Электрические компоненты:

  • Драйвер шагового двигателя (я использовал L293d)
  • Любой тип Arduino
  • Часы реального времени (я использовал DS3231)
  • Датчик Холла (я использовал А3144)
  • Неодиум магнит 5 мм
  • Кнопки для пользовательского ввода
  • Резистор 10 кОм
  • Конденсатор 100 мкФ 25 В
  • Разъем постоянного тока
  • Источник питания постоянного тока 5 В, 2 А
  • Аккумулятор для RTC (в моем случае cr2032)

Механические компоненты:

  • Любой тип шагового двигателя 1,8 градуса / шагового двигателя с осью 5 мм
  • Ремень ГРМ GT2 400 мм
  • Осевой шкив GT2 60 зубьев 5 мм
  • Ведущий шкив GT2, 20 зубьев, 5 мм
  • Подшипник 5x16x5 мм (3 шт.)
  • Подшипник фланцевый 5x16x5 мм (2x)
  • Стержень с резьбой M5x50

Шаг 1: проектирование и изготовление шестеренок

Image
Image
Проектирование и изготовление шестеренок
Проектирование и изготовление шестеренок
Проектирование и изготовление шестеренок
Проектирование и изготовление шестеренок

Одна из целей этого проекта состояла в том, чтобы иметь один двигатель, который приводит в действие все часы, аналогично реальным механическим часам, в которых один аварийный механизм приводит в действие все часы. Однако минутная стрелка должна сделать 12 оборотов, а часовая стрелка делает 1 оборот. Это означает, что для привода обеих рук с одним двигателем требуется редуктор 1:12. Я решил сделать это с планетарной коробкой передач, прилагаемое видео прекрасно объясняет, как работает этот тип коробки передач.

Следующим шагом для меня было определить количество зубьев для разных шестерен, чтобы получить соотношение 1:12. Этот веб-сайт был очень полезным и содержит все необходимые формулы. Я прикрепил солнечную шестерню к минутной стрелке и водило планетарной передачи к часовой стрелке, оставив коронную шестерню неподвижной. Давайте займемся математикой!

  • S = количество зубьев солнечной шестерни
  • R = количество зубьев коронной шестерни
  • P = количество зубьев планетарной шестерни

Передаточное число (i) определяется:

я = S / R + S

Обратите внимание, что количество зубьев планетарной шестерни не имеет значения для передаточного числа в этом случае, однако нам необходимо соблюдать общее ограничение:

Р = (R - S) / 2

После некоторого недоумения я остановился на следующих числах: S = 10; R = 110; Р = 50; Кажется, что они на грани возможного, поскольку между планетарными шестернями очень маленький зазор, но это работает!

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

Я подумал, что было бы здорово сделать эти шестерни из 5-миллиметрового алюминия, и связался с местным магазином с гидроабразивом, если они могут вырезать эти шестерни для меня. Обычно вы никогда не сделаете шестерни с помощью водорезов, но это шестерни с очень низкой производительностью. Удивительно, но они согласились попробовать, но этот план ужасно провалился. Детали были слишком малы для гидроабразивной резки и начали двигаться во время резки.

Эта неудача означала, что пришло время для плана Б, поэтому я купил 5-миллиметровый дымчато-черный акрил и нашел место с лазерным резаком, который без проблем разрезал мои шестерни. Если у вас нет лазерного резака, вы, вероятно, также можете использовать 3D-принтер для этих шестерен, я включил файлы STL (зубчатый венец может потребоваться разделить на 3 части).

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

Шаг 2: Сборка зубчатой передачи

Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи
Сборка зубчатой передачи

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

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

Центральная ось часов вращается в двух подшипниках внутри водила планетарной передачи. Поскольку я сделал эту ось из прутка диаметром 5 мм, она очень плотно прилегала к подшипникам, и я больше не мог разбирать эти компоненты. Было бы намного проще просто использовать кусок резьбы M5, так как вам также больше не придется резать свою собственную резьбу (если бы я только понял заранее…..). Чтобы солнечная шестерня не вращалась вокруг оси, в ней есть D-образное отверстие, поэтому ось также должна быть запилита в эту D-образную форму. Когда солнечная шестерня надевается на ось, вы можете собирать ось, не забывайте водители планетарной передачи, если вы используете фланцевые подшипники! Ознакомьтесь с покомпонентным изображением для получения инструкций по сборке.

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

Центральную часть теперь можно установить в корпус часов. Это утомительная работа, но воткнуть болты в переднюю пластину и приклеить их на место очень помогает. Также может быть полезно поднять переднюю панель, чтобы освободить место для минутной стрелки. На фотографиях видно, что я поместил шесть маленьких кусочков бумаги между зубчатым венцом и задней пластиной, чтобы обеспечить небольшой зазор для шестерен. При установке водила сателлита убедитесь, что циферблаты указывают в разумное место (если минутная стрелка хода указывает на 12, часовая стрелка не должна находиться между двумя часами, например)

Шаг 3: Подключение шагового двигателя и датчика

Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика
Подключение шагового двигателя и датчика

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

Обычный шаговый двигатель может делать 200 шагов за оборот, что соответствует 200 шагам в час, если мы подключим его к минутной стрелке. Это будет означать интервал в 18 секунд на шаг, что еще не похоже на тикающие часы. Поэтому я использовал передачу 1: 3 между шаговым двигателем и минутными стрелками, поэтому шаговый двигатель должен делать 600 шагов в час. Используя полушаговый режим, это можно увеличить до 1200 шагов в час, что соответствует одному шагу за 3 секунды. Звучит лучше!

Одна проблема с шаговыми двигателями заключается в том, что вы никогда не знаете, где они находятся, когда включаете Arduino. Вот почему у всех 3D-принтеров есть упоры, поэтому вы можете переместить принтер в известное положение, а затем продолжить с этого места. Это также необходимо для часов, только концевой упор не будет работать, поскольку часы должны совершать непрерывное вращение. Для реализации этого определения положения я использовал датчик Холла A3144, который обнаруживает магнит (проверьте полярность!….), Прикрепленный к водилу планетарной передачи. Это используется для перемещения стрелок в определенное положение при запуске, после чего они могут переместиться на необходимое время.

Сборка очень проста; Присоедините шаговый двигатель к задней панели, оставляя винты немного ослабленными. Затем вы можете установить небольшой шкив на ось шагового двигателя и проверить, движется ли ремень ГРМ прямо. Теперь вы можете сдвинуть шаговый двигатель, чтобы отрегулировать натяжение ремня ГРМ. Ремень ГРМ требует небольшого люфта, чтобы убедиться, что вы не нагружаете шестерни. Поиграйте с этой настройкой, пока не будете удовлетворены, затем полностью затяните винты шагового двигателя.

Датчик Холла приклеен. Лучше всего сначала припаять к датчику три провода, убедившись, что вокруг каждой ножки датчика имеется термоусадка, чтобы они не могли замкнуть друг друга. После пайки датчик можно приклеивать на место. На самом деле не имеет значения, какая сторона вверху, если вы еще не прикрепили магнит. После того, как вы приклеили датчик на место, подключите его к Arduino или небольшой светодиодной цепи, чтобы проверить, работает ли он. (ПРИМЕЧАНИЕ: датчик Холла работает только в том случае, если силовые линии магнитного поля идут в правильном направлении). Используя эту тестовую схему, проверьте, как следует приклеивать магнит. Как только вы точно уверены, какая сторона вашего магнита должна быть обращена к датчику, приклейте магнит на место.

Шаг 4: Электроника, которая заставляет часы тикать

Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать
Электроника, которая заставляет часы тикать

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

Поэтому для отслеживания времени лучше всего использовать часы реального времени. Это специально разработанные микросхемы с резервной батареей, которые точно отслеживают время. Для этого проекта я выбрал DS3231 RTC, который может связываться с Arduino через i2c, что упрощает подключение. Как только вы правильно установите время на его микросхеме, он никогда не забудет, сколько сейчас времени (пока в батарее cr2032 осталось немного заряда). Посетите этот веб-сайт для получения всех подробностей об этом модуле.

Управление шаговым двигателем осуществляется с помощью драйвера двигателя L293d. Некоторые более продвинутые драйверы шаговых двигателей используют сигнал ШИМ для микрошагового управления и ограничения тока. Этот сигнал ШИМ может издавать раздражающий писк, с которым знаком каждый производитель (особенно если у вас есть 3D-принтер). Поскольку эти часы должны стать частью вашего интерьера, неприятные звуки нежелательны. Поэтому я решил использовать низкотехнологичный драйвер двигателя l293d, чтобы убедиться, что мои часы молчат (помимо шага каждые 3 секунды, но это действительно приятно!). Посетите этот веб-сайт для получения подробного описания микросхемы l293d. Обратите внимание, что я запускаю свой шаговый двигатель при напряжении 5 В, что снижает энергопотребление и температуру шагового двигателя.

Как упоминалось ранее, я использую датчик Холла для обнаружения магнита, приклеенного к водителю планеты. Принцип работы датчика очень прост, он меняет состояние при достаточно близком приближении магнита. Таким образом, ваш Arduino может обнаруживать цифровой максимум или минимум и, следовательно, определять, находится ли магнит близко. Посетите этот веб-сайт, на котором показано, как подключить датчик, и показан простой код, используемый для обнаружения магнита.

И последнее, но не менее важное: я добавил 4 кнопки для ввода данных пользователем на плату. Они используют внутренние подтягивающие резисторы Arduino для упрощения подключения. Моя печатная плата также имеет заголовки в конфигурации Uno, поэтому я могу добавить щиты Arduino для возможных расширений (я пока этого не делал).

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

Файлы Gerber для печатной платы можно загрузить с моего диска, Instructables не позволяет мне загружать их по какой-то причине. Используйте эту ссылку на мой гугл-диск.

Шаг 5: программирование Arduino

Программирование Arduino
Программирование Arduino

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

  • Accelstepper -> обрабатывает последовательность шагов шагового двигателя, позволяет вам давать интуитивно понятные команды, такие как: Stepper.runSpeed () или Stepper.move (), которые позволяют вам перемещаться с определенной скоростью или в определенное положение соответственно.
  • Wire -> это необходимо для связи i2c, даже при использовании RTClib
  • RTClib -> обрабатывает связь между Arduino и RTC, позволяет вам давать интуитивно понятные команды, такие как rtc.now (), которые возвращают текущее время.
  • OneButton -> Обрабатывает ввод кнопок, обнаруживает нажатия и затем запускает предварительно заданный void, чтобы что-то сделать. Может обнаруживать одиночные, двойные или длинные нажатия.

При написании кода для часов очень важно избегать увеличения переменных. Поскольку код Arduino будет работать 24/7, эти переменные будут быстро увеличиваться и увеличиваться и в конечном итоге вызовут переполнение. Например, шаговый двигатель никогда не получает команду перейти в определенное положение, поскольку со временем это положение будет только увеличиваться. Вместо этого шаговый двигатель получает команду переместиться на определенное количество шагов в определенном направлении. Таким образом, нет переменной позиции, которая увеличивается со временем.

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

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

Шаг 6. Наслаждайтесь звуком тикающих часов в первый раз

Image
Image

После подключения всей электроники и загрузки кода вот результат!

Базовая конструкция этих часов очень проста, и они могут быть выполнены в самых разных формах и размерах. Поскольку на борту есть Arduino, вы также можете легко добавить дополнительные функции. Установка будильника, включение часов в кофемашину в установленное время, подключение к Интернету, классные демонстрационные режимы, которые подчеркивают механический механизм, чтобы показать ваш дизайн другим, и многое другое!

Как вы могли заметить на протяжении всей этой инструкции, мне пришлось разобрать часы, чтобы написать эту инструкцию. Хотя, к сожалению, для этого Instructable, я могу по крайней мере гарантировать, что дизайн будет работать очень хорошо в долгосрочной перспективе, так как эти часы тикают в моей гостиной уже более 3 лет без каких-либо проблем!

Пожалуйста, дайте мне знать в комментариях, если вам понравилась эта инструкция, я пишу ее впервые. Также, если у вас есть какие-либо советы или вопросы, просто отправьте мне сообщение. И надеюсь, что однажды я вдохновил кого-нибудь на создание полумеханических часов!

Конкурс часов
Конкурс часов

Первый приз в конкурсе часов

Рекомендуемые: