Self-balancing robot. [Project №1]

  Рет қаралды 23,462

TrashRobotics

TrashRobotics

Күн бұрын

DIY self-balancing robot with WiFi smartphone browser control.
stl-files on Thingiverse: www.thingiverse.com/thing:496...
stl-files on Cults: cults3d.com/en/3d-model/gadge...
GitHub repository: github.com/TrashRobotics/Bala...
Self-balancing robot for fun is capable of:
- actually, to balance; :)
- to ride and turn;
- to deviate from obstacles using distance sensors;
- all of it are controlled through an access point distributed by the robot itself, which acts, among other things, as a web server, issuing a control page to a standard browser upon request.
Main parts
* esp8266 NodeMCU v3;
* motor driver l298n;
* yellow single-axis arduino TT-geared motors;
* 2x 18650 batteries and battery compartment;
* MPU6050;
* SSD1306 128x64 I2C display;
* 2x HC-SR04 dictance sensors;
* toggle switch KCD1-11;
* breadboard 4x6 см (if you'd like);
* body parts.
Fasteners (length in millimeters):
- Stud M6x300 x2;
- Wing nut DIN315 M6 x4;
- Flat washer M6 x4;
- Screw DIN7985 M3x35 x4;
- Screw DIN7985 M3x16 x8;
- Hexagon nut DIN934 M3x0.5 x12;
- Self-tapping screw DIN7982 3.5x32 x4;
- Self-tapping screw DIN7982 3.5x9.5 x2;
- Self-tapping screw DIN7982 2.2x9.5 x28;
- Self-tapping screw DIN7981 2.2x9.5 x4;
- Self-tapping screw DIN7981 2.9x9.5 x4.
00:00 Introduction
00:57 Balancing principle
02:33 Presentation in CAD
03:32 Wiring diagram
06:35 A little bit soldering
07:48 Assembly
13:54 Uploading and start
16:49 Conclusion

Пікірлер: 70
@MrChevlaiv
@MrChevlaiv Жыл бұрын
Дорогу осилит идущий. С таким подходом парень далеко пойдет. Успехов ему!
@RC_Ira
@RC_Ira Жыл бұрын
Крутой проект, молодец автор!)😱😃🤩💥💯👍💪👏
@lifaniadminov1664
@lifaniadminov1664 2 жыл бұрын
Ооооочень класснооооо
@azizzokirov7368
@azizzokirov7368 2 жыл бұрын
Best
@garryryk3027
@garryryk3027 2 жыл бұрын
Уже больше года мечтаю о таком. Не скажу что в инете много схем - в основном на шаговых двигателях. Нашел схему на таких же двигателях но так и не реализовал . Есть уже MPU6050, дальномер, двигатели, аккумуляторы. Сделал шасси из металла. Отличное шасси не стыдно похвастаться. контроллер есть vemos d1 mini надеюсь он подойдет. Но что-то на первый взгляд слишком много выводов задействовано . У ESP8266 полноценных действительно мало
@trashrobotics
@trashrobotics 2 жыл бұрын
У платформ на шаговых двигателях есть плюс в том, что можно узнать какое расстояние робот проехал, когда балансировал, соответственно можно сделать и удержание позиции, чтоб он не уехал куда-нибудь подальше. Хотя, на мой взгляд, расточительно использовать шаговые двигатели для этого. Я бы энкодеры поставил лучше, но с ними заморочек больше. С ESP-хами для меня, действительно, стало откровением, что у них выводы почти все заняты или дергаются при запуске/прошивке. Вообще, в теории, в схеме можно рулить драйвером двигателей 4 выводами, вместо 6, т.к. у ESP можно все пины под ШИМ задействовать. Но в документации к драйверу L298N (или где-то еще) не рекомендовалось его использовать в таком режиме. Хотя, если посмотреть на его устройство, то ничего критичного бы не было от этого, вроде как. В любом случае, можно его заменить на драйвер mx1508, он и покомпактнее и ШИМ-ом управляется через 4 вывода, мощей тоже должно хватать. P.S. Удачного проекта :) И старайтесь перенести больше веса наверх: чем выше центр тяжести, тем устойчивее робот будет балансировать.
@WIZARDBEST
@WIZARDBEST Жыл бұрын
+ лайк !
@WIZARDBEST
@WIZARDBEST Жыл бұрын
класс ваще !
@fayzullayevarano667
@fayzullayevarano667 2 жыл бұрын
Udachi
@gguy156
@gguy156 Жыл бұрын
Можно юзать многоядерную архитектуру, распределяя узлы робота между слабыми МК, управляемыми центральным ядром. Некоторым датчикам просто не нужны 32-битные мощности, хватит и Attiny.
@raiderx791
@raiderx791 Жыл бұрын
Для плавности нужен PID регулятор и коэффициенты подобрать
@Shuxrat_Zokirov
@Shuxrat_Zokirov 2 жыл бұрын
kruta
@user-gt1zt4dp6d
@user-gt1zt4dp6d Жыл бұрын
попробуй что-нибудь из роботов для наблюдения, для дистанционного контроля садового участка. Народ будет покупать. Типа вездеход с камерой на 360 с заездом на самозарядку
@user-fy6sr1pk5w
@user-fy6sr1pk5w Жыл бұрын
Это ж сколько времени и терпения понадобилось для осуществления этого проекта .....
@Ardbot
@Ardbot Жыл бұрын
Инженерный подход! Сделать заведомо не стабильную систему и тратить кучу ресурсов на её выравнивание! Не, на самом деле интересно. На ютубе попадался ролик, где иностранец делал колёсный стабилизатор (маховик) из лего и всячески его тестировал грузами
@popovek
@popovek Жыл бұрын
Самыми частыми ошибками подобных проектов являются: 1. Выбор недостаточно мощных двигателей (нужны как минимум шаговые nema17 рассчитанные на 5 вольт и записанные от 12, либо хорошие коллекторные с энколером, либо высокомоментные BLDC с низким KV. 2. Экономия на пульте управления. Желательно использовать готовый пульт радиоуправлени ( с нормальными стиками и низкой задержкой) или хотя бы самодельный на NRF24. В таком случае робот будет идеально управляться, а PID регулятор будет работать гораздо лучше.
@Babylon010
@Babylon010 Жыл бұрын
Такой болван все разольет. Нужен ещё один который будет уравновешивать первого))
@ivanodintsov2094
@ivanodintsov2094 Жыл бұрын
Надо было ардуинку использовать:)
@SergioKornelius
@SergioKornelius Жыл бұрын
Модель в каком 3Д редакторе делал?
@WIZARDBEST
@WIZARDBEST Жыл бұрын
побольше видео !
@andriizaritskiy3196
@andriizaritskiy3196 Жыл бұрын
У меня так брат по пятницам по хате ходит
@BagaLagaGum
@BagaLagaGum Жыл бұрын
Вместо интро! 🤣
@energyvxask307
@energyvxask307 2 жыл бұрын
Здравствуйте, понравился ваш проект, с вами можно связаться только по почте или у вас есть ещё ВК ? Для новичка в этом деле будет сложно собрать данного робота ? И сколько примерно стоит распечатать такие детали на 3д принтере ?
@trashrobotics
@trashrobotics 2 жыл бұрын
Привет! Пока что только почта, но позже заведу и другие соц.сети. Пытался спроектировать робота так, чтобы его было просто собрать. Могут возникнут трудности только с настройкой PID регулятора у тех, кто с ним не работал. А так, сам по себе, балансирующий робот - довольно популярный проект. В случае чего, по этой теме можно найти кучу информации и статей в интернете. Сколько будет стоить заказ печати, сказать затрудняюсь, т.к. никогда не заказывал у кого-то печать. Если печатать на своем принтере, то уйдет где-то 70%-80% катушки пластика. Что по себестоимости где-то 800р.-900р., это если печатать PLA. ABS будет дешевле. Вообще, в целом рекомендую обзавестись принтером, если интересуетесь робототехникой и прочим. Он и в хозяйстве бывает полезен: фурнитуру там какую-нибудь напечатать и т.д.
@energyvxask307
@energyvxask307 2 жыл бұрын
@@trashrobotics Спасибо за ответ, понял. Я хотел этого робота сделать в качестве проекта для колледжа. Я ниразу не паял, поэтому поинтересовался этим вопросом. А сколько у вас примерно вышло рублей на робота ?
@trashrobotics
@trashrobotics 2 жыл бұрын
Вся электроника, включая аккумы и провода, обошлась где-то около 2000 руб. + (условно) катушка PLA пластика 1100 руб. Ну и прочие расходники: крепеж и т.д. + 300 руб. Это по себестоимости. Большая часть компонентов заказывалась с алиэкспресса. Из инструментов самое необходимое: паяльник и набор отверток, без остального можно обойтись. Ну, кроме 3д принтера :) Робот в качестве проекта - это хорошо) Прокачивает навыки сразу в нескольких областях: электроника, программирование, конструирование. По поводу пайки - это не сложно, но надо немного потренироваться. Можно также немного гайдов на ютубе том же глянуть.
@energyvxask307
@energyvxask307 2 жыл бұрын
@@trashrobotics Ок, буду знать. Научиться пайке - это хорошо :), но пока никак не успеваю. Я вам ещё на почту пару вопросов задал, можете посмотреть ?
@energyvxask307
@energyvxask307 2 жыл бұрын
@@trashrobotics Вчера перепутал ваш адрес почты, теперь правильно написал на почту :)
@Tpyxao
@Tpyxao Жыл бұрын
8266 не горит от 5в логики (это офф мнение производителя) так что можно было не замлрачиваться с делителем напряжения
@eberle1966
@eberle1966 Жыл бұрын
Проект не компилируется ядро компиляции не указано, библиотеки стоят те что указаны в проекте Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
@kingsunmozila
@kingsunmozila Жыл бұрын
Здравствуйте! Есть вопрос: а можно ли его переделать для соревнования движения по линии ? Но только он должен ехать очень быстро и поворачивать
@trashrobotics
@trashrobotics Жыл бұрын
А существуют соревнования движения по линии балансирующих роботов? Хмм.. не знал. Ну, можно конечно, если датчики соответствующие поставить + сверху что-то тяжелое повестить для большей стабильности. Но я, в целом, не знаю, насколько он должен быть шустрым для таких соревнований.
@kingsunmozila
@kingsunmozila Жыл бұрын
@@trashrobotics такого ещё никто не пробовал но если размеры подходят это не разрешено ! Я УЧИТЕЛЬ ДОП ОБРАЗОВАНИЯ и деду грудок мир технологии и участвую в соревнованиях по робототехники уже четыре года поэтому и мой интерес в новом исполнении кто до этого ещё не додумался ! Я из Мордовии участвую в республиканских соревнованиях
@kingsunmozila
@kingsunmozila Жыл бұрын
Пардон не запрещено
@olegmiroshin2152
@olegmiroshin2152 11 ай бұрын
гироскутер разве умеет балансировать?
@fliblomlaslojor
@fliblomlaslojor Жыл бұрын
5:41 вообще плохая идея брать питание с платы для периферии. В любом случае питание лучше брать всегда со стороны.
@pronikfire
@pronikfire Жыл бұрын
200 iq, не меньше
@user-ox4nk7jn8t
@user-ox4nk7jn8t 11 ай бұрын
Сделай балансирующий велосипед, или мотоцикл, а лучше, навесное оборудование на мотоцикл. Вот как сделал этот китайский парень. Просто лично я не знаю китайский и мне сложно понять, что он говорит. Но ты технарь, и, думаю, поймешь по внешнему виду, что он делает. kzfaq.info/get/bejne/oal8Zcdo3MDOhWw.html Кстати, навесное оборудование на велик или мотик, я бы купил.
@THEbonny95
@THEbonny95 Жыл бұрын
Ну такое, дёргается будь здоров
@Artemis81037
@Artemis81037 Жыл бұрын
А можешь сделать робота который играет на гитаре
@e766tx
@e766tx Жыл бұрын
а есть более подробное описание параметров в прошивке? доброго нового года!!!
@trashrobotics
@trashrobotics Жыл бұрын
И вам доброго! А какие именно вам непонятны?
@e766tx
@e766tx Жыл бұрын
@@trashrobotics офсеты датчика, в чем считать и откуда. в целом оно завелось, но крайне не стабильно. в целом от оригинального проекта у меня осталось только есп, экран и датчик. в идела переделать бы все чтоб центр тяжести сместить выше, но лень, для начала попробую параметры подстроить.
@trashrobotics
@trashrobotics Жыл бұрын
Это калибровочные параметры самого IMU датчика. Измеряются в тех же попугаях, что выходят напрямую из регистра и могут скомпенсировать неточность датчика. Самым простым способом их получить - положить датчик на ровную горизонтальную поверхность, чтобы он не шевелился и посмотреть, что он выдает в покое. Ну и переписать эти же значения, в переменные, но со знаком минус. Т.к. при идеальных условиях он должен в покое выдавать по нулям. Стоило, наверное, сделать возможность калибровки, но код уже был слишком избыточен. А в видосе я, видимо, забыл про это сказать. Но с фильтрами и другими параметрами это все-равно в какой-то мере должно компенсироваться. Т.е. смещение обычно не такое значительное, чтоб полностью нарушить работу, компенсация только может ее улучшить. Так что советую больше присмотреться к настройке PID-регулятора, ну и все-таки сместить центр масс выше. Можно просто для пробы привязать какую-нибудь гирьку.
@trashrobotics
@trashrobotics Жыл бұрын
В большей степени интегральной составляющей, тут она основную роль играет и ее коэффициент может переваливать за сотню у таких роботов
@e766tx
@e766tx Жыл бұрын
@@trashrobotics спасибо, попробую сегодня замерить попугаев и посмотреть. привязать гирьку крайне проблематично у меня вся конструкция размером с пачку сигарет. ну и хочу допилить чтобы с другой платы есп управлять, не люблю я браузеры и телефоны)
@gguy156
@gguy156 Жыл бұрын
Кстати, драйвер ШД юзаешь не самый лучший: сильно греется и мало тянет. Лучше взять более новые иодели - они компактные и почти не греются. Даже радиаторы им не нужны
@user-hi5fy6wv5j
@user-hi5fy6wv5j Жыл бұрын
Каким фильтром фильтруются данные с гироскопа MPU6050? Используются ли данные с акселерометра и гироскопа или же только данные с акселерометра? Как реализованы повороты - запозданием или опережение или и то и другое? Почему то или другое, а не вообще третье. В общем ничего не рассказано важного, только и так очевидное.
@trashrobotics
@trashrobotics Жыл бұрын
Чел, это был мой первый снятый проект, чего ты хочешь?)
@user-hi5fy6wv5j
@user-hi5fy6wv5j Жыл бұрын
@@trashrobotics Научпопа хочу :)
@popovek
@popovek Жыл бұрын
Обычно используют Low-Pass фильтр (ФНЧ), а для определения угла применяется комплементарный фильтр, использующий значения гироскопа и акселерометра.
@user-hi5fy6wv5j
@user-hi5fy6wv5j Жыл бұрын
@@popovek, я знаю, что применяют обычно, но вы же понимаете, что есть разные функции LPF, некоторые точнее, некоторые выполняются за меньшее число тактов процессора. Kalman filter, exponential filter, median filter, ...
@popovek
@popovek Жыл бұрын
@@user-hi5fy6wv5j так это в коде можно посмотреть. Калман тут ни к чему. В конце концов в коде все видно. Я делал на основе прошивки miltiwii от дрона. Работает шикарно, пожалуй лучше чем у кого бы то ни было с подобными роботами. Если интересно, могу поделиться идеями и реализацией
@DmitriyKunin
@DmitriyKunin Жыл бұрын
Автор в одном из коментариев сказал, что нужно добавить сверху дополнительную массу, для стабильности. То есть он в курсе и не смотря на это, он размещает всё тяжёлое в своём проекте снизу, в результате бедолагу бота болтает...
@user-oe9vi9gu4q
@user-oe9vi9gu4q Жыл бұрын
Чем ниже центр тяжести тем устойчивей. Если ты не шаришь, то не неси чушь
@eberle1966
@eberle1966 Жыл бұрын
@@user-oe9vi9gu4q а ты попробуй балансировать палку в 10 см и 1 метр с грузом наверху и посмотрим кто несёт чушь
@user-oe9vi9gu4q
@user-oe9vi9gu4q Жыл бұрын
@@eberle1966 ты хоть сам понял что сказал? Если весь вес будет внизу то будет легче чем если бы он весь был сверху
@eberle1966
@eberle1966 Жыл бұрын
@@user-oe9vi9gu4q я то понял что написал а вот вы по ходу не понимаете вот цитата (Для балансирующих роботов центр тяжести (аккумуляторы и в идеале двигатели) нужно поднимать чем выше - тем лучше, так ему проще балансировать.) это не мной придумано это физика
@Shuxrat_Zokirov
@Shuxrat_Zokirov 2 жыл бұрын
Здравствуйте С вами можно связаться через Telegram или имо???
@Shuxrat_Zokirov
@Shuxrat_Zokirov 2 жыл бұрын
мне очень понравился ваш ролик. много полезного узнал для себя. у меня многие подписчики на русском языке говорят. предлагаю совместный проект создать. мог бы рекламировать ваш канал. Я был бы рад работать с вами
@trashrobotics
@trashrobotics 2 жыл бұрын
Рад, что мой ролик кому-то пригодился! Совместный проект можно обсудить, можете написать мне на почту?
@user-rn3ht4kv1r
@user-rn3ht4kv1r 2 жыл бұрын
@@trashrobotics Здравствуйте, где можно найти вашу почту для связи? Собрал ваш проект, но без дополнительных датчиков и экрана. Не совсем понимаю откуда берутся значения переменных компенсации смещений IMU датчика, робот не хочет балансировать, как будто изначальные углы заданы неверно.
@trashrobotics
@trashrobotics 2 жыл бұрын
Здравствуйте, если вопрос по коду, то 1) в функции getAngleY (строка 471) при помощи альфа-бета фильтра высчитывается абсолютный угол отклонения IMU. 2) после чего в основном конечном автомате (в состоянии BALANCING) значение смещения робота от вертикального положения при помощи pid-регулятора пересчитывается в скорость робота (строки 255-262). На вход pid-регулятора поступает значение текущего угла наклона (angle) и угла на котором платформа должна удерживаться (target). У меня target немного смещен на 2 градуса, т.к. модуль криво установлен. Собственно, сам pid-регулятор считает величину смещения, а также ее интегральную и дифференциальную составляющую и переводит ее в скорость. 3) Все что вам нужно сделать - это настроить коэффициенты pid-регулятора. Для балансирующего робота - это может быть немного проблемным поначалу, сам провозился пару часов. 4) По поводу почты: когда я в прошлый раз сюда ее выложил, на нее пошел большой поток спама и я ее потер. Думаю, что в недалеком будущем для таких вещей создам телегу, но там пока тоже есть проблемка. P.S. Нумерацию строк брал с github. P.P.S. Также чтоб робот устойчивей балансировал, можно добавить какой-нибудь грузик к верхним платформам. Чем больше веса будет сверху, тем робот будет лучше балансировать. Я этот момент, в свое время, упустил, т.к. тоже первый раз собирал подобного робота.
@user-rn3ht4kv1r
@user-rn3ht4kv1r 2 жыл бұрын
@@trashrobotics Оказалось, что просто моторы были подключены обратной полярностью. Меня интересует, что значат сами численные значения переменных компенсации смещений IMU датчика, которые изначально вручную вносятся. На руках имеется книга Михаила Момота "Мобильные роботы на базе ESP32 в среде Arduino IDE", там, вроде, подобные значения не используются, да и похоже, что библиотека собственноручно написана. У моего робота на данный момент основная проблема в том, что он не отключает колёса, при падении. Ваш проект на самом деле единственный, где используется esp8266 + обычные моторы. Начинал интересоваться данной темой ещё году в 17-18, тогда подобного проекта так и не нашёл, тем более с таким кодом, где было бы всё объяснено. Хотелось бы более детально разобраться именно с методами поддержания баланса и управления по wifi. Книги, что указана выше оказалось недостаточно. Могу оставить тут свою почту или ссылку на яндекс диск со скетчем. Мне кажется, что найдутся те, кто захочет собрать эту "простую" версию вашего проекта. Я убрал из кода всё, что было связано с дисплеем и датчиками расстояния.
@user-bb2jh7op1d
@user-bb2jh7op1d 5 ай бұрын
Он почти жэ н держэт ровновесия
@eberle1966
@eberle1966 Жыл бұрын
Куча ошибок батарею стоит поднять как можно выше а вот гироскоп наоборот должен быть на оси моторов
Soft gripper. MeArm robot modification
15:28
TrashRobotics
Рет қаралды 152 М.
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 161 МЛН
$10,000 Every Day You Survive In The Wilderness
26:44
MrBeast
Рет қаралды 107 МЛН
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 33 МЛН
MOM TURNED THE NOODLES PINK😱
00:31
JULI_PROETO
Рет қаралды 26 МЛН
أغنية شوكولاته #شوكولاتة #shorts
0:15
هدوشة وعبودة 2023
Рет қаралды 6 М.
Что не так с электрофорной машиной?
32:47
Real powerful exo-glove. Part 1
27:50
Inofid
Рет қаралды 120 М.
Сетевой Диск - WiFi Для 3Д Принтера
16:24
Уголок технаря
Рет қаралды 37 М.
Casting? Molding? Smearing! [Madman's notes №1]
8:26
TrashRobotics
Рет қаралды 34 М.
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 945 М.
Где раздвижные смартфоны ?
0:49
Не шарю!
Рет қаралды 599 М.
гений починил ноутбук
0:29
Dear Daria
Рет қаралды 1,9 МЛН
cool watercooled mobile phone radiator #tech #cooler #ytfeed
0:14
Stark Edition
Рет қаралды 8 МЛН
How charged your battery?
0:14
V.A. show / Магика
Рет қаралды 3,9 МЛН
С ноутбуком придется попрощаться
0:18
Up Your Brains
Рет қаралды 353 М.