Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Motion control consists in moving a load in a given period of time with a very high
level of accuracy.
There are different characteristics linked to motion.
The first is Movement, which can be defined by the following points:
Initial position
Final position or target position
Speed and acceleration
Type of trajectory
Then there is Performance, for which the following points are important
Static and dynamic performance
Accuracy
Speed
Stability
There is also Position, which can be
Absolute
Or Relative
All business sectors are concerned by these applications, which may be simple or
relatively complicated.
We can draw two axes: the Y axis representing Performance (i.e. position accuracy,
speed, acceleration and torque) and the X axis representing the complexity of the
movement..
Speed drives are used for simple motion applications like Pumps, Fans, Hoisting
devices, Compressors, etc.
They can be qualified as simple as the only signal controlled is speed.
At the other end of the scale there is Digital control. This is for more complex
applications such as robots, control systems and very high performance machines.
Digital control is used for robots and machine tools for example. In this kind of
application, the complexity is proportional to the number of drives to be
coordinated. For example, a robot with 6 axes requires 6 drives that need to be
controlled simultaneously.
Here you can see the main components of a Motion Control System:
The Motion Controller
The Drive
The Motor
Here is a first example of XYZ positioning: the transtocker. The three x, y and z
movements are coordinated to move and position tubs in the right place in the
warehouse. Here the parameter to be controlled is position.
In this application, the objective is to cut a moving strip of paper into equal sections,
however fast the strip of paper is moving. Here, the key part of the application lies
in the synchronization of the two axes.
A third example of a machine tool is a Laser cutting machine. The three x, y and z
movements are coordinated to cut out complex parts. This application requires
calculation of the trajectory.
This last example shows a handling machine that can wind and unwind products.
The machine must ensure regular winding in order to guarantee product quality. In
this application, it is the torque and speed that need to be controlled.
How does a system behave in relation to what is required of it (the green curve)?
Two opposing responses are possible.
A very fast response but with an overrun and oscillations (in purple)
A slow response with no overrun (in orange)
Each application has its own response covering its response time, overrun and
accuracy.
Good movement control provides the necessary adjustment flexibility to obtain an
optimal response (in black).
Lets now describe the key components of a motion system, starting with the Motion
Controller.
The motion controller has two roles: it supervises and controls.
Its basic function is to manage the control sequence of the application and to
send information to the drive.
For example, this involves going to a given position, at a given speed, and then
coming back.
It can control one or more drives and therefore supervise and synchronize the
different movements.
The motion controller can be a PLC, a PC, a dedicated calculator, etc.
There are some systems where the motion controller (the sequence) is included in
the drive and others where positioning is performed by the controller.
Linear axes are axes with limited movement. The limits are given by limit switches
or by a mechanical end stop.
In the case of a simple linear axis, the motion controller initializes movement and
then ensures travel from point A to point B
Axis motion between Xa and Xb is limited by a lower and higher limit.
Infinite axes are axes that are basically rotating so the general notion of limited
movement does not apply.
The drive has the job of converting electrical energy from the electrical network
(power supply) for the motor.
It controls voltage and frequency and regulates different values: torque, speed and
position.
The drive operates according to three regulation loops in a cascade formation:
The Torque loop provides the motor with the energy required to drive the system at
a certain speed.
The speed loop provides the torque loop with the torque setpoint to reach the right
speed. It answers the question: How much torque is needed to get where I want to
go at the right speed?
The position loop provides the speed loop with the speed profile needed to reach
the position setpoint.
Motor
Because it is mechanically linked to the load, the motor acts as a converter,
converting electrical energy into mechanical energy.
There are five main categories of motor:
Synchronous or AC brushless
DC brushless
Asynchronous
Stepping
ICLA
Synchronous or AC brushless
The stepping motor has the advantage of being easy to control. Its drawback is its
lack of power.
ICLA
If there is no sensor, the system is said to be in an open loop, with position and
speed being estimated based on a calculation. In this case, the positioning is much
less precise.
The majority of motion control and digital control applications require feedback.
The position sensor is generally fixed to the motor axis. It provides the motor shaft
position.
There are 3 types of position sensor:
A Resolver is a system that sends back analog information about the position of
the rotor.
An Incremental encoder is an optical system that sends back digital information
about the relative position of the rotor
An Absolute encoder is a System that sends back both digital and analog
information about the absolute position of the rotor.
The common feedback parameters are:
Resolution, accuracy and repeatability
The basic types of sensors are introduced in the Motor & Feedback sequence.
Conclusion
We shall conclude the first part of this sequence with two questions: The first is
what is servo control?
This is the management of the different regulation loops in the system to reach the
target as quickly as possible with a maximum level of accuracy.
The second is what is a regulator ?
The regulation loop compares the feedback with the setpoint and controls the drive
in order to eliminate the error.
The correction method is most often based on the Proportional and Integral (PI).
Specific filters can also be applied for the correction.
Regulation will be looked at more closely in the following sequences.
Servo Drive
To make sure maximum torque is achieved, the servodrive needs to know the
position of the rotor.
This is why a position sensor is used.
The purpose of the position sensor is to allow the servodrive to maintain the stator
field perpendicular to the rotor field.
It does this by controlling the phase of the motor current according to the rotor
position.
The drive can then calculate the speed and, if necessary, the axis position.
The motor position sensor is generally a resolver or a similar type of sensor.
In some cases, the resolver can be used as a position sensor for the application.
GBX reducer:
Resolver
A resolver is a very basic device with no electronic or optical
components. It has no frame and is fitted directly on to the
motor shaft. It is a good solution for general purpose
applications.
If the resolver has two poles, it gives an absolute position of the
angle within only one revolution.
It is basically a rotating transformer fed with a carrier frequency
E (for instance 5 V at 8 KHz).
A primary winding is located in the rotor and there are two
secondary windings in the stator.
The two secondary windings of the stator give signals based on the carrier
frequency modulated by the angle of the rotor.
A and B signals are demodulated inside the drive to obtain Sine and Cosine
signals.
The mechanical angle position of the resolver must be set up when it is mounted or
replaced.
ii)
Incremental encoder
An incremental encoder provides a relative position.
Heres how it works:
The disc of an incremental encoder has 2 types of track.
It has one or several outside tracks (channels A and B), comprising a
known number of equal angular steps that are alternately opaque and
transparent. The known number of equal angular steps is the resolution.
It also has an inside track comprising a single window, which is used as
the set point and triggers re-initialisation with each revolution.
iii)
absolute encoder
An absolute encoder has a high number of discs, which define the
absolute position for a single revolution or for several revolutions.
Each track has its own transmitter and receiver. The multiturn absolute
encoder, in addition to providing the digital position within the revolution,
also provides the total number of revolutions.
For each angular position of the shaft, the disc provides a code. Following
one complete revolution of the encoder, the same coded values are
repeated.
The code can either be binary or gray.
Binary coding
The binary code can be used directly by processing systems
(programmable controllers for example) in order to execute calculations or
comparisons, but it has the drawback of having several bits which change
state between 2 positions.
Gray coding
The Gray code offers the advantage of changing only one bit between 2
consecutive numbers.
Using an absolute encoder to detect position offers a number of
advantages
An absolute encoder continuously provides a code that is an image of the
actual position of the moving part being monitored.
On power-up, or restart following a supply failure, the encoder provides
data that is directly exploitable by the processing system.
The Servo Drive has three possible operating modes. We shall focus on these during
this session:
- The Torque Control Mode
- The Velocity Control Mode
- And the Position Control Mode
Lets start with the Torque Control Mode. This mode can be used in a
winding/unwinding machine to adjust and regulate the web tension. If the torque set
point increases, the force in the web increases as illustrated here.
The torque setpoint is a current that is proportional to the motor torque .
Only the current loop is activated.
The current regulator parameters depend on the electrical parameters of the motor.
The servo drive already knows the motor parameters.
In most cases, the current regulator is automatically set and so the user does not
need to make any adjustments.
Now lets move on to the Velocity Control Mode.
This mode can be used in machines where very high speeds are required
The speed setpoint is a reference to be followed by the motor.
Both the current and speed loops are activated.
The speed regulator is a PI regulator (proportional plus integral actions).
In practice, it is tuned or adjusted to ensure the control system behaves in the right
manner. In other words, to ensure:
stability,
steady-state accuracy
transient response
frequency response.
The systems response is divided into two states: a transient state and a steady
state.
In the transient period:
You can see that the higher the Kp, the shorter the systems response time. Kp
makes it possible to increase the systems speed of response. If Kp increases too
much, the system becomes unstable.
In the steady-state period:
You can see from the curves that the higher Kp is, the smaller the speed error. The
speed error is never cancelled when a proportional gain only is applied.
There will always be a speed error in both the transient and steady-state periods.
This problem can be solved by applying an integral gain.
Let us now focus on the Integral action. It is based on the mathematical operator
integral related to time.
The Integral action is adjusted according to the integral time (Ti).
The systems response time is influenced by the gain settings but also by the
reference speed.
During the transient period, it is the proportional gain that ensures system stability
and rapidity.
In steady-state conditions, it is the integral gain that ensures system stability and
accuracy.
This is a block diagram showing the velocity regulator.
The acceleration and deceleration ramps reduce speed reference dynamics.
This also helps to limit overshooting and improve stability by increasing the front
rise time of the speed reference.
The desired speed response is when the set-point is reached with acceptable:
- rise-time
- overshoot
- settling time
- accuracy (static error)
The best possible response is based on a compromise between these four values.
The rise time is the time taken to rise from 10% to 90% of the response to a step
input.
The peak overshoot is the maximum amount by which the output exceeds the input
in response to a step, expressed as a proportion of the step height.
The settling time is the time taken to settle to within 5% of the new steady output
after a step applied to the input.
The accuracy (or static error) is the difference between the output and the input in
steady-state conditions.
Remark: The well-tuned servo system should not have any static error for a step
change in the speed reference or in the load torque.
To implement the position loop, the current loop and speed loop must firstly be
correctly tuned.
It is essential to tune the regulation loops to the servo motor and its load. Tuning
sets the gains of each loop. It can be done automatically or manually.
Many digital AC servo drives also have an auto-tune mode that estimates the value
of load inertia and initially sets the tuning parameters to reasonable values for user
specified targets such as low, medium or high response.
The auto-tune values usually provide a stable system that is often sufficient for the
application or at least serves as a starting point for fine-tuning by the user.
Unfortunately, real loads connected to the servo system rarely behave like perfectly
inert loads. Real loads can be subject to friction, damping, compliance, backlash,
variable inertia and other possible non-linearities.
This is why tuning the AC Servo System gives the best results when the actual load
is linked to the AC Servo System.
Older control systems required a tachometer on the motor to provide speed
feedback as well as a resolver or encoder for position feedback.
In modern systems with powerful microprocessors, it is possible to have only one
feedback device for position and speed.
To calculate the speed, the position is derived.
Motor sizing with respect to the servo drive and the motion profile
If the motor and drive are incorrectly sized for the desired motion profile no amount
of tuning will yield the desired results.
Temporal analysis using a square wave reference is the main method used to tune
motion systems because it covers a very large spectrum of frequencies ranging
from low to high frequencies.
A motion system must work properly with the entire application. It must take into
account the applications needs and minimize the consequences of interference.
An applications needs are generally:
Responsiveness
Stability
And Rigidity
Responsiveness describes the ability of a system to react to a reference change.
A systems responsiveness is usually measured using the settling time.
High gains make systems more responsive.
Stability describes the margin according to which a servosystem does not fall into
self-sustained oscillation.
A system must have a reasonable margin of stability.
Stability is commonly measured by overshoot and settling time in response to a
square wave.
High gains often make systems unstable.
Noise sensitivity describes the extent to which a servo system amplifies a source of
noise.
Common noise sources are feedback resolution and Electromagnetic Interference
(EMI) received through the command.
Noise sources generate heat, vibration, torque disturbance and acoustic noise.
High gains increase noise sensitivity.
Noisy systems require some kind of compromise.
Here is a general method to be followed by users when tuning the speed loop:
Use step commands such as a square waveform and do not saturate the current
loop
1) Set the proportional action:
Cancel Integral action and apply a low Proportional gain
Increase the proportional gain in steps of about 20% to obtain a square response.
Monitor stability
When you see overshoot, reduce the gain.
2) Set the integral action with the previous proportional gain:
Start with a high integral time to ensure stability.
Reduce the integral time in steps of about 20%
Monitor stability
Stop when the overshoot is about 10%
Once you have followed these steps your speed loop will be tuned!
Many digital AC servo drives have an auto-tune mode that estimates the value of
load inertia and initially sets the tuning parameters to reasonable values for userspecified targets such as low, medium or high response time. The auto-tune values
usually provide a stable system that is often sufficient for the application or at least
serves as a starting point for fine-tuning by the user.
If the auto-tuning step does not provide satisfactory results, the user can then
optimize tuning himself.
The first Auto-Tuning step involves the entire application including the mechanical
parts.
Dont forget that the current loop must be set first.
The current loop regulator parameters are automatically adjusted according to the
following motor characteristics: Inductance L and resistance R.
In the second step the user optimizes the speed loop of the the servo drive.
As seen previously, the temporal analysis is very helpful because it shows up any
problems immediately.
To perform this operation, a software tool is used with the servo drive.
The software also includes an oscilloscope function that provides the results of
tuning by displaying curves.
Each time the user changes one parameter, a gain for instance, he can see the
result immediately.
Before starting a measurement:
Check that the current loop is set properly (this usually involves checking that the
right motor has been selected).
Check that the speed set point used is compatible and not dangerous for the
application: waveform, level, polarity, frequency and moving distance.
The upper limit of the proportional gain depends on the systems components, i.e.:
- The drive,
- The feedback,
- The drive may have certain limits with respect to:
The sampling time
The filters used
The slow current loops
and sensitivity to noised the mechanical parts.
The same applies to the feedback system:
- Resolver-to-digital conversion is like a filter
- And low resolution encoders generate noise.
The temporal analysis reveals any problems relating to the systems response.
However, if there are several causes of instability, it is difficult to locate each one.
This is the case, for instance, when several resonance frequencies are excited in the
motion system, as shown in the picture.
Once the step-by-step frequency measurements are finished (starting with low
frequencies and moving up to high frequencies), the software tool displays the bode
diagrams.
A bode diagram shows, depending on the frequency, the evolution of:
the magnitude of the system in decibels: the feedback compared with the
reference
and the phase between the feedback and the reference in degrees.
The systems behaviour is shown clearly and, at this stage, it is important to check
the stability criteria.
This is necessary because the system must have good stability with an open loop
configuration, BEFORE the loop is closed. Otherwise, it will be impossible to ensure
stability with a closed loop configuration!
A motion system must work properly with the entire application. It must take into
account the applications needs and minimize the consequences of interference.
An applications needs are generally:
Responsiveness
Stability
And Rigidity
Interference usually comes from:
Mechanical resonance
And sensitivity to noise
Responsiveness describes the ability of a system to react to a reference change.
Stability describes the margin according to which a servosystem does not fall into
self-sustained oscillation.
A system must have a reasonable margin of stability.
Stability is commonly measured by overshoot and settling time in response to a
square wave.
High gains often make systems unstable.
Noise sensitivity describes the extent to which a servo system amplifies a source of
noise.
Common noise sources are feedback resolution and Electromagnetic Interference
(EMI) received through the command.
Noise sources generate heat, vibration, torque disturbance and acoustic noise.
High gains increase noise sensitivity.
Noisy systems require some kind of compromise.
Here is a general method to be followed by users when tuning the speed loop:
Use step commands such as a square waveform and do not saturate the current
loop.
1) Set the proportional action:
Cancel Integral action and apply a low Proportional gain
Increase the proportional gain in steps of about 20% to obtain a square response.
Monitor stability
When you see overshoot, reduce the gain.
2) Set the integral action with the previous proportional gain:
Start with a high integral time to ensure stability.
Reduce the integral time in steps of about 20%
Monitor stability
Stop when the overshoot is about 10%
Once you have followed these steps your speed loop will be tuned!
Many digital AC servo drives have an auto-tune mode that estimates the value of
load inertia and initially sets the tuning parameters to reasonable values for userspecified targets such as low, medium or high response time. The auto-tune values
usually provide a stable system that is often sufficient for the application or at least
serves as a starting point for fine-tuning by the user.
If the auto-tuning step does not provide satisfactory results, the user can then
optimize tuning himself.
This is how auto-tuning works:
Firstly, the current is measured at constant speed in order for the servodrive to
calculate the load torque ( M.load).
Next, the servo drive applies a constant current so that the motor provides the load
with a constant torque (M).
The acceleration torque is the difference between the motor torque (M) and the load
torque (M load).
This results in a linear increase in speed (w).
The servo drive then calculates the inertia (J) of the system.
In the second step the user optimizes the speed loop of the the servo drive.
As seen previously, the temporal analysis is very helpful because it shows up any
problems immediately.
To perform this operation, a software tool is used with the servo drive.
The software tool makes it possible to:
- generate the speed set point signal,
- and optimize the speed loop.
The software also includes an oscilloscope function that provides the results of
tuning by displaying curves.
Each time the user changes one parameter, a gain for instance, he can see the
result immediately.
Before starting a measurement:
Check that the current loop is set properly (this usually involves checking that the
right motor has been selected).
Check that the speed set point used is compatible and not dangerous for the
application: waveform, level, polarity, frequency and moving distance.
Once the step-by-step frequency measurements are finished (starting with low
frequencies and moving up to high frequencies), the software tool displays the bode
diagrams.
A bode diagram shows, depending on the frequency, the evolution of:
the magnitude of the system in decibels: the feedback compared with the
reference
and the phase between the feedback and the reference in degrees.
The systems behaviour is shown clearly and, at this stage, it is important to check
the stability criteria.
This is necessary because the system must have good stability with an open loop
configuration, BEFORE the loop is closed. Otherwise, it will be impossible to ensure
stability with a closed loop configuration!
Secondly, lets add an external load which degrades both the magnitude and phase
characteristics.
The overall magnitude is reduced due to the higher level of inertia
The amplitude of the second spike depends on the compliance or rigidity of the
coupling between the motor and the load.
A springy coupling will produce a large spike.
So, it is necessary to reduce the magnitude to prevent oscillation, resulting in
poorer system stiffness and slower response.
This is why it is important to use a rigid coupling between the motor and the load.
Let us now consider some adjustments with a closed loop configuration and observe
how tuning with a PI regulator inside the servo drive cancels oscillation and
overshoot.
1) The proportional gain Kp is too high and there are permanent speed oscillations.
The bode diagram shows two peaks corresponding to these oscillations.
Acceleration and deceleration ramps prevent higher system frequencies from being
provoked and thus help to prevent instability. When the servo drive is connected to
an external position controller, these ramps are not used. The external controller
manages them.
The servodrive controls the speed of the motor. The trajectory of the load follows
the profile trajectory.
The position of the load is sent back to the controller for the position loop.
Instead of a controller, it is possible to use a PC with a control card inside it. This
offers the same functions as those of the controller.
- or circular.
Linear interpolation is required for multi-axis movement from one point to another
following a straight line.
The controller determines the speeds on each axis so that the movements are
coordinated.
True linear interpolation necessitates the ability to modify acceleration.
Several controllers use pseudo linear interpolation based on pre-calculated
acceleration profiles.
In the case of synchronized movements, the axes can move together or not.
Here, the axes do not move together
Here, the axes move together.
The difference between synchronized movement and simultaneous movement is
that simultaneous movement is unsynchronized.
In this case, the axes can also move together or not.
With contouring, the controller changes the speeds on the different axes so that the
trajectories pass smoothly via pre-determined points.
In contouring, the speed is defined along the trajectory and can be constant, except
during starting and stopping.
A home offset can be used to define the zero set point point at a point offset from
the actual home switch.
The homing process can be summarized as follows:
The home command is activated and the controller initiates motion in the
programmed direction at programmed speeds.
The programmed directions are LIMN (negative direction limit) or LIMP (positive
direction limit).
When the home switch is detected, the controller continues to move at a slow speed
to feedback null.
Homing is also a waste of time as the system must be homed after every power
cycle.
Clearly it is advisable to define limits beyond which the machine cannot go.
There are two kinds of end-of-travel limits: hardware and software.
Hardware limits are physical switches (LIMN and LIMP), which typically initiate an
Emergency Stop routine.
Software limit switches are only active once the zero position has been defined.
A distance from the zero position is programmed in each direction of motion beyond
which the machine should not travel
It is preferable for the controller not to pass through a software limit before
decelerating, but actually to anticipate the limit and decelerate to a stop on the
limit.
At this point further motion in that direction would be inhibited.
Motion Sizing
During this session, we shall look at the following points:
- Motor and drive sizing,
- Mechanical transmissions,
- And braking resistor sizing.
Only once sizing has been carried out can the regulation loops be set and the servo
system integrated in the automatic control system of the installation.
To describe the basic approach, lets have a look at how the servo motor controls
the load directly.
In this simple example, the motor is directly coupled to the load, symbolized by a
friction torque and inertia.
The torque and speed are therefore the same for the load and the motor.
It is then possible to determine some very important information about the motor
shaft:
- The peak torque
- And the root mean square, or r.m.s., torque, also called the equivalent thermal
torque.
The cycle time, ti, is the time in seconds.
And a cycle time equal to t1+t2 + t3 + t4
Once the servo motor has been chosen, a servo drive that is compatible with this
motor is selected from the list provided in the catalogue. At this stage, the main
servodrive selection parameters are as follows:
- The supply network,
- The continuous torque,
- And the peak torque.
Now lets have a look at how to define motor size.
1 - The average speed (Savg) and the thermal torque (Meq) must be in the area
delimited by curve 1
2 - Check that the peak torque and speed do not exceed the area delimited by curve
2.
It is important to keep in mind that the physical size and cost of a motor mainly
depend on the motors rating torque.
As well as the inertia of the application itself, the inertia of the other components
such as the couplings, belt pulleys, and gearboxes, must also be added in the case
shown.
Total inertia reaching up to 10 times that of the motor is suitable as long as the
mechanical transmission is rigid enough.
Let us now have a look at how the different types of mechanical transmission
influence speed, torque and inertia.
In the case of a gearbox:
Ratio: R = radius r2 / radius r1
The load speed = motor speed / R
The motor torque = load torque / R
The inertia reflected to the motor shaft = total inertia / R
braking resistor
To conclude this overview of sizing methodology, lets see when a braking resistor is
used and how this resistor should be defined.
During braking or deceleration, kinetic energy is absorbed by the drive thanks to DC
capacitors. The mechanical energy (1/2 J w) is converted in electrical energy (1/2
CU) across the diodes of the power bridge. This energy is stored by the capacitors
and induces an increase of the DC bus voltage according to this formula: where
- E generated is the mechanical energy
- C, the capacitors value
- and (U2-U1), the difference of DC voltage square between the beginning and the
end of the deceleration.
If the kinetic energy is too high, the limit value of the DC voltage is reached and an
external braking resistor dissipates the exceeded energy.
In Step 2:
Identify each generator mode section from the plot, where the drive is decelerating
the load, or where the speed and torque have opposite signs.
In Step 3:
Calculate the energy of the deceleration in each generator mode section. E
generated = 1/2 J (2- 1)
In Step 4:
Calculate the energy dissipated by the braking resistor.
For this, subtract the servo drive energy absorption capability from the energy of
the deceleration.
E dissipated = E generated - E absorbed by capacitors
In Step 5:
Calculate the Pmax power of each deceleration by dividing the dissipated energy by
the deceleration time.
P max = E dissipated / t deceleration.
Step 6:
Calculate the continuous power dissipated by the braking resistor.
P continuous = (E1dissipated + E2dissipated +) / M cycle
For step 6, refer to the servo drive characteristics table if you have to use an
external braking resistor.