Electronic – Best way to track light source

control systemsensorservotracking

I want to build a 1-D (azimuth), bidirectional optical tracker. The idea is to have two identical transceiver, mounted on DC servo-motor. The user can move the two servos on rails (reasonably fast), while the servos have to automatically adjust their angular position to face the other transceiver. The distance between the two transceiver should be at least 20 cm. The drawing below will certainly explains better what I mean:

enter image description here

So far, I have thought about using 1-D PSDs (Position Sensitive Detectors like this one) and LASER diode. PSDs are basically sensitive surfaces that have a direct relationship between the LASER dot position on the surface and the output current:

enter image description here

To estimate the angle that the servo motor must rotate, we need two distances: the position of the LASER dot on the PSD (x, given by the above equation), and the distance between the LASER and the PSD (y). With that, we can apply some basic trigonometric formula to find the needed angle:

$$\theta=tan^{-1}\Big(\dfrac{x}{y}\Big)$$

The problem with this solution is that it is needed to have the distance y. I found two solution to estimate this distance: RSSI (Received Signal Strength Indicator) and ToF (Time of Flight). I read somewhere here that RSSI is not reliable enough to estimate distances. ToF would be much more reliable here. I found this chip which is an all-in-one ToF module that has a range accuracy of around 5 % (depending on several factors). The problem with this is that it increase the complexity of the system and since both sensors (PSD and ToF) work in the IR range, they might be reached by the other sensor's source and it would increase the error in the x and y direction.

Is there another way to reliably estimate the distance between the LASER and the PSD?
Has anyone any idea on how the system can be simplified while allowing for angular tracking between the two transceiver?

Best Answer

To estimate the angle that the servo motor must rotate, we need two distances:

Put a lens in front of the PSD and you don't need any distances. The lens turns angle into position:

Lens diagram

Measure which position the beam hits when the angle is zero (perfectly aligned). Call that voltage zero. Rotate until the voltage is zero. Done.

Your sensor above comes in a 12mm version. If you select that, and combine with a 10mm focal length lens, your FOV for detecting the laser beam will be +/- 30 degrees.

You can buy PSD kits that do this and include a closed loop controller and stepper motor, but your problem is so simple I don't think you need one.

Light Source

Here is the spot of an 1mm LED from ~ 1 meter distance (almost 180 degree emission angle) behind a 4mm focal length lens (my phone camera). The LED is sitting in sunlight. The physical width of the spot on the sensor is only 30 microns (21pix*1.4um). Scaled to 10mm focal length, this becomes 75 microns.

LED diffuser

I could improve this just by using a small active area LED, but you get the idea. You can focus an LED with very wide divergence angle to a very small (relative to your 12mm sensor) spot. Probably much smaller than your electronics can detect. Make the divergence angle larger than the physical range of angles the source can be rotated through and you will never lose sight of it.