[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