ARTE
BELLEZZA E BENESSERE
MESTIERE
CULTURA E STORIA
DIVERTIMENTO
AMBIENTE
CIBO E BEVANDE
INGEGNERIA INVERSA
SCIENZE
SPORT
TECNOLOGIA
INDOSSABILI
Echo Sounding and Sonar
Ed

Creato da

Ed

27. agosto 2026FI
1
0
0
0
0

Echo Sounding and Sonar

Radar cannot see underwater. Radio waves are absorbed by seawater within a few metres, which is why a submerged submarine is invisible to the instrument that had just transformed war in the air. Sound is the opposite: water carries it about four and a half times faster than air and far further, so the sea is opaque to light and radio and remarkably transparent to sound. Echo sounding does with sound exactly what radar does with radio — send a pulse, time the echo, halve it and multiply by the speed — and the arithmetic is identical to the radar blueprint. What is completely different is the medium, because the speed of sound in water is not a constant. It changes with temperature, salinity and pressure, which means the ray does not travel in a straight line, and a sonar that assumes it does will confidently report a target that is not there.
Avanzato
6 hours

Istruzioni

1

Measure the speed of sound in water yourself

Establish the number the whole instrument depends on, in a tank.

  1. Put two hydrophones — or two waterproofed piezo elements — a measured distance apart in a long tank or a still pool.
  2. Make a sharp click at one end and record both channels simultaneously on an oscilloscope.
  3. Measure the delay between the two arrivals and divide the separation by it.
  4. Repeat with the water warmed by several degrees.

You should land near 1480 m/s in fresh water at room temperature — about 4.4 times the speed in air — and it will measurably INCREASE as the water warms. Roughly 4 m/s per degree, which sounds small until you remember it is multiplied by every range you compute.

Do the comparison honestly: sound in air is around 343 m/s and attenuates quickly; in seawater it travels for kilometres. That single contrast is why the sea is navigated acoustically and the sky is navigated electromagnetically, and why the two instruments look similar and behave completely differently.

Materiali per questo passaggio:

Piezo Transducer ElementPiezo Transducer Element2 pezzi
Clear Vinyl Tubing (10mm)Clear Vinyl Tubing (10mm)1 m
Silicone SealantSilicone Sealant1 tube

Strumenti necessari:

Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
Tape Measure (5 m)Tape Measure (5 m)
Infrared ThermometerInfrared Thermometer
Soldering Station (Temperature Controlled)Soldering Station (Temperature Controlled)
2

The ping-listen cycle

Trace both. Active sonar gives you range immediately and tells the target exactly where you are — the ping is heard much further away than its own echo returns, so the hunted hears the hunter first.

Passive sonar is silent and gives bearing only. Converting bearings into a range requires the listener to manoeuvre and watch how the bearing changes over time — target motion analysis — which takes minutes and careful geometry.

Note the blind period after transmit. The transducer is a mechanical resonator and it keeps ringing after the drive stops, deafening the receiver — the acoustic version of the radar TR cell recovery time, and it sets the same minimum range.

This is why submarines run passive by default and go active only when they have already decided to attack or have been detected anyway. The instrument that answers the question fastest is also the one that gives you away.

Flow

Loading...

Strumenti necessari:

Desktop ComputerDesktop Computer
3

Compute range, resolution and the ray bending

Loading Jupyter Notebook...

Strumenti necessari:

Desktop ComputerDesktop Computer
4

Build a working echo sounder

Upload this and test in air first with SOUND_SPEED = 343.0 against a wall at a measured distance — if the reported range is wrong by a constant factor, your sound speed is wrong; if it is wrong by a constant offset, your blanking window is.

Then set 1500 m/s and test in water. The same code, the same arithmetic, a different constant — which is precisely the point the first step made.

The median-of-three is deliberate: a single ping can catch a bubble or a fish and report nonsense, and a median discards one outlier without the lag of a long average.

echo_sounder.inoarduino
/*
  Echo sounder — time-of-flight depth measurement
  Youblob blueprint: Echo Sounding and Sonar

  Drives a 40 kHz piezo transducer, listens for the return, converts the delay
  into a distance using a sound speed you can set for the medium.

  Hardware:
    Transducer drive  -> D9 (through a driver transistor / H-bridge)
    Receiver envelope -> A0 (piezo -> amp -> rectifier -> RC envelope)
    Blanking gate     -> D8 (holds the receiver off while the transducer rings)

  NOTE the blanking window. The transducer keeps ringing after the drive stops
  and would swamp its own receiver — the acoustic twin of the radar TR cell,
  and it sets the MINIMUM range exactly the same way.
*/

const int PIN_DRIVE = 9;
const int PIN_ECHO  = A0;
const int PIN_BLANK = 8;

float SOUND_SPEED = 1500.0;      // m/s  (water; use 343.0 to test in air)
const int  BLANK_US     = 900;   // ring-down blanking -> sets minimum range
const int  BURST_CYCLES = 8;     // cycles at 40 kHz
const int  THRESHOLD    = 120;   // envelope ADC counts

void setup() {
  Serial.begin(115200);
  pinMode(PIN_DRIVE, OUTPUT);
  pinMode(PIN_BLANK, OUTPUT);
  Serial.println(F("t_us,range_m"));
  Serial.print(F("# minimum range from blanking: "));
  Serial.print(SOUND_SPEED * (BLANK_US / 1e6) / 2.0, 3);
  Serial.println(F(" m"));
}

unsigned long pingOnce() {
  digitalWrite(PIN_BLANK, HIGH);                  // deafen the receiver
  for (int i = 0; i < BURST_CYCLES; i++) {        // 40 kHz burst = 12.5 us half-period
    digitalWrite(PIN_DRIVE, HIGH); delayMicroseconds(12);
    digitalWrite(PIN_DRIVE, LOW);  delayMicroseconds(12);
  }
  unsigned long t0 = micros();
  delayMicroseconds(BLANK_US);                    // wait out the ring-down
  digitalWrite(PIN_BLANK, LOW);                   // receiver live

  while (micros() - t0 < 60000UL) {               // 60 ms listen window
    if (analogRead(PIN_ECHO) > THRESHOLD) return micros() - t0;
  }
  return 0;                                       // nothing heard
}

void loop() {
  // Median of three pings rejects a single spurious return without slowing much.
  unsigned long a = pingOnce(); delay(60);
  unsigned long b = pingOnce(); delay(60);
  unsigned long c = pingOnce();
  unsigned long v[3] = {a, b, c};
  for (int i = 0; i < 2; i++)
    for (int j = i + 1; j < 3; j++)
      if (v[j] < v[i]) { unsigned long s = v[i]; v[i] = v[j]; v[j] = s; }
  unsigned long t = v[1];

  if (t == 0) { Serial.println(F("0,no-echo")); }
  else {
    float range = SOUND_SPEED * (t / 1e6) / 2.0;  // out and back -> halve it
    Serial.print(t); Serial.print(','); Serial.println(range, 3);
  }
  delay(250);
}

Materiali per questo passaggio:

Piezo Transducer ElementPiezo Transducer Element2 pezzi
Microcontroller BoardMicrocontroller Board1 pezzo
Transistor Assortment (NPN/PNP)Transistor Assortment (NPN/PNP)1 kit
Resistor KitResistor Kit1 kit
Capacitor KitCapacitor Kit1 kit

Strumenti necessari:

Computer with Arduino IDEComputer with Arduino IDE
Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
Soldering Station (Temperature Controlled)Soldering Station (Temperature Controlled)
Digital Multimeter (Lab Grade)Digital Multimeter (Lab Grade)
Tape Measure (5 m)Tape Measure (5 m)
5

Read the bottom, and read what is under it

An echo sounder does not only find the seabed. It finds what the seabed is made of, and sometimes what is beneath it.

  1. Sound over mud, then over sand, then over rock, recording the returned envelope each time.
  2. Compare the amplitude and the SHAPE of each return.
  3. Look for a second, later echo after the first.

A hard bottom returns a sharp, strong echo; soft mud returns a weak, smeared one — because much of the sound enters the sediment instead of reflecting. That difference is enough to classify the seabed acoustically, which is how fishing grounds and cable routes are surveyed.

The second echo is the sound that went INTO the sediment, bounced off a harder layer below, and came back. Lower the frequency deliberately and that sub-bottom return strengthens — which is sub-bottom profiling, and it maps buried structure without digging.

The same instrument at three frequencies answers three different questions: high for fine detail of the bottom surface, medium for depth, low for what lies beneath it. This is the frequency-against-range trade from the notebook, used deliberately rather than merely suffered.

Materiali per questo passaggio:

Piezo Transducer ElementPiezo Transducer Element1 pezzo

Strumenti necessari:

Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
Spectrum Analyser / FFT SoftwareSpectrum Analyser / FFT Software
Digital Multimeter (Lab Grade)Digital Multimeter (Lab Grade)

Materiali

7

Strumenti richiesti

8

Blueprint correlati

Questi blueprint condividono conoscenze — tecniche, materiali o principi

CC0 Pubblico dominio

Questo progetto è rilasciato sotto CC0. Sei libero di copiare, modificare, distribuire e utilizzare quest'opera per qualsiasi scopo, senza chiedere permesso.

Supporta il Maker acquistando prodotti tramite il suo progetto dove guadagna una Commissione Maker stabilita dai venditori, oppure crea una nuova iterazione di questo progetto e includilo come collegamento nel tuo progetto per condividere i ricavi.

Commenti

(0)

Accedi per partecipare alla discussione

Caricamento commenti...