Limasonic Design

The ultrasonic positioning system uses sound to accurately determine the position of a transmitter. Using multiple receivers, the phase difference is measured to obtain the movement of the transmitter from an arbitrary point in space.  The base station produces a 40 kHz sound wave, a frequency outside human hearing, and measures the difference between the reference and the signal that has been transmitted through air.  Because the wavelength is 8.6 mm in air, movement of 8.6mm will produce a phase difference of 2pi, and measuring the phase shift will give the distance traveled.

Using a 555 timer working at 40kHz and a MAXIM 264 Universal Filter, the transmitter can send a sine wave over six feet without amplification. The square wave from the timer circuit gets converted to a sinusoidal wave thanks to a bandpass filter from the MAX264 chip. This filter circuit uses a bandwidth of 10 kHz centered at 40 kHz and is driven by a 2.45 MHz crystal to produce an alias free signal. Finally using a 10 gain operational aplifier the signal is boosted to use the maximum output level of the 17 volt transducer.

Small Signal Amplifier
In order for the receiver circuit to operate properly, it requires the received signal to sufficiently large. The small signal amplifier serves as the front-end to the receiver circuit, providing large amplification (approximately 200x) of the received signal to achieve the sufficient level needed by the rest of the receiving circuit.
Zero Crossing Detector
The zero crossing detector converts the amplified sound wave into a square wave to be used by the digital phase detector.  Using a NPN transistor amplifier and a digital inverter allows for a clean digital signal.

Phase Detector Diagram

Phase Detector

The phase detector measures the difference in phase between the reference signal and the signal received from the transmitter.  By using digital components, the phase detector outputs a square wave with a duty cycle proportional to phase difference.
Lowpass/Gain stage
This circuit processes the output of the digital phase detector in two stages: first, a lowpass filter is applied to convert the phase detector output into a suitable DC voltage. A simple gain stage is then applied so that the filtered signal lies in the range of 0 to 5 volts.
The major computing takes place in a microcontroller.  The PIC16F688 from Microchip was chosen for its availability, program memory size and low cost.  The analog to digital converter can convert the output of the phase converter to a 0-255 value, giving an angular resolution of 1.4.  The LCD displays the results of the calculations, but takes large amounts of programming time.  This only allows approx. 8 readings per second, and limits the temporal resolution of the measurements, as the sampled signal will experience aliasing.  The maximum speed that can be resolved is 34mm/per second, or 3.4cm/second.  The PIC16F688 has the capability to measure edges in a 16 bit register, and if implemented, would increase the temporal resolution to 65535 full wavelength changes per reading.  This would allow 563 meters/second for a single reading per second, or more likely, causing the temporal limitation to occur in another component of the system (such as the low pass filter, with a time constant of 33 Hz).

Distance Calculations