Dynamics of the centrifugal governor : Lagrange method with Vex simulation example

June 18, 2015

This post derives the equations of motion for a motor driving a variable centrifugal load similar to what one would see on the classical steam engine centrifugal speed governor first invented by James Watt. (Fig 1) Source(https://upload.wikimedia.org/wikipedia/commons/c/c7/Boulton_and_Watt_centrifugal_governor-MJ.jpg)

Non-Feedback Dynamics

We are only concerned here with the response of the engine/centrifugal load without any feedback to the engine from the governor.   The analytical diagram for the governor without feedback is:

centrifugal governor analysis diagram3

Typically a motor with a large inertial load has a first order exponential  response with a time constant

tau = w_free*I_load/torq_max*gr^2

where w_free is the motor free speed , torq_max is the stall torque of the motor and gr = gear ratio of output shaft speed / motor speed.

The centrifugal weights  change the moment of inertia I_load with output shaft speed hence giving the motor a variable time constant.    One can bound the motor response between two exponential responses… one with a tau_min and the other with tau_max where min and max tau are respectively associated with the min and max inertial load which are generally set by the mechanical limits of the governor.   The motor current response is nonlinear and  more gradual than if operating with the full inertia load.   This in turn can keep the motor protection PTC fuses from tripping without explicitly controlling the current through the motor controller.

I will post a simulated response later for a Vex system but first we need the equations of motion.

To find the equations of motion I decided for my review to use the Method of Lagrange.  For a given system one needs to compute the Lagrangian, L, from the kinetic energy, T and the potential energy V.

L = T – V

We then obtain a system of differential equations from the following computation for each generalized variable q_i.

d(∂L/∂q_i_d)/dt = ∂L/∂q_i + Q_i

where q_i_d  = d(q_i)/dt  and Q_i are the generalized non conservative forces doing work on the system along the q_i direction.     This is a cook book formula that is often times simpler to use than Newtons force equation F = ma.     The resulting equations will be the same with either method.   Many good references on Lagrange method  can be found with a simple Google search.[reference Wikipedia Euler Lagrange Method]

The  generalized variables of interest are :

q1 = psi , the angle that the motor is turning through.

q1_d = w_axel  = dpsi/dt , the speed at which the motor is turning the governor axles.

q2 = alpha, the angle of the arm from vertical.

q2_d = w_arm = dalpha/dt , the speed that the arms are moving up and down relative to the vertical.

The mass of the weight on one arm is m and the length of the arm is l.   Moments of inertia relative the pivots are I_axel and I_arm.    I_arm is constant and I_axle varies due to the movement of the arms.

T = 1/2 * I_axel * (w_axel)^2  +  1/2 * I_arm * (w_arm)^2

V = m*g*l*(1-cos(alpha))

I_axel = m*(l*sin(alpha))^2

I_arm = m*l^2

Substituting for the generalized variables

L = T-V = 1/2*m*(l*sin(q2))^2 *q1_d^2 + 1/2*I_arm*(q2_d)^2 – m*g*l*(1-cos(q2))

∂L/∂q1 = 0;

∂L/∂q1_d = m*l^2*sin(q2)^2*q1_d

∂L/∂q2 =  m*l^2*sin(q2)*cos(q2)*q1_d^2  – m*g*l*sin(q2)

∂L/∂q2_d= I_arm*q2_d

Now compute d( ∂L/∂q_d)/dt and set equal to dL/dq + Q  where Q are the generalized forces that are non conservative associated with each q.

For q1:

d(m*l^2*sin(q2)^2*q1_d)/dt = m*l^2*(2*sin(q2)*cos(q2)*q2_d*q1_dot + sin(q2)^2*q1_dd)  = torq

1) q1_dd = -2*cos(q2)*q2_dot*q1_d/sin(q2) + torq/(m*l^2*sin(q2)^2)

For q2:

I_arm*q2_dd =  m*l^2*sin(q2)*cos(q2)*q1_d^2  – m*g*l*sin(q2)


2) q2_dd = ( cos(q2)*q1_d^2 – g/l)*sin(q2)

Steady State requirements

In the steady state, q1_dd = q2_dd = q2_dot = o.   This then gives the  q2 as a function of q1_d or alfa as a function of the axle speed , w_axle.

From equation 2    cos(alfa) = g/(l*w_axle^2)

Since cos(alfa) < =1     the minimum axle speed  w_axle_min >=sqrt(g/l)    Notice that this requirement is independent of the centrifugal mass very much like a pendulum period is independent of mass and only a function of the pendulum length , l .  w_axle_min is  the minimum speed before the arms move.

Vex Example

In the Vex centrifugal experimental device shown here , the arms are about 2.5 inches in length so we would expect w_axle_min = sqrt(32.3*12/2.5)= 12.4 rad/s or 118.5 rpm.   There appears to be a gearing between the motor and axle of 7 : 1 so the minimum speed of the motor is  118.8/7 =17 rpm   which means that the motor driving  can be a Vex 393 with standard gearing (100 rpm max).      However, there is a mechanical minimum of around 45 degs   which means the minimum speed to move is   17 rpm/sqrt(cos(45 deg)) = 20.2 rpm.   The speed to fully extend the  arms (alpha = 75 deg ?) would be  17 rpm/sqrt(cos(75 deg)) = 33.4 rpm.

System Time constant with alfa = 45 deg and 75 deg. 

tau = w_free*I_load*gr^2/torq_max  

I am guessing that one arm has a mass of about 1 oz  0r .0283 kg

I_45 = m*(l*sin(alfa))^2 = .o25*(2.5in*.707*.0254 m/in)^2 = 5.038 E-05 kg m^2

I_75 = I_45*(sin(75)/sin(45))^2 = I_45*1.866

tau_45 = w_free*I_45*2*gr^2/torq_max   (note: factor of 2 added for two arms)

Since torq_max = 1.67 nm, w_free = 100 rpm*6.28/60 = 10.5 rad/sec , gr = 7

tau_45 = 10.5 * 5.038E-05*2*49/1.67 = .037sec

tau_75 = tau_45*I_75/I/4=  .069 sec 

Simulated response

The differential equations were implemented in a simulation to show the time response to a step speed input.  The data was generated by my excel program.   The red line in the time response shown below is the arm angle starting from 45 deg and quickly moving to 75 deg as the speed increases.    This expansion occurs so quickly that most of the motor response is with the maximum moment of inertia.   In the second figure, the %current error is shown with fixed and varying moments of inertia.

Step Response Centrifugal governor

As you can see after about .o2 seconds, the motion of the governor is limited at its maximum alfa = 75 deg and the variable inertia current response (blue curve) is close to the slower fixed inertia response (yellow curve) for most of the current response.

%current response with centrifugal governor1The o

In this particular experiment, the objective was to keep the current response below the response with the maximum inertia to keep the stress of the motor.  In this case the objective was not met.    The mass movement was too fast with speed so the governor limited shortly after the initial speed increase.    Increasing the length of the arms expands the time scale but doesn’t change the early saturation.   One solution would be to add spring tension to the expanding weights so that a higher speed would be required to saturate.    This will be addressed later by adding a spring potential energy to the Lagrangian and deriving a new set of equations.


Finding the moment of inertia of a Vex wheel using parallel axis theorem

May 17, 2015

vex 5 in wheel

The new Vex game “nothing but net” might involve rotating shooter wheels.  We know that if all the mass of a wheel was located on its rim then the moment of inertia about its rotating axis  (I_rim) would be

I_rim = r^2 * m   where m is the mass of the wheel and r = radius of wheel.   But we know that the wheels actually  have mass that is unevenly distributed along the radius so the moment of inertia I_wheel will be less than I_rim.

Easy experiment to determine I_wheel if we know its mass.

We can determine I_wheel experimentally using the parallel axis theorem and the dynamics of a pendulum.

Parallel axis theorem says that any object that is rotated about an axis parallel to and a distance , d, from an axis going through the centroid of the object will add an amount =  m*d^2 to the moment of inertia about its centroid.  I.e.

I_parallel = I_centroid + m*d^2 .

Suppose we now swing the mass, m,  about the parallel axis like a pendulum  using just the torque from gravity pulling on the mass.      It is easy to show that the period, T , of the pendulum is related to the distance , d, and the moment of inertial , I_parallel, by the following formula:

T = 2*pi*sqrt(I_parallel/(d*m*g))     .   g is gravitational constant and assumes swing angles smaller than say 10 degs from the lowest point on the pendulum path. 

If we measure the period of the pendulum we can rearrange the equation and find I_parallel

I_parallel = T^2*d*m*g/(2*pi)^2 

Once we have I_parallel, we can now use the parallel axis theorem to determine I_wheel.

I_wheel = I_parallel –  d^2*m  =  d^2*m * (T^2*g/d/(2*pi)^2 -1)

(This assumes  that the string has negligible mass relative to the mass of the wheel)

Vex 5 in Wheel experiment:

Given….r_wheel = 2.5 inches ,

wheel mass,   m = 180 gm (0.180  kg)

The pendulum is created by suspending the wheel with a thread 2.75 inches from its center so

d =. 07 m (approx. 2.75 inches)

The average period  T = .668 sec

I_wheel  = d^2*m*(T^2/d*9.8/(6.28)^2 -1)

     = d^2*m*( .248*T^2/d -1)

     = .07^2*.180*(.248*.668^2/.07 -1) = 0.00051 kg m^2

Equivalent radius with a rim only mass r_e

r_e = sqrt( I_wheel/m) = .0533 m ( 2.1 inches)  

This  means that the wheel behaves as if the mass if located at 84 %  of the radius of the wheel which one could almost guess by looking at it.

Vex Note: Motor power required to launch balls

April 23, 2015

The new vex game , Nothing but Net, could utilize a design similar to a two wheel tennis ball launcher.

Question: how many motors are required on the launcher?

The after a launch, the energy lost from the spinning wheels is transformed into ball kinetic energy and heat due to friction and ball compression.

After each shot the wheels are brought back to initial spin speed by the power of the motors.   The maximum time allowed for respinning is the cycle time of the firing sequence.    Lets take a look at the Vex game derived requirements:

Ball mass, m = 60 grams

Ball launch Speed, v =  6 m/s

Ball kinetic energy:K =  1/2*mass*v^2 = .5*.06*6^2 = 1.08 joules

Energy loss due to compression : E_c

Energy loss due to friction :  E_f

Time between shots: 1 sec

Average power required  p_avg = ( K + E_c + E_f)/ t

Force on ball during acceleration:

F =  d(m*v)/dt    or the change in momentum of the ball over the time of acceleration., dt.

dt can be approximated as the contact distance / tangential speed of the wheel , v.

The contact distance is about 3 cm so

dt= .03/6= .005 s

d(m*v) = .06*6 = .36 kg*m/s

hence F = .36/.005 =   72 newtons

Normal force on ball F_n = F/u_friction .    The normal (compression)  force on the ball is then

F_n = 72 newtons  assuming a u_friction = 1 which is possible with a sticky wheel.

The assumed  compression distance is about 1 in or 2.54 cm.  (To be verified later)

Hence Ec = F_n*d/2 = 72*.0254/2 = .91 joules. 

With good design, the friction loss in the drive train can be small (maybe .1 joules) so lets assume that E_c + E_f  are about equal to the K= 1.06 j so

p_avg = 2*K/t = 1.06*2= 2.12 watts   or 1.06 watts per motor.

We know the vex 393 motors have a max power = max_speed*max_torque/4 or about 4.5 watts  but they will overheat if run continuously at this power.   The PTC fuses will stop the motors if they run continuously with currents equivalent to more than  25% maximum torque (speeds less than 75% max speed).    At this operating point, the motors only deliver  3/4 max power or 3.4 watts.

There are also friction losses from the teeth of the spur gears.   I usually assume about 5% per 5:1 ratio.    A shooter wheel with a 25:1 gearing would lose 10% torque or energy at a given speed.

So the net power to the shooter wheel will be  .9*3.4 =  3.0 watts which is more than the 1 watt that we require.         

Extra friction?    

If the gear train has pressure on the axles from bearing blocks and possibly the collars are too tight so the wheels slow down quickly when coasting with motors disconnected, then over heating can easily occur.   e.g.  if friction uses up just 15% of the available torque, the motors will have to provide about 1 watt extra. which cuts our margin considerably.

Faster shot rate?

We assumed 1 shot per second…what happens with 2 shots per second….   Well, the power requirements almost double since we are using twice as much energy per unit time.    We would likely have to add extra motors.