paper: Optimal Gear Ratio Calculator

Thread created automatically to discuss a document in CD-Media.

Optimal Gear Ratio Calculator
by: Ari423

This is a spreadsheet calculator that can be used to determine the optimal gear ratio for a mechanism with a given motor and load.

Using formulas from JVN’s Mechanical Design Calculator, I have created a spreadsheet that automatically calculates the optimal gear ratio for a given motor and load. My team is using this spreadsheet this year to help calculate gear ratios and determine motor requirements for our manipulators. I thought I would share it with the FIRST community to help other teams with the process. If anyone finds any bugs or has any suggested improvements, please let me know and I will try to make those fixes.

The calculator is intended to work for any kind of manipulator, but not for drive trains[1]. It also has a feature for calculating the gear ratio needed given a maximum current input, since sometimes the optimal gear ratio will require a current above what is desired. Note that in this calculator, the calculations are done with wheel radius instead of diameter to support arms and wheels in the same calculations.

[1]It will work for drive trains, but you will need to do some more calculations by hand to figure out what the force of friction on the wheels will be.

Optimal Gear Ratio Calculator.xlsx (29 KB)
Optimal Gear Ratio Calculator.xlsx (16.3 KB)

With an hour and a shower spent thinking of motor curves, I am prepared to release v1.5. The new spreadsheet is effectively the same, except these calculations are exact instead of guess and check. This makes the spreadsheet more efficient and slightly more accurate, but there is effectively no change in the output.

This is amazing and very simple to use! Thanks!

Do you have a good way to estimate load for a system? For instance, if you were building a flywheel for the Fuel, what is appropriate load? And would that load chance as you increase throughput?

And just to clarify, using the flywheel example, if you reduce voltage to a motor at this gear ratio to allow headroom to keep your flywheel speed steady, would this change the required gear ratio? Or are you still able to hit peak power with this given ratio at each voltage? My question is really, is the ratio needed for peak power at 12V the same ratio needed for peak power at 6V?

For a system like an arm or a conveyor belt, you can usually find the load using a simple free body diagram. For a flywheel, however, the load depends on a lot of factors (including ball weight, wheel MoI, compression, ball compressability, wheel compressability, time in contact with ball, etc). You can guess the load for a given set up by gearing the flywheel 1:1 and measuring how much the wheel slows down when a ball is launched, but AFAIK there is no good way to calculate the load on a flywheel. I usually set up a prototype with an easily-changeable ratio (e.g. easily accessible belt/chain/gear reduction or VersaPlanetary) and change the gear ratio until I’m satisfied with the top speed and spin-up time.

In an ideal DC motor, doubling the voltage doubles the free speed, stall torque, free current, and stall current, and quadruples the max power. This also doubles the torque where max power occurs, so your gear ratio should be halved to remain at the max power point on the motor curve. Halving your gear ratio, combined with a doubling of the free speed, will result in a 4x increase in speed at that point. Conversely, if you only provide your motor with 6V instead of 12V, you should double your gear ratio to remain at max power, and your speed at that point will be quartered. JVN’s first calculator allowed users to specify input voltage, but he took away this ability in the later versions. I think this is an important feature to have, so I will add it into the next version of my spreadsheet.

Suppose you have a motor whose free speed is 6000 rpm at 12 volts when connected 1:1 with an unloaded flywheel.

Suppose your desired flywheel operating speed is 3000 rpm.

For the sake of simplicity, ignore parasitic losses and say it takes 6 volts to keep the motor (and flywheel) running at the desired 3000 rpm when the flywheel is unloaded.

If you have 12 volts available, you can get max power output from the motor (to respond to a load being applied to the flywheel) by changing the motor voltage from 6 volts to 12 volts.

But if all you have available is 6 volts (because of weak battery and heavy current draw elsewhere), then you cannot supply any additional power to the motor at 3000 rpm.

I just uploaded version 1.6.

Change log:

  • Added ability to vary motor voltage
  • Added more motors

Normally I would wait longer to include more changes before pushing an update, but I think this calculator is very useful when designing mechanisms so anyone who wants it should have the most recent version. Again, if you have any more suggestions, please let me know.

This is a nifty calculator! Personally I appreciate quick updates based upon feedback. Release away!

I was apprehensive at first, since some of the other papers that come out which try to improve upon JVN’s Calcuator often come at a price of complexity and/or mathematical results that don’t match what JVN’s models or what I’ve modeled/measured. Yet I put our 2017 climber setup into this spreadsheet and validated the ‘optimum’ and ‘current-limited’ gearing values match JVN’s and also my own models.

So now that it’s validated, it definitely saves a little bit of time when trying to figure out what gearing to aim for. Thanks for putting in the voltage changes - that helps when determining end-of-match characteristics.

Wow two updates in one day! It was brought to my attention that one of my formulas was slightly off (only noticeable for very small radii). The problem has been fixed and version 1.7 is now available. Please let me know if you find any more bugs or have any more suggestions.

Would this work for calculating a gear ratio for a winch?

Absolutely! Use the spool’s radius as the radius and the robot’s weight as the load. Don’t forget that the spool’s radius will get bigger as the rope wraps and you probably want some factor of safety in the robot weight to account for dynamic loading. You will probably also want to use ~10V applied because the robot’s battery can drop that low under load by the end of the match and you want to make sure you will still be able to climb even with a low battery. Once you set all the parameters, you can vary the number and type of motors to see how that affects your climbing speed (i.e. speed @ edge), optimal gear ratio, and stall current. Divide 5.8ft (height of climb sensor) minus the height of your climber on the ground (in feet) by the climbing speed to get the time it takes to climb. If you know what motors you want but the optimal gear ratio gives too high of a stall current, you can use the current limited column to calculate the gear ratio based on your desired stall current. Feel free to reach out if you have any more questions on how to use the spreadsheet or suggestions for improvements.