Diving deeper into motors?

So we’re going into our 4th year and I want to take our robot design up to the next level, try to go as high as we can. One thing I’ve noticed many teams do is the careful use of motors, knowing how much they can handle, peak power, current and voltage curves, etc. Can someone either explain or point me towards useful references for this stuff? I have no prior experience in this and don’t really know where or how to start. I’ve tried looking things up here on CD but didn’t find much regarding the topic. Anything regarding motors would be really appreciated.

Thank you so much to anyone who is able to help

3 Likes

I too would be interested… seems like a question my team has been chasing for years.

I’m not really an expert on this, but I try to consider current (probably the most important one) when looking at what ratios to use.

971 has a lot of really great more technical oriented lessons on things like this one:

Additionally, the JVN calculator/spreadsheet is a really great way to calculate everything you need.

2 Likes

Just adding onto this thread cause into would like to know but I’ve used the JVN calculator and I watched the 971 video but I’m still not clear on a lot of things.

Specifically what rpm band to you want to gear a motor for. For example, you need headroom in your motor rpm to account for pids so for something like a shooter which would nominally spin at 5k rpm, how much headroom do you want.

Stalling a motor to brake an elevator. I get you look at the charts, but what are the step by step ways to ensure you can stall said motor for x amount of time without smoking it in an actual application.

Do all mechanisms need to be geared up to account for pids or is it only some.

2 Likes

I think what you are asking about here is factor of safety, as well as controllability? (correct me if I’m wrong). this is usually a factor you introduce to make sure that your system works, accounting for any error. for me, I usually use a factor of safety of around 1.5 (ex: the robot is 1.5 times heavier when hanging, or the flywheel runs at 2/3 the optimal speed), to make sure the robot hangs well in normal operation, and can account for any “mishaps”. this number can change from time to time depending on the application, since this will affect the performance of whatever you are designing (hang is slower, flywheel has less torque), but usually it works out.

I can’t fully speak on control-ability, since my team doesn’t do a whole lot of high level programming that has required us to consider “what is a controllable speed” from a programming standpoint. Although as mentioned (i think) in the video and off of the top of my head, some are as follows:
lift speed: bottom to top in ~1s
arm speed: around 90-180 deg/s
intake: faster than top robot speed (so that you can pick up a ball and back up instantly)
some personal ones (more performance based than control based):
hang: pull up in ~1s
shooting: empty as fast as possible in ~1s, (depends on magazine capacity, ofc years like 2017 are different)

three things you can do:
1: use a closed motor such as a CIM or Falcon, versus a 775 (made that mistake in 2019). most closed motors can run for a very good amount of time while stalled, usually more than you need. (they use their metal casing as a heat sink)
2: incorporate a factor of safety.
3: use constant force springs. constant force springs are almost an essential to lifts that use open motors like 775’s, since a 775 needs to be moving to cool itself. using a constant force spring should ideally make your lift close to, if not ‘weightless’, so that your lift can be held up purely by the springs and the braking force of the motor, and the motor is just there to move it from one place to another.

Hope this answers your question, otherwise lmk

Here is another video with motor info. There are 9 videos total.

1 Like

@GalactechGoat

1 Like

The spreadsheets and calculators are definitely the easy way to start out. 100% recommend starting there. If you want to keep going into how those spreadsheets work… well, we can do that too.

For the ground-up, theory approach, the first step is the fundamentals. You’ll want to know some bits about electrical theory, ohm’s law, KCL/KVL, and physics of rotating masses.

Basic DC Circuits
Ohm’s Law
KCL/KVL
Voltage Sources
Physics of rotating masses

I’ve got a few examples of using these first-principles ideas in building up mathematical-based models of how physical things behave.

In particular, you can use these first principles to help understand this classical model of a DC motor:

By applying the above laws and rules to the model, you can derive equations for the angular acceleration & torque output of the motor, in terms of constants and inputs:

\alpha(t) = \frac{\tau(t)}{I} = \frac{1}{I}\frac{K_T}{R} \left( V_{in}(t) - K_V \omega(t) \right)

This is the model that can be used to calculate the curves that you see in datasheets. You can also use some calculus to get the mechanism’s velocity or position over time.

Then, you set requirements. How much voltage are you willing to apply to the motor? How much current do you want it to draw, how fast do you want it to go, how much torque do you need, etc. Basically, pick the operating condition based on what you want your robot to be able to do.

The motor constants are one “degree of freedom” you can play with… sort of. You can pick different motors, which have different constants, which maybe line up better with your requirements.

Usually, motor constants alone aren’t enough, so you add additional motors, or a gearbox. Each of these are another “degree of freedom” you can play with to get the whole system acting more like your requirements.

Rarely will you get something that matches identically. It’s (IMO) a beautiful optimization problem to go through the different permutations of COTS motors, quantities, and gearboxes to find a combo that fits the application well.

This model is additionally useful for answering questions like “We only have a 9:1, not a 10:1 gearbox! Will it work?”

1 Like

I want to recommend using the mechanism calculator in my design spreadsheet for choosing motors and gear ratios. It has a lot of helpful calculations that can help you make sure the motor and gear ratio you’re using is well suited for your application.

1 Like

And if you just want to see the actual performance characteristics (the tabular data is available through links), most of the common FRC motors were performance tested by Vex.

PIDs have nothing to do with it. That is affecting the amount of electrical energy supplied to the motor (voltage), not where it should be operating at.

It does depend on the application as well as your primary design objective.

When you look at a typical brushed motor curve you’ll see 4 lines, torque, power, current and efficiency.

Torque is a force, a twisting force and determines how much work can be done.

Power is the rate of application of force and determines how fast the work can be done.

Current is the amount of electrical energy the motor is consuming.

Efficiency is the ratio of mechanical energy obtained from the electrical energy that is supplied to the motor.

If for example your primary objective was for maximum run time you would gear your mechanism so that the motor operates at peak efficiency. At that point you’ll get the most work done per electrical energy consumed.

For typical FRC use however peak efficiency is not the primary objective.

For something like a flywheel shooter usually the concern is returning to the target RPM as quickly as possible. For this we want to look at the power curve in determining where we want the motor to operate. To minimize the time to get back up to the desired speed we need to maximize the area under the curve.

To maximize the area under the curve we want to operate it around its peak. So for example if you have that shooter that needs 5k rpm when the ball is introduced and you have a motor that makes peak power at 10k rpm you might think you would want a gear ratio of 2 to 1 (10k/5k) That would operate the motor at peak power when the ball was introduced. However what happens when that ball is introduced? The flywheel and thus the motor slows down. That means that the motor is now making less than peak power at the time you need it most. Say the flywheel rpm drops to 4,000 rpm by the time the ball exits the shooter. That means that it has dropped 1,000 rpm. So we want to set our gear ratio to 10k/4.5k or 2.22 to 1. Now as the rpm drops there is more power available and if it does drop all the way to 4K rpm the range that the motor operates in will be centered around the point of peak power and thus have the largest area under the curve.

Now if we want to use that motor to climb the calculations are different. Is minimizing the time to climb the top priority and the motor won’t be required to hold the load by stalling?. If that is the case you want to operate at peak power. You do that by gearing the motor so that the torque is sees at its shaft is equal to that produced at peak power.

If you wanted to lift the load with the least amount of electrical energy you would gear it so that the torque on the motor was equal to that produced at the rpm where peak efficiency occurs.

That leads us to what you want to do if you want that motor to hold a load by stalling. Earlier when we talked about efficiency we didn’t talk about that electrical energy that isn’t converted into mechanical energy. It had to go somewhere and that place is heat.

So if a motor is operating at 75% efficiency and we are giving it 100w of electrical energy we get 75w of mechanical energy and 25w of heat. If a motor is not spinning it is not doing any work and therefor its efficiency is 0%, in other words all of the energy is being turned into heat.

Once enough heat has built up in a motor the magic smoke is released.

So how do we limit the amount of heat? We limit the amount of power we supply the motor. Thankfully Vex spent the time and money to test various motors until failure. If you look at the bottom of this page you’ll find the locked rotor test until failure. https://motors.vex.com/vexpro-motors/775pro

If we were using a 775 pro and we wanted to be able to hold the load for say 100 seconds we would need a gear ratio that applied ~.2 nm of torque or less and we would need to apply ~4v to the motor. If you look at the blue line in that locked rotor graph you’ll see that at 100 sec the motor is still making more than .2nm of torque when supplied 4v. Now if we only want to hold it for say 25 sec we could gear it such that the motor sees .3nm torque and apply ~6v. However if you look at that grey line once you pass ~25 sec torque output falls below .3nm and the motor will no longer hold the load.

Now you need to decide what the priority is, speed or safety factor? If you gear it so that 6v is needed to hold the load you’ll get there ~50% faster than if you geared it so that you could hold the load with 4v. Setting it up for 4v however would mean that you would be putting less heat into the motor meaning that you could safely hold it longer than you needed to and you could get away with less “rest” time between uses.

2 Likes