Electronics, Feature Overview, Laser Scan Heads, Laser Systems
Feature Overview
Using the Galvo Calibration File Converter with the Nmark GCL
Calibrating the field of view for scanners is typically an iterative process where a series of marks are placed on a substrate and the location of these marks is used to create a calibration file, and the process is repeated to reach final system accuracy. Each iteration of the mark and measure sequence must combine the new measurement values with the current calibration table to create a new calibration table. When the tables are of the same resolution, the values can be added directly to each other. When the density of the marks in the tables to be combined is not equal, an algorithm must be applied to interpolate lower resolution data with higher resolution data.
Aerotech’s Galvo Calibration File Converter (GCFC) application can be used to merge measurement data during the calibration process. The measurement resolutions of the tables to be merged do not have to match as GCFC will interpolate the correction values of the lower resolution table to match those of the higher resolution table.
This application note will outline the procedures required to create new calibration tables and how to merge calibration tables for the Nmark GCL.
Calibration File Creation
When creating tables through a manual measurement procedure, users will typically start by marking a low resolution grid (e.g., 3 x 3), measure the placement accuracy of the grid and use the measured data to create a calibration table. The calibration table is activated and the measurement grid size is increased (e.g., 5 x 5). This sequence is repeated until the desired results are attained over the entire working area of the scanner.
For applications where the measurement of galvo accuracy is automated, the grid spacing can start at a much higher resolution (e.g., 33 x 33) since the process does not require manual measurement of the placement error at each location in the grid.
Manual File Creation Process
Step 1: Create a New File

To create a new file, select “New” from the “File” menu. A “Calibration File Type” dialog will appear (Figure 1). Descriptions of the field settings within the dialog are listed below:
- Create New: Select “GCL Calibration File”.
- Nmark GCL Axis: The axis index of the first axis on the GCL.
- Size: Six predefined correction grid sizes are supported.
- Sample Distance: Distance between grid points. Distance is scaled by the “Position Divisor”.
- Units: Set the unit type for the conversion points; typically set to “Primary Units” to reflect the user programming units.
- Position Divisor: Optional scaling of the sample distance value relative to the Primary Units. If this field is set to 1000 and the Primary Units are set to “mm” in the A3200, then the sample distance is specified in microns. If no value is given then the sample distance is defined by the specified units type.
- Correction Divisor: Optional scaling of correction units relative to the primary units. If this value is set to 1000 and the Primary Units are “mm”, then the correction values are entered in microns. If no value is given then the correction values are defined by the specified units type.
The GCFC application is not aware of the scanner field of view size. The settings of the Sample Distance and the grid size must be chosen such that the resulting table matches the field of view of the scanner.
After entering the data and clicking the “OK” button a blank correction file will be created (Figure 2). Figure 2 shows a 5 x 5 table with a sample distance of 10. Note that Axis 1 values increase left to right and Axis 0 values increase bottom to top.

Step 2: Enter Correction Table Elements
By default the table elements are assumed to be “corrections”. This is a value that is added to the commanded position to arrive at the desired position.
Positionmodified = Positioncommand + CorrectionValue
The values can also be entered/displayed as “errors”. This value is subtracted from the commanded position to arrive at the desired position.
Positionmodified = Positioncommand – Error
Setting of “Correction” versus “Error” is done through the “Show Values As” menu item on the “View” menu. This setting affects display and manual data input in the grid view only. All data is stored as correction values.
Once the correction field type is specified, the values are entered into the table by double‐clicking on the desired table element and typing in a value (Figure 3).

As an alternative to manual table entry of correction information, the data can be stored in a CSV file and imported by GCFC. See the “Automated Calibration” section at the end of this discussion for information on the CSV file format.
Step 3: Creating and Activating a Correction File
To create a calibration file from the entered data, select the “Save As” menu item from the “File” menu, set the type as “GCL Calibration Files (*.cal)” and enter in a file name (Figure 4). For this example, we will save the results in a file called “5×5.CAL”.

The A3200 stores all 2D calibration tables in a single file. If the GCL is the only active 2D calibration table then the controller can be configured to load the calibration file created by the GCFC (5×5.cal for this example). If more than one 2D table is contained within the CAL file – for example, 2D calibration of X/Y stages or there is more than one GCL – then the contents of the file created in this step must be copied directly into the “master” 2D CAL file. See the A3200 Help file for more information on combining multiple 2D calibration tables into a single file.
The 2D calibration file is set up in the Configuration Manager as shown in Figure 5.

The A3200 controller must be reset and the GCL axis homed to activate the contents of the calibration file.
Step 4: Merging Calibration Files
After the calibration file has been activated, measure the resulting accuracy and repeat steps 1 through 3 to create a new calibration file based on the measured results and save this file under a new name. The new calibration file does not have to be the same size as the previously created file.
To combine the active calibration file with the new measured calibration data, select the “Merge” option from the “File” menu and browse for the name of the file that contains the calibration data that is currently active on the controller (5×5.CAL in this example). If you have copied the contents of the calibration table into a master 2D calibration file, do not select the master calibration file – select the file from which the table was copied.
GCFC will display the results of the merged tables. Save and activate the contents as outlined in Step 3.
Step 5: Repeat Steps 1‐4 as Required
For a given grid size the measured accuracy should converge after 2‐3 iterations of the mark and measure sequence, as outlined above.
Automated Calibration Process
The GCFC can import CSV files (Comma Separated Values) which contain the results of the measurement process. For example, a vision process can acquire the marks made by the scanner on the substrate, measure the placement accuracy and store the results directly into a CSV file. The order of the correction elements in the CSV file differs from the Grid View because Axis 0 positions increase top to bottom and Axis 1 positions increase left to right (Figure 6).

When a CSV file is opened, the user must specify the “Calibration File Type” data (Figure 7). See “Step 1” for a description of the input data.

After opening the CSV file the data can be saved as a 2D calibration file using the “Save As” option of the “File” menu with the file type set as “cal” (as outlined in Step 3).
Alternatively, the measurement process can create an Aerotech compatible 2D calibration file format directly. The 2D calibration file can be read by GCFC and merged with an existing 2D calibration file on the hard drive. Working with 2D calibration files eliminates the need to specify axis information, grid size and correction scaling information when using the CSV import approach as this information will be written in the 2D calibration file by the measurement process.