On 18/11/10 18:25, [email protected] 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

_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to