Arduino PD Control Ball & Beam with a brushless BLDC motor servo using FOC

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

КОМЕНТАРІ • 57

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

    Can't wait to see new tutorials! You did a great job. It will help me a lot with my gimbal project :)

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

    that's a lot of work right here! Thank you!

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

    Wonderful work and very perspicuous explanations

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

    Nice video thank you. I was wondering if you are planning to use the same setup to show a different control strategy. For example state space control. PID is simple but not always the best in practical, industrial situations. Would be really nice if some day you can show us how to apply a different control scheme also to same setup. Thanks in advance.

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

    Nice channel and good content! I plan to build a 3d printer with closed loop brushless motors, just for fun.
    Greets from a hw-engineer 😎

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

    Great tutorial, your explanations are very easy to understand. I was wondering if fuzzy logic would be better than pid. There’s an Arduino library called eFLL, have you seen it?
    Please keep your UA-cam videos coming👍👍

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

    Amazing! Keep up the great work.

  • @valeriomassimodessena1024
    @valeriomassimodessena1024 24 дні тому

    love this!

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

    Really wonderful

  • @leo.guevara
    @leo.guevara 2 роки тому

    Están muy buenos tus vídeos !!!

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

    You are makeing great work! I going to oder your bldc control boar but I have couple q about the board. What difrence it have to normal rc ecs? I know in your board have arduino and L6234 chips.

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

      Hi! Thanks! A normal RC ESC will be designed for high speeds, will use either a sensored or sensorless setup to maximize power at high RPMs but will lack precision for positioning the rotor at low speeds. If your needs are for slow rotations and high precision control, then you need something different, like this setup. The latest board uses mosfets instead of the L6234 giving you better performance;)

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

      @@juanpablocanguro Thanks for fast
      response. I have idea build 3 axis robot in future and I need just stuff like this. First of course i have learn use it but thanks of your good tutorials. :) What type/model BLDC encoder motors you use in your videos?

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

      @@MrAasi4 then you need to watch my latest video on Robotic arms! Have you seen it yet? I think gimball motors are good for robotics applications like the iPower GBM4108 ;)

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

    I may be wrong, but I don't think solving a single 4th-order polynomial is going to be a problem for the Arduino. I'm not sure what exactly you mean by "run out of variable space" but that shouldn't be a concern here.

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

      Orion DeYoe Hi!, I tried it and didn’t get proper results... a value of 500, for example, taken to the 4th power is an extremely large number 4e+21 which cannot be held by a 16bit variables, it made the variable run out of space and overflow, im not sure Arduino was handling those large numbers correctly as the results didn’t make a lot of sense, however, there might be another way im not aware of, do you have any ideas?

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

      @@juanpablocanguro You'd definitely need to use a Float (32-bit floating point) or Double (64-bit floating point). I would recommend Double.
      Which Arduino/chip are you using? There are some exceptions on which ones support the higher precision data types.

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

    can you please share the excel sheet uset to read data , your videos have helped so much Thank You!

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

      Hani Bdeir its a macro called PLX-DAQ, free to download ;)

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

    Muito bom !! Faltou declarar potPin, mas tudo muito bacana !

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

    is there any special thing you had to do to flash the bgc 3.0 to run arduino code?

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

    Excellent Job!, Where can i find the 3D model for printing?

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

    which FLIR camera are you using?

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

    Hello, how did you change the motor direction of the BLDC motor without swapping the wires ? I thought the BLDC motor needs an ESC (electronic speed controller) and that ESC provides three-phase signals to the motor.
    If I am not confused are you using a servo motor or a type of stepper motor instead? ...is that correct.
    Great video by the way.
    Amazing control system explanation.

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

      Look at my other videos you will find out there

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

      @@juanpablocanguro Thank you for your reply, I see I will check them out.

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

      @@juanpablocanguro From what I was able to figure out that there are bidirectional ESCs out there for BLDC.

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

      No, the order in which you generate the waves for coils A B C is where you define de direction. The amplitude defines the torque ;) good luck

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

      @@juanpablocanguro Thank you for that, that's what I thought as well.

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

    hi ive gotten your open loop code to work but now my board only makes the motor spin forward and back really fast and im really confused as why ive tried just doing defualt open loop code and same thing

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

      (the code at one point but after trying closed loop code i started having issues with the board )

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

      i have bought another board and having same problem any known fixes?

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

    Hi, I was wondering if I can use a Storm32 BGC DRV8313 Motor Driver to do the same that you are doing with your board. I need to control 3 motors and it would be nice to have a board that supports 3. Do you know if it's possible to flash the board, so I can use Arduino code on it?

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

      Sondre Nerhus sorry I dont know ... but keep me posted :)

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

      @@juanpablocanguro Do you know of any motor drivers that you can use for one motor like the BLDC Driver Rev 1 used in your earlier video? Would be perfect to have more small drivers for a bigger system. :)

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

      Sondre Nerhus the problem is that rev 1 is just the power stage, the arduino uno only has 6 ports with pwm so at the end that is what limits the number of motors per Arduino. I guess you could use a Mega but the sampling frequency will go down considerably with 3,4,5 motors.. also you can make the new version of the board and make small “slave controllers” dedicated to running the motors and receiving commands from a “master” that coordinates all the slave boards. Good luck

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

      @@juanpablocanguro Thanks for the good answer :D I found a project on hackaday hackaday.io/project/168990-nucleo-swd-mbed-to-reprogram-storm32-controller , he managed to reprogram the Storm32 BGC DRV8313 so I will try that :D

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

    How much is the cost for overall stuff, including the mechanical stuff ofc

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

    You skipped the Laplace part pretty quickly. I could have used some catching up there. Or did you skip it on purpose because of the complexity?

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

      Bigman74066 well, I wanted to make the video about the device and implementation, yet you can follow the link to the control tutorials and see all the different approaches they use to model and solve the problem ;)

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

      @@juanpablocanguro Thanks! And a big thumbs up for this video!

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

    As a human, I can balance the ball on the beam with my eyes closed. Could a force sensor be used on the motor's lever arm so that the location of the ball can be calculated without ranging it and offer a new and difficult control problem with the same parts and layout? I imagine it would get tricky with the movement of the lever arm itself causing variations in the force in addition to the weight of the ball along the rail.

    • @juanpablocanguro
      @juanpablocanguro  4 роки тому +2

      I guess it can be done. however, I think with eyes closed you would have problems locating the ball exactly at a certain distance, say 25 cm or 15, or 17.5... Also, this model is heavily simplified, yet still works, but its not contemplating the non linearity of the output mechanism, and the analytical model did not consider centrifugal force which is present too ;)

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

    Hello, super nice video! Thanks a lot!
    I was wondering if you knew about Internships offers in Mechatronics. I'm studying in a French Engineering school and I'm looking for an Internship linked to Mechatronics.
    Thanks again!

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

      Hello! For the moment I dont know of any, but will keep an eye open for you!

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

      @@juanpablocanguro Thank you a lot!

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

    how do we know the pin out of the board you are selling on ebay ?

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

      Hani Bdeir you can use the code on Github as reference, im on holiday now but I can also upload a diagram or pinout when I return home. Cheers

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

      @@juanpablocanguro Thank you !!!

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

      @@juanpablocanguro is it possible for you to upload pin out now?

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

      @@hanibdeir8473 sorry about this! Its ages ago, but the pinout is up on the github repo, sorry About the delay in the answer.

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

    Fototeta;3