Brushless Motors Torque Control using ARDUINO and SOLO (ESC - BLDC - PMSM) in Closed-loop Mode

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

КОМЕНТАРІ • 43

  • @DC-du8fr
    @DC-du8fr 3 роки тому +3

    If I would like to create a robot arm that applies Static torque, with zero speed or very low speed to control the torque, what kind of motor would you recommend and able to work with SOLO?

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

      Hi @DC, you can use both Brushless or Brushed DC motors, but clearly the brushless motors are much better and reliable, to have the best performance, you need to equipp your motor with an Incremental Encoder so it will operate well in low speeds as well.
      Regarding SOLO, you can put SOLO in Close-loop Torque mode while using your Incremental Encoder, so it will fix your desired torque on the shaft, and depending on the load, you will have different speeds ( if you use torque mode ), of course you can use SOLO in Speed or Position mode, and then the story will be different.
      if you visit our blog, you'll find lots of materials regarding all these control methods, we will remain available.
      www.solomotorcontrollers.com/blog/

    • @DC-du8fr
      @DC-du8fr 3 роки тому +1

      ​@@SOLOMotorControllers Thank you!
      I would also like to ask how does SOLO measure the torque of the motor?
      I am starting to learn to use Arduino, and as far as I know and the tools that I have used so far, the stepper motor only returns position value, and DC motor returns only speed value.
      I am wondering how does SOLO measure the torque of the motor, and how accurate it is, is there some calibration process to calibrate the current vs torque that would be required?

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

      ​@@DC-du8fr sure, so to explain this big topic in a couple of sentences, I would say in any electrical Motor, the Torque generated on the shaft of the Motor, is the result of injection of some sort of electrical Current into the motor which I will call it here the Current that acts in Torque generation, Now if you can measure that current you can measure the torque because this current and the torque of the Motor ( in most cases) are having a linear relationship as follow:
      The Torque on the Shaft of the Motor [N.m] = The Current acting in Torque Generation[A] x The torque constant of the motor [N.m/A]
      So now, SOLO measures the effective current in torque generation internally and the torque constant of the motor is a value that you can find it on the datasheet of your motor.
      In case of 3 phase motors like BLDC, PMSM or ACIM, SOLO is using FOC topology ( Field Oriented Control), There the current acting in Torque generation is called Quadrature current and is shown with "Iq", using SOLO you can read back that current and subsequently measure the torque at any instance.
      I hope this was helpful, if you want to see more, you can also watch this video which we explain the servo driving with SOLO and controlling Torque, Speed and Position of a Brushless Motor, there you will learn more about FOC topology and how it works:
      ua-cam.com/video/LeQuX0OEh9w/v-deo.html&ab_channel=SOLOMotorControllers
      Regarding Arduion we have an extensive open-source library for Arduion that you can find it here:
      www.solomotorcontrollers.com/resources/arduino-environment/
      Regarding a use case of arduino for servo driving with SOLO you can check:
      www.solomotorcontrollers.com/position-control-brushless-arduino-and-solo/
      We will remain available.
      Regards

    • @DC-du8fr
      @DC-du8fr 3 роки тому +2

      @@SOLOMotorControllers Thank you very much for the explanation!
      How reliable it is by using the Torque constant of the motor [N.m/A] from the datasheet?
      Would this value be slightly different in different temperature conditions, or would the current be different when at static condition vs high-speed condition even at the same torque? Would you know roughly the tolerance?
      My original idea was to use a strain gauge / loadcell, or potentiometer with a spring to measure the torque, then feedback to the motor. But would be very keen to try if SOLO is able to control the torque to a precise level without the extra sensor.
      My project is to build something with a similar function to this arm-wrestling machine:
      www.joystixgames.com/product/over-the-top-arm-wrestling/

    • @SOLOMotorControllers
      @SOLOMotorControllers  3 роки тому +2

      @@DC-du8fr The reliability of using that constant totally depends on the quality of the Motor, of course the temprature and aging can effect it but you can always find the plot for Torque vs Current for any given motor, so what you need is, once you are sure about the Motor you're going to use, you can measure the real torque applied by the motor ( using a Torque Meter) based on the given Torque reference to SOLO ( Iq ) and then find the plot for that for all the possible points ( Iq vs real torque), so the slope of that plot will be your torque constant, you can also use that plot for non-linearities, but if you fine tune it, you can have a percise plot for your specific motor.
      To measure torque you can use various tools like Torque Meters that are comercially available, of course this is a good solution once you want to put your product for production and it worth fine tuning it deeply.

  • @albertfarah7033
    @albertfarah7033 3 роки тому +2

    Thanks for the awesome demo! I am considering using this controller in my project, but I'm not sure how I should choose a motor. What motor is used in this demo? Where can I find one? Thanks so much for your help!

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

      Hi @Albert, thanks for the comment, the Motor used is a Brushless DC motor with trapezoidal BEMF in this article, the model number is "DB56C036030-A
      " from Nanotech. You can also control this motor precisely with its native Hall sensors and we have a tutorial on that for how to set up and calibrate them below:
      www.solomotorcontrollers.com/hall-sensors-to-solo-for-controlling-speed-torque-brushless-motor/

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

    Good morning,
    Is it possible to automate the stepper motor and its torque via GRBL or a similar software?

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

      Hi Patrick, on SOLO we don't support Stepper motors at the moment, however, we have users that are using GRBL to control a CNC with Brushless motors, including the spindle as well as the servo motors using SOLO.

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

    I understood from video you control the torque according to the load, if there is more or heavy load on the motor shaft or more external rotational resistance on the motor shaft that means more torque needs to rotate the motor to keep constant speed, so if the motor sense a heavy load or more power to rotate the shaft then lower the speed to keep the motor running at the same speed . right ?

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

      Hi Wadi, yes, to be more percise when SOLO is in Torque Mode, it only cares about Torque and not speed, so it only tries to apply a constantant torque on the shaft of the Motor, now if you increase the amount of Load on the shaft, the Torque that SOLO applies remains the same ( in torque mode) so this will result that the speed drops, since there is now less effective torque available to turn the Motor.
      However if you want to keep the speed constant while the load varies, then you need to put SOLO in Speed mode, in that case SOLO will automatically adjust the amount of required torque based on the Load on the shaft, so subsequently it will make sure the speed as a result is remaining fixed and un-affected by load variation. we will remain availabl.

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

      @@SOLOMotorControllers So when we keep the torque constant that will be good for motor to keep the drawing current constant ? but more torque more drawing current

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

      @@wadib3eed7 Yes, exactly, so to sumerize, rotational speed is the result of active torque which is derived from the difference between the torque that is applied by the motor and the torque that the load is exerting to Motor, so the higher the active torque it means the Motor can rotate with higher speeds.
      so once you keep the Torque constant, you are practically draining a fixed amount of current from supply and injecting it to the motor, regardless of the load on the shaft. we will remain available.

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

    how do i connect multiple motor to solo and control torque of each motor? lets say four wheel have four motors and i want to control individual torque of motor attached to each wheel for better traction. can you please comment.Thank you.

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

      Hi Mohammed,
      For the Moment you can use UART protocol on Arduino or Raspbery Pi or any other MCU that has UART on it directly to network multiple boards, as each SOLO can have a different device address, in our Python and C++ library available on our website, you can define Objects of SOLO's with different address and control them all together. to Networ multiple SOLO's using UART protocol to avoid data collision, you need to use an Analogue ( or digital ) Multiplexer like the one in below that can operate with 3.3V leveled signals:
      www.digikey.com/en/products/detail/sparkfun-electronics/BOB-09056/5673767?s=N4IgTCBcDaIEIHk4FoAMBOVBWAbAHQBcQBdAXyA
      in case of using UART:
      -You can connect the TX of your main controller ( arduino, raspberry Pi or etc ) to all the RX's of the SOLO's in the network directly with a wire.
      -using the GPIO pins of your controller ( arduino, raspberry Pi or etc ) connected to "Channel Selector Pins" of the multiplexer, you can select the appropriate SOLO UNO's TX in the network to send data back to your raspberry Pi, so like this as each SOLO has a unique address, once Raspberry Pi sends a command through its TX, only the SOLO with the same address will respond back, however, at the same time, within your multiplexer you are selecting the appropriate channel to read back from the data from the desired SOLO unit in the network.
      Regarding other ways of networking, SOLO offers CAN bus as well to have a CAN network, indeed the firmware with CANOpen is going to be released in near future and once it goes out all of our users will receive the updater and they can update their firmware ( we did this process 5 times till now as soon as a new feature goes out), the hardware on SOLO UNO is fully compatible with CAN bus and the CAN Transceiver IC is mounted on the board, so for CAN Open it's only the matter of the firmware release date, but I believe using the Method I mentioned above you will be able to network lots of SOLO units together using UART.
      you can also use our Motion Terminal to monitor and control and monitor simeltanously multiple SOLO's by opening mutliple windows and conneting to eash SOLO unit through their unique VCP ( virtual COM port).
      solomotorcontrollers.com/SOLO-motion-terminal/
      We will remain available for further clarifications.

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

      @@SOLOMotorControllers Thank you i will try with your suggestion

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

    Can you share how you powering up the motors? Is it a AC-DC converter? If yes, which one? I just ordered your Solo control board today. Thanks for the demo!

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

      Thanks Abhijit for your interest and the order, pls visit here to get your answer
      www.solomotorcontrollers.com/forum/permanent-magnet-synchronous-motors/power-supply/#post-58

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

    Is it possible to control torque and angular velocity at the same time?

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

      Yes you can! When you are in speed mode you can control the torque using the Current Limit and the Speed with Speed reference too. Is possible to play with the Motion Terminal in order to take the best out of your Motor and Controller

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

    Can negative torque be applied? In other words can you slow a system down by applying negative torque? Sort of a braking system.

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

      Hello Ant,
      Yes, SOLO operates in 4 quadrant mode, thus the negative torque can be applied as essentially torque controlling in SOLO is bidirectional.

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

    does it like save energy because you can reduce torque when it's not needed as much?

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

      Save Energy is a huge topic! Consider the cycle time of the controller and the reaction time can reduce the consumption too (also on a steady speed). SOLO Current Controller Cycle time is 7 us that is very high value, and we keep work to optimize the performance and introducing new alternatives for the users

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

    Cool!

  • @sudesh.s5240
    @sudesh.s5240 Рік тому

    Can I use in automatic guided vehicle (agv)

  • @sudesh.s5240
    @sudesh.s5240 Рік тому

    Can I use in speed control and weight control

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

      Yes. In speed mode you can control the speed and the torque release to the motor.

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

    What is the brand of the brushless Motor?

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

      We do not currently sell motor directly, but we do our best to best support a large number of them.

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

    High speed po ba ang brushless motor?

  • @yayser
    @yayser 3 роки тому +2

    eaaaaaeeeaaaa....

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

    Torque control is JUST current control. That's all. Nothing more.

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

      Not exactly..

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

      Certainly not true for BLDC motors - it is very precise synchronizing control of all phases based on their exact position at any given time.

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

      We think differently