Using the Galvo Calibration File Converter with the Nmark SSaM

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 Nmark SSaM.

Calibration File Creation Process

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

Tables should be created with an odd number of rows and columns. This is done so that there are correction values that pass through the origin (X=0, Y=0) of the scanner. To create a new file, select “New” from the “File” menu.

The “Calibration File Type” window will be displayed (Figure 1). Select the desired number of rows and columns. The table can have a different number of rows and columns. The GCFC application will interpolate the table size to 65 x 65 before saving the results to a GCAL file.

Galvo1Figure 1. Slect the number of rows and columns.

A table will be displayed with “0” correction values in all locations:


Figure 2. Empty 3 x 3 table.

Step 2: Set‐Up Scaling (Optional)

By default, all positions and correction values are displayed in counts where ‐32768 to 32767 are the full‐scale displacement of the mirrors in the scanner. The scaling can be changed to reflect user units for both the position and correction value. Select the “Change Units” item from the “Options” menu to display the Application Units dialog (Figure 3). The “Counts Per Unit” value should be set to the same value as the A3200 CountsPerUnit axis parameter. This scale factor is used to display the measurement locations on the grid. The Application Units setting allows for the correction units to be different than the measurement units. The “Counts Per Unit” could be set‐up to reflect mm and the Correction Scale can be set‐up for microns. This allows the data to be entered into the table in more intuitive user units rather than scanner counts.


Figure 3. Setting the display and correction units.

Regardless of the values used for scaling the position display and correction display, the CSV and GCAL values are always stored in counts when the files are saved.

Step 3: Create the Correction Table

By default, the table elements are assumed to be “corrections” and are always stored in the CSV or GCAL file as corrections. A correction 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.

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 the value. Figure 4 is an example 3 x 3 table filled with correction values.

Figure 4. Complete 3 x 3 table showing correction values.

Save the table as “3x3.CSV” before continuing by selecting the “Save” or “Save As” menu item from the File menu with the file type set to “CSV”.

Step 4: Create and Activate a GCal Correction File

To create a GCAL file, select the “Save As” menu item from the “File” menu, set the type as “Aerotech calibration files (*.gcal)” and enter in a file name (Figure 5).


Figure 5. Save as a GCAL file.

The GCFC will automatically interpolate the table to a 65 x 65 resolution table. The display will be updated to show the results of this interpolation (Figure 6).


Figure 6. 3 x 3 CSV table interpolated to 65 x 65 GCAL table.

After creating and saving the file, it needs to be activated on the controller. The GCAL file is activated within an A3200 motion program using the “LOADCALFILE” command. See the A3200 Help file for additional information on using this command. Make sure the AeroBasic program used to create the grid test pattern is modified to use the newly created GCAL file before continuing.

Step 5: Create a Higher Resolution Table

After the new GCAL file is activated, mark a new grid pattern at a higher resolution. For this example, we started with 3 x 3 and will increase to 5 x 5 for the second pattern (see Step 1 for instructions on creating a new correction table). Mark and measure a 5 x 5 pattern and create a new table per the process defined in Step 3. Save this table as a CSV file.


Figure 7. Completed 5 x 5 CSV table.

Step 6: Merge the 3 x 3 and 5 x 5 Tables

We now have two CSV files, one at 3 x 3 and the other at 5 x 5. The 3 x 3 correction table was active when the 5 x 5 was created so the correction values in the 5 x 5 table need to be merged with those from the 3 x 3 table. The tables are merged by selecting the “Merge File” menu item on the “File” menu. The currently opened file in GCFC will be merged with the selected file. With the “5x5.CSV” file open in the GCFC, select the “3X3.CSV” for merging by clicking on the “Merge File” menu item. The results of the merge operation are shown in Figure 8. Save this file as a new CSV file “5X5merged.CSV”, so that it can be used to create a new GCAL file and for use in subsequent merging operations.


Figure 8. Results of merging CSV files.

Step 7: Repeat as Required

Repeat steps 3 through 6, increasing the table size for each iteration, until the desired results are obtained.

Automated Calibration Process

The GCFC can import CSV files (Comma Separated Values) that contain the results of an automated measurement process. For example, a camera 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 CSV file can be converted into a GCAL file by the GCFC for use by the SSaM.

When creating the CSV file, be aware that the order of the correction elements in the CSV file differs from the Grid View; Axis 0 positions increase top to bottom and Axis 1 positions increase left to right (Figure 9).


Figure 9. CSV file order of correction elements differ from the Grid View.

When a CSV file is opened, the user must specify the “Calibration File Type” data as “SSaM Calibration File” (Figure 10).

Galvo 10
Figure 10. Specify the "Calibration File Type".

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 “GCAL”.







« Back to White Papers