Issue
152 March 2003
2-D
Optical Position Sensor
by
Roger Johnson & Chris Lentz
NULL AND
MODE
The process
is continuously grabbing the four ADC values. You can
pick one of two ways to display this data. Position
Display mode shows X and Y displacement in inches, as
well as laser power. Voltage Display mode shows the
raw voltages in millivolts of the four ADC values. Pressing
the Mode switch toggles between these two displays.
Because the
PSD is sensitive to the centroid of the light pattern
on it, any light other than the laser will cause errors.
A voltage-nulling process solves the problem. This stores
the background values of the four signals without the
laser on the PSD. Subsequent position calculations first
subtract these stored values. The voltage-nulling process
is initiated at power-up, or at any other time, by pressing
the Null button in Voltage Display mode.
There is also
a position-nulling (i.e., zeroing) process that forces
the current laser position to be 0.0000 in X and Y.
This is handy for observing small changes from a starting
point. To initiate the process, press the Null button
in Position Display mode.
The power
in the laser beam is displayed on the right-hand side
of the upper line of the LCD. If the bounds checking
done during the ADC acquisition process indicates values
that are too high (i.e., 0FFF from any A/D conversion
result) or too low (i.e., less than 0.05 mW), then the
right side of the lower line will display "DETSAT"
or "LOWSUM." This means that the detector
is saturated or the sum signal is too low.
The RS-232
serial port transmits data at the same rate as it is
written to the LCD screen. The format in Position mode
is: <X data>, <Y data> carriage return line
feed. The format in Voltage mode is: <X1 data>,
<X2 data>, <Y1 data>, <Y2 data> carriage
return line feed. With no parity and 1 stop bit, the
data rate is 9600 bps.
LINEARITY
This pincushion
PSD will show some nonlinearity near the perimeter.
The conversion equations assume the PSD is linear over
its entire range. The on-board EEPROM can store correction
coefficients and use them to extend the linear range
all the way to the edges. Doing so, however, requires
the scanning of the detector in precise steps over its
entire surface area and recording all of the errors.
This entails precision translation stages and is beyond
the scope of this project. If you’re interested in doing
this, mapping in 0.020" increments and storing
a gain and offset factor applied to measurements in
each increment segment works well.
MORE APPLICATIONS
A typical
application, precisely measuring the flatness of a surface,
is depicted in Photo 1. The source is a low-cost torpedo
laser level. First, the laser level is placed on the
surface and turned on. The PSD is brought next to the
level and zeroed. When the PSD is scanned along the
surface, any change in the Y ordinate indicates a deviation
from flatness.
|

(Click
here to enlarge)
|
Photo
1—A laser level and the 2-D optical position sensor
measure the flatness of a surface. Note the four-digit
resolution. The main board is only a little larger
than the LCD. The PSD connected to the system is
located in the mount with a filter. The Hamamatsu
PSD is shown in the foreground on the pre-amp PCB. |
For precise
applications, the detector is placed in a mount (see
Photo 1). We performed some accuracy tests on the system
and found it to be within 1% over the entire measurement
range. The PSD was securely fixed to a precision translation
stage and moved in increments. At 0.1000" the display
indicated 0.0993", which wasn’t bad at all! The
stages were positioned with micrometers that have 0.0005"
resolution; therefore, this result is consistent with
our ability to accurately position the stages by hand.
Probably the
most common application is to simply mount the PSD to
monitor the relative movement between the laser beam
and PSD. This setup can measure the movement of a mirror,
the bending and twisting of a structure caused by loads
or thermal upsets, and so on.
If the PSD
is moved along a single surface, a surface and edge,
or is mounted on a moving mechanism, all of the position
data should lie in a straight line. If it is not, then
the extent of deviation from a straight line should
be measured by analyzing the data. This technique is
performed to measure the straightness of travel for
machine tools, the straightness of shafts, and so on.
The PSD usually
has to sit in a mount that is suitable for the job at
hand. The precision mount that you can see in Photo
1 is used for measuring the straightness and flatness
of surfaces and edges.
LOOKING
FORWARD
The purpose
of this article was to present you with a 2-D optical
sensor that you can use with standard laser tools and
pointers. In addition to the advantage of being inexpensive,
the sensor has a resolution of 0.0001" and an accuracy
of better than 1%.
At some point
in the near future, we would like to linearize the PSD
even further. To achieve this, we plan on mapping the
entire surface of the sensor and storing correction
coefficients in the EEPROM. Furthermore, we will probably
vary the sample rate, perform different types of signal
averaging, and make the electrical center of the mounted
PSD coincident with its mechanical center by using a
two-step calibration technique.
If you were
to use other 2-D sensors, all that would change is the
pre-amp resistors (for use with different optical power)
and the position equations. In addition, note that silicon
PSDs can measure position at near-IR wavelengths, and
InGaAs PSDs are available in telecom wavelengths (i.e.,
1300 through 1500 nm).
As you know,
there are other options if you’re interested in this
type of optical measurement system but don’t want to
invest the time required to make a board. For instance,
you can purchase the unpopulated, two-board PCB along
with the Hamamatsu PSD for $175.