Dynamics of the centrifugal governor: Lagrange method with Vex example

The good work of my friends in “Expanding Flywheel” thread inspired me to take a look at the underlying dynamics of the centrifugal governor. I derived the equations of motion… nothing new, Maxwell did this in the mid 1800’s but I wanted to review the physics for myself using the method of Lagrange rather than Newton’s F=ma. The work is written up in this blog post.
Dynamics of the centrifugal governor : Lagrange method with Vex simulation example

The results show that the first prototype was quick to saturate and did not keep the current response as low as desired. Also the speed at which the centrifugal arms saturated was very low relative to the wheel speeds needed for a NBN launcher. A bit of redesign probably will follow. I will eventually post my excel simulation for those interested in the analysis.

Here is an excerpt following the derivation of equations of motion



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_freeI_loadgr^2/torq_max

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

I_45 = m*(lsin(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_freeI_452*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-05249/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.


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.
Step Response Centrifugal governor.jpg
%current response with centrifugal governor1.jpg
centrifugal governor analysis diagram3.jpg

Very nice write-up, I especially liked the Lagrangian approach.

However, something about that response time seems off. Correct me if I am wrong, but you are simulating the governor receiving a step input signal (0 to 127), right?

I don’t see how the two masses would rise 30 degrees over the course of 0.02 seconds. With an arm length of 2.5" that means each mass traveled an arc of 0.399m. Over a travel time of 0.03s that is an average velocity of 19.95m/s. Each mass is 0.0283kg which gives an average kinetic energy of 5.63J per mass for a total of 11.26J. That doesn’t include the energy the masses have as they rotate around the torque axis and it is an average value, so the actual kinetic energy of the masses after 0.02s will be quite higher.
Even so, this is an unrealistic amount of energy for the motor(s) to have put out after only 0.02s, right? Even if the motor(s) were running at max power (they aren’t until they reach 50rpm), it would take over 100 motors to accomplish this.

Did I do something ridiculous in my math?

Thank you…glad you enjoyed it.

I believe you do have a math error. A 30 deg arc with 2.5 in radius s=rangle = 2.5in.0254 m/in*PI/6 = .03325 m

So distance and speed are factor of 10 too high and energy is factor of 100 too high. Make this change and see how you feel about it.

In reviewing the write up, I noticed I used a mass of .o25 kg instead of .o283 kg so the moments of inertia and the corresponding tau’s are about 12 % low. The simulation is ok however.