Professional Documents
Culture Documents
Page 1 of 63
Matrix TSL DC Motor Control Solution Manual
Contents
Page 2 of 63
Matrix TSL DC Motor Control Solution Manual
5. The programs 43
5.1 Speed control
5.1.1 Speed control - Open loop control 44
5.1.2 Speed control with feedback - Closing the loop 46
5.1.3 Speed control - Proportional (P) control 48
5.1.4 Speed control - Proportional and Integral (PI) control 50
5.1.5 Speed control - Proportional, Integral and Derivative
(PID) control 52
5.2 Position control
5.2.1 Position control - Open loop control 54
5.2.2 Position control with feedback - Closing the loop 56
5.2.3 Position control - Proportional (P) control 58
5.2.4 Position control - Proportional and Integral (PI) control 60
5.2.5 Position control - Proportional, Integral and Derivative
(PID) control 62
6. Further work 63
Page 3 of 63
Matrix TSL DC Motor Control Solution Manual
Aims:
The course examines PID techniques used to control the speed and position of
an electric motor. It does so through a series of exercises involving programs
for the dsPIC microcontroller, using Flowcode 6.
To complete this course the student will need the following equipment:
Flowcode 6 software
E-blocks including:
dsPIC Ghost Programmer (EB091)
Sensors board E-block (EB090)
2 x Dual Trim Pot Sensor Modules (EBM006)
DC motor speed trainer E-block (EB096)
DC servo motor trainer E-block (EB097)
FET driver board E-block (EB094)
LCD board E-Block (EB005)
Universal power supply (HP2666)
This course presents the student with a number of tasks detailed in the
following text. All the information needed m is contained in the notes.
Before starting any exercise, the student should spend time familiarising
him/herself with the course material so that (s)he knows where to look for help.
Time: It will take around twelve hours to complete all exercises on this course.
Page 4 of 63
Matrix TSL DC Motor Control Solution Manual
Learning objectives:
On completing this course the student will be able to:
name the three elements of a PID control system;
describe the meaning of the terms set point, feedback, error signal, rise time,
settling time, steady-state error, overshoot and ringing applied to a control
system;
draw a labelled block diagram to illustrate the principle of PID control;
distinguish between the functions of the proportional, integral and derivative
elements of the PID control system;
describe effects of the three elements on the behaviour of the controlled process;
interpret waveforms showing the set point and feedback signals;
use Flemings Left-hand rule to establish the direction of the force acting on a
current-carrying wire in a magnetic field;
describe the need for a commutator in a DC motor;
state an advantage for a multi-coil over a single coil DC motor;
explain why a driver circuit is needed to interface a DC motor to a microcontroller;
explain the need for diode protection when a DC motor is controlled by a
microcontroller;
describe the principles of PWM motor control and contrast it with the use of a
series resistor as a means of controlling the speed of a DC motor;
describe the meaning of the terms mark, space and duty cycle applied to PWM
control;
draw a diagram of an H bridge, using mechanical switches, to illustrate the
principle of direction control of a DC motor;
describe what is meant by a component and a component macro in Flowcode;
configure the Flowcode PWM component to control the speed of a DC motor;
configure the Flowcode ADC component to generate digital signals from the
control potentiometers and sensors;
configure the Flowcode LCD component to display the values of control signals;
configure the dsPIC controller to use the Ghost functionality;
use the Flowcode Scope Monitor function to display signals on the Data Scope;
describe the function of the Flowcode DSP System component;
describe the purpose of the properties Buffer Count, Buffer Name, Bit Depth,
Sign and Size used to configure the Flowcode DSP System component;
create a Flowcode DSP Chain for a PID control system including input, control,
output, PWM and LCD components;
compile a given Flowcode dsPIC program, transfer it to the dsPIC on the EB091
controller board and test its performance using Ghost technology to monitor it;
explain the use of an internal timer in the microcontroller to trigger events in a
given macro;
distinguish between an open-loop and a closed loop control system, giving
examples of each;
create a chart of set point vs feedback signals for a speed control system;
set up and test P, PI and PID speed control systems;
tune a PID speed control system to meet a given specification;
create a flowchart to control the direction of rotation of the motor using a signal in
the form of a single byte;
set up and test P, PI and PID position control systems;
tune a PID position control system to meet a given specification.
Page 5 of 63
Matrix TSL DC Motor Control Solution Manual
Scheme of work
Timing
Section Notes for instructors
(minutes)
Page 7 of 63
Matrix TSL DC Motor Control Solution Manual
2. DC Motors
Students will find it useful to build a simple motor like the one
2.2.5 Building a mentioned here to cement ideas about the principles behind
15 - 40
simple motor them.
Page 8 of 63
Matrix TSL DC Motor Control Solution Manual
Page 9 of 63
Matrix TSL DC Motor Control Solution Manual
The duty cycle for the PWM signal indicate what percentage
of each cycle is spent switched on. A duty cycle of 25%
means that the motor is switched on for a quarter of the time.
The more often the motor is switched on, i.e. the greater the
duty cycle, the faster it rotates.
Page 10 of 63
Matrix TSL DC Motor Control Solution Manual
4 Flowcode Components
Page 11 of 63
Matrix TSL DC Motor Control Solution Manual
The devices that allow the user to control the motors are
potentiometers (or pots) on the EB090 Sensors board.
These output an analogue voltage (one which takes any
value within the voltages on the power supply.) The dsPIC is
a digital device which processes data in the form of binary
numbers. In addition, analogue information is fed back from
the speed and position sensors on the motor boards.
There must be a means of converting the signals from one
form to the other. This is done by the ADC component (ADC
4.2 The ADC = Analogue-to-Digital Converter.)
potentiometer The system must also be able to tell which signal is which. It 15 - 30
component does so in the same way as that described in the previous
section, by allocating each its own pin on the microcontroller.
The set point signal appears on channel 1 (pin 15), speed
feedback on channel 9 (pin 22), position feedback on channel
10 (pin 23) etc.
The same simulation image, a rotary knob, is chosen for all
signal sources. (This can be changed in the ADC properties).
The section describes some of the component macros
available for use with the ADC component. Several of these
do the same thing but output the result in a different format.
Page 12 of 63
Matrix TSL DC Motor Control Solution Manual
Page 13 of 63
Matrix TSL DC Motor Control Solution Manual
5 The Programs
Page 14 of 63
Matrix TSL DC Motor Control Solution Manual
The aim is the same as usual except that the control signal
depends on the Integral term as well as the Proportional term.
5.2.4 Position control
Manipulation of motor direction control and PWM signals is
- Proportional
again contained within the DSPChain macro. 10 - 30
and Integral (PI)
control Students again compare performance of this program with
the previous one, in terms of the reduction of the steady-state
error while maintaining adequate settling time.
Page 15 of 63
Matrix TSL DC Motor Control Solution Manual
Introduction to
Motor Control
Student Course
Page 16 of 63
Matrix TSL DC Motor Control Solution Manual
Rise time - time taken to reach a set percentage (usually 90%) of the
target.
Overshoot - maximum amount by which the current state exceeds the
target, (usually expressed as a percentage of the target).
Settling time - time taken to reach a final steady state.
Steady-state error - final value of the error signal once steady state is
reached.
Page 17 of 63
Matrix TSL DC Motor Control Solution Manual
The system generates the error signal, E, by comparing the set point, S, with
the current condition, indicated by the feedback signal F. This error signal can
be used to generate the P, I and D components, which are then summed to
create the control signal C. This changes the conditions in the device. The
sensor records the new state of the device as a new feedback signal, and so
the control process continues.
The microcontroller solution to this control problem uses digital techniques, not
differential and integral calculus. However, the result is the same.
Page 18 of 63
Matrix TSL DC Motor Control Solution Manual
Page 19 of 63
Matrix TSL DC Motor Control Solution Manual
Comparing the waveforms, the set point signal is in the middle of the range
whereas the feedback signal is slightly lower. This shows the fixed offset error
you get from P control alone.
Example of I Control integral windup
Comparing the waveforms, the set point signal varies smoothly whereas the
feedback signal shows some oscillation, the result of too large a contribution
from the I component.
Example of D Control instability
Comparing the waveforms, the set point signal again varies smoothly whereas
the feedback signal oscillates slightly, a sign of instability.
Page 20 of 63
Matrix TSL DC Motor Control Solution Manual
Comparing the waveforms, the set point signal varies smoothly. The feedback
signal follows it closely. The top signal, ScopeView1, shows the signal on the
motor direction control pin.
In general terms:
set the I and D constants to zero;
increase P until the feedback shows some ringing;
reduce P to half of this value.
Then:
increase I until the steady-state error is eliminated, without causing
overshoot or instability;
increase D to combat any overshoot and dampen the feedback so that the
target is achieved in reasonable time.
Page 21 of 63
Matrix TSL DC Motor Control Solution Manual
2. DC Motors
Page 22 of 63
Matrix TSL DC Motor Control Solution Manual
Current flows into the paper on the left side of the coil, and out of the paper on
the right. Using the Left-hand Rule, the coil sides try to move in the directions
shown by the blue arrows and so the coil starts to rotate. (There is no force on
the back section of the coil, because the current flows parallel, not at right-
angles, to the magnetic field.)
When the coil reaches the position shown in the second diagram, the forces on
the two sides are in line, but in opposite directions. There is no longer a twisting
effect, but momentum carries the coil it past that position.
We now need to reverse the current, so that when the coil reaches the position
shown in the third diagram, the forces on the coil keep it rotating. Provided that
the current reverses again at the right time, then the rotation will continue.
Page 23 of 63
Matrix TSL DC Motor Control Solution Manual
2.2.4 Commutator:
The diagram shows the design of a simple
commutator, a brass drum, split into two halves,
separated by an insulator.
Electrical contact is made by carbon brushes.
The coil is connected to the two halves at X
and Y. As it rotates, X is connected to the
positive supply for roughly half of the time, and then to the negative supply.
At all times, Y is connected to the opposite supply to X.
Page 24 of 63
Matrix TSL DC Motor Control Solution Manual
The problem with the single coil motor is that, with only two contacts on the
brush, it is possible for the motor to be at rest in the crossover position between
contacts. If then energised, it might short-circuit the contacts together, or might
not conduct at all. The motor does not rotate!
The solution - use coils in the rotor. Most DC motors have at least three. Using
three provides a low cost and efficient way of rotating the motor, ensuring that
two contacts are always in contact with the brushes. As only one of the three
coils has current passing through it at any given
time, the non-active coils have time to cool down.
The large number of coils in the rotor requires a
more complicated commutator.
The picture shows a typical commutator used in a
multi-coil motor. Its surface has been darkened by
rubbing on the carbon brushes.
Shown below is a disassembled simple three coil motor. The coils are shown in
the middle, made from red insulated wire and wrapped around a core of strips
of laminated metal. These increase the efficiency of the motor by increasing the
electrical resistance of the core and, hence, reducing eddy currents, induced by
the magnetic field. Eddy currents cause unwanted electrical heating, wasting
energy. The laminated core also retains the magnetic field within it, intensifying
it in the region of the coils, thus, again, increasing the efficiency. The brushes in
this example are two springy metal strips, which rest against the three copper
contacts running down the shaft.
Page 25 of 63
Matrix TSL DC Motor Control Solution Manual
Page 26 of 63
Matrix TSL DC Motor Control Solution Manual
The duty cycle for the PWM signal is the proportion of the cycle for which the
motor is switched on and is expressed as a percentage. For example, a duty
cycle of 50% means that the motor is switched on for half the time.
The microcontroller offers PWM on some of its output pins, marked as CCP1,
CCP2 etc. identifying PWM channel 1, channel 2 etc.
Page 27 of 63
Matrix TSL DC Motor Control Solution Manual
Using a PWM signal with one of the switches in the pair creates speed control.
Page 28 of 63
Matrix TSL DC Motor Control Solution Manual
Page 29 of 63
Matrix TSL DC Motor Control Solution Manual
The solution layout is shown below. Power leads are shown in red and black.
Page 30 of 63
Matrix TSL DC Motor Control Solution Manual
Page 31 of 63
Matrix TSL DC Motor Control Solution Manual
4. Flowcode Components
A Flowcode component is a combination of images,
other components, flowchart macros etc., controlled
by the Flowcode program. The diagram shows one
such component - a robot arm.
These components are located in the Components
toolbox, which is divided into sections such as Inputs
and Outputs to help the user find what they want.
Page 32 of 63
Matrix TSL DC Motor Control Solution Manual
Page 33 of 63
Matrix TSL DC Motor Control Solution Manual
The following component macros are available to use with the PWM
component:
Enable:
activates the particular PWM and
overwrites the default properties.
Disable:
disables the particular PWM.
ChangePeriod:
sets the prescalar (used to reduce
the clock speed for the component)
and the period (i.e. the number used
to represent a duty cycle of 100%).
SetDutyCycle:
sets the duty cycle for the PWM component. For example, if the period
overflow value is 200, then a value of 100 produces a duty cycle of 50%.
(The SetDutyCycle10Bit version uses a ten bit number instead of a byte.)
When the motor direction pin is logic 0, a higher PWM duty cycle results in
faster motor movement.
For example a duty cycle of 0 represents no voltage across the motor while a
duty cycle of 255 represents maximum voltage.
When the motor direction pin is logic 1, a lower PWM duty cycle represents
faster motor movement.
Page 34 of 63
Matrix TSL DC Motor Control Solution Manual
The ADC component is used to create and adjust the control signals produced
initially on the pots on the EB090 Sensor board. These are the control set point
signal, the feedback signal and signals for the P,I and D constants. They are
compared with a reference voltage, VREF.There are a range of representations
for the ADC component, including rotating knobs or sliders. All the ADC
components share the same fundamental properties to set up the parameters
for the analogue to digital conversion.
The set point and feedback signals are configured as follows:
Speed Feedback.
The Servo Feedback ADC is configured in the same way as the Speed
Feedback ADC except that it selects channel An 10 as its connection to the
microcontroller.
Page 35 of 63
Matrix TSL DC Motor Control Solution Manual
The ADC components that allow the user to set values for the P, the I and the D
constants are configured in a very similar way. The only changes are the
reference voltage, VREF, which is given a parameter of 1000 and the channel
(pin) used to communicate with the microcontroller.
The Properties of the PPot component are shown below.
The IPot and DPot components are configured in the same way except that
the IPot uses channel An 5 and the DPot channel An 6.
There are twelve component macros available for use with the ADC component.
They include:
GetByte, GetInt, GetString, GetVoltage:
reads the value produced by the
ADC component as a
byte/integer/string or raw voltage and
stores the result in the variable in the
Return Value box.
GetAverageByte, GetAverageInt:
carry out the same function but
average the value read over a period
of time, specified when configuring
the macro.
Page 36 of 63
Matrix TSL DC Motor Control Solution Manual
There are twelve component macros available for use with the LCD component.
They include:
Start:
initialises the hardware and clears
the display.
Cursor:
moves the cursor to the position
specified by the user.
Clear:
clears the contents currently being
displayed.
PrintAscii, PrintFormattedNumber,
PrintNumber, PrintString:
specify what format the input to the LCD takes.
Page 37 of 63
Matrix TSL DC Motor Control Solution Manual
Analogue Digital
Once the ICD and ICT settings are configured in this way, you need to add
appropriate channels to the Data scope window.
The set point and feedback signals are added by setting the Scope
Traces component property in the Properties panel to Yes.
The motor direction control pin is added using the Scope monitor
component available from the Tools component category.
(Use pin D3 for the speed control motor or D7 for the servo motor.)
Page 38 of 63
Matrix TSL DC Motor Control Solution Manual
The following diagram shows a typical view of the Set point, Feedback and
Motor Direction signals for the servo motor board. The Motor Direction signal
is the ScopeView1 trace.
You can add a total of four other signals to the Data scope window using the
Scope monitor tool.
To add PWM signals, in the ICT Settings - Digital window, select pins D2 and
D6, specified when configuring the PWM components earlier.
Page 39 of 63
Matrix TSL DC Motor Control Solution Manual
http://www.matrixtsl.com//wiki/index.php?title=DSP
There are specific examples for each of the DSP components towards the
bottom of this page in the section marked DSP.
http://www.matrixtsl.com/wiki/index.php?title=Components
There are six component macros available for use with the component.
They include:
Initialise:
initialises the DSP sytem.
GetBuff, SetBuff:
extracts / inserts data into the specified
buffer.
SetBufferIndex:
manually selects a buffer and position.
TickAllBuffers, TickSpecificBuffer:
moves to the next segment of each / a
nominated buffer.
Page 40 of 63
Matrix TSL DC Motor Control Solution Manual
Page 41 of 63
Matrix TSL DC Motor Control Solution Manual
The Flowcode programs for the Timer interrupt and DSP chain macros is
detailed below. The word Coefficient refers to the constants P, I and D:
Page 42 of 63
Matrix TSL DC Motor Control Solution Manual
5 The programs:
Page 43 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and begins with the
message Speed Control 1 for 2 seconds.
The Initialise macro is shown in the diagram above. Its function is:
send an enable signal to the motor driver IC;
set the direction of rotation;
enable the PWM component;
give it an initial duty cycle of 0%;
clear the LCD display;
print the word speed ready for the value to be added.
The loop then repeatedly reads the value produced by the set point pot,
uses it to modify the PWM duty cycle and displays it on the LCD.
Page 44 of 63
Matrix TSL DC Motor Control Solution Manual
Exercise:
Adjust the set point potentiometer and record what setting allows the motor
to start spinning.
Once the motor is spinning what value can the set point be lowered to
before the motor stops spinning?
With the motor spinning at a low speed, carefully slow down the motor by
sitting your finger on it. Feel the torque driving the motor to rotate. Is the
torque constant or does it vary as the motor rotates?
Page 45 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and now begins with the
message Speed Control 2 for 2 seconds.
The Initialise macro is identical to that in the previous program,
except that it now displays the value of the feedback signal as well.
On the LCD:
speed gives the target speed, set by the set point pot;
Fback gives the current speed given by the feedback signal.
Page 46 of 63
Matrix TSL DC Motor Control Solution Manual
Exercise:
Adjust the set point pot from min to max in increments of 10 using the LCD
as a guide;
Record the corresponding value of feedback shown on the LCD;
Use the values to create a chart of set point vs feedback.
Page 47 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and now begins with the
message Speed Control 3 P Control for 2 seconds.
The Initialise macro does exactly the same as before. It also initialises the
DSP system and displays the values of the P signal, the set point signal (as
SP,) the feedback signal (as FB) and the control output signal (as C).
The Collect coefficients macro reads the voltage on the P pot and copies
it into the P constant.
The TimerTick macro is triggered repeatedly, every time the internal timer
reaching its maximum value. It reads the current values of the set point and
Page 48 of 63
Matrix TSL DC Motor Control Solution Manual
feedback signals and uses them in the DSPChain macro described earlier
to update the value of the control signal, using the relationships:
Error = Set point - Feedback
and Control = Set point + (P * Error)
It uses the value of control to modify the duty cycle of the PWM signal.
In the meantime, the loop is repeatedly updating the LCD with current values
of the P, SP FB and C signals.
Exercise:
Use Ghost to monitor the set point and the feedback signals.
Adjust the P potentiometer and record the difference between the two values
at various different settings of P.
Page 49 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays the message
Speed Control 4 PI Control for 2 seconds.
The Initialise macro does exactly the same as in the last program but also
displays the value of the I signal.
The
The Collect coefficients macro reads the voltage on the P pot, as before,
and copies it into the P constant and then does the same for the I pot.
Page 50 of 63
Matrix TSL DC Motor Control Solution Manual
Exercise:
Use Ghost to monitor the set point and the feedback signals.
Adjust the I pot to see how this effects the incremental nudges aimed to
eliminate the steady-state error.
Page 51 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays program title.
The Initialise macro does the same as before but adds the value of the D
signal to the LCD.
The
The Collect coefficients macro reads signals from the P, I and D pots,
and copies the values into the P, I and D constants.
Then the TimerTick macro uses these to update the control signal every
time it is triggered. It now uses the relationship:
Control = Set point + (P * (Error - Prev_Error + (Error / I) +
D * (Error - (2 * Prev_Error) + Prev_Prev_Error)))
Page 52 of 63
Matrix TSL DC Motor Control Solution Manual
Exercise:
Use Ghost to monitor the set point and the feedback signals.
Adjust the D pot to find the optimum value.
Page 53 of 63
Matrix TSL DC Motor Control Solution Manual
Page 54 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays program title
Angle Control 1 for two seconds.
The Initialise macro enables the motor driver, the PWM component and the
LCD. It gives initial values to the direction control and PWM duty cycle.
The
Exercise:
Adjust the set point pot to move the motor by the smallest amount possible.
Is this repeatable adjustment?
Select an angle on the disk and use the set point potentiometer to try and
get there. How long does it take?
Page 55 of 63
Matrix TSL DC Motor Control Solution Manual
Page 56 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays the title.
The Initialise macro enables the motor driver, the PWM component and the
LCD and gives initial values to the direction control and PWM duty cycle.
The
Exercise:
Turn the motor shaft by hand and compare the angle reading on the scale
with the feedback value.
Does the effort needed to rotate the motor shaft change with angle?
Use the set point control to vary the feedback value by 1. Is this easy to do?
Page 57 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays the title.
The Initialise macro does exactly the same as before. It also initialises the
DSP system and displays the P signal, the set point signal (as SP,) the
feedback signal (as FB) and the control output signal (as C).
The Collect coefficients macro reads the voltage on the P pot and copies
it into the P constant.
The TimerTick macro is triggered repeatedly and uses the values of the set
point and feedback signals to update the value of the control signal and
then modify the duty cycle of the PWM signal.
Page 58 of 63
Matrix TSL DC Motor Control Solution Manual
In the meantime, the loop is repeatedly updating the LCD with current values
of the P, SP FB and C signals.
Exercise:
Turn the motor shaft by hand again, does the amount of effort needed to
rotate the motor shaft change now?
Use Ghost to monitor the set point and the feedback signals. Adjust the P
potentiometer and record the difference between the two values over a
range of settings.
Page 59 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays the title.
The Initialise macro does exactly the same as before but also displays the
value of the I component.
The Collect coefficients macro reads the P and I signals and copies them
into the appropriate components.
The TimerTick macro uses the values of the set point and feedback signals
to modify the control signal and the the duty cycle of the PWM signal.
The loop repeatedly updates the LCD with current values of the P, I, SP,
FB and C signals.
Page 60 of 63
Matrix TSL DC Motor Control Solution Manual
Exercise:
Use Ghost to monitor the set point and the feedback signals.
Adjust the I pot and try and eliminate the steady-state error.
Page 61 of 63
Matrix TSL DC Motor Control Solution Manual
Program in detail:
The StartupMessage macro activates the LCD and displays program title.
The Initialise macro does the same as before but adds the value of the D
signal to the LCD.
The Collect coefficients macro reads signals from the P, I and D pots,
and copies the values into the P, I and D constants.
Then the TimerTick macro uses these to update the control signal every
time it is triggered and modifies the PWM duty cycle accordingly.
The loop repeatedly updates the LCD with current values of P, I, SP FB
and C signals, now with the addition of the D constant.
Exercise:
Use Ghost to monitor the set point and the feedback signals.
Adjust the D pot until you find the optimum value.
Page 62 of 63
Matrix TSL DC Motor Control Solution Manual
6 Further work:
Challenge 1:
Write a program to make a machine tool move to one position, by rotating the
position motor clockwise through 450, wait there for 10 seconds and then move
to a second position, by rotating anticlockwise through 900.
Challenge 2:
Write a program for a speed control system that displays the letter:
U if the speed is less than 90% of the target;
O if the speed overshoots the target by more than 10%;
T if the speed is within +/- 10% of the target.
Challenge 3:
This course has referred on occassions to optimal conditions for the control
system. However, in practice, the optimal values for the constants P, I and D
may depend on conditions within the system being controlled.
For example, where an industrial vessel containing a liquid is being heated, the
constants may depend on the volume of the liquid in the vessel at the time.
Write a program for a position control system where the values of the P, I and
D constants increase by 25% each when the set point pot is turned clockwise
past the 12 oclock position.
Page 63 of 63