Как своими руками сделать паукообразного робота на Arduino

Принцип работы ультразвукового датчика HC-SR04

Ультразвуковой датчик HC-SR04 используется для измерения расстояний в диапазоне 2-400 см с точностью 3 мм. Датчик состоит из ультразвукового передатчика, ультразвукового приемника и схемы управления.

Как своими руками сделать паукообразного робота на Arduino

Ультразвуковой датчик HC-SR04 обеспечивает на своем выходе сигнал, пропорциональный дистанции до препятствия. Датчик генерирует звуковые колебания в ультразвуковом диапазоне (после получения управляющего импульса) и после этого ждет когда они вернутся к нему (эхо), отразившись от какого-нибудь препятствия. Затем, основываясь на скорости звука (340 м/с) и времени, необходимом для того чтобы эхо достигло источника (нашего датчика), датчик обеспечивает на своем выходе сигнал, пропорциональный расстоянию до препятствия.

Как своими руками сделать паукообразного робота на Arduino

Как показано на рисунке сначала нам нужно инициировать датчик для измерения расстояний, для этого на его триггерный контакт (trigger pin) необходимо подать логический сигнал высокого уровня длительностью не менее 10 мкс, после этого датчик генерирует серию звуковых колебаний и после получения отраженного сигнала (эхо) датчик обеспечивает на своем выходе сигнал, пропорциональный расстоянию между ним и препятствием.

Ультразвуковой сигнал отражается от поверхности, возвращается обратно и улавливается приемником ультразвукового сигнала датчика. После этого на контакте Echo датчика устанавливается напряжение высокого уровня (high) на время, пропорциональное расстоянию до препятствия.

Как своими руками сделать паукообразного робота на Arduino

После этого расстояние до препятствия можно рассчитать по следующей формуле:

Distance= (Time x Speed of Sound in Air (343 m/s))/2

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

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

Сборка

Скажу сразу, что очень удобно пользоваться готовым комплектом механических деталей. Не надо ничего сверлить, пилить, гнуть. В общем, просто сказка! Шестеренки, которые крепятся на вал сервопривода, нужно обязательно ставить металлические, а не те пластиковые, что идут в комплекте. Самое главное – это правильно собрать «плечевой» сустав гексапода. Нужно определенным образом соединить две изогнутые детали, я почему-то назвал их каретками.

Как своими руками сделать паукообразного робота на Arduino

В каждую такую конструкцию потом будет установлено два сервопривода

Необходимо обратить внимание, что передние ноги отличаются от средних и задних расположением осевого винта. Детали Femur (бедро) и Tibia (голень) соединяем под углом 120°

Это будет среднее положение конечности, диапазон ее хода составит ±60°, от выпрямленной ноги до согнутой под 60°. К плечам крепим ноги под углом 0°. Ноги растут у него от плеч, вот такой монстр))) Но мне было проще называть тазобедренный сустав плечевым. Парадокс!

Как своими руками сделать паукообразного робота на Arduino

Ну и наконец ставим плечи на корпус. Средние ноги ставим параллельно, а задние и передние – под углом 45 градусов. Чтобы проще понять, смотрите рисунок ниже.

Как своими руками сделать паукообразного робота на Arduino

Устанавливаем плату микроконтроллера на корпус через пластиковые шайбы, чтобы обеспечить зазор между корпусом. Микроконтроллер STM32F407 был выбран, что называется с запасом. В будущем я планирую развивать проект дальше, поэтому дополнительные вычислительные мощности мне пригодятся.

Как своими руками сделать паукообразного робота на Arduino

Схема электрическая принципиальная представлена ниже:

Что такое квадрокоптер?

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

Квадрокоптер — это летающее устройство с четырьмя «ногами», на каждой из которых установлен мотор с пропеллером. Квадрокоптеры по своей сути схожи с вертолетами, но перемещение, поворот, наклон у них обеспечивается за счет синхронной работы четырех пропеллеров. Кроме того, у квадрокоптеров существует такое понятие как “pitch” (“тангаж”) – поворот вокруг продольной оси. Для того, чтобы стабилизировать полет квадрокоптера, два пропеллера вращаются в одно направлении (по часовой стрелке), а два — в противоположном направлении (против часовой стрелки). Благодаря этой возможности — зависать в одном положении в воздухе, квадрокоптеры в первую очередь используются для фотографии с воздуха и видеосъемки. Конечно же, квадрокоптеры и остальные подобные устройства со множеством двигателей, используются в спасательных операциях, полицией, военными и т.п. В последнее время стоимость компонентов для производства квадрокоптеров значительно уменьшилась и многие компании принялись за их производство. Купить готовое изделие на сегодняшний день не составит проблем.

Итак, вы уже немного сориентировались, что такое квадрокоптер, давайте теперь перейдем к краткому описанию процесса его изготовления.

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

В большинстве случаев используются микроконтроллеры и безщеточные (вентильные) моторы. В качестве контроллера было решено использовать Arduino, так как это идеальная платформа с точки зрения цены. Первая проблема, которая возникла — безщеточные двигатели. Помните, мы ведь ориентируемся на бюджет в 60 $. А стоимость одного безщеточного двигателя, который можно использовать в нашей конструкции квадрокоптера, колеблется в диапазоне от 20 $ до 60 $! Кроме того, использование этих моторов предполагает установку дополнительных контроллеров — speedcontrollers. Так что было решено использовать щеточные двигатели. Габариты нашего квадрокоптера небольшие, так что были куплены моторы с относительно маленьким крутящим моментом. Гугл подсказал, что квадрокоптеры с подобными приводами существуют. Найденные моторы могут поднять до 55 грамм веса, что нас вполне устроило. Следующий шаг — решение проблем стабилизации моторов с помощью гироскопов и акселерометров. Гироскоп — это устройство, которое использует гравитацию Земли для определения угла наклона (ориентации) в пространстве. Классическая конструкция гироскопа состоит из свободно вращающегося диска, который называется ротором. Ротор установлен на оси, которая расположена по центру большего, более стабильного колеса. При вращении оси ротор остается в статичном состоянии, которое соответствует центру гравитации. Акселерометр же представляет из себя компактное устройство, которое используется для измерения ускорения. Когда объект выходит из состояния покоя (начинает двигаться) акселерометр фиксирует вибрации, которые возникают при этом движении. В акселерометрах используются микроскопические кристаллы, которые генерируют напряжение при ударах. Это напряжение снимается и формируется значение ускорения. Эти два сенсора обязательны в квадрокоптере. Именно на основании их показаний формируется управляющий сигнал, который регулирует скорость вращения двигателей для обеспечения крена, перемещения или стабилизации нашего квадрокоптера.

Как своими руками сделать паукообразного робота на Arduino

Программное обеспечение

Основной каркас ПО был уже написан в предыдущем проекте, смотрите статью «Робот-муравей: Программирование». Основные изменения связаны с переходом на новый микроконтроллер STM32F407VET6. Еще я обнаружил косяк, связанный с алгоритмом поворота. В прошлой версии при повороте робот как бы перетаптывается с ноги на ногу. Т.е. делает шаг, потом переходит в исходное положение и т.д. В общем нет непрерывного движения. Старый вариант можно посмотреть здесь. В новой версии я это исправил, робот-паук изящно крутится на месте вокруг своей оси.

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

Популярные статьи  Книжка-игольница своими руками: оригинальная и полезная вещица!

Все необходимые файлы (прошивка, пульт, инструкция) можно скачать ниже:

  • прошивка для STM32F407
  • пульт управления роботом
  • инструкция по калибровке

Как самому собрать такого робота можно посмотреть на видео ниже.

Теория

В теории управления, удерживая некоторую переменную (в данном случае позицию робота), требуется специальный контроллер, называемый ПИД (пропорциональная интегральная производная). Каждый из этих параметров имеет «прирост», обычно называемый Kp, Ki и Kd. PID обеспечивает коррекцию между желаемым значением (или входом) и фактическим значением (или выходом). Разница между входом и выходом называется «ошибкой».

ПИД-регулятор уменьшает погрешность до наименьшего возможного значения, постоянно регулируя выход. В нашем самобалансирующем роботе Arduino вход (который является желаемым наклоном в градусах) устанавливается программным обеспечением. MPU6050 считывает текущий наклон робота и подает его на алгоритм PID, который выполняет вычисления для управления двигателем и удерживает робота в вертикальном положении.

PID требует, чтобы значения Kp, Ki и Kd были настроены на оптимальные значения. Инженеры используют программное обеспечение, такое как MATLAB, для автоматического вычисления этих значений. К сожалению, мы не можем использовать MATLAB в нашем случае, потому что это еще больше усложнит проект. Вместо этого мы будем настраивать значения PID. Вот как это сделать:

  1. Сделайте Kp, Ki и Kd равными нулю.
  2. Отрегулируйте Kp. Слишком маленький Kp заставит робота упасть, потому что исправления недостаточно. Слишком много Kp заставляет робота идти дико вперед и назад. Хороший Kp сделает так, что робот будет совсем немного отклоняться назад и вперед (или немного осциллирует).
  3. Как только Kp установлен, отрегулируйте Kd. Хорошее значение Kd уменьшит колебания, пока робот не станет почти устойчивым. Кроме того, правильное Kd будет удерживать робота, даже если его толькать.
  4. Наконец, установите Ki. При включении робот будет колебаться, даже если Kp и Kd установлены, но будет стабилизироваться во времени. Правильное значение Ki сократит время, необходимое для стабилизации робота.

Поведение робота можно посмотреть ниже на видео:

Корпус для робота-паука на Arduino

Паук
— достаточно популярная форма роботов, поэтому в продаже имеются и такие корпуса-скелеты.Конструкция паука в отличие от роботов на колесах предусматривает движение в любую сторону.

Первый паук
а в нашем обзоре стоит около $100 на Aliexpress .

Как своими руками сделать паукообразного робота на Arduino

Корпус для робота паука. Фото: aliexpress.com

В комплекте этого корпуса нет электроники, сервоприводов, их нужно покупать отдельно. С данной моделью паука рекомендовано использовать сервопривод MG 995 Servo. Забавно, что такой привод на сайте Aliexpress можно купить как за 33 доллара, так и за за 5 долларов (правда в этом случае придется купить 10 штук). Привод нужен под каждую лапу.

Кроме того для управления большим количеством сервоприводов потребуется многоканальный контроллер управления сервоприводами . Итоговая стоимость паука может получиться достаточно высокой.

Как своими руками сделать паукообразного робота на Arduino

Корпус для робота таракана. Фото: aliexpress.com

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

Как своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на Arduino

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

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

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

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

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

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

Шаг 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

Как своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на Arduino

Часть 2 — Симулятор

Как своими руками сделать паукообразного робота на Arduino

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

Схема робота

Сначала подключите MPU6050 к Ардуино и проверьте соединение, используя коды в этом учебном руководстве по интерфейсу IMU. Если данные теперь отображаются на последовательном мониторе, вы молодец!

Продолжайте подключать остальные компоненты, как показано выше. Модуль L298N может обеспечить +5В, необходимый для Ардуино, если его входное напряжение составляет +7В или выше. Тем не менее, мы выбрали отдельные источники питания для двигателя и схемы.

Внимание! Если вы планируете использовать напряжение питания более 12 В для модуля L298N, вам необходимо удалить перемычку чуть выше входа +12 В.

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

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

Как своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на Arduino

Часть 3 — Управление по Bluetooth

Как своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на Arduino

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

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

Робот паук на Ардуино своими руками

Для этого проекта нам потребуется:

  • плата Arduino UNO;
  • ИК приемник;
  • любой пульт ДУ;
  • фанера толщиной 3 — 4 мм;
  • проволока диаметром 1,5 — 2 мм;
  • три сервопривода;
  • батарейка на 9 В;
  • провода и изолента.

Все необходимые материалы, вы видите на фото выше. Кроме того, потребуется ряд инструментов: пассатижи для резки и сгибания проволоки, ножовка или лобзик по дереву для вырезания фанеры, термопистолет для скрепления деталей, клей для склеивания сервоприводов, канцелярский нож и паяльник. Также мы использовали дюбеля для лапок паука, которые защищают стол от царапин и снижают шум.

На следующем фото вы можете увидеть конструкцию с обратной стороны, с указанием размеров дощечек из фанеры. Для удобства подключения сервоприводов к Ардуино , все плюсовые провода (они красного цвета) мы спаяли вместе, также мы соединили и провода, идущие к GND от сервоприводов (они коричневого цвета). К проводам для управления сервомоторами (желтого цвета) мы припаяли провод с контактом.

Трехпиновые разъемы от сервоприводов мы отрезали, один из них используется для подключения IR приемника к Ардуино. Дощечки из фанеры склеиваются между собой при помощи термопистолета, который обеспечивает надежное крепление, при этом не требуется долго ждать — пластмасса затвердевает в течении нескольких минут. Сервоприводы и разъем для IR приемника можно приклеить к корпусу клеем.

Популярные статьи  Топиарий своими руками из салфеток: мастер класс для начинающих

Самым сложным этапом в проекте можно считать изготовление лап паука из проволоки. Требуется точность при их сгибании и точная настройка, в зависимости от расположения центра тяжести робота. Если лапы сделать неточно, то робот может заваливаться и падать в ту или иную сторону при ходьбе. Батарейку для питания можно положить сверху или прикрепить снизу к фанерке на двухсторонний скотч.

Шаг 4: механические детали

Как своими руками сделать паукообразного робота на ArduinoКак своими руками сделать паукообразного робота на Arduino

Моделирование производилось в программе в 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

Первый опыт сборки шагающего робота. Quadruped Robot

Планы для данного проекта давно крутились в голове и были следующие:

1. Найти готовый проект шагающего робота, работающего на плате Arduino.

2. Управление роботом должно осуществляться с телефона.

3. Посмотреть на узлы соединения деталей и изучить механику робота.

4. Поработать с электронными компонентами и изучить их.

Думаю, что не имея опыта работы с такими вещами, план был выполнен на все 100%.

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

После того как робот был найден, заказаны комплектующие пришло время печати деталей. Вот тут ждала самая большая неожиданность, детали данного робота оказались ужасно спроектированы и требовали большого количества поддержек при печати, и располагать их на столе приходилось тоже довольно своеобразным образом. Располагаешь с минимальным количеством поддержек — съезжает геометрия из-за того, что деталь находится под углом, располагаешь деталь нормальным образом — появляется большое количество поддержек и в дальнейшем возможность сломать деталь в процессе снятия поддержек, что и произошло 3 раза, поэтому был выбран вариант печати с минимальным количеством поддержек.

Как своими руками сделать паукообразного робота на Arduino

Процесс сборки каркаса с сервоприводами принес тоже довольно много полезных знаний в особенности о том как не стоит проектировать изделия. Посадочные места под сервоприводы были замоделены прямо мм в мм. Для начала на помощь пришел надфиль, а затем были приняты более жесткие меры — в ход пошли бокорезы и некоторые детали теперь «слегка» отличаются от оригинала.

Пришло время электронной составляющей и прошивки плат. С электроникой как ни странно проблем вообще никаких не возникло, а вот с прошивкой Arduino и Wi-Fi модулем пришлось повозиться пару дней и изучить довольно много информации.

Ииииии вот кульминационный момент запуска робота, зашевелились сервоприводы, засверкали лампочки, все подключилось к телефону, но ходить робот отказывался от слова совсем, была обнаружена на мой взгляд самая тупая ошибка в проектировании. Лапы оказались с небольшим пятном контакта с полом и нахождение лап под небольшим углом к плоскости привело к тому что лапы при ходьбе просто расползаются в разные стороны. Это проблема так и не была решена полностью. Для начала попробовал использовать изоленту (хотел попробовать термоусадку, но нужного размера не оказалось под рукой), стретч-пленку, термоклей, но в финальном варианте осталась наждачная бумага.

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

В итоге от поиска проекта и до его полного завершения прошло 4 недели и получен хороший опыт.

Печать заняла 30 часов, было использовано 227 грамм PetG.

Из электроники понадобились следующие компоненты:

Сервопривод SG90 — 12 шт.

Arduino Nano — 1 шт.

Wi-Fi модуль WeMos D1 mini на чипе ESP-12F ESP8266 — 1 шт.

PCA9685 — 16-канальный PWM/Servo модуль с I2C интерфейсом -1 шт.

Импульсный понижающий регулятор 5V/6V 3A UBEC для 2-6S LiPo — 1 шт.

Mini 360 DC-DC понижающий регулируемый преобразователь питания — 1 шт.

Перемычки Dupont мама-мама 100 мм — 8 шт.

JST разъем 2 pin мама с проводами — 1 шт.

Кнопочный переключатель самоблокирующийся DS-228 — 1 шт.

Аккумулятор 11.1V 550mAh LiPo 3S — 1 шт.

По необходимости:

Универсальное зарядное устройство Skyrc IMAX B6 mini 60 Вт

Хоть с проектом было довольно много трудностей и он не работает так как хотелось бы, считаю его очень ценным с точки зрения опыта. Теперь есть огромное желание самостоятельно смоделировать своего четвероногого робота.

Ссылка на оригинальный проект:

Quadruped Robot

Ссылка на мой Instagram:

Hexagon Sector 3D

А вот собственно и фото в собранном состоянии

Робот паук на Ардуино своими руками

Для этого проекта потребуется:

  • плата Arduino UNO;
  • ИК приемник;
  • любой пульт ДУ;
  • фанера толщиной 3 — 4 мм;
  • проволока диаметром 1,5 — 2 мм;
  • три сервопривода;
  • батарейка на 9 В;
  • провода и изолента.

Как своими руками сделать паукообразного робота на Arduino
Детали для изготовления робота паука своими руками

Все необходимые материалы, вы видите на фото выше. Кроме того, потребуется ряд инструментов: пассатижи для резки и сгибания проволоки, ножовка или лобзик по дереву для вырезания фанеры, термопистолет для скрепления деталей, клей для склеивания сервоприводов, канцелярский нож и паяльник. Также мы использовали дюбеля для лапок паука, которые защищают стол от царапин и снижают шум.

На следующем фото вы можете увидеть конструкцию с обратной стороны, с указанием размеров дощечек из фанеры. Для удобства подключения сервоприводов к Ардуино, все плюсовые провода (они красного цвета) мы спаяли вместе, также мы соединили и провода, идущие к GND от сервоприводов (они коричневого цвета). К проводам для управления сервомоторами (желтого цвета) мы припаяли провод с контактом.

Как своими руками сделать паукообразного робота на Arduino
Фото. Устройство робота паука с управлением от IR пульта

Трехпиновые разъемы от сервоприводов мы отрезали, один из них используется для подключения IR приемника к Ардуино. Дощечки из фанеры склеиваются между собой при помощи термопистолета, который обеспечивает надежное крепление, при этом не требуется долго ждать — пластмасса затвердевает в течении нескольких минут. Сервоприводы и разъем для IR приемника можно приклеить к корпусу клеем.

Сборка робота паука на ИК управлении

  1. выпиливаем дощечки и склеиваем между собой термопистолетом
  2. склеиваем между собой три сервопривода
  3. спаиваем между собой провода питания от сервоприводов
  4. приклеиваем сервоприводы к корпусу робота паука
  5. приклеиваем к корпусу разъем для IR приемника
  6. отрезаем проволоку необходимой длины и загибаем согласно чертежу
  7. приклеиваем к проволоке качалки от серво
  8. подбираем для своего пульта IR приемник по частоте
  9. указываем команды от пульта в файле ir_command_codes.h

Как своими руками сделать паукообразного робота на Arduino
Сборка робота паука на ИК управлении своими руками

Самым сложным этапом в проекте можно считать изготовление лап паука из проволоки. Требуется точность при их сгибании и точная настройка, в зависимости от расположения центра тяжести робота. Если лапы сделать неточно, то робот может заваливаться и падать в ту или иную сторону при ходьбе. Батарейку для питания можно положить сверху или прикрепить снизу к фанерке на двухсторонний скотч.

Популярные статьи  Как красиво оформить личный дневник для девочки: 1 страницу, внутри без наклеек, оригинально и прикольно

Программирование

Самое интересное, это управление манипулятором с компьютера. У uArm есть удобное приложение для управления манипулятором и протокол для работы с ним. Компьютер отправляет в COM-порт 11 байт. Первый из них всегда 0xFF, второй 0xAA и некоторые из оставшихся — сигналы для сервоприводов. Далее эти данные нормализуются и отдаются на отработку двигателям. У меня сервоприводы подключены к цифровым входам/выходам 9-12, но это легко можно поменять. Терминальная программа от uArm позволяет изменять пять параметров при управлении мышью. При движении мыши по поверхности изменяется положение манипулятора в плоскости XY. Вращение колесика — изменение высоты. ЛКМ/ПКМ — сжать/разжать клешню. ПКМ + колесико — поворот захвата. На самом деле очень удобно. При желании можно написать любой терминальный софт, который будет общаться с манипулятором по такому же протоколу.

Я не буду здесь приводить скетчи — скачать их можно будет в конце статьи.

Детали

Для сборки робота я приобрел на Ali Express следующие детали:

  • комплект механических деталей для ног и корпуса;
  • микроконтроллер STM32F407VET6;
  • сервоприводы MG995 (20шт);
  • Bluetooth-модуль НС-05;
  • конвертер на 30А, 5В;
  • аккумуляторная батарея 11.8В.

Как своими руками сделать паукообразного робота на Arduino

Механическая часть собирается без особых вопросов. Но вот как разместить все остальное? Здесь есть где разгуляться творческой мысли. Отверстия на корпусе практически совпали с отверстиями на плате микроконтроллера. Поэтому место его установки сразу однозначно было определено. Аккумулятор тоже спрячем внутри корпуса. В итоге места внутри практически не остается.

Выходное напряжение аккумулятора я выбрал 11.1В. Сначала хотел 7.4В, так как в контроллере есть стабилизатор, а сервоприводы выдерживают напряжение до 7В, плюс падение на подводящих проводах. Но потом решил не рисковать, ведь стоимость сервоприводов составляет половину цены всех деталей целиком. Поэтому решил сделать все правильно, подобрал конвертер 12В в 5В с максимальным током 30А. Этого с запасом хватит, чтобы запитать 18 сервоприводов даже при работе на упор. Вот и аккумуляторная батарея получилась на 11.8В.

Источник питания разместим сверху. Для подключения сервоприводов я сделал две переходные платы, которые органично вписались в существующую конструкцию. Я считаю, что получилось компактно и красиво.

В комплекте механических деталей прилагались подшипники (6шт) для установки плечевых суставов на корпус. Без них будет повышенное трение и излишняя нагрузка на вал сервопривода.

Сборка робота паука на ИК управлении

1. выпиливаем две дощечки необходимого размера

2. склеиваем дощечки между собой термопистолетом

3. срезаем с сервоприводов провода с разъемами

4. склеиваем между собой три сервопривода

5. спаиваем между собой провода от сервоприводов

6. припаиваем к одному разъему провода с контактами

5. приклеиваем сервоприводы к корпусу робота

6. приклеиваем к корпусу разъем для IR приемника

7. отрезаем стальную проволоку необходимой длины

8. загибаем проволоку для лап согласно чертежу

9. приклеиваем к лапам рычаги от сервомашинок

10. подбираем для своего пульта IR приемник

11. указываем команды от пульта в файле ir_command_codes.h

12. собираем робота паука с Arduino UNO

13. тестируем робота паука + ИК управление

Также часто читают:

Детали

Для сборки робота я приобрел на Ali Express следующие детали:

  • комплект механических деталей для ног и корпуса;
  • микроконтроллер STM32F407VET6;
  • сервоприводы MG995 (20шт);
  • Bluetooth-модуль НС-05;
  • конвертер на 30А, 5В;
  • аккумуляторная батарея 11.8В.

Как своими руками сделать паукообразного робота на Arduino

Механическая часть собирается без особых вопросов. Но вот как разместить все остальное? Здесь есть где разгуляться творческой мысли. Отверстия на корпусе практически совпали с отверстиями на плате микроконтроллера. Поэтому место его установки сразу однозначно было определено. Аккумулятор тоже спрячем внутри корпуса. В итоге места внутри практически не остается.

Выходное напряжение аккумулятора я выбрал 11.1В. Сначала хотел 7.4В, так как в контроллере есть стабилизатор, а сервоприводы выдерживают напряжение до 7В, плюс падение на подводящих проводах. Но потом решил не рисковать, ведь стоимость сервоприводов составляет половину цены всех деталей целиком. Поэтому решил сделать все правильно, подобрал конвертер 12В в 5В с максимальным током 30А. Этого с запасом хватит, чтобы запитать 18 сервоприводов даже при работе на упор. Вот и аккумуляторная батарея получилась на 11.8В.

Источник питания разместим сверху. Для подключения сервоприводов я сделал две переходные платы, которые органично вписались в существующую конструкцию. Я считаю, что получилось компактно и красиво.

В комплекте механических деталей прилагались подшипники (6шт) для установки плечевых суставов на корпус. Без них будет повышенное трение и излишняя нагрузка на вал сервопривода.

Программа для Arduino

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

Как своими руками сделать паукообразного робота на Arduino

Можете почитать по поводу ПИД-регулирования на Вики, если вы не знакомы с этими регуляторами. PID класс для Arduino использует три входа: заданное положение, измерение и выход. Выход зависит от текущего положения и измерений. ПИД-регулятор старается изменить выход таким образом, чтобы измерения соответствовали заданному положению. В алгоритме используется интересная математика. Алгоритм ПИД-регулирования старается отработать таким образом, чтобы значения оставались максимально стабильными.

В нашем алгоритме для стабилизации используется два ПИД-контроллера: один для тангажа и другой для крена. Разница в скорости вращения пропеллеров 1 и 2 будет такой же как и разница в скорости пропеллеров 3 и 4. Аналогично для пар 1,3 и 2,4. После этого ПИД-регулятор изменяет разницу в скорости, выводя тангаж и крен в нуль.

Не забудьте проверить какие цифровые пины с Arduino идут к моторам и соответственно изменить скетч.

Программное обеспечение

Основной каркас ПО был уже написан в предыдущем проекте, смотрите статью «Робот-муравей: Программирование». Основные изменения связаны с переходом на новый микроконтроллер STM32F407VET6. Еще я обнаружил косяк, связанный с алгоритмом поворота. В прошлой версии при повороте робот как бы перетаптывается с ноги на ногу. Т.е. делает шаг, потом переходит в исходное положение и т.д. В общем нет непрерывного движения. Старый вариант можно посмотреть здесь. В новой версии я это исправил, робот-паук изящно крутится на месте вокруг своей оси.

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

Все необходимые файлы (прошивка, пульт, инструкция) можно скачать ниже:

  • прошивка для STM32F407
  • пульт управления роботом
  • инструкция по калибровке

Как самому собрать такого робота можно посмотреть на видео ниже.

Рейтинг
( Пока оценок нет )
Денис Серебряков/ автор статьи
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: