Оглавление:
- Шаг 1: концепция
- Шаг 2: Детали
- Шаг 3: Сборка деталей
- Шаг 4: Библиотека для Arduino IDE
- Шаг 5: Настройка макетной платы
- Шаг 6: Код
- Шаг 7: демонстрация и заключение
Видео: Заводной механизм: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Это руководство было создано во исполнение требований проекта Makecourse в Университете Южной Флориды (www.makecourse.com).
Шаг 1: концепция
Пытаясь найти идею для этого проекта, я решил сделать что-то, что можно было бы использовать и было полезно в моей повседневной жизни. Немногие из таких вещей могут иметь требование двух степеней свободы, поэтому я решил сделать простые часы в соответствии с требованиями, а также разместить их на моем столе, чтобы показывать время. Первоначально идея заключалась в том, чтобы сделать наручные часы, но деталь, напечатанная на 3D-принтере, была бы слишком маленькой, а двигатели, приводящие в действие часы, все равно были бы слишком большими для наручных часов.
Поэтому в этом проекте я нашел запасные части вокруг своей квартиры и решил над этим поработать.
Шаг 2: Детали
- Детали, напечатанные на 3D-принтере
- 2 шаговых двигателя 28BYJ-48 5 В постоянного тока
- 2 Плата драйвера шагового двигателя ULN2003
- Ардуино Уно
- Модуль Bluetooth HC-05
Все эти детали сделаны мной, кроме стрелок часов. Я не очень изобретательный. Ниже ссылка на его создателя.
www.thingiverse.com/thing:1441809
Шаг 3: Сборка деталей
(1) - На шаговые двигатели нужно поставить Gear_1 и 2. Они будут плотно прилегать, поэтому потребуется немного силы, чтобы они оставались на месте.
(2) - Base_0 останется внизу сборки.
(3) - Base_1 будет размещен поверх SpurGear_1, это основной компонент для минутной стрелки. Вы можете склеить эти два компонента вместе, убедитесь, что основание находится поверх шестеренки.
(4) - Base_2 будет размещен поверх SpurGears_2, это основной компонент для часовой стрелки. То же самое применимо к этой части, что и шаг (3)
(5) - Стрелки часов можно приклеить поверх Base_1 и Base_2, или вы можете просверлить небольшое отверстие, чтобы они встали на место.
(6) - Чтобы шестеренка минутной стрелки совпадала с цилиндрической шестерней, вам понадобится платформа высотой 1 см, на которой можно разместить весь узел сверху с помощью одного из шаговых двигателей.
Причина этого в том, что основная база не может быть высокой, поскольку другой шаговый двигатель не сможет достичь высокой передачи. В любом случае для одного из шаговых двигателей необходима платформа.
Шаг 4: Библиотека для Arduino IDE
Код для этого проекта основан на библиотеке Tyhenry под названием CheapStepper.h
github.com/tyhenry/CheapStepper
Чтобы установить эту библиотеку для вашего arduino. Нажмите клонировать или загрузить по ссылке выше и загрузите его в виде zip-файла.
В среде Arduino IDE. Эскиз -> Включить библиотеку -> Добавить библиотеку. ZIP
Из всех работающих библиотек в этой лучше всего использовался шаговый двигатель, и она чрезвычайно проста в использовании.
Шаг 5: Настройка макетной платы
Я использовал щит Arduino в комплекте с Arduino UNO. Он выглядит более чистым, но вместо этого вы можете взять небольшой макет и поместить его поверх Arduino UNO. Следуйте цвету на схеме, так как некоторые провода находятся друг над другом. Контакты 4-7 предназначены для одного шагового двигателя, а контакты 8-11 - для второго.
Модуль Bluetooth должен быть подключен RX -> TX и TX -> RX к плате Arduino.
Синие провода - это соединения от драйверов к Arduino UNO.
Зеленые провода - это соединения RX и TX.
Черные провода заземлены.
Красные провода - 5В.
Шаг 6: Код
Ниже приведен код этого проекта.
Объяснение кода будет здесь.
CheapStepper степпер (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);
логическое moveClockwise = true;
//37,5 мин = 4096;
// 1 мин = 106,7;
// 5 мин = 533,3;
// 15 мин = 1603;
// 30 мин = 3206;
// 60 мин = 6412;
int full = 4096;
int половина = полный / 2; // 2048
float full_time = 6412; // 1 час
float half_time = full_time / 2; // 30 мин 3026
float fif_time = half_time / 2; // 15 мин 1603
float one_time = full_time / 60; // 1 мин 106
float five_time = one_time * 5; // 5 мин 534,3
float one_sec = one_time / 60; // 1 сек 1.78
// мы можем сделать по 30 минут, вращая двигатель 3206 и перезагружая
Это основной расчет для данного проекта. Шаговому двигателю потребуется 4096 шагов, чтобы повернуться на 360 градусов, но поскольку прямозубые шестерни больше, чем шестерни, прикрепленные к шаговому двигателю, для полного вращения требуется больше шагов. Поскольку прямозубая шестерня является основным компонентом, который крутит руки. Мне нужно провести различные тесты, чтобы убедиться, что значения верны.
full_time - это переменная, которую я назначил для полного вращения руки. Это вполне логично, но по мере того, как шаги делятся на 2, чтобы получить конкретное движение, значение смещения становится меньше, что усложняет водителю выполнение своей работы.
MoveClockwise = true; состоит в том, чтобы заставить шаговый двигатель вращаться по часовой стрелке, но поскольку он вращает прямозубую шестерню против часовой стрелки, нам нужно сделать логическое значение false в настройке. Вы также можете объявить его ложным в начале, но это объясняет, как это работает.
void setup () {Serial.begin (9600);
Serial.println («Готово к работе!»);
pos = one_time; del = 900; коэффициент = 60;
moveClockwise = false; }
Здесь я объявляю логическое значение moveClockwise false. pos будет количество шагов, del будет задержкой, и соотношение будет либо для минут / секунд = 60 или часов / минут = 12
Управляем руками с помощью модуля Bluetooth. Во-первых, вам понадобится последовательный Bluetooth-терминал от вашего Android-устройства. Подключитесь к Hc-05 с PIN-кодом 0000 или 1234. Вы можете использовать пример кода из Arduino IDE, чтобы проверить, правильно ли он работает. Когда он подключен, он должен мигать очень медленно, а не быстро, когда он не подключен.
void loop () {состояние = 0;
if (Serial.available ()> 0) {
состояние = Serial.read (); }
for (float s = 0; s <(pos); s ++) {
stepper.step (движение по часовой стрелке); }
for (float s = 0; s <(pos / ratio); s ++) {
stepper_2.step (moveClockwise); }
задержка (дель);
Serial.available ()> 0 важен, так как именно так будет работать ваш модуль Bluetooth. Этот оператор if будет верным, когда между Arduino и вашим устройством есть связь. Переменная состояния будет определять 3 другие переменные, которые я объявил в верхней части setup (), а также выводит на печать, какую операцию выполняет код. Два цикла for - это основная функция, которая определяет, как будет двигаться шаговый двигатель.
if (state == '1') {
pos = one_time; del = 0; коэффициент = 12;
Serial.println («Операция 1: без задержки»); }
Это один из примеров использования входных данных вашего устройства Bluetooth для изменения работы системы. Вы можете редактировать эти переменные, как вам нравится управлять руками.
Шаг 7: демонстрация и заключение
Это демонстрация системы, показывающая, как она работает. В качестве корпуса можно использовать все, что подходит для всех компонентов внутри. Сделать этот проект было просто и весело, поскольку я впервые напечатал его на 3D-принтере. Было интересно разобраться и использовать модуль Bluetooth. Я сделал несколько ошибок, которые было слишком поздно менять, но конечный продукт в порядке.
Рекомендуемые:
Механизм блокировки двери RFID с Arduino: 5 шагов (с изображениями)
Механизм блокировки двери RFID с помощью Arduino: в этом руководстве мы будем подключать датчик RFID RC522 к Arduino Uno, чтобы создать простой механизм блокировки с контролируемым доступом RFID для двери, ящика или шкафа. Используя этот датчик, вы сможете использовать RFID-метку или карту для блокировки
Как отремонтировать / воскресить литий-ионную отвертку IXO планетарный механизм Bosch: 5 шагов (с изображениями)
Как отремонтировать / воскресить литий-ионную отвертку IXO Планетарная передача Bosch: в этой инструкции я покажу вам, как отремонтировать планетарную передачу литий-ионной отвертки модели IXO производства Bosch. Мой поиск в WWW нашел только инструкции по ремонту о том, как заменить батарею. Это был не мой случай. Проблема с моей шуруповертом
Механизм синхронизации и цепные часы - почти бесплатно !: 5 шагов (с изображениями)
Механизм ГРМ и Цепные часы - почти бесплатно! Надеюсь, когда вы изменили набор времени своего автомобиля, вы не выбросили старые шестерни и цепь. Я почти сделал это, но моя жена показала мне вот это: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock 125 долларов США плюс доставка.
Механизм панорамирования и наклона для замедленной съемки DSLR: 7 шагов (с изображениями)
Механизм панорамирования и наклона для замедленной съемки DSLR: у меня было несколько шаговых двигателей, и я очень хотел использовать их, чтобы сделать что-нибудь крутое. Я решил, что сделаю систему панорамирования и наклона для моей зеркальной камеры, чтобы я мог создавать крутые таймлапсы. Вам понадобятся: 2 шаговых двигателя -htt
Заводной робот-бионикл: 4 шага
Заводной робот-бионикл: с помощью этого урока (моего первого) вы можете построить робота из частей бионикла с управляемыми движениями рук