Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Четырехногий робот на основе ESP8266

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

    Четырехногий робот на основе 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] (скачиваний: 299)

    Обращаю ваше внимание на то что файлы 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\Пользователь\AppData\Roaming\Arduino15 и повторите все, начиная с п.2
    6. Закройте Boards Manager и в меню Инструменты выберите Плата — Generic ESP8266
    7. Установите частоту вашего модуля 80 или 160Mhz, размер флеш памяти и выберите последовательный порт, к которому подключен ваш USB-TTL адаптер
    8. Также надо добавить в папку tools(находится в месте установки Arduino IDE) файлы из архива, для доступа к файловой системе ESP.
    esp8266fs.rar [6.17 Kb] (скачиваний: 341)


    Шаг 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] (скачиваний: 374)
    Продам эту самоделку или изготовлю на заказ. Напишите мне или оставьте комментарий для обсуждения деталей.
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Контролер для робота
    Какой контролер для изготовления роботов лучше?
    Всего проголосовало: 63

    Как сделать простейшего робота на Arduino Uno который будет объезжать препятствия!

    Танчик ездящий за лазерной указкой

    6.6
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7.4
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 7.0 из 10 (голосов: 5 / История оценок)

    Добавить комментарий

    29 комментариев
    maxim0512 #38189 Автор
    1. Проверьте переключатель режима прошивки. Возможно ESP находиться в режиме прошивки.
    2. Скорость работы монитора порта должна быть 115200, проверьте, неразпознаваемые символы могут быть изза неправильно выставленной скорости
    3. Проверьте напряжения аккумуляторов (для литиевых оно должно быть 4.2 В), ESP не будет стартовать при низком напряжении, попробуйте запитать ESP от блока питания, через стабилизатор 3.3 В, 5 вольтой зарядки телефона должно хватить и на ESP и на сервоприводы
    4. Проверьте напряжение на самой ESP, должно быть 3.3 В
    5. Попробуйте заново залить скетч, убедитесь что заливка точно прошла успешно.
    Гость Анатолий #38158
    В монитор порта пишет нераспознающиеся символы
    Гость Анатолий #38157
    В монитор порта пишет нераспозноющиеся символы
    Гость Анатолий #38156
    пишет символы нераспозноющиеся, но точку не создаёт
    maxim0512 #37849 Автор
    К USB-TTL и должны быть подключены только три провода. Питание ESP должен получать от аккумуляторов. Убедитесь что esp включена, на его ножках приходит питание, затем подключите USB-TTL и нажмите кнопку перезагрузки. Хоть что-то должно придти.
    Гость Анатолий #37841
    Он не пишет ничего при том что к USB-TTL подключены только RX,TX и GND
    feonor12 #37830
    После "Звездных врат: ЗВ-1" не доверяю я таким штукам smile
    maxim0512 #37829 Автор
    Добрый день. Причин может быть много. Надо подключить USB-TTL к ESP и посмотреть что он отправляет в мониторе порта. А потом уже строить предположения.
    Гость Анатолий #37802
    Прошил но точку доступа он не создаёт.В чём может быть причина?
    maxim0512 #32171 Автор
    Точно не скажу, с NodeMCU дела не имел, но думаю разницы нет
    Гость вячеслав #32166
    Подскажите пожалуйста если мы используемые плату NodeMcu ESP8266 а не как у вас только сам модуль есть ли какие отличия в прошивке
    Гость вячеслав #32162
    Спасибо попробуем
    Гость Вячеслав #32161
    Спасибо попробуем
    maxim0512 #32152 Автор
    Добрый день. Для начала подключите робота к компьютеру и посмотрите в серийном порте, что он пишет. Также проверьте напряжение аккумулятора, возможно он разряжен. И проверьте положение переключателя режима прошивки, возможно ESP запускается в режиме прошивки.
    Гость вячеслав #32150
    Здравствуйте, собрали робота на ESP-8266 при запуске робот дергает одной ногой и не подымается. Подскажите пожалуйста в чем может быть причина или как выполнить тестовую проверку.
    maxim0512 #24585 Автор
    Если точка доступа появилась вы все сделали правильно. Вы только забыли залить в ESP HTML - страницы с управлением. Надо добавить в папку tools(находится в месте установки Arduino IDE) файлы из архива, для доступа к файловой системе ESP. Архив esp8266fs.rar ссылка выше. Подключить ESP к компьютеру, а потом загрузить в ESP дополнительные файлы. Делается это через вкладку Инструменты – ESP8266 Sketch Data Upload.
    Cap.itao #24574
    Или там по другому происходит управление через телефон
    Cap.itao #24573
    После прошивки платы, собрал схему и подал питание. Появилась точка доступа wi fi с самой платы. Подключился к ней, зашел в браузер, ввел 192.168.1.1 выдало file not found
    maxim0512 #24547 Автор
    В вкратце, для перевода в режим прошивки необходимо GPI0 подключить к GND и перегрузить модуль, после этого уже пробовать записать скетч. А подробнее почитайте здесь:
    https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
    Cap.itao #24538
    Для пошивки платы использовал US $1.17 | Конвертор USB в TTL UART на чипе PL2303 для программирования Arduino и других устройств.
    https://s.click.aliexpress.com/e/btQOHow4 но возникла проблема с прошивкой. Можно пожалуйста подробнее объяснить как подключить плату к конвертеру и прошить (ибо собрал все по схеме и все равно не работает)
    maxim0512 #23861 Автор
    Не совсем так. Изначально сервоприводы могут быть с разными углами. Кроме того, если шестеренки пластиковые, высока вероятность их повредить. Лучше всего залить в контроллер простой скетч, взять из примеров библиотеки для сервоприводов и слегка подправить, который установит все приводы в положение 90 градусов, а после этого надевать на них рычаги. Если решите рискнуть ворочать рычаг руками, на большой шестерне (та к которой крепиться рычаг) есть два стопора (маленькие, похожие на палочки, выступы. их можно разглядеть, так как корпус прозрачный), надевайте рычаг в направлении этих выступов, и ставьте рычаг как продолжение сервоприводы по длине.
    Cap.itao #23860
    И, наверное, последний вопрос. Что бы установить стопоры в 90° я так понимаю необходимо установить рычаг паралельно самому сервоприводу и что бы он поворачивался на 90° в одну и другую сторону?
    Cap.itao #22958
    спасибо
    maxim0512 #22936 Автор
    День добрый. Использовал AMS1117 800MA
    https://ru.aliexpress.com/item/Hot-New-Arrival-High-Quality-Hot-Sale-Lowest-Price-5V-To-3-3V-DC-DC-Step/32683950011.html?spm=2114.13010708.0.0.3a9933edF8drPH
    Cap.itao #22933
    И еще вопрос. Какой стабилизатор напряжения вы использовали?
    maxim0512 #22452 Автор
    Добрый день. Ссылка где я покупал USB-TTL:
    https://ru.aliexpress.com/item/Free-shipping-1PCS-USB-To-RS232-TTL-Converter-Adapter-Module-PL2303-with-Transparent-Cover/32588741323.html?spm=2114.13010708.0.0.3a9933edIC0xBO

    ESP:
    https://ru.aliexpress.com/item/2015-New-version-1PCS-ESP-12F-ESP-12E-upgrade-ESP8266-remote-serial-Port-WIFI-wireless-module/32643052680.html?spm=2114.13010708.0.0.3a9933edHWDnLg
    Cap.itao #22451
    Привет, возник вопрос. Какой USB-TTL использовать (ссылку на алик если не сложно) если есть ESP12F 8266
    maxim0512 #14263 Автор
    Такое-же как и у всех других роботов. Что запрограммируете. Это основа, а дальше можно подключить датчики и реализовать что угодно.
    Nruter #14253
    И какое практическое применение этого робота? Работа ради работы?

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии