+7-960-0655211 (Билайн)
+7-987-4207734 (МТС)

интернет-магазин
доставка по России и СНГ
работаем с 2010 года

Робот-паук

Часть 1

Робот-паук

01.jpg


Это мой первый проект четырёхногого робота. Разработка первой версии длилась около года, последняя модификация уже четвёртая. Есть два варианта исполнения - под сервоприводы sg90 и mg90. Если интересна история развития проекта, можете посмотреть её в моём блоге http://regishsu.blogspot.tw/search/label/0.SpiderRobot%E8%9C%98%E8%9B%9B.

Ещё два проекта, связанных с пауком – это симулятор на vPython и дистанционное управление с использованием Bluetooth. Они будут рассмотрены во второй и третьей части.

Делать такого паука весело, однако для его реализации Вам потребуется время и терпение.

Скачать все необходимые файлы можно по этой ссылке https://github.com/Swarg64/SpiderRobot_RegisHsu.


Шаг 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 макетная плата 5x7см;

  • Немного штыревых разъёмов PLS и PBS;

  • Немного одножильного или многожильного провода.

Шаг 2: делаем основную плату

02.png

03.jpg 06.jpg

04.jpg 05.jpg

Несколько советов по сборке печатной платы:

  1. До установки на плату, убедитесь, что подстроечный резистор на модуле понижающего DC-DC преобразователя настроен правильно и на выходе модуля 5В;

  2. Сервоприводы потребляют почти 3А в режиме полной нагрузки, используйте достаточно толстый провод;

  3. Когда закончите пайку, с помощью мультиметра проверьте что бы не были соединены соседние выводы, которые не должны быть соединены;

  4. Вместо пайки модулей непосредственно на макетную плату, запаяйте PLS и PBS разъёмы, в которые уже будут устанавливаться Arduino, модуль DC-DC, Bluetooth и сервоприводы;

  5. Светодиод будет светиться, пока выключатель выключен. Так было сделано для проверки, исправен ли источник питания.

Шаг 3: проверка основной платы

07.jpg

Не подключайте модуль 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: механические детали

08.jpg 09.jpg

Моделирование производилось в программе в Sketchup Make. Кроме STL файлов, исходный файл моделей в Sketchup так же в открытом доступе.

Файлы для SG90 находятся в архиве Spider_robotquad_robot_quadruped-SG90.zip (папка "Spider\3D parts").

Список деталей и их количество:

  • 1x body_d.stl

  • 1x body_u.stl

  • 2x coxa_l.stl

  • 2x coxa_r.stl

  • 2x tibia_l.stl

  • 2x tibia_r.stl

  • 4x femur_1.stl

  • 8x s_hold.stl

Файлы для MG90 находятся в архиве Spider_robotquad_robot_quadruped-MG90.zip.

Список деталей и их количество:

  • 2x tibia-f.stl

  • 2x tibia-b.stl

  • 2x coxa-f.stl

  • 2x coxa-b.stl

  • 4x femur.stl

  • 8x hinge.stl

  • 1x body-u.stl

  • 1x body-m.stl

  • 1x body-d.stl

Шаг 5: печать

10.jpg

11.jpg12.jpg13.jpg

Перед печатью проверьте настройки, печать займет много времени.

Мои настройки:

- плотность заполнения - 15%

- сопло - 0.3мм

- скорость печати - 65

Шаг 6: подготовка к сборке

14.jpg

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

Шаг 7: начинаем собирать

15.jpg

Размещаем аккумулятор между верхней и нижней частью корпуса и соединяем с помощью четырёх винтов M3x25мм.

Шаг 8: сборка ног

16.jpg

Сервоприводы прикручиваем винтами M1.6x3мм.

Примечания:

1. Соедините все детали, но не устанавливайте качалку сервопривода на этом этапе;

2. Ориентируйтесь по фотографии и убедитесь, что все детали сориентированы правильно.

Шаг 9: собираем все 4 ноги

17.jpg

Соединяем все ноги с корпусом и проверяем, что все суставы двигаются гладко.

Шаг 10: подключение сервоприводов к основной плате

18.jpg

19.jpg

Размещаем основную плату на корпусе фиксируя её клеем или двусторонней липкой лентой. Ориентируясь по изображениям (цифрами помечено какие сервоприводы куда подключаются), подключаем все сервоприводы.

При подключении сервоприводов нужно не перепутать как подключать штекеры. На изображении основной платы вверху справа над разъёмами зелёным цветом указано где какие выводы ("S", "+" и "-").

20.jpg

Распиновка:

  • коричневый - земля ("-")

  • красный - плюс питания ("+")

  • сигнальный ("S")

Шаг 11: установка качалок

21.jpg

Для нормальной работы это важная процедура:

  • Загружаем скетч legs_init.ino в Arduino, чтобы сервоприводы провернули вал в начальное положение;

  • Выставляем ноги, как показано на изображении выше;

  • Устанавливаем на валы качалки и фиксируем их, вкручивая винты.

Шаг 12: провода

22.jpg

Что бы провода не мешались, и паук нормально выглядел, организуем провода. На этом сборка завершена.

Шаг 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 и т.д.).


01.jpg

02.jpg

03.jpg

04.jpg

05.jpg06.jpg

07.jpg08.jpg

09.jpg

10.jpg

Часть 2

Симулятор




01.jpg

Я использую vPython для симуляции движений моего робота-паука. Это упрощает проработку движений, которые затем реализуются на Arduino.
VPython - это язык программирования Python плюс модуль трехмерной графики. VPython позволяет легко создавать трехмерные интерфейсы и анимацию даже для тех, кто имеет ограниченный опыт программирования. Поскольку он основан на Python, он также может многое предложить опытным программистам.

Шаг 1: установка

Установить Python. Я рекомендую использовать версию 2.7.x
https://www.python.org/
потом vPython
https://vpython.org/contents/overview.html
и редактор PyCharm
https://www.jetbrains.com/pycharm/

Шаг 2: загрузка кода и запуск

В редакторе PyCharm откройте файл Spider_robot_vpython.py и запустите код. Вы увидите на экране причудливого трехмерного робота-паука.
Для управления используйте мышь. Зажав (нажать и держать) правую кнопку и перемещая мышь - вращение. Зажав среднюю (или одновременно правую и левую) и перемещая мышь - зум.
Создавайте свои движения в этом симуляторе.

02.jpg
03.jpg
04.jpg


Часть 3

Управление по Bluetooth


01.jpg

Шаг 1. подключение модуля Bluetooth

02.jpg
03.jpg
04.jpg

Модули Bluetooth HC-06 и HC-05 очень популярные для Arduino. Оба модуля сделаны на одном чипе, но есть и отличия. Основное отличие заключается в том, что HC-06 может работать только в режиме ведомого. А HC-05 работает и в режиме ведомого и в режиме ведущего. В данном проекте используется HC-06.

При включении питания модуль HC-06 находится в режиме ожидания подключения. В этом режиме будет мигать светодиод. После подключения светодиод постоянно светиться.

Шаг 2: загрузка кода

07.jpg
Установите библиотеку из архива 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: подключение

1. Выполните процесс сопряжения перед подключением к роботу-пауку. Пин-код по умолчанию "1234";
2. В Arduino IDE установите порт для блютуза, подключенного к компьютеру;
3. Откройте "монитор порта" (находится в меню "Инструменты");
4. Проверьте настройки последовательного порта.

05.jpg

Теперь мы можем отправлять команды для управления.

Набор команд:
  • 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.

06.jpg



Я все еще не закончил работу над пультом, все наработки можете посмотреть в моем блоге по ссылке http://regishsu.blogspot.tw/2015/09/robot-quadruped-robot-remoter.html 

Автор: 許英豪 (RegisHsu)
Адаптация и перевод для RobotoTehnika.ru: Swarg