[time-nuts] Laser oscillator distance measurement ckt

Magnus Danielson magnus at rubidium.dyndns.org
Sat Nov 20 06:35:23 UTC 2010


On 18/11/10 18:25, lstoskopf at cox.net wrote:
> I want to build a simple digital tape measure for the range from near zero to perhaps 10 ft with some remote output.  The off the shelf units are accurate to perhaps 1/16 inch, but do not provide continuous outputs.  The Bluetooth units seem to require pushing a button for each measurement.
>
> The AR4000 uses an open loop oscillator method:  Laser on, beam to target, reflected to photodiode (the time delay we want), then detected, amplified to turn off the laser, photodiode (decides) no light and turns the laser on (time to be minimized).  Measure the frequency and calculate the distance.  The AR4000 has oscillation frequency of about 50 MHz at zero distance (the circuit delay) and about 4 MHz at 50 ft.  Easily measured.
>
> Circuit looks pretty easy with modern devices.  Anyone already have something or ideas for best devices?  Thanks,  N0UU

By setting up the laser amplitude into a feed-back loop you can use the 
side-band oscillation frequency. The trick is to measure the period 
rather than frequency, which should be trivial with a fairly simple 
reciprocal counter approach. Subtract the internal delay and you have 
free-flight time which converts into distance, divide by two and then 
add the correction for distance to reference plane.

The oscillating loop need sufficient of gain and possibly an AGC to 
control the gain not to loose too much optical power. A filter in the 
feedback path would increase the internal delay, Bessel-Thomson would be 
preferred for maximum flat group-delay.

A reciprocal counter properly done could do averaging as well as provide 
continous output. For this application overlapping estimator may work 
well enough. A full reciprocal counter is not needed, a fixed gate time 
could simplify things and by letting the loop frequency steer a counter 
it would only need to be sampled regularly for the rest of the 
processing to be done in software. A maximum frequency of 50 MHz and an 
internal gate-time of 1 ms would need a 16-bit counter. Reading out a 16 
bit number once a ms and increment it internally would be trivial for an 
8-bit CPU to deal with. Accumulating bunches of 100 samples would give a 
read-out rate of 10 Hz and only then you would need to divide the 100 ms 
with the accumulated 23 bit value, so even a 6502 doing slow division 
will cope. I guess an AVR would yawn at it.

The counter could be implemented in a simple CPLD such as the 9536... 
hook it up to an AVR and you are almost there.

Once the feedback-loop is operating, the counter side can be attempted 
with existing counters initially and the transferred to the dedicated 
counter.

Cheers,
Magnus




More information about the Time-nuts_lists.febo.com mailing list