- Робот-паук
- Часть 1 — Робот-паук
- Шаг 1: электроника
- Шаг 2: делаем основную плату
- Шаг 3: проверка основной платы
- Шаг 4: механические детали
- Шаг 5: печать
- Шаг 6: подготовка к сборке
- Шаг 7: начинаем собирать
- Шаг 8: сборка ног
- Шаг 9: собираем все 4 ноги
- Шаг 10: подключение сервоприводов к основной плате
- Шаг 11: установка качалок
- Шаг 12: провода
- Шаг 13: демонстрационный код
- Шаг 14: дальнейшее развитие проекта
- Часть 2 — Симулятор
- Шаг 1: установка
- Шаг 2: загрузка кода и запуск
- Часть 3 — Управление по Bluetooth
- Шаг 2: загрузка кода
- Шаг 3: подключение
- Как своими руками сделать паукообразного робота на Arduino
Робот-паук
Часть 1 — Робот-паук
Это мой первый проект четырёхногого робота. Разработка первой версии длилась около года, последняя модификация уже четвёртая. Есть два варианта исполнения — под сервоприводы sg90 и mg90. Если интересна история развития проекта, можете посмотреть её в блоге.
Ещё два проекта, связанных с пауком – это симулятор на vPython и дистанционное управление с использованием Bluetooth. Они будут рассмотрены во второй и третьей части.
Делать такого паука весело, однако для его реализации Вам потребуется время и терпение.
Скачать все необходимые файлы можно по этой ссылке.
Шаг 1: электроника
Список основных деталей:
1 x Arduino Pro Mini;
1 x 3А понижающий DC-DC преобразователь;
1 x модуль Bluetooth HC-06 или HC-05 (не обязательно);
12 x сервоприводов SG90 или MG90;
1 x 3000мАч литиевый аккумулятор (DC12300, 90x43x17мм);
1 x разъём питания;
1 x 680 Ом 1/4 Вт 5% резистор;
1 x 3мм светодиод;
1 x выключатель;
1 x макетная плата 5×7см;
Немного штыревых разъёмов PLS и PBS;
Немного одножильного или многожильного провода.
Шаг 2: делаем основную плату
Несколько советов по сборке печатной платы:
До установки на плату, убедитесь, что подстроечный резистор на модуле понижающего DC-DC преобразователя настроен правильно и на выходе модуля 5В;
Сервоприводы потребляют почти 3А в режиме полной нагрузки, используйте достаточно толстый провод;
Когда закончите пайку, с помощью мультиметра проверьте что бы не были соединены соседние выводы, которые не должны быть соединены;
Вместо пайки модулей непосредственно на макетную плату, запаяйте PLS и PBS разъёмы, в которые уже будут устанавливаться Arduino, модуль DC-DC, Bluetooth и сервоприводы;
Светодиод будет светиться, пока выключатель выключен. Так было сделано для проверки, исправен ли источник питания.
Шаг 3: проверка основной платы
Не подключайте модуль DC-DC и Arduino Pro Mini к основной плате.
Подключите аккумулятор к разъему основной платы.
Проверьте светодиод, если он светиться, это хорошее начало.
Нажмите выключатель питания, светодиод должен погаснуть.
С помощью мультиметра проверьте правильность всех выводов +5В и GND.
Нажмите выключатель питания, чтобы выключить питание, светодиод опять должен светиться.
Подключите DC-DC и Arduino Pro Mini к основной плате.
Нажмите выключатель питания, светодиод выключится, но светодиод Arduino Pro Mini включится.
Отключите питание и подключите сервопривод к первому ряду разъемов Leg1 основной платы (вывод 2 Arduino).
Загрузите скетч servo_test.ino в Arduino, сервопривод должен начать вращать вал от 0 до 180 градусов.
Шаг 4: механические детали
Моделирование производилось в программе в Sketchup Make. Кроме STL файлов, исходный файл моделей в Sketchup так же в открытом доступе.
Файлы для SG90 находятся в архиве Spider_robotquad_robot_quadruped-SG90.zip (папка «Spider\3D parts»).
Список деталей и их количество:
Файлы для MG90 находятся в архиве Spider_robotquad_robot_quadruped-MG90.zip.
Список деталей и их количество:
Шаг 5: печать
Перед печатью проверьте настройки, печать займет много времени.
— плотность заполнения — 15%
— скорость печати — 65
Шаг 6: подготовка к сборке
Снимаем детали, проверяем качество печати объектов, удаляем бримы и затем наждачной бумагой полируем поверхность, чтобы она выглядела хорошо.
Шаг 7: начинаем собирать
Размещаем аккумулятор между верхней и нижней частью корпуса и соединяем с помощью четырёх винтов M3x25мм.
Шаг 8: сборка ног
Сервоприводы прикручиваем винтами M1.6×3мм.
1. Соедините все детали, но не устанавливайте качалку сервопривода на этом этапе;
2. Ориентируйтесь по фотографии и убедитесь, что все детали сориентированы правильно.
Шаг 9: собираем все 4 ноги
Соединяем все ноги с корпусом и проверяем, что все суставы двигаются гладко.
Шаг 10: подключение сервоприводов к основной плате
Размещаем основную плату на корпусе фиксируя её клеем или двусторонней липкой лентой. Ориентируясь по изображениям (цифрами помечено какие сервоприводы куда подключаются), подключаем все сервоприводы.
При подключении сервоприводов нужно не перепутать как подключать штекеры. На изображении основной платы вверху справа над разъёмами зелёным цветом указано где какие выводы («S», «+» и «-«).
красный — плюс питания («+»)
Шаг 11: установка качалок
Для нормальной работы это важная процедура:
Загружаем скетч legs_init.ino в Arduino, чтобы сервоприводы провернули вал в начальное положение;
Выставляем ноги, как показано на изображении выше;
Устанавливаем на валы качалки и фиксируем их, вкручивая винты.
Шаг 12: провода
Что бы провода не мешались, и паук нормально выглядел, организуем провода. На этом сборка завершена.
Шаг 13: демонстрационный код
Устанавливаем библиотеку FlexiTimer2 (архив в файле flexitimer2_lib.zip).
Загружаем скетч spider_open_v1.ino в Arduino.
Вы увидите следующую демонстрационную последовательность движений:
1. встать, подождать 2сек
2. вперед на 5 шагов, подождать 2 секунды
3. назад на 5 шагов, подождать 2 секунды
4. поворот направо, подождать 2 секунды
5. поворот налево, подождать 2 секунды
6. движение «помахать рукой», подождать 2 сек
7. движение «пожать руку», подождать 2 сек
8. сесть, подождать 2 сек
9. вернуться к первому шагу
В скетче spider_open_v3.ino добавлено движение «танец».
Шаг 14: дальнейшее развитие проекта
Это хороший проект для старта и его можно адаптировать под себя. Можно добавить больше функций, например, динамическое изменение скорости движения. Реализовать дистанционное управление. Использовать другие аккумуляторы (18650 li-ion или пальчиковые Ni-Mh), добавить датчиков и т.д.
Перед аккумулятором нет платы защиты, и нужно следить что бы аккумулятор не разрядился слишком сильно. В противном случае это может привести к значительному снижению ресурса аккумулятора или выходу его из строя. В своём проекте Вы можете добавить плату защиты (как минимум с функцией защиты от глубокого разряда).
Кому больше нравиться собирать из модулей, а не паять, можно использовать другие детали. Вы можете сделать свой ремикс корпуса или использовать ремиксы, сделанные другими людьми:
https://www.thingiverse.com/thing:1009659/remixes
https://www.thingiverse.com/thing:2825097
https://www.thingiverse.com/thing:2901132
Часть 2 — Симулятор
Я использую vPython для симуляции движений моего робота-паука. Это упрощает проработку движений, которые затем реализуются на Arduino.
VPython — это язык программирования Python плюс модуль трехмерной графики. VPython позволяет легко создавать трехмерные интерфейсы и анимацию даже для тех, кто имеет ограниченный опыт программирования. Поскольку он основан на Python, он также может многое предложить опытным программистам.
Шаг 1: установка
Шаг 2: загрузка кода и запуск
В редакторе PyCharm откройте файл Spider_robot_vpython.py и запустите код. Вы увидите на экране причудливого трехмерного робота-паука.
Для управления используйте мышь. Зажав (нажать и держать) правую кнопку и перемещая мышь — вращение. Зажав среднюю (или одновременно правую и левую) и перемещая мышь — зум.
Создавайте свои движения в этом симуляторе.
Часть 3 — Управление по Bluetooth
Модули Bluetooth HC-06 и HC-05 очень популярные для Arduino. Оба модуля сделаны на одном чипе, но есть и отличия. Основное отличие заключается в том, что HC-06 может работать только в режиме ведомого. А HC-05 работает и в режиме ведомого и в режиме ведущего. В данном проекте используется HC-06.
При включении питания модуль HC-06 находится в режиме ожидания подключения. В этом режиме будет мигать светодиод. После подключения светодиод постоянно светиться.
Шаг 2: загрузка кода
Установите библиотеку из архива Arduino-serialcommand.zip.
Загрузите spider_open_v3.ino (из папки RemoteControl) в Arduino робота-паука.
Замечания:
Убедитесь, что HC-06 настроен корректно. Значения по умолчанию: 9600 бод, N, 8, 1. Pin-код «1234».
Если хотите изменить настройки, смотрите документацию. Документация на модули серии HC находится в файле «HC BT Module.pdf» (папка RemoteControl).
Я изменил скорость передачи данных на 57600. Для Arduino и модуля Bluetooth скорость должна быть настроена одинаково. Если модуль настроен на скорость 9600, 57600 или ещё сколько, в скетче spider_open_v3.ino должна быть такая же скорость.
void setup() <
//start serial for debug
Serial.begin(57600);
Шаг 3: подключение
Теперь мы можем отправлять команды для управления.
Набор команд:
- w 0 1 — подняться;
- w 0 0 — опуститься;
- w 1 x — вперёд на x шагов;
- w 2 x — назад на x шагов;
- w 3 x — повернуть на право на x шагов;
- w 4 x — повернуть на лево на x шагов;
- w 5 x — движение » рукопожатие» x раз;
- w 6 x — движение «помахать лапой» x раз
Например, «w 0 1» это команда встать, а «w 1 5» это пройти на 5 шагов вперед.
С компьютера или ноутбука управлять можно не только через «монитор порта» в Arduino Ide или другом терминале, Вы можете создать свою программу. Ещё можно реализовать управление со смартфона, планшета или другой платы Arduino. Для телефонов и планшетов под управлением ОС Android в Google Play много программ терминалов, их можно использовать для тестового подключения. Очень легко создать свой пульт управления, используя MIT App Inventor.
Источник
Как своими руками сделать паукообразного робота на Arduino
Для тех, кто решил проверить свои силы в области роботостроения и заодно желает изучить возможности платформы Ardunio, есть отличный способ это сделать, собрав робота-паука, который будет описан в этой статье. В качестве основных силовых элементов, благодаря которым робот будет передвигаться, являются сервоприводы. Что касается мозга, то здесь в качестве него выступает Arduino, а также Fischertechnik. По словам автора, робот получился довольно интересным и перспективным.
Материалы и инструменты для изготовления:
— набор лезвий;
— термоклей;
— дремель (нужны очень тонкие сверла);
— винтоверт;
— дрель со сверлом 7/32;
— крестообразная отвертка;
— лезвие;
— отсек для батареек;
— макетная плата.
Из электроники понадобится:
— восемь микросервоприводов с кронштейнами;
— 6 батареек типа АА и прищепка;
— много перемычек и контактных разъемов.
В качестве программной части будет нужна Arduino с блоком питания.
И запчастей необходим набор Fischertechnik.
Процесс изготовления робота. :
Шаг первый. Создаем каркас робота
Чтобы изготовить каркас понадобится набор Fischertechnik. Как он должен выглядеть, можно увидеть на фото. Для создания каркаса нужны три высоких «кирпичика», между ними должно иметься четыре отверстия. Конкретно в этой самоделке будет использоваться элемент с 11-ю вырезами. Важно убедится в том, чтобы все сервоприводы были рабочими.
Шаг второй. Устанавливаем сервоприводы
Сервоприводы будут устанавливаться между «кирпичиками». Сервоприводы фиксируются с помощью винтов, для этого предварительно в местах крепления с помощью дремеля нужно просверлить отверстия. Сверлить нужно отверстия самого малого диаметра. Впрочем, для этих целей подойдет и термоклей, но в таком случае конструкция будет неразборной.
Второй сервопривод устанавливается на другой стороне вспять.
Шаг третий. Установка одного серводвигателя на другой
В первую очередь нужно разобраться с элементами крепления сервоприводов. Если двигатель вращается в противоположную сторону, его нужно повернуть до упора вправо. Как это сделать, можно увидеть на фотографии.
Конкретно в данном случае винт сервопривода должен выступать над пластиком, благодаря этому он будет подвижным. В корпусе второго сервопривода нужно проделать углубление под головку винта.
Что
Что-бы соединить два сервопривода используется горячий клей.
Шаг четвертый. Подсоединяем ноги
Как изготовить ноги, можно увидеть на фото. Всего их должно быть четыре.
Шаг шестой. Макетная плата
Нужно вытащить все 30 перемычек. Далее все нужно соединить проводами так, как указано на схеме. На каждом сервоприводе есть три контакта, один отвечает за заземление, через один подается питание, а еще один нужен для контроля двигателя.
Контакты сервопривода Vcc и GND нужно соединить с контактами макета Vcc и GND. Также к каналам макета GND и Vcc подключается источник питания мощностью 7.5В.
Провода для управления сервоприводом окрашены в оранжевый и желтый цвет. Они подключаются к контактам 2 и 9. К примеру, контакт от первого двигателя подключается ко второму контакту на Arduino. Второй двигатель подключается уже к третьему контакту и так далее.
Ну и наконец, чтобы робот пошел, нужно скомбинировать переднюю и заднюю часть. Как можно отметить, программный код робота состоит из четырех блоков.
Вот и все, робот готов. Теперь на него можно устанавливать различные датчики, которые позволят роботу ориентироваться в пространстве. Также можно сделать роботу руки, чтобы он мог брать предметы. В общем, здесь уже все зависит от энтузиазма и воображения роботостроителя. Впрочем, даже в таком виде робот ведет себя довольно интересно.
Источник