Ничего не найдено :(
    В гостях у Самоделкина! » С сайтов » Спец » Устройство с дистанционным управлением для камеры, лазерной указки, фонарика и т.д.

    Устройство с дистанционным управлением для камеры, лазерной указки, фонарика и т.д.



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

    Все файлы устройства находятся в открытом доступе, и при желании можно изменить код или дизайн корпуса.

    Инструменты и материалы:
    -3D-принтер;
    -Шаговый двигатель NEMA 17 (MT-1703HS168A или аналогичный ) - 2 шт;
    -Провода подключения;
    -Шкив GT2 20 зубьев - 2 шт;
    -Шариковый подшипник 6002RS или 6002ZZ - 2 шт;
    -Кабельный стяжки (длина 100 мм, ширина 5 мм) 10 шт;
    -Ремень 200 мм (200 GT2) - 3 шт;
    -Силиконовые накладки;
    -Плата управления DEVIA ( или эквивалентная Arduino M0 , ESP8266);
    -Драйверы двигателя A4988 + радиаторы - 2;
    -Кабель USB 1 м ( разъем micro USB );
    -Источник питания 12 В / 2 А;
    Болты и гайки: Болт M3 6 мм - 6 шт. Болт M3 10 мм - 14 шт. Болт М3 15 мм - 10 шт. Болт M3 45 мм - 4 шт. Гайки М3 - 6 шт.



    Шаг первый: технические характеристики
    При проектировании устройства мастер учитывал следующие условия:
    Простота печати и настройки
    Совместимость с Arduino / управляемый код Python
    Плавные, но быстрые движения
    Точность
    Простота и портативность
    Адаптируемость и легкость модификации
    К устройству можно прикрепить:
    Веб-камеры
    фотокамеру
    Лазер
    Фонарик и т.д....
    Технические характеристики устройства следующие:
    Высота: 200 мм.
    Кол-во осей: 2
    Траектория: от -60 ° до + 240 ° по горизонтали, от 0 ° до ± 180 ° по вертикали
    Максимальная скорость вращения: 360 ° / сек.
    Общий вес: 920 грамм
    Шаг: 0,1 градус
    Максимальная полезная нагрузка без необходимости балансировки веса: 120 грамм
    Приводные двигатели: два шаговых двигателя NEMA17 1,8 °
    Может управлять светом / лазером от 12 В до 0,5 А через программное обеспечение при подключении к порту AUX на плате управления DEVIA.
    Прошивка: код Arduino. Управляющее программное обеспечение: Python.
    Совместимость с контроллерами Xbox / PS4
    Портативный (можно использовать любую аккумуляторную батарею от 9 до 15 В постоянного тока или источник питания)
    Устройство с дистанционным управлением для камеры, лазерной указки, фонарика и т.д.



    Шаг второй: 3D-печать
    Большинство деталей этого робота были напечатаны на 3D-принтере. Загрузить файлы для печати можно здесь.

    Шаг третий: сборка
    После печати деталей можно приступить к сборке.
    Начнем с простого: прикрепим один из 20 зубчатых шкивов к одному из двигателей NEMA17.

    Дальше прикручиваем нижний рычаг к опоре нижнего рычага. Пока не затягиваем полностью болты, так как еще нужно прикрепить двигатель NEMA17.

    Устанавливаем шарикоподшипник 6002 (красная стрелка) в шкив 80. Выступающее кольцо шкива должно находиться сбоку, касаясь опоры нижнего рычага. Затем с усилием вдавливаем шарикоподшипник 6002 и шкив в «ручку» опоры шкива нижнего рычага. Чтобы подшипник плотно садился в посадочное место, можно подмотать скотч.

    Установите и прикрутите крышку.

    Теперь устанавливаем другой шарикоподшипник 6002 в гнездо верхней опоры рычага. Затем переверните деталь и закрепите двигатель со шкивом используя болты 2x6 мм для верхних отверстий и 2 болта 10 мм, чтобы прикрепить правую часть детали UPPER ARM MOTOR HOLDER.

    Проверяем ориентацию двигателя. Разъем кабеля двигателя должен быть ориентирован таким образом, как на фото. Снимаем два болта в красных кружках. Они будут заменены на более длинные.

    Берем часть шкива и один из ремней GT2. Устанавливаем шкив в отверстие для шарикоподшипника 6002 и надеваем ремень. Теперь можно полностью затянуть болты, которые будут удерживать двигатель на месте.



    Дальше нужно прикрутить один из нескольких держателей.



    Доступны несколько «держателей» для разных предметов (лазерные указки, светодиодные фонари, фотоаппараты, фонарики…).

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

    Дальше соединяем две детали вместе. На шкиве есть четыре крепежных отверстия для этого.

    Прикручиваем верхний рычаг двигателя и закручиваем два винта.

    Устанавливаем двигатель.



    Устанавливаем второй двигатель и надеваем ремень.



    Прикручиваем ножки.

    С помощью болтов 15 мм и 6 мм, прикручиваем плату управления DEVIA к ножке штатива.

    Прикручиваем деталь.



    Шаг четвертый: программирование платы DEVIA
    Установите Arduino IDE на компьютер. Этот код был протестирован и разработан для IDE версии 1.8.11 и более поздних версий.
    Загрузите отсюда все файлы arduino. Скопируйте файлы в папку Laser_pointer_V X на жестком диске.
    Скомпилируйте и отправьте код на плату управления DEVIA :
    Откройте Arduino IDE.
    Откройте основной код в / Laser_pointer_V X / Laser_pointer_V X .ino
    Подключите плату DEVIA с помощью кабеля USB к ПК (Если это первое подключение Arduino к компьютеру возможно, потребуется установить драйвер).
    Выбираем плату Arduino / Genuino ZERO (собственный порт USB). В меню инструменты-> доска
    Выберите последовательный порт в инструментах-> последовательный порт.
    Загрузите код ( кнопка ЗАГРУЗИТЬ : стрелка указывает ВПРАВО).

    Шаг пятый: электроника
    Подключается все согласно схемы.

    Еще раз проверьте полярность кабелей двигателя, подключенных к плате управления. Если подключить кабель неправильно, мотор будет вращаться в обратном направлении.
    Никогда не подключайте кабель или модуль A4988 при включенном питании.
    Устанавливая радиаторы сверху модулей A4988, следите, чтобы они не касались металлических коллекторов, выступающих из модулей.
    Кабели должны позволять роботу свободно двигаться. Если они будут слишком натянуты, они ограничат движение робота. Убедившись, что кабели не мешают движениям, закрепите их стяжками.

    Шаг шестой: Управление роботом, код Python и Arduino
    Загружаем код Python отсюда.
    При этом уже должен быть установлен Python 3.8 на компьютере.
    И библиотеки:
    Pygame
    serial
    tkinter
    время
    Здесь можно узнать, как установить библиотеки.
    По сути, код python отправляет лазерному указателю два угла: азимут и высоту.

    Можно отправить эти два параметра через последовательный порт (USB-кабель, подключенный к плате управления DEVIA) или через WI-FI.
    Необходимо знать, какой COM-порт назначен компьютером плате управления DEVIA. Он будет отличаться на разных компьютерах. Его можно узнать, открыв Arduino IDE и проверив меню TOOLS-> PORT.

    В данном случае компьютер назначил COM3 устройству DEVIA.
    Это необходимо указать в коде Python в этой строке:
    COM_PORT = COM3 # You could check the Serial port number on Arduino

    Просто меняем порт COM3 на любой другой, который ему был назначен. Затем запускаем (нажав F5) код после сохранения изменений.
    В качестве альтернативы, если нужно управлять роботом через WI-FI, просто подключаем свой компьютер к сети. Панель управления DEVIA создаст соединение через несколько секунд после включения. Его имя должно быть что-то вроде JJROBOTS_XX . Используем этот пароль для доступа к сети: 87654321
    По умолчанию соединение будет установлено по WI-FI. Если нужно управлять роботом с лазерной указкой с помощью USB-кабеля, меняем эту строку кода и устанавливаем ее как «Истиную» :
    SERIAL_PORT = False———> SERIAL_PORT =True

    Азимут может изменяться от 0 ° (начальное положение лазерного указателя) до 360 °. Положительные значения приведут робота в движение, как показано на изображении. Можно установит 120° как с помощью команды
    sendAngles2(120,0,1)
    , так и с помощью
    sendAngles2(-240,0,1)
    .
    Высота может варьироваться от 0° (начальное положение лазерной указки) до 360°. Положительные значения приведут робота в движение, как показано на изображении стрелками перемещения. Можно установить 120° с помощью команды
    sendAngles2(0,120,1)

    Значения высоты ограничены размерами гаджета, который крепится к держателю.
    Есть еще одна команда для настройки. Она установит максимальную скорость и ускорение робота:
    sendCommand(b’JJAS’,50,0,70,0)

    Где b'JJAS - идентификатор заголовка команды отправляемого сообщения.
    И следующие значения:
    sendCommand (b'JJAS ', 50 , 0, 70 , 0)
    , где 50 указывает, что мы перемещаем лазерный указатель MOTOR1 на 50% от его максимальной скорости и 70% от максимального ускорения.
    sendCommand(b’JJAS’,MOTOR1 % SPEED, MOTOR2 % SPEED, MOTOR1%ACCEL, MOTOR2%ACCEL)

    Параметры MAX SPEED и MAX ACCEL определены в коде Arduino.
    Если открыть файл configuration.h, Arduino IDE, там будут все параметры, которые определяют поведение устройства: ограничения движения для обоих двигателей, а также максимальные скорости и ускорения.
    Так, например: если в коде Arduino максимальная скорость и ускорение определены следующим образом: #define MAX_SPEED_M1 16000 , #define MAX_ACCEL_M1 30 . И отдается эта команду: sendCommand (b'JJAS ', 50,0,70,0) , мы даем указание лазерной указке перемещать MOTOR1 со скоростью 50% от 16000 шагов в секунду (8000) и использовать до 70% его максимального ускорения (21).
    Ниже параметры «прошивки», которые Arduino будет использовать для перемещения лазерной указки.

    Если запустить файл laserpointer_control.py (управляющее приложение), мы увидим всплывающее меню, подобное этому:

    В окошке есть три строки. Можно отправить азимут и высоту, просто скопировав синтаксис, созданный программным обеспечением Stellarium
    Можно скопировать и вставить эти координаты в поле «AZ / ALT», и после нажатия «Go!» рычаг переместится и укажет на эту точку.
    121 ° 13'32,2 ″ + 21 ° 53'33,7 

    Можно просто заполнить файлы Угол 1 (Азимут) и Угол 2 (Высота) углами, на которые мы хотим переместить рычаг.
    Кроме того, можно перемещать лазерный указатель с помощью клавиатуры компьютера и / или контроллера Xbox / PS4, подключенного к ПК.
    Для клавиатуры: используем клавиши со стрелками.
    Клавиши со стрелками : нормальное движение
    CONTROL + клавиши со стрелками: более точное движение
    SHIFT + клавиши со стрелками: более быстрое движение
    Чтобы управлять лазерной указкой с помощью контроллера, просто подключите его к компьютеру. Затем запустите приложение управления и переместите рычаг, используя правый джойстик.

    Элемент управления Python: пример кода
    Загрузите пример кода отсюда (laserpointer_control EXAMPLE 1.zip)
    В этом коде есть дополнительные линии, которые будут перемещать лазерный указатель в определенные положения. В этом случае лазер 10 раз нарисует своего рода «крест»: определяется линией ( для i в диапазоне(0,10): )
    Движение робота определяется командой sendAngles2 (азимут, высота, время). Даем роботу 0,2 секунды на завершение движения (из кода t = 0,2 ). Если «цель» не будет достигнута в течение этих 0,2 секунды, робот перейдет к следующей точке и попытается переместиться к ней в течение времени, назначенного для этого нового движения (опять же, 0,2 секунды). Координаты, на которые будет указывать робот: 8,0 -> 0,0 -> -8,0 -> 0,0 -> 0,8 …
    <code>#########################################       
    ### CUSTOM MOVEMENT
    ########################################
    for i in range(0,10):
        t=0.2 #Time we are giving the robot to get there. If the movement takes too long to reproduce,
              #the robot will move to the next one even when the previous has not been completed.
        sendAngles2(8,0,t)
        sendAngles2(0,0,t)   
        sendAngles2(-8,0,t)
        sendAngles2(0,0,t)
        sendAngles2(0,8,t)
        sendAngles2(0,0,t)
        sendAngles2(0,-8,t)
        sendAngles2(0,0,t)

    Все готово.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 1 / История оценок)

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии