PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mittels Ultraschall die Wassertiefe bestimmen



ceekay
29.07.2005, 23:05
hallo,

und zwar haben wir vor von einem Modellschiff aus die aktuelle Wassertiefe zu messen. Welche Möglichkeiten gibt es?
Meine Überlegung war dies mittels Ultraschall zu machen.
Mich würde interessieren ob die mit einem Microcontroller (ATMEGA32) möglich ist und wie man das am besten anstellen könnte.

Es wäre so im bereich bis 20 Meter.
Ich habe da nur bedenken ob man das genau geug hinbekommt wenn man von einer Geschwindigkeit von 1,5 Km / s für den Ultraschall ausgeht.

gibt es vielleicht bessere Alternativen?

Vielen Dank im Voraus

gruß ceekay

BlueNature
29.07.2005, 23:15
Hallo ceekay!

Ich habe hier noch einen Ultraschallsensor liegen den ich von einem Angler bekommen habe, ist so ein kleines U-Boot das komplett wasserdicht ist und per 434MHz-Band die Daten der Wassertiefen an den Empfänger am Ufer sendet. Ist damit also eine Art Echolot.

Das Pinzip ist eigentlich recht simpel. Unten im Rumpf des kleinen U-Boots ist ein Piezzo eingegossen der mit Impulsen angesteuert wird. Wenn der Schall auf ein Objekt trifft wird er reflektiert und wieder am Piezo in eine kleine elektrische Spannung umgewandelt. Aus der Schallaufzeit wird dann die Tiefe berechnet und dieser Messwert eben am Ufer als Kurve aufgezeichnet. Das ist relativ gut muß ich wirklich sagen, wäre sicher nicht das schlechteste das ebenfalls nachzubauen.

Der kleine IC in diesen U-Bootchen ist ein PIC-Controller mit 8 IC-Beinchen. Wenn das mit dem geht wird es mit einem ATMEGA jeder Form auch möglich sein. Timer hat ja im Prinzip jeder der Serie.

Grüße Wolfgang

P.S.: Hatte noch was vergessen, das System nennt sich Smart-Cast

ceekay
29.07.2005, 23:27
ja wie das in der theorie funktioniert ist mir klar.
Aber ich frage mich wo die kniffe in der Praxis liegen. welche Frequenz für das signal. welche leistung, etc.

ich bräuchte also nur einen ultraschall sensor und empfänger. und der rest ist software.
muss ich noch auf irgentetwas achten?
Außerdem muss ich ja Sender und Empfänger Wasserdicht halten mittels einer Folie. Hab ich dann nicht das prob. das das ultraschallsignal gar nicht erst durch die Folie kommt oder starkt geschwächt wird!?

BlueNature
29.07.2005, 23:36
Im Prinzip erst mal das folgende, hab mal bisschen Informationen zusammengesucht:

Schallgeschwindigkeit im Wasser: 1492 m/s

Links zum Thema:
http://www.cc2net.de/Foren/CC2Net_Forum/extindex.php?d_eintrag=1228

Nun zum Prinzip, man gibt einen sehr starken Impuls auf einen Schallwandler. Am besten sogar einen kurzen Burst (40-60kHz) für wenige ms Dauer. Diese laufne durch das Wasser, werden reflektiert und gelangen zurück zum Piezo der eine sehr geringe Spannungsspitze daraus erzeugt. Die gilt es jetzt erst einmal sehr hoch zu verstärken mit einer Operationsverstärkerschaltung aus einen Spannungsbereich von ca. 5V. Ist das geschehen kann man Triggern mit einem Schmitt-Trigger-Bausten (z.B. einem CD40106). Die Impulse werden dann nach einer Sicherheitszeit beim Absenden der Impulse empfangen und ausgewertet (am besten mit Interrupt-Eingng!). Das sollte mit dem Internen Timer geschehen der damit beispielsweise nach dem Absenden und Starten des Timers beim ersten empfangenen Impuls einfach in seinem aktuellen Wert gespeichert wird. Die Zeitdauer daraus läßt sich von dieser Zahlengröße dann in einer Tabelle oder Gleichhung umrechnen auf die wirkliche Tiefe in cm oder Meter. Am besten geht man dann aber noch her und filtert mit einem passend dimensionierten RC-Bandpassfilter die restlichen Geräusche aus dem empfangenen Signal heraus um auch wirklich nur die eigenen Echos zu detektieren und Fremdschallquellen zu unterdrücken.

Berechnung für Bandpässe habe ich noch gefunden unter:
http://www.captain.at/electronics/active-filter/

Grüße Wolfgang

ceekay
30.07.2005, 00:10
ok soweit hab ich verstanden.
das signal hoch verstärkern und dann durch einen schmitt trigger sauber ziehen.
das größte problem sehe ich dabei. das auch wirklich nur auf das signal reagiert wird das gesendet wurde und nicht auf störgeräusche.
gibt es vielleicht eine fertige hardware lösung. die das senden und empfangen übernimmt. wo man nur die impulse zum senden gibt und anschließend das empfangende auswertet?

gruß ceekay

BlueNature
30.07.2005, 00:14
Die einzigste Hardware-Lösung die ich kenne ist eben dieses kleine "U-Boot" von Smart-Cast oder eben diese Ultraschallsensoren von roboter-teile.de (unter Shop schauen). Ist aber für Luft gedacht, nicht für Wasser.

Habe dir noch eine Berechnungsgrundlage kopiert. im vorhergehenden Beitrag zur Berechnung eines Bandpasses mit Operationsvertärker.

Grüße Wolfgang

PhilippW
30.07.2005, 12:21
Bei Conrad gibt es doch auch wasserdichte Ultraschall-Kapseln (Best.-Nr. 173711 und 173681). Sind nur recht teuer (17.87 EUR).
Aber es wäre doch sicher möglich, die mit denen eines Ultraschall-Moduls von roboter-teile.de auszutauschen...

Mit freundlichen Grüßen

Philipp

ceekay
30.07.2005, 13:23
Ja an diese Module hab ich auch schon gedacht. Nur leider steht da das diese nur bis Maximal 6 Meter funktionieren. kann ich durch höhere Leitung (Spannung) die reichweiter erhöhen. oder gehört da nich etwas mehr zu!?

mfg ceekay

nabla
30.07.2005, 13:36
Also ich kann Dir wohl sagen, dass wir Ultraschallsensoren für Automatisierungszwecke einsetzen. Da z.B. von PepperlFuchs. Da hab ich auch diese gefunden:

http://www.pepperlfuchs.de/fa/sensors/ultrasonic/01682/index3.html

Keine Ahnung ob Dir das was hilft...!