Specifications

Understanding Fiducials
ScanSpection software uses two alignment marks to correct for placement
difference between boards. Alignment marks have fixed XY locations. The
software uses the fixed XY locations as a reference to determine what
compensation is needed for a particular board under inspection. There are
two kinds of positional compensation; one is translational and the other is
rotational. The software uses the left alignment mark to calculate translational
compensation. For example, the left mark has a defined position of (10,10),
and the software finds it to be at (12,11) . This means in order to compensate
the coordinates system needs to shift 2 units to the right on X axis and 1 unit
up in the Y axis.
After the software compensates translationally, it proceeds to find the right
alignment mark and calculates the rotational compensation using software
theta. The software compensation works best if the fiducials are located on
the bottom left and the bottom right corner of the board. It is recommended
that the user select the left alignment mark close to the bottom left corner of
the board and the right alignment mark close to the bottom right corner of the
board whenever possible.
Software theta is a technique that mathematically rotates the user coordinate
system to compensate for the mis-alignment of the PCB. For example, there
is a 5 degree offset in theta for the PCB. The user wants to go to (1000,1000)
on the PCB to inspect a component. The software calculates the
corresponding Image coordinates using the following algorithm:
X’ = X Cos (A) + Y Sin(A)
Y’=-X Sin (A) + Y Cos(A)
In this case
X’ = 1000*Cos(5) + 1000 * Sin(5)
Y’=-1000*Sin(5) + 1000 * Cos(5)
X’=1083.35
Y’=909.04
The software then commands the Image to go to (1083.35,909.04). This is the
same place at (1000,1000) on the PCB. The process is completely
transparent to the user. The revert calculation is performed when displaying
coordinates. The Status bar will show (1000,1000).
The ScanSpection software uses a multi-layer scheme to handle coordinates.
The top layer is the user coordinates (or the board or PCB coordinates). This
is how the position of Devices on the board are defined. This is the only
coordinate the user will deal with directly. The bottom layer is the physical
coordinate where positions are defined by motor steps and encoder counts.
The mid layers include scaling, software theta, linear error compensation and