circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

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.