Четырехногий робот на основе ESP8266

Добрый день, сегодня я опубликую инструкцию по изготовлению квадропода – четырехногого робота. Детали робота напечатаны на 3D принтере в качестве контроллера — ESP8266, но можно использовать и Arduino, Nano или Mini например. Управление через web – интерфейс. Связь посредством Wi-Fi.

Как я уже говорил ранее – детали напечатаны на 3D принтере. Если он есть у вас проблем никаких, если нет надо будет найти у кого напечатать или заказать печать.

Видео четырехногого робота:

Итак, нам понадобится:
— ESP 8266 — 12E
— стабилизатор напряжения 3.3v
— Аккумуляторы Li-ion 18650 2 шт.
— Сервопривод SG-90 8 шт.
— переключатель
— кнопка
— провода
— коннектор PLS
— USB-TTL
— болты 3х20
— гайки и шайбы 3мм
— сверло 3.2
— дрель или шуруповерт

Шаг 1 Корпус.
Для изготовления корпуса и ног необходимо напечатать на 3D принтере следующие детали:

parts.rar

[162.17 Kb] (скачиваний: 254)

Обращаю ваше внимание на то что файлы k_body и k_others печатать нужно по одному разу, а файл k_legs два! Печатать можно любым цветом. Сборку проводим по схеме:

В местах соединения на ногах используем болты 3х20, аккумуляторы вставляем внутрь корпуса и выводим провода, соединяем их параллельно. Не забудьте вывести дополнительную пару проводов для зарядки, очень неудобно будет потом вынимать аккумуляторы для зарядки, гораздо проще сразу вывести пару проводов с коннектором. При сборке убедитесь что все сервоприводы стоят в положении 90 градусов. Чтобы установить сервопривод в положение 90 градусов надо его подключить к контролеру (Arduino например) и с помощью простого кода повернуть сервопривод. Можно это сделать и вручную. Для этого надеваем рычаг на вал сервопривода и поворачиваем его до тех пор, пока стопоры на шестеренке не будут находиться посередине. Делать это надо крайне аккуратно, так как шестеренки пластиковые и высока вероятность отломать зубья. Я рекомендую пользоваться первым вариантом, это конечно дольше, зато сервопривод точно останется цел.

В последний момент я решил покрасить свою модель в сине-красный цвет.

Шаг 2 Электрика.
И тут возможны несколько вариантов. На мой взгляд, самый оптимальный использовать ESP 8266 — 12E в качестве контроллера. Во первых у него есть необходимое количество выводов для подключения всех сервоприводов. Во вторых встроенный Wi-Fi модуль, что очень облегчает процесс управления и соединения. В третьих можно легко программировать в среде Arduino IDE. Лучше всего выбирать модуль с 4 Mb памяти. Итак, для запуска и прошивки ESP-8266 надо сделать минимальную обвязку. Напрямую к питанию подключается только вывод VCC, остальные выводы: CH_PD, RESET, GPIO0, GPIO2, должны быть подтянуты к питанию (VCC) через резистор. Резисторы на 10kOm можно заменить на другие, от 4,7kOm до 50kOm, кроме GPIO15 — его номинал должен быть до 10k. Напрямую, к минусу (GND) питания подключаем только GND, а GPIO0 подтягиваем тоже через резистор до 10kOm, для перевода модуля в режим загрузки прошивки, к GND. Не забудьте добавить кнопку для перезагрузки и вывести разъем для подключения USB-TTL, для осуществления прошивки. У всех сервоприводов подрезаем провода так, чтобы не мешались и не болтались, но при этом достаточно свободно, для того чтобы ноги могли спокойно двигаться. Все красные провода от сервоприводов соединяем напрямую с плюсом аккумуляторов, коричневые – с минусом. Оранжевые провода припаиваем к ESP согласно схеме:

Сервоприводы пронумерованы следующим образом:
Servo 0 – GPIO4 (если смотреть сверху нижняя левая нога, привод на корпусе)
Servo 1 – GPIO5 (нижняя левая нога, привод на ноге)
Servo 2 – GPIO0 (верхняя левая нога, привод на корпусе)
Servo 3 – GPIO10 (верхняя левая нога, привод на ноге)
Servo 4 – GPIO12 (верхняя правая нога, привод на корпусе)
Servo 5 – GPIO13 (верхняя правая нога, привод на ноге)
Servo 6 – GPIO14 (нижняя правая нога, привод на корпусе)
Servo 7 – GPIO16 (нижняя правая нога, привод на ноге)

Удобнее всего вначале припаять минимальную обвязку из резисторов. Затем саму ESP приклеиваем на двусторонний скотч, а после этого припаиваем все провода от сервоприводов, незабываем про стабилизатор напряжения для ESP. Питание ESP через стабилизатор на 3.3 вольта, а сервоприводы напрямую к аккумуляторам.

Расскажу немного про другие варианты. Можно в качестве контроллера использовать Arduino Mini или Nano. Тогда все сервоприводы подключаем к Arduino, а связь осуществлять через ESP 8266-01. В ESP надо будет залить прошивку для передачи команд Arduino и соединить с выводами RX TX Arduino. В этом случаем и схема и прошивка другая. В следующий раз я напишу инструкцию по этому варианту а пока вернемся к нашей ESP 8266-12E.

Шаг 3 Подготовка среды программирования.
Для написания и редактирования прошивки под ESP необходимо установить дополнением для ESP под Arduino IDE через Boards Manager:
1. Установите Arduino IDE с официального сайта Arduino.cc
2. Запустить Arduino IDE, далее Файл — Настройки — в поле Additional Boards Manager URLs вставить ссылку на стабильную версию http://arduino.esp8266.com/package_esp8266com_index.json
или для nightly build http://arduino.esp8266.com/staging/package_esp8266com_index.json нажать OK (В это поле вы можете вводить несколько ссылок, разделенных запятой)
3. Инструменты — Плата — Boards Manager
4. В Boards Manager в поле фильтра введите esp8266 или вручную пролистайте список и кликните на ESP8266 by ESP8266 Community Forum
5. Кликните Install и дождитесь окончания загрузки (около 130 Мегабайт). Если загрузка произошла слишком быстро, возможно, что вы уже устанавливали Arduino IDE для ESP8266 и потребуется почистить кэш Boards Manager, иначе у вас останется установленной старая версия. Нужно сначала деинсталлировать старую версию, а потом необходимо удалить файлы кэша. Для Win7 x64 удалите файлы из папки C:UsersПользовательAppDataRoamingArduino15 и повторите все, начиная с п.2
6. Закройте Boards Manager и в меню Инструменты выберите Плата — Generic ESP8266
7. Установите частоту вашего модуля 80 или 160Mhz, размер флеш памяти и выберите последовательный порт, к которому подключен ваш USB-TTL адаптер
8. Также надо добавить в папку tools(находится в месте установки Arduino IDE) файлы из архива, для доступа к файловой системе ESP.

esp8266fs.rar

[6.17 Kb] (скачиваний: 265)

Шаг 4 Прошивка.
Осталось отредактировать скетч и залить его в ESP.
В поле «String _ssid = «»;» между кавычек укажите к какой точке доступа необходимо подключиться.
«String _password = «»;» — пароль этой сети.
«String _ssidAP = «Quadrapinky»;» имя сети, которую будет подымать ESP, если не подключится к существующей.
«String _passwordAP = «12051005»;» — пароль сети, которую будет подымать ESP, если не подключится к существующей.
«String SSDP_Name=»Quadrapinky»;» имя SSDP

Не забудьте загрузить в ESP дополнительные файлы. Делается это через вкладку Инструменты – ESP8266 Sketch Data Upload
После пуска ESP пытается подключиться к точке доступа указанной в скетче, если удачно, нужно определить IP адрес нашего робота и подключиться по этому адресу через браузер. Также можно зайти через компьютер в сетевую инфраструктуру, найти нашего робота там и дважды щёлкнув мышкой подключиться к нему. Если подключение не удается, ESP становится точкой доступа. Тогда доступ можно получить подключившись к новой точке доступа и введя в браузере 192.168.1.1.

Web – интерфейс состоит из двух страниц. Первая для управления. Вторая для настройки. На второй странице можно указать точку доступа к которой надо подключится, а также имя робота и название и пароль точки доступа которую подымает ESP. Все изменения вступают в силу после перезагрузки. Перезагрузить модуль можно тоже через web –интерфейс.

esp_quadrapinky_wifi_2.rar

[24.01 Kb] (скачиваний: 278)

Продам эту самоделку или изготовлю на заказ. Напишите мне или оставьте комментарий для обсуждения деталей.

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Контролер для робота

Какой контролер для изготовления роботов лучше?
Arduino подобные ESP8266 подобные PIC Иное
Всего проголосовало: 53

Голосовать
Результаты

Источник: usamodelkina.ru