Position control by joystick, Backlash compensation by sampled dual-loop – Galil DMC-2X00 User Manual
Page 178

The program reads the input voltage periodically and assigns its value to the variable vin. To get a
speed of 200,000 ct/sec for 10 volts, we select the speed as
Speed = 20000 x vin
The corresponding velocity for the motor is assigned to the VEL variable.
Instruction
#A
JG0
BGA
#B
vin=@AN[1]
vel=vin*20000
JG vel
JP #B
EN
Position Control by Joystick
This system requires the position of the motor to be proportional to the joystick angle. Furthermore,
the ratio between the two positions must be programmable. For example, if the control ratio is 5:1, it
implies that when the joystick voltage is 5 volts, corresponding to 1024 counts, the required motor
position must be 5120 counts. The variable V3 changes the position ratio.
Instruction Interpretation
#A Label
v3=1024
Initial position ratio
DP0
Define the starting position
JG0
Set motor in jog mode as zero
BGA Start
#B
v1=@AN[1] Read
analog
input
v2=v1*v3
Compute the desired position
v4=v2-_TPA-_TEA
Find the following error
v5=v4*20
Compute a proportional speed
JG v5
Change the speed
JP #B
Repeat the process
EN End
Backlash Compensation by Sampled Dual-Loop
The continuous dual loop, enabled by the DV1 function is an effective way to compensate for
backlash. In some cases, however, when the backlash magnitude is large, it may be difficult to
stabilize the system. In those cases, it may be easier to use the sampled dual loop method described
below.
This design example addresses the basic problems of backlash in motion control systems. The
objective is to control the position of a linear slide precisely. The slide is to be controlled by a rotary
motor, which is coupled to the slide by a lead screw. Such a lead screw has a backlash of 4 micron,
and the required position accuracy is for 0.5 micron.
168
• Chapter 7 Application Programming
DMC-2X00