Pololu Robotics & Electronics
Menu
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Choosing right motors for self-balancing robot

Hello,
I’m looking for right motors for my first self-balancing robot.

Design assumptions:

  • robot height: around 120-200 mm
  • robot weight: around 600-800 grams
  • wheels: 80x10 mm (Pololu #1430) or 90x10 mm (Pololu #1438)
  • battery voltage: not sure yet, but something between 7,2 - 12 V (depending on the motors)

So as I know, I should looking for DC motors with encoders, right? I also thought about stepper motors.

My little calculations:

Required torque = robot height * robot weight * gravity * max. tilt angle

  • Rt min = 0,12 m * 0,6 kg * 9,81 m/s2 * sin(40°) = 0,454 Nm
  • Rt max = 0,20 m * 0,8 kg * 9,81 m/s2 * sin(40°) = 1 Nm

So, in best scenario I will need 0,454 Nm and in worst 1 Nm. So, if I have two motors then I can divide this required torque by 2, right?

Can you advise me on the right motors for my project? I’m not sure about motor speed, gear ratio and how much torque do I need to get good balancing without damaging/overloading motors.

Thank you,
Adam

Hello.

If you are not too far along with your design yet, then you might consider getting started with our Balboa robot. That can give you a sense for what is involved in a balancing robot before you try to do something from scratch yourself.

If you decide to make your own robot, then I strongly recommend using DC motors with encoders. It is possible to use stepper motors for a balancing robot, but that would be more challenging to implement.

You should divide the torque you calculated by 2 to determine the torque you need from each motor, but I also encourage you to apply a strong factor-of-safety. Based on the torques you calculated, you might consider using a pair of our 25D or 37D metal gearmotors. If you want to use a smaller motor, then you will need something to decouple the load from the motor’s gearbox (like a belt and pulley setup) since the instantaneous torque when your balancing robot stands up puts a lot of stress on the little gears.

I also suggest you check out our blog for examples of other balancing robots which could give you ideas.

- Patrick

1 Like

Thanks for your reply.

How “strong” should be this factor-of-safety? 10-15%?

So, I found this motor: 20.4:1 Metal Gearmotor 25Dx65L mm HP 12V with 48 CPR Encoder

Gear ratio: 20.4:1
No-load speed @ 12V: 500 rpm
No-load current @ 12V: 300 mA
Stall current @ 12V: 5600 mA
Stall torque @ 12V: 85 oz·in (6 kg⋅cm = 0,6 N⋅m)

What do you think about this motor? Should be OK for my application?

If it’s OK, can you recommend me any driver for this motors? Should I looking for 5,6 A of continuous output current per channel or maybe should apply “factor-of-safety” too?

Thank you,
Adam

Those motors might be okay if you do more serious analysis to figure out for certain how much torque you need, but with the level of analysis so far, I would use a factor of safety of 2 (as in design for twice the torque you calculated).

For whatever motors you use, we recommend using drivers which are rated to continuously handle the stall current of the motors they are driving. The related products list on the motor’s product page is good place to start looking for an appropriate driver. If you go with one of our 25D high-power 12V motors, like the one you linked to, I suggest the VNH5019.

- Patrick