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

Page 178

Advertising
background image

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

Advertising