|
Click
Here to View Circuit
The circuit is designed to be low cost.
It uses a PIC12C508 to perform the control functions and
standard 40khz piezo transducers. The drive to the
transmitting transducer could be simplest driven
directly from the PIC. The 5v drive can give a useful
range for large objects, but can be problematic
detecting smaller objects. The transducer can handle 20v
of drive, so I decided to get up close to this level. A
MAX232 IC, usually used for RS232 communication makes
and ideal driver, providing about 16v of drive.
The receiver is a classic two stage
op-amp circuit. The input capacitor C8 blocks some
residual DC which always seems to be present. Each gain
stage is set to 24 for a total gain of 576-ish. This is
close the 25 maximum gain available using the LM1458.
The gain bandwidth product for the LM1458 is 1Mhz. The
maximum gain at 40khz is 1000000/40000 = 25. The output
of the amplifier is fed into an LM311 comparator. A
small amount of positive feedback provides some
hysterisis to give a clean stable output.
The problem of getting operation down to
1-2cm is that the receiver will pick up direct coupling
from the transmitter, which is right next to it. To make
matters worse the piezo transducer is a mechanical
object that keeps resonating some time after the drive
has been removed. Up to 1mS depending on when you decide
it has stopped. It is much harder to tell the difference
between this direct coupled ringing and a returning
echo, which is why many designs, including the Polaroid
module, simply blank out this period. Looking at the
returning echo on an oscilloscope shows that it is much
larger in magnitude at close quarters than the
cross-coupled signal. I therefore adjust the detection
threshold during this time so that only the echo is
detectable. The 100n capacitor C10 is charged to about
�6v during the burst. This discharges quite quickly
through the 10k resistor R6 to restore sensitivity for
more distant echo�s.
A convenient negative voltage for the
op-amp and comparator is generated by the MAX232.
Unfortunately, this also generates quite a bit of high
frequency noise. I therefore shut it down whilst
listening for the echo. The 10uF capacitor C9 holds the
negative rail just long enough to do this.
In operation, the processor waits for an
active low trigger pulse to come in. It then generates
just eight cycles of 40khz. The echo line is then raised
to signal the host processor to start timing. The
raising of the echo line also shuts of the MAX232. After
a while � no more than 10-12mS normally, the returning
echo will be detected and the PIC will lower the echo
line. The width of this pulse represents the flight time
of the sonic burst. If no echo is detected then it will
automatically time out after about 30mS (Its two times
the WDT period of the PIC). Because the MAX232 is shut
down during echo detection, you must wait at least 10mS
between measurement cycles for the +/- 10v to recharge.
Performance of this design is, I think,
quite good. It will reliably measure down to 3cm and
will continue detecting down to 1cm or less but after
2-3cm the pulse width doesn�t get any smaller.
Maximum range is a little over 3m. As
and example of the sensitivity of this design, it will
detect a 1inch thick plastic broom handle at 2.4m.
Average current consumption is
reasonable at less than 50mA and typically about 30mA
|