Роботизированная рука 5 степеней свободы на Arduino Yun с управлением через Blynk
Компоненты и материалы
| Arduino Yun | × | 1 |
| Сервоприводы Tower Pro MG996R | × | 5 |
Приложения и сервисы
| Blynk |
| MATLAB |
О проекте
Это моя первая роботизированная рука со следующими особенностями:
- 5 степеней свободы (фактически 4, если не считать захват)
- Управляющий контроллер — Arduino Yun с IoT-возможностями
- Интерфейс управления создан в приложении Blynk
- Прямая кинематика реализована в MATLAB с использованием Robotics Toolbox
- Написана собственная библиотека для плавного движения
Результат меня очень устраивает, поэтому делюсь опытом и инструкцией по сборке.
Компоненты и материалы
Для сборки робота понадобятся:
- 1 × Arduino Yun (или другая плата Arduino)
- 5 × сервоприводов
- 1 × зарядное устройство 5V, мин. 2.5 А
- 2 × светодиода
- 2 × резистора: 100 Ом (для красного) и 150 Ом (для синего)
- 2 × деревянные палочки для смешивания
- 1 × металлическая проволока
- 1 × пластиковый лист (я взял от бутылки с гелем для душа)
- 1 × резинка
- 2 × маленькие губки (см. левый верхний угол фото)
- 9 × пластиковых винтов M3
- 6 × пластиковых винтов M2.5
- 1 × деревянная пластина 3 мм (30×50 см с запасом)
- 1 × клей для дерева
- Время на программирование

Сборка робота
Начните с измерения размеров сервоприводов и проверки их крутящего момента. Это определит размеры рычагов и всего робота. Я заказал 2 пары разных микросервоприводов с высоким моментом: первая пара и вторая пара. Они поворачивают до 140° (хотя указано 120°). Рекомендую брать сервоприводы на 180° для большего диапазона.
Для захвата не нужен высокий момент — подойдет самый дешевый микросервопривод.
Вырежьте рычаги как на фото 1. Дизайн может быть любым — проявляйте креативность. Соберите захват: палочка для смешивания, разрезанная пополам, плюс пластиковый лист как возвратная пружина. Провода внутри замыкают/размыкают захват. Ось захвата — винт M3. Сервопривод захвата расположен с другой стороны рычага для баланса веса. Передача движения — через вторую палочку (см. фото 2, верх робота).
Соберите базу и плиту для базового сервопривода и платы Arduino Yun. Собрав всё, получите конструкцию как на фото 2.
Для лучшего вида зашлифуйте и покрасьте деревянные детали (фото 3). Я выбрал серебристый цвет (под металл) с красными полосами. Итоговый результат — фото 4.




Программное обеспечение
Начал с создания интерфейса в Blynk. Если не знакомы — посмотрите их сайт, процесс простой и интуитивный.
Примечание: Если у вас нет платы с выходом в интернет, Blynk можно использовать с обычной платой (например, Arduino Uno) через USB-порт. Инструкция здесь.
Переходим в Arduino IDE. Для удобства прилагаю код — можно использовать сразу. Для запуска:
- Настройте плату Arduino Yun.
- Установите библиотеку Blynk: Sketch → Include Library → Manage Libraries, найдите Blynk, установите.
- Добавьте библиотеку SimpleTimer в папку
Arduino\libraries\SimpleTimer. - Добавьте мою библиотеку MotionGenerator в папку
Arduino\libraries\MotionGenerator. - Скомпилируйте и загрузите
RobotArm_instructables.ino(не забудьте обновить Blynk token!)



Библиотека MotionGenerator — аналитическое решение для плавных переходов между точками с ограничением максимальной скорости и ускорения.
Опционально (прямая кинематика, см. фото 3): Нужен MATLAB и Robotics Toolbox. Робот должен быть подключен к Blynk и к компьютеру по USB. MATLAB получает данные от Arduino через последовательный порт. Укажите правильный COM-порт в MainScrip.m и запустите его.
Примечание: кинематика рассчитана для моего робота. Для вашего могут отличаться размеры — скорректируйте в robotKinematicsFcn.m.
Код
Исходные файлы (C/C++)
ZIP-архив с исходным кодом. Предпросмотр недоступен (только скачивание).
Схемы

Производственный процесс
- Makerarm: универсальный настольный робот-манипулятор для мейкеров
- Arduino запускает Portenta H7: Industrial-Grade IoT Board дебютирует на CES
- Как создаются манипуляторы роботов: проектирование и функции
- IoT-монитор пульса в реальном времени на Arduino и MAX30100
- Удаленное IoT-управление самодельной манипулятором
- Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
- Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
- Умная робо-рука на Arduino: простое DIY-руководство
- Система управления бассейном на Azure IoT: умные датчики и удаленный мониторинг
- Промышленные роботы-манипуляторы: Движущая сила производственной революции