This imaging sonar project uses two PIC microcontrollers, PIC16F84 for the servo control and PIC16C71 for the sonar portion. It’s equipped with two 40 KHz ultrasonic transducers, one for transmit, one for receive. These transducers are steered by an R/C servo over 180 degrees of azimuth.
There are two micro switches that sense the ends of travel of the servos, and this information is stored in non-volatile memory on the PIC16F84. It can scan a sector, multiple readings in a single direction, or the full 180 degrees. All control and output is over a single 19.2 Kbps serial port.
The project uses wide dynamic range full wave rectifier which rectifies the 40 KHz signal without distortion from 10mV P-P to about 3V P-P. This process is needed to amplify, detect and filter the signal before entering PIC16C71. The receiver protector circuit that shorts out the receiving transducer during the outgoing pulse and for 1ms afterwards.