the KP (proportional) and KI (integral) terms to the position error, based on the load encoder, and
applies the KD (derivative) term to the motor encoder. This method results in a stable system.
The dual loop method is activated with the instruction DV (Dual Velocity), where
DV 1,1,1,1
activates the dual loop for the four axes and
DV 0,0,0,0
disables the dual loop.
Note that the 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.
Sampled Dual Loop - Example
In this example, we 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 X-axis and connect the linear encoder to the auxiliary encoder of
X. Assume that the required motion distance is one inch, and that this 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.
This is done by the following program.
Instruction Interpretation
#DUALOOP Label
CE 0
Configure encoder
DE0
Set initial value
PR 40000
Main move
BGX Start
motion
#Correct Correction
loop
AMX
Wait for motion completion
V1=10000-_DEX
Find linear encoder error
V2=-_TEX/4+V1
Compensate for motor error
JP#END,@ABS[V2]<2
Exit if error is small
PR V2*4
Correction move
BGX Start
correction
JP#CORRECT Repeat
#END
EN
DMC-1600
Chapter 6 Programming Motion
•
109