8.7.4 Compensation of 2D Motions
You can use the
set_fly_2d
encoder-based 2D Processing-on-the-fly correction
(e.g. for XY stages), particularly for continuous
marking in the virtual image field. Unlike activation
via
set_fly_x
and set_fly_y, this offers the following
advantages:
•
set_fly_2d
simultaneously resets both encoders
(whereas the separate commands
set_fly_y
do so with a slight temporal offset
between both channels)
•
set_fly_2d
allows compensation of non-linear
relations between encoder values and actual XY
stage motions (see the
Compensation for XY Stages" on page
•
set_fly_2d
allows using coordinate transforma-
tions within the virtual image field (see the
section "Coordinate Transformations in the
Virtual Image Field" on page
• Even during an interruption of a
marking via
wait_for_encoder_mode
wait_for_encoder_in_range, the galvanometer
scanner positions receive continuous Processing-
on-the-fly correction in accordance with the
current XY-stage encoder values (whereby the
laser focus remains stationary relative to the XY
stage). Thus, unnecessary jumps are avoided after
XY stage motions (see
chapter 8.7.6 "Virtual
Image Field", page
187).
Notes
• You can't combine
set_fly_2d
other Processing-on-the-fly corrections (see the
section "Overview" on page
®
RTC
5 PC Interface Board
Rev. 1.9 e
8 Advanced Functions for Scan Head and Laser Control
command to activate
set_fly_x
and
section "2D Encoder
184).
185).
set_fly_2d
or
correction with
178).
2D Encoder Compensation for XY Stages
For particularly demanding marking requirements, it
might be necessary to also compensate an XY trans-
lation stage's mechanical deviations. Here, you can
use the
load_fly_2d_table
compensation table onto the RTC
Then – during a Processing-on-the-fly application
initiated via
set_fly_2d
– encoder values will be two-
dimensionally interpolated and compensated just like
with field correction tables.
To avoid unnecessary initialization motions, you can
use the
init_fly_2d
command to define a desired
translation stage start position as the reference value
for 2D encoder compensation (and to store it on the
®
RTC
5 board). Upon every subsequent encoder reset
via set_fly_2d, the current position will be automat-
ically applied as the new reference position, so that
the relation between current encoder values and the
stage's absolute position is retained for compen-
sation. This relation remains even upon termination
with
fly_return
or upon a new start with set_fly_2d,
but not if you meanwhile activate other Processing-
on-the-fly corrections or reset the encoders via an
external /START (see set_control_mode, bit # 9 = 1).
At any time, you can query the currently valid
reference values via get_fly_2d_offset.
Encoder compensation is applied exclusively to
Processing-on-the-fly correction. The commands
get_encoder,
store_encoder
well as wait_for_encoder,
wait_for_encoder_mode
and
wait_for_encoder_in_range
uncompensated encoder values. The same applies to
recording via
set_trigger
(Signal = 43 or 44) and
get_value.
For the
load_fly_2d_table
provide an ASCII text file that contains a compen-
sation table. This table must have encoder compen-
sations for reference points on a rectangular grid. The
number of grid lines and their spacing is up to you
(both may also differ in X and Y). Missing reference
point data will be automatically assigned a compen-
sation of 0. The largest occurring encoder reference
points form a frame within which encoder compen-
sation values will be bilinearly interpolated. Encoder
values outside this frame will be clipped to this frame
prior to interpolation. Therefore, the reference points
should cover at least the range of the XY stage
required by your application. Reference points with
values exceeding ±524288 can result in some loss of
precision.
command to load a 2D
®
5 (see below).
and read_encoder, as
use the original
command, you need to
184
Need help?
Do you have a question about the RTC 5 PC Interface Board and is the answer not in the manual?