EasyManua.ls Logo

Scanlab RTC6 PCIe Board - Compensating Rotary Movements; Correction Via Encoder Counter

Scanlab RTC6 PCIe Board
1004 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
RTC6 boards
Doc. Rev. 1.0.21 en-US
8 Advanced Functions for Scan Head Control and Laser Control
247
innovators for industry
8.6.3 Compensating Rotary
Movements
Before activating Processing-on-the-fly correction for
rotary xy movement, you must define the rotation
center by set_rot_center or set_rot_center_list. The
rotation center may also be situated outside the
Image Field.
The Processing-on-the-fly correction itself can be
activated by:
set_fly_rot
set_fly_rot_pos
set_mcbsp_in (
Mode =
4)
set_mcbsp_in_list (
Mode =
4)
Processing-on-the-fly correction can be stopped by
fly_return (see the corresponding notes on
Chapter 8.6.5 ”Deactivating Processing-on-the-fly
Correction”, page 251).
Notes
A Processing-on-the-fly rotation correction:
Cannot be combined with other
Processing-on-the-fly corrections, see Section
”Overview”, page 242.
Simultaneously for both scan head connectors
is only practical, if both attached scan systems
are aligned to exactly the same rotation center.
Correction via Encoder Counter
To be able to pass rotation angles via the
board-internal incremental encoder, the encoder
input ENCODER X
(1)
must be connected, see also
Section ”Input Ports for External Encoder Signals”,
page 299.
Then, Processing-on-the-fly correction must be
activated by set_fly_rot. The parameter
Resolution
[in counts per revolution] must thereby be specified.
See also Section ”Determining the Resolution
Parameter”, page 247.
set_fly_rot resets the encoder counter “Encoder0” to
zero.
(2)
The output value is calculated from the current
output position via a rotation matrix around the
specified rotation center with rotation angle /
360° = current “Encoder0” counter reading /
Resolution
).
This correction is performed every 10 µs.
(3)
Determining the Resolution Parameter
The
Resolution
parameter an be determined
experimentally:
(1) Read out the counter start value by get_encoder.
(2) Start the rotation.
(3) Count the number of revolutions.
(4) Stop the rotation.
(5) Read out the counter end value by
get_encoder.
(4)
(6) Calculate the parameter
Resolution
[in counts per
revolution] as follows:
Resolution
= (counter end value – counter start
value) / number of revolutions
If the workpiece rotates at a constant speed [in
number of revolutions per second] and an
encoder simulation has been activated by
simulate_encoder, then the
Resolution
parameter can be calculated as follows:
(7) Adjust the sign of
Resolution
to the direction of
rotary movement.
(1) ENCODER X = Encoder0.
(2) By set_control_mode
Bit #9
it can be set beforehand
whether the counter is reset at the respective
Processing-on-the-fly command or at the start trigger.
(3) The encoder counters are signed 32-bit counters with
overflow (= after reaching the maximum (minimum)
counter value, counting continues at the minimum
(maximum) counter value).
(4) Alternatively, the counter start and end values can be
stored in a cache on the RTC6 PCIe Board by the
list command store_encoder and then retrieved from
there by the control command read_encoder.
Resolution
counter end value counter start value
number of revolutions
-------------------------------------------------------------------------------------------------------------=
Resolution
(1.000.000 counts / s)
---------------------------------------------------------=

Table of Contents