www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Positionsbestimmung via Schallwellen


Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich brauche fachkundigen Rat bzw. Tipps.

Folgendes Problem ist zu lösen: Positionsbestimmung (X/Y) eines
stehenden Objektes in einem Raum (max. 6x6m).

Gesucht ist eine (wie immer) einfache und kostengünstige Lösung!

Folgende Überlegungen habe ich mir gemacht:

Positionsbestimmung über die Laufzeitmessung von Schallwellen
(Ultraschall) - min. 3 Sender, das Objekt als Empfänger (~GPS Prinzip).
Die Koordinaten der Sender sind bekannt. Sender 1..n senden nacheinander
kurze Impulse. Der Empfänger kann Aufgrund der unterschiedlichen
Laufzeiten seine Position bestimmen.

Das Objekt kann nicht über Leitungen mit den Sendern verbunden werden.
Daraus ergibt sich das Problem der zeitlichen Synchronisation (Wann
sendet welcher Sender). Um eine genaue (1cm) Positionsbestimmung zu
erreichen, muss die Synchronisation kleiner 10µs betragen.

Lösungsansätze:

1. Einen Satz Funksteckdosen (günstig) direkt oder nur die
Funkeinheiten indirekt verwenden. Das Objekt wählt nacheinander einen
Kanal an (Fernbedienung) und misst die Antwortzeiten.
Frage: Liegt das Laufzeitverhalten (Taste Sender (Fernbedienung) –
Empfang Empfänger) eines solche Systems unter 10µs? Hat einer
Erfahrungen mit diesem Thema?

2. Synchronisation über Funkuhrmodule. Jede Einheit (Ultraschall-Sender
und Empfänger) werten die DCF77 Signale aus. Sender 1 sendet alle
XX:XX:X1 Sekunden eine kurzen Impuls, Sender 2 alle XX:XX:X2 Sekunden,
usw.
Frage: Liegt das Laufzeitverhalten (DCF77 Modul Takt (Umschalten der
Sekunden?) eines solche Systems unter 10µs? Hat einer Erfahrungen mit
diesem Thema? Ist es sinnvoller jedem Ultraschall-Sender eine
Echtzeituhr (RTC) zu spendieren, und diese nur über DCF77 zu
synchronisieren?

3. Jeder Einheit (Ultraschall-Sender und Empfänger) eine Atomuhr zu
spendieren, wie bei GPS ;-)

Ggf. muss man empirisch die Latenzzeiten des Systems ermitteln.

Bin natürlich für andere (realistische im Hobbybereich) Ansätze offen.

Gruß

MyMeisle

Autor: harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
wenn sender, objekt und empfänger nicht miteinander verkabelt sein
dürfen bietet sich möglicherweise folgende überlegung an:
empfänger der kompletten mimik emmitiert ein startsignal für sender-1.
sender-1 ermittelt seinen abstand zum objekt per us, überträgt ihn per
ir zum empfänger, empfänger emmitiert ein startsignal für sender-2
usw.
jeder sender muss halt ein bissl schlau gemacht werden aber dafür
gibt's ja avr's.
...so mal als mögliche anregung, grüssens, harry

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@harry - Danke für Deine Anregung.

"empfänger der kompletten mimik emmitiert ein startsignal für
sender-1.
sender-1 ermittelt seinen abstand zum objekt per us, überträgt ihn per
ir zum empfänger, empfänger emmitiert ein startsignal für sender-2
usw."

So wie ich das verstanden habe, hast Du nur die Problematik vom
Empfänger auf Sender verschoben (Huhn-Ei oder Ei-Huhn). Eine
Übertragung via IR ist nicht möglich (evtl. kein direkter
Sichtkonntakt). Es ist sicherlich sinnvoller einen Empfänger (Objekt)
"ein bissl schlau" zu machen, als n Sender.

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn kein IR, warum nicht Funk (Bluetooth,WLAN,833Mhz-Funk) ?
Gruss

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@T.Stütz
Funk ändert auch nichts an der Problematik (Synchronisation).

Angenommen der Empfänger sendet ein Startsignal an Sender1. Wie soll
dann Sender1 den Abstand ermitteln? Und diesen Abstand an den Empfänger
übermitteln (über IR, Funk oder Flaschenpost - ist ganz egal).

Dann ist es doch sinnvoller, dass der Empfänger (Objekt) gleich den
Abstand selber ermitteln kann.

Im übrigen gerneriert im Lösungsansatz 1 der Empfänger das Startsignal.
In Ansatz 2 wird das Startsignal automatisch generiert - aber jeder
Teilnehmer weis darüber bescheid.

Eine Positionierung über elektromagnetische Wellen (Funk und Licht) ist
noch viel, viel schwieriger und erfordert, Aufgrund der Signallaufzeit
(ca. Lichtgeschwindigkeit) Zeitmessungen im ps (0.000000000001s
bzw.0.000001µs) Bereich.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso nicht das zu ortende Objekt senden lassen und die
Laufzeitunterschiede an 3 Empfängern auswerten? Das scheint mir die
einfachste Möglichkeit zu sein.

Autor: Marcus Maul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mallo MyMeisle,

warum verwendest Du keine Transceiver?
Ich sende an Pos 1. eine Id und dieser bounced diese ID dann und meldet
eventuell seinen Offset noch. Sozusagen modulierter
Ultrashalldatentransfer.
Dann kenne ich die Laufzeit von Empfänger und zurück (dt) T = (dt -
offset) / 2. Zusätzlich könnte man noch den ganzunterschied zur Hilfe
nehmen und so die Position noch stärker verfeinern.

Gruß

Autor: harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi nochmal,
erstmal besteht die abstandsmessung per us immer aus einer einheit aus
sender und empfänger, die in einem gerät verbaut sind. nu haste von 3
oder mehr 'geräten' den abstand zum objekt, erst die auswertungen der
unterschiedlichen abstände ergibt die  position im raum. und den job
soll das teil machen, der in meinem vorschlag 'empfänger' heisst.
wenn ir nicht geht (6m distanz???) kannste natürlich die einzelnen
info's auch per ultraschall an den empfänger schicken, das is halt
technik aus den 70er, nicht unsymphatisch aber durchaus
verbesserungswürdig, daraus ist ja denn auch ir entstanden. wie t schon
schreibt, wenn kein ir dann halt 'ne andere methode, die is ja auch
völlig wurscht. ich denke die nummer mit 3 us-sendern und einem
einzigen us-empfänger (falls das deine urüberlegung war) wird so
einfach nix werden, weil du ja 'ne reflektion messen willst. wenn ein
beliebiger sender einen impuls ausgibt, was kommt dann bei einem
externen empfänger an? der impuls oder die reflektion eines impulses?
reflektion vom objekt oder von einer wand? so wird's nix, die kürzeste
strecke, die gewertet werden kann ist eine gerade, und die spielt sich
im idealfall zwischen 'gerät' und objekt ab.
ich hoff', ich hab's nich allzu unklar formuliert.
grüssens, harry
p.s. wie exakt soll denn die position sein?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies nochmal genauer; er will keine Reflexionen messen, sondern das
Objekt als Empfänger verwenden: "min. 3 Sender, das Objekt als
Empfänger".

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas
Geht nur, wenn die 3 Empfänger miteinander verkabelt sind, ansonsten
gleiche Problematik (Synchronisation).

Der Sender muss dann in der Lage sein in einem Bereich von 360°
abzustrahlen. Und ein zusätzlicher Aufwand ist dann, dass eine
Telemetrie für das Senden der Ergebnisse (Position) erforderlich ist.

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@harry
"p.s. wie exakt soll denn die position sein?"
Sorry, habe beim Erstellen der Anfrage versehentlich die Genauigkeit
vergessen. Der Raum (Koordinatensystem) ist in ein 10mm Raster
aufgeteilt.

@Marcus
Ist Dein Vorschlag nicht gleich Lösung 1, oder habe ich Deinen Ansatz
nicht verstanden?

Autor: Marcus Maul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich kommt das Deinem Lösungsansatz 1 schon ganz nahe, allerdings
is die auswertung von elektrischen WEllen bei so geringen Distanzen
mehr als ungenau. Da sollte man doch schon SChallwellen verwenden, die
sind schließlich langsamer!
Zusätzlich würde ich noch den Gangunterschied der beiden Wellen
bestimmten und so komm ich weit unter 10mm. Das Hauptproblem werden
RElektionen sein.

Gruß

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf das Medium sichtbar sein?
Befindet sich in dem Raum mehr als nur das Objekt?
(Wie groß ist das Objekt?)
Wird es nur in einer Ebene bewegt?
Zur Ultraschall-Lösung fällt mir ein, dass an irgendner Hochschule mal
eine 3D-Mouse in der Art entwickelt wurde (google...).
Einen Leuchtturm kann man auch gut in einem Raum finden. Wenn man dann
2 fest installierte Empfänger hat, dann weiß man, wo sich das Objekt
befindet.
Soll das Objekt seine Position bestimmen, käme ein Laserscanner (wie
sie aufm Bau beim Estrich-Schütten benutzt werden, in Frage (lässt sich
wohl im Hobby-Bereich durch Laser-Pointer+Scannerspiegel realiseren),
der auf 2 wiederum fest installierte prismatische Reflektoren (Licht
kommt auf dem gleichen Weg zurück, wie es eingestrahlt wurde) trifft.
Auswertung erfolgt dann mit Fototransistor im Objekt.
Dann hat man 2 Winkel, und kann triangulieren, da die Strecke zwischen
den Reflektoren ja auch bekannt ist.

Befindet sich das Objekt in einem leeren Raum, könnte man auch 2
Kameras mit entsprechender Bildverarbeitung nehmen...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manmal vergisst man am Ende, was am Anfang stand...Schallwellen...
Im Wasser ist das übrigens kein Problem (es stand ja nicht dabei, dass
der Raum nicht mit Wasser gefüllt sein kann).
Im Taucherbereich gibt es Pinger, die der Taucher mit sich trägt. Diese
geben in gewissen zeitlichen Abständen ein Geräusch von sich und das
Boot besitzt 3 Empfänger, die das Signal empfangen. Nun wird mittels
Laufzeitunterschied die Position des Tauchers bestimmt.

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marcus
"Eigentlich kommt das Deinem Lösungsansatz 1 schon ganz nahe,
allerdings
is die auswertung von elektrischen WEllen bei so geringen Distanzen
mehr als ungenau. Da sollte man doch schon SChallwellen verwenden, die
sind schließlich langsamer!
Zusätzlich würde ich noch den Gangunterschied der beiden Wellen
bestimmten und so komm ich weit unter 10mm. Das Hauptproblem werden
RElektionen sein."

Nochmal von Vorne. Für die Distanzmessung würde ich Schall verwenden.
Für die Triggerung (=Synchronisation) Funk(schalter) oder DCF77. Es war
noch nie die Rede, elektrische Wellen (Funk) für die Distanzmessung zu
verwenden.

Bei dem ursprünglichen Aufbau (siehe Anfang), sind Reflexionen kein
Problem, da eine Refelexion (längerer Weg) immer später als das erste
Signal (direkter Weg = Abstand) kommt.

@Rahul
Der Raum ist eine Werkstatt, die nicht geflutet wurde ;-) Es befinden
sich noch viele andere Gegenstände im Raum.

Der Messaufbau ist OK. Es geht um Latenzzeiten Funk bzw. DCF77
(Zeitsignal aus Braunschweig = Funkuhr).

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Ich würde nur den/die RTC's mit dcf synchronisieren weil
Laufzeituntersch. an der Tagesordnung sind und die Empfangsmodule ja
die 100/200ms Impulse selbst erzeugen. Da spielen immer
Bauteiltoleranzen mit rein.
Aber  mal so als Gedanke, die 77,5KHz kommen mit einer
Kurzzeitgenauigkeit von 10 hoch -10 daher und stellen eine gute Ref.
dar. Fernseher-H-Impulse(FBAS) haben auch eine Genauigkeit von
10 hoch -8.

MFG Uwe

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es denn eigentlich mit einer Kombination aus Funk und Schall
(oder hab ich da jetzt wieder was überlesen)?

Man könnte doch jedem US-Sender noch einen Funk-Sender verpassen, der
einen Impuls oder so abgibt, bevor per Ultraschall gesendet wird bzw.
gleichzeitig.

Dann hätte man eine Synchronistion, die auch noch relativ genau
wäre...

Gruß Rahul

Autor: TSalzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, mal als Idee.

Mach Dir doch die extremen Geschwindigkeitsunterschiede von Funk, und
Ultraschall zunutze.

Empfänger sendet per Funkt ein Startsignal. Nahezu verzögerungsfrei
kommt das Signal am Empfänger an, der dann die drei, miteinander
verkabelten AVR mit US-Empfänger triggert.
Also: Funk triggert die Zähler, die dann bei Eintreffen des US gestoppt
werden. Damit ist über die verschiedenen Zählerstände die Position im
Raum bekannt.
Wenn das zu mesende Objekt seine Position kennen muß, dann kann man das
als Telegramm "gemütlich" auf beliebige weise an das Objekt
übertragen.

Nur als erste Idee, kann Fehlerhaft sein!

Gruß

Thomas

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul
Bingo - Du hast es kapiert ;-)

@ Uwe
So ungefähr hatte ich das vor, das 77,5KHz-Signal direkt zu
verarbeiten. Kenne mich leider in der Funktechnik zu wenig aus. Eine
einfacher Empfänger, der den Synchron Takt erzeugt würde mir reichen -
die Informationen (Datum Uhrzeit) sind mir eigentlich egal.

Wie müsste so ein Empfanger aufgebaut sein? DCF-Antennen (Ferritkern
mit Windungen gibt es ja günstig. Nur wie sieht die Folgeschaltung
aus?

Falls ich nicht weiterkomme muss der Ansatz von Andreas herhalten.

@Andreas
"Wieso nicht das zu ortende Objekt senden lassen und die
Laufzeitunterschiede an 3 Empfängern auswerten? Das scheint mir die
einfachste Möglichkeit zu sein."

Ich denke, dass dieser Ansatz die Lösung mit dem kleinsten Aufwand
bedeutet.
Nachteil:
- Verkabelung
- Telemetrie
- 360° Sender (???)

Danke Jungs für eure Tipps.

MyMeisle

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 3 stationären Empfänger zu verkabeln sollte doch kein allzu großes
Problem sein, oder? Und die Synchronisation zwischen Sender und
Empfänger ist überflüssig, da der Laufzeit_unterschied_ zur Bestimmung
der Position völlig ausreichend ist. Probleme mit Reflexionen wird es
auch nicht geben, da in jedem Fall das direkte Signal schneller ankommt
als irgend eine Reflexion.

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@TSalzer
"Mach Dir doch die extremen Geschwindigkeitsunterschiede von Funk,
und
Ultraschall zunutze." - genau darum geht es ja! Siehe Anfang
Lösungsansatz 1.
"Nahezu verzögerungsfrei kommt das Signal am Empfänger an". Dieses
verzögerungsfrei (= Reaktionszeit - nicht die
Ausbreitungsgeschwindigkeit der Radiowellen) war die Frage (< 10µs).


Wenn schon Verkabelung, dann die Lösung von Andreas. Benötigt eben eine
Telemetrie ( und keinen einfachen Funkschalter), um das Ergebnis an das
Objekt (Sender) zu übermitteln.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt doch (sogar beim grossen "C") kleine Handfunksender, die man
ziemlich einfach dafür benutzen kann. Alles, was Selbstbau ist, ist
strafbar...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal da:
Grosses gelb-blaues C:
Funk-Sende-/Empfänger-Set Bestell-Nummer:130428 Euro 14,95

Gruß Rahul

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versteh immer noch nicht, warum man auf eine 2. Übertragungsart
ausweichen soll.

Das mobile Modul sendet einen US-Impuls aus.
Die 3 stationären Module reagieren darauf wiederum mit einem US-Impul,
welcher zeitverzögert ausgesendet wird. 1. Sender x s Verzögerung, 2.
Sender y s, 3. Sender z s.

Das mobile Modul ermittelt aus (Antwortzeiten - Verzögerung) der
einzelnen Module die Laufzeiten für die doppelte strecke und kann
daraus seine Position bestimmen.

Die Verzögerungen müssen nur groß genug sein, das Reflexionen der
vorrausgegangenen Impulse soweit abgeklungen sind, daß der neue Impuls
eindeutig identifiziert werden kann.

Ciao,
Werner

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.