Introduction and some Suggestions

advertisement
Project Watt Governor
Introduction
Many engines which drive a moving device require that device to move with a constant speed. Think of the
example of the treadmill in your gym. You program the treadmill to run at a certain speed, and it does this.
But it responds to your load on the treadmill and it adjusts its speed to be constant even though your load
may change. Another example is “cruise control” on a car where you select a certain speed on the motorway
and the engine adjusts its delivered power to maintain that speed: If there is an upward hill, then the engine
delivers more power, if the road descends, then the engine decreases its power. This is an example of a
“Governor”, a control system designed to enforce a constant speed.
One of the earliest governors was invented by James Watt whose improved design of the steam engine and
so contributed to the development of the Industrial Revolution. He too was faced with the problem of
maintaining a constant speed. His governor consisted of a device to measure the speed of the engine, and
using this to control the steam intake into the engine. When the speed was to high, the steam intake was
reduced and vice-versa. Here’s a sketch of his system.
Starting from the left there is a boiler which produces steam which passes to the steam engine on the right
through valve V which controls the flow of steam to the boiler. The engine drives a load D (for example a
weaving machine) and also the governor, which comprises two spinning balls m. If the speed of the engine
increases, then the balls fly outwards and because of the mechanics they will move upwards. When they
move upwards then sleeve H moves upwards, and since this is connected to valve V this movement will
close valve V a bit, reducing the steam flow into the engine. So the engine’s speed decreases. In other words
the initial increase of speed is reduced, the governor compensates.
CBP74_WattGovernor Concept
Here we have an electric motor which drives the Watt Governor. The faster the motor rotates, the larger the
angle of the balls as they are forced outwards. This increase in angle is fed-back to the motor, reducing its
drive and therefore its speed.
Let’s have a look at the conceptual model of how this works, please consult the diagram below, which we
read from left to right, at least initially. We start by specifying the desired speed of rotation of the motor
omegaDes, and this is compared with the actual speed of the motor omega. This generates an error signal
(which is proportional to how much the actual and desired speeds are different) and this error then feeds into
the motor to increase or decrease its speed so that the error moves towards zero, so the actual speed becomes
equal to the desired speed.
A simple calculation of the error would be made like this
error = coupling*(omegaDes – omega)
so if the desired speed is greater than the actual speed, the error would be positive and so would act to
increase the motor’s speed. Conversely, if the actual speed is greater than the desired speed then the error
would be negative which would act to decrease the motor’s speed. The parameter coupling specifies how
large the speed difference is allowed to influence the motor drive. This can be less or greater than 1.0
This conceptual model needs to be adapted to the specific mechanics of the Watt Governor, since in this
case the actual speed of the motor is not measured by the governor system, rather the governor provides an
output of the angle of the ball assembly. Let us refer to this angle as theta2. So the above feedback loop
needs to be modified to take into account the specific mechanics of the Watt Governor, this is shown in the
diagram below. Here the engineer again specifies the desired rotational speed omegaDes but this must be
converted into an equivalent governor angle theta2des. Note the extra computational block to do this. This
is compared with the actual angle theta2 of the ball assembly which generates the error signal which is in
turn fed into the motor to increase or decrease its speed. On the right you will see a second extra
computational block which converts the actual speed into the ball assembly angle theta2, this is of course
done by the mechanics of the Watt Governor.
CBP74_Watt Governor Code
The code for this system can be split into two parts, (i) the code to move the angle of the ball assembly and
(ii) the code to change the speed of the motor. Let’s take these parts in turn. Please refer to the complete
class CBP74_WattGovernorC.uc for declarations of all variables. But just remember that any variable
ending with “2” refers to the ball assembly, other variables refer to the rotation of the motor, for example the
variable omega is the motor’s rotational speed, while the variable omega2 refers to the speed of the ball
assembly swinging upwards (nothing to do with their rotation around their shaft).
So let’s look at the motion of the ball assembly. We calculate the torque ……….. and then the angular
acceleration alpha2 and then the speed omega2 and then the angle theta2. This is identical to our
previous work starting with force and calculating acceleration then speed change then position change but
here we are working with a rotating object and not a translating object.
torque
alpha2
omega2
theta2
= -mmass*sin(theta2)*(g*L - omega*omega*L*L*cos(theta2));
= (torque - damping*omega2)/(2*mmass*L*L);
+= alpha2*dT;
+= omega2*dT;
Note that the calculation of the torque (which makes the ball assembly move up) depends on the angular
speed, omega of the motor, of course!
Now we turn to the code to set the speed omega of the motor. Again we need to calculate the acceleration of
the motor to make it speed up or slow down according to the error signal. Let’s have a look at the code.
alpha = coupling*(theta2Des – theta2);
omega += alpha*dT;
theta += omega*dT;
Here the angular acceleration of the motor is the error signal, (theta2Des – theta2) multiplied by a
variable coupling. This lets us specify how weakly or strongly we use the error signal to correct the motor’s
speed. It turns out that the value of coupling is extremely important in the functioning of the governor. That
could be a subject of your investigation.
Suggestions for Investigations
1. Investigating the Balls without the Feedback Loop
It turns out that the ball assembly is an interesting system in its own right, without the feedback coupling
into the motor. You could investigate this by (i) setting the value of coupling to zero and (ii) finding the
stable angle of the ball assembly for a number of speeds. See the notes “Mathematical Analysis” below
which may be of use.
2. Investigating the Effect of Coupling
The choice of how large the coupling parameter is set to is very important. Remember that this magnifies or
reduces the effect of the error between desired and actual speeds on the drive to the motor to change its
speed. We can imagine two situations. First if the coupling is too small (say 0.1) then the motor speed
change will be small and it will take a long time for the actual speed to approach the desired speed. Second,
if the coupling is too large, then the motor will experience a large speed change. Let’s say that the motor is
running too slowly, then a large speed change will make it run too fast, but it’s now running too fast, so a
large speed change will make it run too slow. In other words the speed may start to oscillate between too fast
and too slow, and these limits may increase. That means the governor is unstable and it will never get the
motor’s actual speed to the desired speed.
This would be a good investigation, to steadily increase the coupling strength and to observe the speed of the
motor and to see if it converges to the desired speed or diverges away from it.
3. Investigating the Effect of Coupling and Damping.
This continues the above discussion. Let us say that we have set the coupling strength too large so that the
governor is unstable, and the speed change oscillates. We know from our study of oscillation that damping
acts to cause oscillations to die out. So we can try to make the governor stable by increasing the damping
value. This would be a really good investigation, to discover the value of damping which can stabilize the
governor when the coupling is too large.
Here’s a sketch of how I predict coupling and damping are related, to enable stable control. The stable
region, is shown cross-hatched. This is expected for low values of coupling and high values of damping.
There is a boundary curve between stable and unstable regions, it would be really interesting to investigate
the shape of this curve (which I have drawn arbitrarily below).
One approach to investigating this could be to set a value of damping and to increase the coupling from zero
when the simulation is running (using the console) until the simulation goes unstable. This would give a
point on the boundary curve. The simulation would then be restarted with a new value of damping and the
experiment repeated.
Mathematical Analysis
Here we summarise some results of a mathematical analysis we have conducted for this model. While the
details of this analysis are beyond the requirements of this module, the results are interesting. We also
suggest how you could use this analysis (through some Excel spreadsheet calculations) to help you
understand the model.
1. The Decoupled Governor.
Here we are thinking about how the ball assembly angle behaviour depends on its rotational speed about its
shaft axis with the coupling control to the motor set to zero, ie coupling=0. Here there is no feedback loop.
It turns out that there is a simple relationship between the ball assembly angle πœƒ and the speed of rotation .
This is expressed in the following relationship
𝑔
π‘π‘œπ‘ πœƒ =
πΏπœ” 2
where g is the acceleration due to gravity (9.8) and L is the physical length of the governor arms (3.4648).
So we need to solve this relationship where we input πœ” and we calculate πœƒ. Typical values of πœ” could be in
the range 0 to 5 (which correspond to rotation rates, expressed in revs per second of ……) Mathematically
we need to invert this relationship to calculate πœƒ which we write as
𝑔
)
πΏπœ” 2
πœƒ = π‘Žπ‘π‘œπ‘  (
where “acos” is the inverse of cos. Fortunately Excel lets us do this easily. You must create a column of πœ”
values (say 0 to 5) and then calculate πœƒ. For example, if πœ” is contained in cell B4, then the formula to
calculate πœƒ would be
=ACOS(9.8/(3.4638*B4*B4))*180/PI()
where the results are expressed in degrees. When you plot a graph of πœƒ (vertical) against πœ” (horizontal)
something interesting will result. I’ll leave the interpretation of this up to you. Just remember that πœƒ = 0
means that the ball assembly has not risen, and πœƒ = 90 (degrees) means they are rotating horizontally.
Results for me.
omega
theta
0
#DIV/0!
0.5
#NUM!
1
#NUM!
1.5
#NUM!
2
44.98307
2.5
63.08411
3
71.67767
3.5
76.64639
4
79.81489
4.5
81.96855
5
83.50189
Download