Galil DMC-1700, DMC-1800 user manual Example motion program, Instruction, Function

Models: DMC-1800 DMC-1700

1 253
Download 253 pages 18.39 Kb
Page 183
Image 183
Example motion program:

Once there, the load position is read to find the position error and the controller commands the motor to move to a new rotary position which eliminates the position error.

Since the required accuracy is 0.5 micron, the resolution of the linear sensor should preferably be twice finer. A linear sensor with a resolution of 0.25 micron allows a position error of +/-2 counts.

The dual-loop approach requires the resolution of the rotary sensor to be equal or better than that of the linear system. Assuming that the pitch of the lead screw is 2.5mm (approximately 10 turns per inch), a rotary encoder of 2500 lines per turn or 10,000 count per revolution results in a rotary resolution of 0.25 micron. This results in equal resolution on both linear and rotary sensors.

To illustrate the control method, assume that the rotary encoder is used as a feedback for the X-axis, and that the linear sensor is read and stored in the variable LINPOS. Further assume that at the start, both the position of X and the value of LINPOS are equal to zero. Now assume that the objective is to move the linear load to the position of 1000.

The first step is to command the X motor to move to the rotary position of 1000. Once it arrives we check the position of the load. If, for example, the load position is 980 counts, it implies that a correction of 20 counts must be made. However, when the X-axis is commanded to be at the position of 1000, suppose that the actual position is only 995, implying that X has a position error of 5 counts, which will be eliminated once the motor settles. This implies that the correction needs to be only 15 counts, since 5 counts out of the 20 would be corrected by the X-axis. Accordingly, the motion correction should be:

Correction = Load Position Error - Rotary Position Error

The correction can be performed a few times until the error drops below +/-2 counts. Often, this is performed in one correction cycle.

Example motion program:

INSTRUCTION

#A

DP0

LINPOS=0 PR 1000 BGX

#B

AMX

WT 50

LINPOS = _DEX ERR=1000-LINPOS-_TEX JP #C,@ABS[ERR]<2

PR ERR BGX JP #B #C

EN

FUNCTION

Label

Define starting positions as zero

Required distance

Start motion

Wait for completion

Wait 50 msec

Read linear position

Find the correction

Exit if error is small

Command correction

Repeat the process

DMC-1700/1800

Chapter 7 Application Programming • 175

Page 183
Image 183
Galil DMC-1700, DMC-1800 user manual Example motion program, Instruction, Function