High speed balancing robot based on ESP32

Поділитися
Вставка
  • Опубліковано 21 жов 2024

КОМЕНТАРІ • 73

  • @TheRealKitWalker
    @TheRealKitWalker 3 роки тому +5

    The fact that you did this using just esp32 is simply great dude!! 👏👏👏😎👍

    • @kloppertje
      @kloppertje  3 роки тому +5

      Thanks :). ESP32 is capable of a whole lot of things as long as you have patience to write some nice software. Devel firmware now also has an option for remote control via web page, and I'm working (so very now and then) on step generation with ESP32 peripherals. Minimal CPU load, 1 MHz step rate!

  • @badelf64
    @badelf64 3 роки тому +5

    Got it working! (Kinda) I'm using an ESP32-DEVkitc-32D on a custom made pcb. After getting the motors to rotate the correct way, it 'stands' by itself! Next: RC control and battery monitor. Been wanting to do a balancing bot since I first saw nBot. Thank you for the inspiration! Hope others follow.

  • @ProtoG42
    @ProtoG42 5 років тому +1

    What was your main reasoning for going with platformio? I have poked around a bit with the software but I haven't yet had a reason to use it.

    • @kloppertje
      @kloppertje  5 років тому +3

      Well, I just was looking for an Arduino alternative, and I like it for multiple reasons: working with multiple files is a lot easier, more advanced editor, OTA works like a charm. Plus, I work with some different platforms, and the idea is to use one single environment.

  • @jotaefearango
    @jotaefearango 5 років тому +7

    Best part. The crash at the final... Jajajaj Excelent job. Thanks.

  • @a.sanusinazareth9213
    @a.sanusinazareth9213 3 роки тому +1

    More than expected and I dream of. Great Job!

  • @samsoft_dz
    @samsoft_dz 3 роки тому

    can I use NodeMcu V3 instead of ESP32 ?

    • @kloppertje
      @kloppertje  3 роки тому +1

      It seems the board you mentioned is esp8266 based. I wrote the software for an esp32 and never tested on esp8266. With effort you could maybe get it to work but I would recommend to just use an esp32

  • @AdaptivePhenix
    @AdaptivePhenix 3 роки тому

    Excellent work 👌😎
    It's very disappointing to see so few comments 😔

  • @hradynarski
    @hradynarski 4 роки тому +1

    Hi nice work. Any assembling instructions?
    How did you manage to mount steppers to the frame?
    Where we can shop for rubber band used on the wheels?
    Thank you for sharing!

  • @Francesco105590
    @Francesco105590 Рік тому +1

    what is the diameter of the wheel?

  • @Francesco105590
    @Francesco105590 Рік тому

    hello, please can you help me step by step? i loaded the sketch, and the serial monitor says : loading index.html;
    what should i do, which file should i open from the data folder? index? should I click AP or SSID and what credentials to put? I specify that I use arduino ide

  •  4 роки тому +1

    Great job! Wonderful outcome!!!

  • @moisescavalcanti9876
    @moisescavalcanti9876 3 роки тому +1

    Did you use Arduino Framework for programming? Which tools do you use for ESP32 to achieve that awesome efficiency?

    • @kloppertje
      @kloppertje  3 роки тому +1

      Yes Arduino framework, and VS code + PlatformIO as IDE. What kind of efficiency do you mean? The basis is just two cascaded PID controllers, and quite some code around that for interfacing (web page for parameter tuning / data transmission etc.)

    • @moisescavalcanti9876
      @moisescavalcanti9876 3 роки тому +1

      @@kloppertje it's very fast and precise, measuring, calculating PID and also receiving remote commands. It's really good job!

  • @Francesco105590
    @Francesco105590 2 роки тому

    hi , which nema 17, did you buy? part number?

  • @malikmohrat9582
    @malikmohrat9582 6 років тому +1

    Wow ! Amazing
    I'm waiting for your additional information about this.

    • @kloppertje
      @kloppertje  6 років тому

      See (updated) description for links, everything is available now!

  • @tanjiro3285
    @tanjiro3285 9 місяців тому

    Im not able to input WiFi credentials when esp32 used as AP (i have also tried the serial monitor approach).
    It says ssid too long but i have even tried with single digit ssid . Is there a manual method to input those credentials, like in the code.
    Please help

  • @arpatupuropo
    @arpatupuropo 9 місяців тому

    does the continuous stabilisation makes it less performant and spends more battery compared to a 4 wheels robot?

    • @kloppertje
      @kloppertje  9 місяців тому

      Good question. The stepper motors are always on and yes they do consume quite a bit of current. A 4 wheeled robot could be made more efficient. With the battery used in this video battery life is > 5 hours so still pretty good.
      Also, I'm working on a version that doesn't use stepper motors but DC motors, resulting in a much lower power consumption. From some first tests it appears you can have a battery life of say 5 hours on a single (cheap) lithium cell :)

  • @Dave-DIY
    @Dave-DIY 4 роки тому

    Nice Work! Very fasr and stable control! Thank you for share your build!

  • @Francesco105590
    @Francesco105590 2 роки тому

    Can anyone tell me which app is using on the phone?

  • @AboxxxSwing
    @AboxxxSwing 4 роки тому

    Hi my friend, i was trying it for 3weeks and no sucess, i will try your code in this week... GOOD JOB!

  • @tanjiro3285
    @tanjiro3285 9 місяців тому

    are u using 1/4 or 1/8 microstepping ? im having a real hard time finding it..

    • @kloppertje
      @kloppertje  9 місяців тому +1

      gitlab.com/kloppertje/balancingrobot/-/blob/ps3control/Software/src/main.cpp?ref_type=heads#L154

    • @tanjiro3285
      @tanjiro3285 9 місяців тому

      @@kloppertje I'm also not able to connect to wifi by using my credentials in html (although esp32 as AP is visible to me)
      Its 4am in my country btw🥲

    • @tanjiro3285
      @tanjiro3285 9 місяців тому

      i'm using tmc2208 please tell me whats the microstep resolution i should choose, my robot seems to work at 1/4 but u r saying its 1/16 ?@@kloppertje

  • @mehmetsahin8261
    @mehmetsahin8261 3 роки тому

    It was excellent. But i wonder something. Probably this dc motor doesnt have an encoder how do you get the position feedback of robot. Do you just control the vertical angular position.

  • @3gypt1an
    @3gypt1an 3 роки тому

    0:45 .. what is the plotter software that you are using? Such a great design. Thank you for sharing this!

    • @kloppertje
      @kloppertje  3 роки тому +1

      Wrote the plotter software in javascript (probably stole the idea from someone else, don't remember exactly. Might have been CNLohr. ESP32 sends data via websockets and JS in browser makes it into a nice plot. Code can be found in gitlab.com/kloppertje/balancingrobot/-/blob/devel/Software/data/plotTest.htm

  • @Francesco105590
    @Francesco105590 2 роки тому

    hi, what app should you download to your phone

    • @kloppertje
      @kloppertje  2 роки тому +1

      No app needed! Everything runs on the esp32

  • @gnupixello
    @gnupixello 5 років тому

    wow, this is cool ! can you share the details about the motor ? I understand is a Nema 17 and is seems not short... maybe you have a link or the specs ?

    • @kloppertje
      @kloppertje  5 років тому

      The ones used in this robot are indeed Nema17, with a length of 48mm. For another one, I've used the 39mm length ones. I don't think it really matters, as the torque is mostly limited by the used drivers, not the stepper motors themselves. I don't know if/how torque/current efficiency of stepper motors scale with length though.

  • @sergeyzaitsev3319
    @sergeyzaitsev3319 2 роки тому

    Great job!

  • @elgusanobi2008
    @elgusanobi2008 2 роки тому

    hola ,puede decirme cual es la aplicacion en en mobil para su manejo

  • @tanjiro3285
    @tanjiro3285 9 місяців тому

    im not able to tune the robot it just wobbles and then falls down & where should is save the pid values permanently?

    • @kloppertje
      @kloppertje  9 місяців тому

      Hi, tuning the robot requires some trial and error. Also, regarding your other questions, the documentation can be found in the gitlab repository, my website, and the youtube videos. You will require a certain amount of problem solving yourself. This is a free, open source project (and quite some time goes into making things open source); it is not a complete guide on how to build a robot.

  • @СергійБазавлук
    @СергійБазавлук 4 роки тому

    Thank you so much for sharing the code, I've built a much bigger version of the robot using two solderable breadboards. Well, it falls sometimes when the stepper motor loses steps, but it is pretty stable. I also added minor things like changing motor current depending on speed. And I use different PIDs for staying and going, so now it doesn't swing when it stays. Really nice code, clean, I couldn't write anything like that, especially interesting how you send data via WebSocket, I don't fully understand how it works, but it is cool. One question, Why is microstep adjusted dynamically? Is it just to get faster speed? (I don't use it now).

    • @BauritoTV
      @BauritoTV 4 роки тому

      привет Сергей! я тоже делаю большую версию робота, и у меня тоже есть некоторые проблемы, как можно с вами связаться? Возможно вам тоже смогу помочь в чем то

    • @СергійБазавлук
      @СергійБазавлук 4 роки тому

      ​@Atilla Balcı Better late than never :) Here you go: github.com/Deimos1994/ESP32_Robot

    • @СергійБазавлук
      @СергійБазавлук 4 роки тому

      @Atilla Balcı Yes, but There are also lib folder, inside of this folder are libraries, Arduino needs those libraries to compile balancingrobot.ino, if it doesn't compile try to put the libraries in "C:\Users\User-Name\Documents\Arduino\libraries". (I modified fastStepper library slightly, so make sure you use the library I provided with the code).

    • @Francesco105590
      @Francesco105590 Рік тому

      ciao, per favore mi puoi aiutare passo dopo passo? ho caricato lo sketch e il monitor seriale dice: loading index.html;
      cosa devo fare, quale file devo aprire dalla cartella dei dati? indice? devo fare clic su AP o SSID e quali credenziali mettere?

  • @mohamedelhaloua4713
    @mohamedelhaloua4713 8 місяців тому

    amazing, geat job !

  • @jupiterjs031
    @jupiterjs031 5 років тому +1

    Wow very very good!

  • @Francesco105590
    @Francesco105590 2 роки тому

    we are not understood, to make it go forward, backward, right, left

    • @kloppertje
      @kloppertje  2 роки тому

      See gitlab.com/kloppertje/balancingrobot/-/tree/devel/Software
      At the bottom of the page there's a short explanation. There is no dedicated app, via the browser you can visit the web page that is "created" by the esp32

    • @Francesco105590
      @Francesco105590 2 роки тому

      @@kloppertje Can anyone tell me which app is using on the phone?

    • @kloppertje
      @kloppertje  2 роки тому

      @@Francesco105590 See my last reply, any browser will do. It's a web page that is running on the ESP32, that you can access via any browser app

    • @Francesco105590
      @Francesco105590 Рік тому

      @@kloppertje but the files of the "Data" folder must be loaded in esp32? and how? then open chrome? and how do you start the check? I'm sorry, but if you can clarify, thank you. I specify that I use arduino ide

  • @JuanPabloKutianski
    @JuanPabloKutianski 6 років тому +1

    WoW! Man, these steppers sound like servos! Have you a Twitter or other contact method?

    • @kloppertje
      @kloppertje  6 років тому +1

      Hi! I don't have twitter, but you can contact me via my website: www.elexperiment.nl/contact/
      At some point I'll probably also make a post on my website about this robot, explaining everything in a bit more detail.
      For this application, I did some tricks with the steppers. I use the DAC of the ESP32 to set the stepper current, and more importantly, the microstep is adjusted dynamically based on motor speed. Together with the relatively high battery voltage (24V), this gives extremely high stepper speeds. At maximum rotational speed (at which the robot would absolutely not be stable anymore), the theoretical top speed would be something like 20 or 30 km/h I think.

    • @revimfadli4666
      @revimfadli4666 4 роки тому

      @@kloppertje so like servo-steppers?

  • @cesarbriones759
    @cesarbriones759 Рік тому

    Como puedes conseguir tanta velocidad con un motor paso a paso XD.

  • @basaravia
    @basaravia 5 років тому

    Wow... How you get the speed, I tried to use nema 17 with an A4988 driver, but it was very slow... you think i would have best results with DRV 8845 OR MAYBE WAS THE MOTOR?

    • @QBiks
      @QBiks 5 років тому +1

      What do you mean by "very slow"?
      What is the motor's rated voltage, resistance and max current?
      At what voltage did you operate the motor? What was the current limit you set on the A4988?
      In general I would suggest a motor with a low coil resistance since it will be able to maintain its torque in higher speeds when using current-limiting drivers such as the DRV8825 or the A4988.

  • @Wol333
    @Wol333 3 роки тому

    What is the battery life like?

    • @kloppertje
      @kloppertje  3 роки тому +1

      It's good! Especially with this version, because there's a 6S 2.6 Ah LiPo battery on top. Runtime should be 4 hours or so.

    • @Wol333
      @Wol333 3 роки тому

      @@kloppertje thanks!

  • @infinityplaylist9333-1
    @infinityplaylist9333-1 3 роки тому

    YOU DISURVE MORE LIKES AND VIEWES

    • @kloppertje
      @kloppertje  3 роки тому

      Wait for the next version :)

  • @timstevens3361
    @timstevens3361 17 днів тому

    bb8 get me a beer

  • @user-vz8rj2nd7y
    @user-vz8rj2nd7y 2 роки тому +1

    Cost?????

    • @kloppertje
      @kloppertje  2 роки тому

      See my website, link in description

  • @shawnpu580
    @shawnpu580 3 роки тому

    cool!!!

  • @wernerrenrew6225
    @wernerrenrew6225 5 років тому

    100%

  • @muslimkafa
    @muslimkafa Рік тому

    imu.initialize(); no working Why

  • @ProtoG42
    @ProtoG42 5 років тому

    Great job!