LoopTuning_v1.0_e
Application Note Loop Tuning
Commissioning of the closed loop position controller
Version: 1.0.0 (EN) mr, 05/19/2014
Status: preliminary
© 2014 NTI AG
This work is protected by copyright.
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or
mechanical, including photocopying, recording, microfilm, storing in an information retrieval system, not even for
didactical use, or translating, in whole or in part, without the prior written consent of NTI AG.
LinMot® is a registered trademark of NTI AG.
Note
The information in this documentation reflects the stage of development at the time of press and is therefore
without obligation. NTI AG reserves itself the right to make changes at any time and without notice to reflect
further technical advance or product improvement.
NTI AG
LinMot®
Haerdlistrasse 15
CH-8957 Spreitenbach
Page 2 of 21
Tel.: +41 (0)56 419 91 91
Fax: +41 (0)56 419 91 92
Email: [email protected]
Homepage: www.LinMot.com
NTI AG / LinMot
Content
Content................................................................................................................................................................ 3
Use of this document........................................................................................................................................... 3
Recommended documentation............................................................................................................................ 3
1. Commissioning of closed loop position controller............................................................................................ 4
1.1 Pre filter parameters.................................................................................................................................... 5
1.2 Closed loop control parameters................................................................................................................... 5
2. Commissioning of the position controller......................................................................................................... 6
2.1 Using the motor wizard................................................................................................................................ 6
2.2 Closed loop tuning....................................................................................................................................... 8
2.3 Special operation modes of servo controllers and there influences on the position controller...................16
Appendix I: Using the built in oscilloscope......................................................................................................... 18
Contact.............................................................................................................................................................. 21
Use of this document
This document is used for
Controller:
A1100, B1100-XX-XX, C11X0-XX, C12X0-XX(-XX), E11X0-XX, E12X0-XX(-XX),
E14X0-XX(-XX)
Classification :
[x] LinMot internal
[ ] Dissemination to customers allowed
[x] Application note
Approval:
[x] Programming example
[x] Use in productive environments
Recommended documentation
The user manuals are included in LinMot-Talk or can be downloaded on www.linmot.com in the category
„Download -> Software & Manuals.
The most important and recommended documents regarding the examples in this documents are shown below:
•
•
•
LinMot-Talk
Motion Control Software
TF Force Control
NTI AG / LinMot
Page 3 of 21
1. Commissioning of closed loop position controller
For commissioning of the closed loop position controller some considerations may be useful. Especially, which
precision is needed for the positioning accuracy. Based on a rule of thumb, it is possible to achieve 10 times
more as the sensor resolution. If the position sensor system provide a resolution of 50um, the position controller
can achieve a control precision of 500um.
Figure 1 shows an overview of the control structure of the position control system. First of all, some information
about the different parameters, which are used in this figure.
In general the letters “FF” like FF Friction, are abbrevations for “Feed Forward”. This is a general naming for pre
filter parameters. These pre filters are used in the control technology, to compensate fixed and well known
disturbances. These disturbances don't need to be treated with the PID controller. The advantage of this pre
filters is a fast response to the disturbance, because the pre filter acts directly. In addition, this disturbance is
separated from the PID loop, which allows an easy tuning of the complete system.
LinMot servo controller use the following pre filter parameters:
●
- FF Friction: Pre filter to compensate a fixed known friction of the mechanical system
●
- FF Damping: Pre filter for compensation of damping systems, like viscosus friction
●
- FF Acceleration: Force compensation of the load during acceleration phases
●
- FF Spring Compensation: pre filters if springs are used
●
- FF Constant Force: Pre filter for fixed load mass, especially used in vertical operation mode of linear
motors
Figure 1: Control structure of the position control system
Page 4 of 21
NTI AG / LinMot
1.1 Pre filter parameters
In figure 1 is printed, which kind of input values are coupled multiplicative together. These pre filter values will
be summed together directly to the controller output current.
The input values of this structure is created by the V/A interpolator or the set point generator. This will not been
explained in detail in this manual.
Let's take a look on the “FF Friction” pre filter parameter. In figure 1 you can see the operational path of this
parameter. In this path, the demand velocity is used with sign to do the calculation. Every change of the sign of
demand velocity will generate a direct acting output value. In some operation modes this calculation can bring
up some problems. This topic will be discussed later.
The pre filter for viscous friction is calculated with the demand velocity as well. The demand acceleration will be
calculated directly with the pre filter value “FF Acceleration”.
The pre filters for spring compensation are a bit different. First, there will be calculated the servicing point of the
spring action. The actual position minus spring zero position will be calculated with the pre filter value of the
spring compensation.
The pre filter value “FF Constant Force” is very imported. This parameter is always acting, to compensate a
constant force. This force can cause by the load mass in vertical use of the motor system.
All of these pre filter values are calculated with the motor wizard of LinMot Talk, based on the user entries.
Therefore it is very important to enter all well known values of the load conditions. If some of these values are
not known, please enter zero. If you want to handle a spring, all spring depended values are required!
1.2 Closed loop control parameters
Now some general informations about the PID control system. PID stands for proportional (P), integral (I) and
differential (D) controller. In this controller all of these three control structures are combined and can be used as
required.
The P controller is working pure multiplicative. First, the difference position is calculated from demand position
minus actual position. Then this difference position is multiplied with the P gain.
Here, a change of the demand position or in actual position will cause a direct change of the calculated
controller output. This controller type is working fast and direct.
However, you can see, this type of controller need always a position difference between demand and actual
position to deliver an output current. Based on this, a P controller cannot reach the demand position.
The I controller is using the same difference position as the P controller. But here, this controller is “integrating”
this difference position in his internal structure. In this case, in every calculation step the controller add the last
difference position value. The adding behavior will be influenced by the I gain factor. This “adding” behavior will
stop, if the difference position is zero. The control behavior acts slow. Based on this fact, normally the I
controller will not be used alone, mostly in combination with a P controller. The I controller allows to get the
position difference to zero, while the P controller provide a direct acting on a change of the difference position.
At the end of this I control structure, you can find the integrator limit. This value will limit the effect of summing
up the difference position. Without this factor you can get a “wind up” effect, which means, if the actual position
is blocked and cannot be reached, the value of the I controller increase to a huge value.
The D controller (differential controller) is working here with the difference of demand velocity and actual
velocity. The D controller acts fast like the P controller, but he delivers only an output, if a change of the input
signals is active. For special operation modes, this behavior can bring up problems and will be discussed later.
NTI AG / LinMot
Page 5 of 21
2. Commissioning of the position controller
2.1 Using the motor wizard
For setting up the position control loop, step 5 in the motor wizard is essential. The input mask looks like
followed:
Figure 2: Motor Wizard: Pre filter values
In the upper range of this window, you can enter known values about load mass, friction values and mounting
direction. In the table below you can see the calculated pre filter values which are calculated by the entered
data.
In figure 2 no entries are made, the operation direction is horizontal. The wizard delivers only a value for the FF
acceleration (based on slider mass).
In figure 3 the mounting direction is entered with +90°. Here, the load weight delivers a gravitation force of the
slider. Based on this, the motor wizard calculates a FF Constant Force value to generate a fixed output current,
to hold the slider on it's position.
Page 6 of 21
NTI AG / LinMot
Figure 3: Motor Wizard pre filter values
In step 6 the parameters for the PID controller will be set. Here you can enter directly these values, or for the
first move you can choose default parameters for soft or stiff control behavior. These values allows to move the
motor, depending on the required precision, it might be necessary to do a loop tuning.
The optional filter value is active by default with a dead band of 0.02mm. This filter will limit the influence of a
position change in the actual position. If the actual position is fluctuating in the range of dead band, the I and D
control part will not get this change to prevent strong system reactions (noise reduction).
Figure 4: PID parameters in the motor wizard
The motor wizard has to be done. Si in this case, it is recommended to set all relevant data for the position
control loop. If this is done, all pre filter values are calculated automatical. The final loop tuning for the required
precision will be done in the next step by using the parameter tree.
NTI AG / LinMot
Page 7 of 21
2.2 Closed loop tuning
For tuning the position control loop, an empiric method will be shown in the following chapters. This method
delivers good operation results in the most cases. For using this method, the servo axis need to be mounted
completely and the axis system need to be able to operate in the planned operation range (position, velocity).
2.2.1 Preliminary steps for loop tuning
To see changes in the loop behavior during the change of the control parameters, the loop need to be in
operational state with a motion running. This can achieved very easy like shown in the following steps:
Figure 5: Definition of target positions for test operation
Open in the parameter tree the “Triggered VA Interpolator” and set the values for “Trig Fall Config” and “Trig
Rise Config”. These values defines two positions of the axis. For example “Fall Config” for position 0mm, the
“Rise Config” for position 100mm (these values depends on the available stroke!).
Furthermore, you should define the values for maximum velocity, acceleration and deceleration for both
positions which will be used in normal operation of the axis.
Then set the run mode to “Two Point Continuous”.
Figure 6: Selection of the run mode “VAI 2 Pos Continuous
After selecting this mode, the axis will travel continuously between the defined two positions when the axis is
homed and switched on (use the control panel for homing and switch on).
For evaluation of the controller performance you can use the built in oscilloscope. The handling of the
oscilloscope is described in appendix I.
Recommended procedure for loop tuning:
Use the described operation mode, where the axis will travel between two points continuously.
Then you can open a second LinMot Talk window with the actual controller.
Page 8 of 21
NTI AG / LinMot
Figure 7: Setting up a second LinMot Talk window
You will get the same controller in a new window.
Figure 8: Servo controller in second window
In one of the windows you change the view to the following:
NTI AG / LinMot
Page 9 of 21
Figure 9: Position control parameter selection in parameter tree
Page 10 of 21
NTI AG / LinMot
In the other window, open the oscilloscope (see appendix I for using the oscilloscope).
Figure 10: Preparation of the oscilloscope recording
This settings provide the advantage, where you can modify the control parameters and can switch over to the
oscilloscope directly to take a snap shot in the other window.
2.2.2 Closed loop tuning with the empiric method
First enter the following values into the control parameter set:
Enter for P gain the value 0.25, for D gain the value 2.00 and for I gain the value 0.0 in the control parameters in
the first window. Start the continuous motion!
Then increase the value for D gain step by step with the value 1, until the motor start oscillating (strong noise
appears). Then take this value and reduce it to 60%, for example D gain is 10 while oscillation → 10*60% = 6,
so enter 6.
In the next step you do the same step by step operation with the P gain, step width of 0.25 until you get again
the oscillation (noise). Then take this value and reduce it to 80%, for example P gain is 20 → 20*80% = 16, so
enter 16.
Perform a oscilloscope reading. If the difference position is in the required precision range, the loop tuning is
finished.
Especially check the position difference, when one of the both defined demand positions are reached (short
standstill of the motion!). If a higher precision is needed, you need to set up the I gain in addition. Increase here
the I gain with the value of 5, until the difference position is in the required range and no overshoot is detected
during acceleration or deceleration. Here you need to find a reasonable compromise which is in the required
accuracy range. During the I gain tuning perform snap shots with the oscilloscope to check the change in the
control behavior!
NTI AG / LinMot
Page 11 of 21
2.2.3 Inspection of the actual control quality by using the oscilloscope
Oscilloscope reading of the default “soft” settings of the motor wizard:
Figure 11: Control loop with default values of the motor wizard
In this reading you can find a permanent difference position.
Oscilloscope reading after setting the P gain and D gain, I gain = 0:
Figure 12: Control loop after tuning D- and P- gain, I gain still zero
After the first steps of loop tuning with D gain and P gain, you get such a typical picture of an oscilloscope
reading. There is still a small difference position left.
Page 12 of 21
NTI AG / LinMot
Oscilloscope reading after tuning P gain, D gain and I gain
Figure 13: Control loop after tuning of P- D- and I-gain
Now, the position difference is nearly zero and does fluctuate only in a small range. The fluctuations cause
mainly from the position measuring system/mechanical influences.
Check in addition the demand current in the oscilloscope reading. This demand current should not reach the
current limits of the motor system, or stay on the motor current limit for several time. If this happens, the position
controller is completely set to maximum gain and cannot provide more energy to hold stable the position control.
Figure 14: Position control with current limit
In this reading, the current limit of the motor was set to a low value. You can see the current in the limit (straight
line in parallel to X achsis), the position control loop is not working in normal operation. The motor system get a
position lag. If there is an mechanical overload, it can deliver a similar picture of the current.
NTI AG / LinMot
Page 13 of 21
Figure 15: Position contoller with load/dynamic limits
In figure 15 you find a recording with critical areas in the demand current. These areas are marked red. Such
pictures appears often in real applications, if the load is grater than defined in the motor sizing, or if higher
velocity/accelerations are required as specified in the motor sizing.
This usage is still able to run, but the dynamic of the position controller is limited. Depending on the operational
conditions (Load, Setpoints) and the system aging it can cause in occasional positioning problems.
Current can be limited by user!
For some applications like pressing, the current can be limited for example by the PLC. Especially, if
the system is running and you want to make a controller optimization, check the current limit before
doing a loop tuning. The maximum allowed motor current should be set in the current limit.
Page 14 of 21
NTI AG / LinMot
The maximum allowed motor current can be found here:
Figure 16: Location of the maximum allowed motor current
NTI AG / LinMot
Page 15 of 21
2.3 Special operation modes of servo controllers and there influences on the position controller
If the servo controller is used in “Streaming Mode” the setpoint generator receive cyclically new setpoints. These
new setpoints are linked directly to the position controller. For better understanding take again a look into the
controller structure in figure 17.
Figure 17: Structure of the position controller
If the setpoint generator delivers a new “Demand Velocity” and/or “Demand Acceleration”, the pre filter
parameters react directly with a change of the motor current. This can cause a unstable positioning with
oscillations (strong noise). In a worst case the whole system is oscillating, independent of changing the tuning
parameters P,D, and I. For this operational mode it is recommended after setting the motor wizard data to set all
pre filter values to zero. Only the pre filter “FF Constant Force” can be left as configured by the motor wizard.
Set the pre filter values to 0, if position streaming mode is used!
Set all pre filter values to zero, only the „FF Constant Force“ value can be left on the configured value,
to prevent unexpecteds oscillations and positioning problems.
The same behavior will occur, if the drive is used in „Analog Mode“. In this mode, an analog input is used to set
the demand position (0...10V). This mode need to be configured. In this configuration you can define the
minimum change in the demand position value, before this new setpoint will be evaluated by the setpoint
generator. If this minimum change is small, the reaction of the position controller gets harder, if the pre filter
values are still active!
Page 16 of 21
NTI AG / LinMot
Figure 18: Setting of the analog input for position setpoints
NTI AG / LinMot
Page 17 of 21
Appendix I: Using the built in oscilloscope
All LinMot servo controller provide a built in oscilloscope, which can be used for different topics. In this case the
general use for tuning the position controller is shown. Other usage is possible.
For using the oscilloscope you need to be connected to the drive. In the parameter tree you can find the entry
“Oscilloscopes”.
Make one click on this entry, then you can find an entry in the window on the right side, named “Default”. If you
double click this entry, the oscilloscope view appears. If you make a right button mouse click, a pop up window
appears, where you can duplicate the oscilloscope, or you can rename it, ect.
These features are useful, to create several views with useful naming. For example the first view is the starting
behavior, then you record a second one for the final behavior after the tuning. Then you have two views to
compare the control quality.
Figure 19: Duplicate several oscilloscopes
Hint: The oscilloscopes can be exported with the drive settings
If you want to document your fine tuning procedure, you can store all oscilloscope readings by
using „Export Configuration“. This export file can be opened offline with LinMot Talk and can be
examined.
In general, the oscilloscope functionality is identical on all LinMot drives. Only the amount of channels which
can be recorded at same time or the total recording length differs on the drive series. For example on the
B1100 series you can record only 2 channels at same time. All other drives provide minimum 4 channels.
These 4 channels are preconfigured for use during the position controller tuning.
Page 18 of 21
NTI AG / LinMot
Open an oscilloscope by performing a double click in the parameter tree on the entry oscilloscope (for example
Oscilloscope → Default). In the oscilloscope view, make a click in the symbol gallery to the tools symbol. The
“Oscilloscope Settings” window appears.
Figure 20: Settings of the recorder channels
The tab „General“ provide the main options for the recording settings. Here you can choose the required
channels and you can set the recording time. Use the acquisition mode “single shot” for position control loop
tuning.
If you close this window with the “OK” button, you can start the recording by pressing the green arrow.
Figure 21: General use – starting a recording – auto scale recorded data
After the recording, you can perform a auto scale by pressing the symbol “Fit View” (blue arrow).
NTI AG / LinMot
Page 19 of 21
Figure 22: Using of measureing cursors in the data plot
For evaluation use, up to two measuring cursors can be used. Closed to the cursor on/off buttons you can find
the measured time of the X-achsis. While moving the cursor line you can read out the time and the curve value.
The corresponding value is printed below in the legend. If both cursors are used, the system delivers
automatical the difference data of the both channels.
Single channels can be hidden in the view (Ch1...Chx), to improve the clarity of the data examination.
Page 20 of 21
NTI AG / LinMot
Contact
---------------------------------------------------------------------------------------------------------------------------------------------------SWITZERLAND
NTI AG
Haerdlistr. 15
CH-8957 Spreitenbach
Sales and Administration:
+41-(0)56-419 91 91
[email protected]
Tech. Support:
+41-(0)56-544 71 00
[email protected]
Tech. Support (Skype):
skype:support.linmot
Fax:
Web:
+41-(0)56-419 91 92
http://www.linmot.com/
---------------------------------------------------------------------------------------------------------------------------------------------------USA
LinMot USA
204 E Morrissey Dr.
Elkhorn, WI 53121
Sales and Administration:
877-546-3270
262-743-2555
Tech. Support:
877-804-0718
262-743-1284
Fax:
800-463-8708
262-723-6688
E-Mail:
Web:
[email protected]
http://www.linmot-usa.com/
---------------------------------------------------------------------------------------------------------------------------------------------------Please visit http://www.linmot.com/ to find the distribution near you.
Smart solutions are…
NTI AG / LinMot
Page 21 of 21
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement