Galil Motion Control DMC-21 5 Series User Manual page 78

Table of Contents

Advertisement

while the the
TD
command returns the current position of the auxiliary encoders. The command
auxiliary encoder to be used for dual loop control.
Backlash Compensation
There are two methods for backlash compensation using the auxiliary encoders: continuous dual loop and sampled
dual loop.
To illustrate the problem, consider a situation in which the coupling between the motor and the load has backlash.
To compensate for the backlash, position encoders are mounted on both the motor and the load.
The continuous dual loop combines the two feedback signals to achieve stability. This method requires careful
system tuning and depends on the magnitude of the backlash. However, once successful, this method
compensates for the backlash continuously.
The second method, the sampled dual loop, reads the load encoder only at the end point and performs a
correction. This method is independent of the size of the backlash. However, it is effective only in point-to-point
motion systems which require position accuracy only at the endpoint.
Continuous Dual Loop - Example
Connect the load encoder to the controller's main encoder inputs and connect the motor encoder to the auxiliary
encoder inputs. The dual loop method splits the filter function between the two encoders. It applies the
(proportional) and
KI
(derivative) term to the motor encoder. This method results in a stable system. Dual loop compensation depends
on the backlash magnitude, and in extreme cases will not stabilize the loop. The proposed compensation
procedure is to start with KP=0, KI=0 and to maximize the value of KD under the condition DV1. Once KD is found,
increase KP gradually to a maximum value, and finally, increase KI, if necessary. Dual loop can be enabled for a
specific axis with the
Sampled Dual Loop - Example
In this example, consider a linear slide which is run by a rotary motor via a lead screw. Since the lead screw has a
backlash, it is necessary to use a linear encoder to monitor the position of the slide. For stability reasons, it is best
to use a rotary encoder on the motor.
Connect the rotary encoder to the A axis and connect the linear encoder to the auxiliary encoder of A. Assume that
the required motion distance is one inch, which corresponds to 40,000 counts of the rotary encoder and 10,000
counts of the linear encoder.
The design approach is to drive the motor a distance, which corresponds to 40,000 rotary counts. Once the motion
is complete, the controller monitors the position of the linear encoder and performs position corrections.
#dloop
CE 0;DE
0;
error=50;
SH A;PR 40000;BG
#correct;
AM
A;
v1=10000-_TDA;
v2=-_TEA/4+v1;
JP
#end,(@ABS[v2]<error);
PR
v2*4;
BG
A;
JP
#correct;
#end;EN;
Chapter 6 Programming Motion ▫ 73
(integral) terms to the position error, based on the load encoder, and applies the
DVm=1
command or disabled with the
'configure encoder and set the initial value
'define error limit for linear encoder
A;
'enable A axis, define move, begin motion
'correction loop
wait for motion completion
'find linear encoder error
'compensate for motor error
'exit if error is small
'correction move
'start correction
'repeat correction move
'end program
DVm=0
command.
DV
configures the
KP
KD
DMC-21x5 User Manual 1.0a1

Advertisement

Table of Contents
loading

Table of Contents