Calculate time to accelerate to Max Velocity

#1

Hello!

I am no physics expert and I was wondering…what is equation/method I could use knowing the torque, speed of my motor, and the final gear ratio of a system to determine the time an output shaft with an arm mounted to it would need to accelerate to max velocity.

I’m also wondering how to calculate this for a elevator system as well.

#2

hey, i think what you want (or a version of it, at least) can be found in our mentor’s design calculator, which is posted here, obviously this is for a drive-train, but i think you can handle the additional modification to fit your needs

i suspect that information won’t be useful for you, because i’m pretty sure the answer is very small, but i never checked for myself

1 Like
#3

In practice: I use JVN’s spreadsheet.

In theory: Here’s the high level (hand-wavey) of how to think about it:

You are looking to solve your system for the velocity at any given time. With that info, you can determine at what time velocity has reached it’s maximum value.

At a given rotational speed and input voltage, a motor will draw a certain amount of current.

The amount of current dictates the amount of torque at the output of the motor shaft.

The torque at the motor shaft is transferred through gears, levers, and pulleys to be a force on the mass of the arm or the mass of the elevator. Friction will reduce the output force somewhat.

This force combines with gravity to create a net acceleration on the arm/elevator. (F=ma).

Over time, acceleration will cause the speed of the arm/elevator to change. The same mess of levers/pulleys/gears transfers that speed back to the motor input shaft.

The speed at the motor input shaft “feeds back” to the start of this whole thing, dictating the output force of the motor.

The loopback nature of that final statement, combined with the fact that velocity is the integral over time of acceleration, makes the velocity-over-time question a differential equation to solve. If you solve that diffeq, you get a function with respect to time which indicates your velocity.

Your “Time to max speed” is the duration from the start of motion, up till velocity has reached a steady-state max.

#4

I’ve found this through a search and it might be what I’m looking for…

Something like…this right?
targetVelocity - initialVelocity / accel = time?

#5

(targetVelocity - initialVelocity) / accel = time

This assumes constant acceleration over time, which is a good starting point for most FRC applications. However, it may or may not be sufficient for your purposes.

“If we model the cow as a sphere…”

1 Like
#6

Also, it is sometime easier just to model it with discrete time steps. At any given time, you calculate the acceleration, which gives you the change in velocity, and velocity gives you the change in position (if needed). Step in small time increments. As long as you can calculate the acceleration, the rest is pretty easy, and accurate enough for FRC.

#7

Correct. This is how any computer would do it, and indeed is the right answer for the majority of modern real-world cases.