Hallo.
ich poste es mal hier, da es ein "Wellen"-Thema ist.
Ich habe einen Quadrocopter und möchte die Höhe (zwischen 1m und 10m)
über einem Sensor per Ultraschall messen.
Sender am Quadrocopter. Empfänger am Boden. Synchronisation per Funk.
Genauigkeitsanforderung: 1cm.
Unterhalb des Quadrocopters strömt die Luft ja sehr schnell. (Ein
parasitärer Effekt dieser Dinger).
Verfälscht strömende Luft dann die Laufzeitmessung ?
Alf
:-) Also ich gehe davon aus dass es schon was ausmacht. Wenn sich das
Medium Luft bewegt, dann wird auch der darin befindliche Schall
schneller sein. Dazu kommt noch eine sehr ungleiche Strömung. Unterm
Heli wird sie schnell sein, darunter weniger, wahrscheinlich sogar sehr
verwirbelt. Das könnte für ein unscharfes Signal sorgen. Natürlich ist
die Luftgeschwindigkeit im vergleich zur Schallgeschwindigkeit gering,
aber eine Auswirkung ist da.
nein, weil sich die Strömungsgeschwindigkeit in einer Richtung addiert,
in der anderen subtrahiert.
1m-10m Reichweite kannst Du vergessen. Die Genauigkeitsanforderung 1cm
ist schon wegen der dann nötigen hochgenauen Lufttemperaturmessung
illusorisch.
So Meter- bis cm Bereich könnte gehen, dann aber auch ungenauer.
Würde ich nicht probieren, das geht so nicht.
Cheers
Detlef
Und wieso sollte das nun ein moduliertes US-Signal stören ?
Vor allem da man ja sicher nicht eine Einzelmessung macht ?
Vielleicht funktioniert das ganze an meinem ja nur, weil ich dran
glaube, das es funktioniert, oder weil ich nicht weiss, das es nicht
funktionieren kann. Die Messung ist genauer als die schon vorhandene
Luftdruckmessung, und ob da nun mal ein paar mm Abweichung im
Einzelergebnis sind, interessiert nach dem Filter und dem Regelkreis eh
nicht mehr.
Aber gut, ich gebe dir recht: Rechnerisch lassen sich sicher
Abweichungen beweisen. Praktisch sind sie unerheblich. (Ich will mal das
US-Signal sehen,
das wirklich und genau 10m schafft, wenn ich den QC ohne aktive Motoren
auf ne Wand richte, ist auch noch 5-6 Schritten Schluss mit der Messung.
Aber das liegt glaube ich an dem einfachen Sensor.)
Soll nicht über eine Reflexion gehen. Also am Fluggerät hängt ein
Sender. Am Boden ist ein Empfänger.
Ich werd's entweder über Impulse machen, oder ich sende ein Rauschen und
mach am Empfänger ein DSP rein (Blackfin) und berechne die Laufzeit über
ne Autokorrelation.
Deshalb denke ich schon, dass ich 10m oder mehr schaffe.
Aber da der Einfluss der Strömungsgeschwindigkeit eine Rolle spielt ....
wird's wohl nix.
Laufzeitänderungen aufgrund der Temperatur würde ich dann ggf. über ne
2. Referenzstrecke am Boden machen.
Alf.
Detlef _a schrieb:> nein, weil sich die Strömungsgeschwindigkeit in einer Richtung addiert,> in der anderen subtrahiert.
Wenn du gelesen hättest was er geschrieben hat, dann wüsstest du dass am
Heli nur der Sensor sein soll und die Rückmeldung über Funk kommt.
Und selbst wenn der Schall hin- und zurück ginge hättest du nicht recht.
Aber auf den Fehler fällt man leicht herein, hab ich auch erst in der
FOS lernen müssen :-) Rechne mal als Extrembeispiel aus was passiert
wenn z.B. eine Strecke von 1000m mit einer Geschwindigkeit von 100m/s
zwei mal zurückgelegt wird. Dann rechnest du aus was passiert wenn die
1000m einmal mit 1 m/s und als Ausgleich dafür das zweite mal mit 199
m/s zurückgelegt werden. Du wirst sofort bei den 1 m/s sehen, dass es
insgesamt viel länger dauert weil schon bei dem Anteil in die erste
Richtung die Zeit größer ist als die Gesamtzeit beim ersten
Rechenbeispiel. Das ist natürlich jetzt eine extreme Rechnung und bei
Schall wird eh alles in der Messgenauigkeit die da ja recht grob ist
untergehen, aber theoretisch gibts die Unterschiede sehr wohl.
Bei Rechnungen von wegen "ein Auto fährt mit Geschwindigkeit X die
Strecke und will später die Zeit aufholen. Mit welcher Geschwindigkeit Y
muss er fahren?" fällt das aber stark ins Gewicht. Da gabs sogar mal ne
lustige Aufgabe die auf den ersten Blick und auch auf den zweiten ganz
normal aussieht. Ich krieg sie nur nicht mehr hin. Lief aber drauf raus
dass man eine Runde auf der Rennstrecke fährt und dann die gleiche Runde
nochmal um die Durchschnittsgeschwindigkeit auf einen bestimmten Wert zu
kriegen. Die Antwort wäre gewesen: unendlich schnell.
A.N. schrieb:> Und wieso sollte das nun ein moduliertes US-Signal stören ?
Es gibt vielleicht verschiedene Ausbreitungswege mit verschieden langen
Laufzeiten. Aber das wichtigste ist, dass die Laufzeit kürzer ist durch
die Geschwindigkeit der Luft. Zwischen Boden und Sensor ist die Luft in
Bewegung, also ein anderes Bezugssystem.
Hm..
Ich gebe zu, habe auch nicht korrekt gelesen. Dachte auch an eine
Reflexion
zum QC zurück.
Wenn es nur eine Strecke gibt, sehe ich ein viel grösseres Problem:
Wie will ich bei dem "kleinen" Öffnungswinkel des US-Senders und dem
ähnlich kleinen Öffnungswinkel des US-Empfängers eine Strecke aufrecht
erhalten?
Das Problem ist nicht einfach zu lösen und wesentlich problematischer
als sich bewegende Luft.
>>Aber auf den Fehler fällt man leicht herein
Stimmt, das war nen Fehler, falsch gedacht. Und gelesen habe ich auch
nicht richtig.
Wenigstens was gelernt.
Cheers
Detlef
Alf schrieb:> oder ich sende ein Rauschen und> mach am Empfänger ein DSP rein (Blackfin) und berechne die Laufzeit über> ne Autokorrelation.
Bedenke das die US Wandler eine kleine Bandbreite haben Rauschen aber
theoretisch eine unendliche Bandbreite benoetigt.
Helmut Lenzen schrieb:> Alf schrieb:>> oder ich sende ein Rauschen und>> mach am Empfänger ein DSP rein (Blackfin) und berechne die Laufzeit über>> ne Autokorrelation.>> Bedenke das die US Wandler eine kleine Bandbreite haben Rauschen aber> theoretisch eine unendliche Bandbreite benoetigt.
Man kann auch ein Sweepsignal aufmodulieren.
Gruss
Harald
Die Temperatur macht Dir das kaputt.
Mal gerechnet:
Bei 20°C läuft der Schall mit ~ 20*sqrt(273+20)~342m/s
Bei 17°C läuft der Schall mit ~ 20*sqrt(273+17)~341m/s
Der Laufzeitunterschied auf 10m beträgt dann 10*(1/342-1/341)~85usec
Für Deine 1cm Auflösung benötigt der Schall aber nur 29us, also hauen 3
Grad Temperaturänderung Deinen Meßwert um das dreifache der Auflösung
weg: Du mußt dann die Temperatur sehr genau kennen.
Modulation der US Übertrager mit Pseudorandom noise geht, der läßt sich
gut korrelieren, die Bandbreite der übertrager ist allerdings nur
40kHz+/-1kHz, also langsam modulieren, also lange korrelieren ;-(
Gibt nix umsonst.
Hoffe, ich habe weniger Fehler von mir gegeben als beim letzten post.
Cheers
Detlef
>Wenn du gelesen hättest was er geschrieben hat, dann wüsstest du dass am>Heli nur der Sensor sein soll und die Rückmeldung über Funk kommt.>Und selbst wenn der Schall hin- und zurück ginge hättest du nicht recht.
Die Laufzeit des Signales ist stark abhängig von
1.) Entfernung
2.) Windgeschwindigkeit
3.) Temperatur
Würde er in beiden Richtungen mit US messen dann kann er den Einfluß der
Temperatur komplett eliminieren.
Man kann also bei bekannter Entfernung die Windgeschwindigkeit messen
oder bei bekannter Windgeschindigkeit die Entfernung ausrechnen. Nicht
beides.
In eine und/oder zwei Richtung wird das nicht funktionieren. Wenn dann
müsste man schon ein triangulierendes System aufbauen, also mehr als 2
Sender/Empfänger.
Als nicht unproblematisch erachte ich die Turbolenzen, gerade diejenigen
dicht vor den US Transducern.
Gruß Hagen
PS: ich weiß das eine US-Lösung einfach erscheint aber wenn dann würde
ich für dieses Problem auf Kamerabasierte Systeme ausweichen. Zb. auf
dem Boden starke IR-LEDs in einem Dreieck angebracht mit bekannter
Seitenlänge. Am Copter eine dieser Wii Kameras die bis zu 6
IR-Leuchtpunkte tracken können. Diese Kamera hat quasi den ganzen DSP
Kram schon Onboard und gibt dir die Koordinaten der IR-LEDs aus. Bei
bekanter Abbildungsgröße der Kamera und bekannter Seitenlänge des
IR-LED-Dreiecksmusters ist es nur noch eine Frage sanfter Mathematik um
den Abstand, sogar winkelversetzt zum Ziel ausrechenen zu können.
Ich würde das mit diesen Laser Entfernungsmessern machen, die sind so
genau und auch inzwischen erschwinglich. Aber das war ja nicht die Frage
des TO.
Cheers
Detlef
@Harald
>Man kann auch ein Sweepsignal aufmodulieren.
Kennst Du ein Projekt oder einen Art ikel, der das Verfahren beschreibt
?
Bei Korrelation mit einem Rauschsignal benötigt man ja recht viel
Rechenpower und wahrscheinlich einen DSP. Mich würde interessieren, ob
man über Ultraschall auch Entfernungen messen kann - aber mit einem 8Bit
AVR.
Art
Alf schrieb:> ich poste es mal hier, da es ein "Wellen"-Thema ist.> Ich habe einen Quadrocopter und möchte die Höhe (zwischen 1m und 10m)> über einem Sensor per Ultraschall messen.
Also, Alf,
wenn Du nur die Höhe messen willst, trotz Abwind, und zwar über einem
festen Punkt am Boden (Sensor), dann schlage ich zwei rotierende
Baulaser vor, die normalerweise einen horizontalen Strich an den Wänden
zeichnen:
1. Aus beiden Baulasern die Kollimatorlinse so ausbauen, dass sie, um
die vertikale Achse rotierend, keinen Punkt schreiben, sondern je ein
breites Band.
2. Beide Baulaser rechtwinklig kippen, so dass das Band durch den Zenith
geht.
3. Den ersten Baulaser nördlich des Sensors montieren, damit sein Band
durch den Kopter geht.
4. Den zweiten Baulaser identisch, nur westlich abgesetzt.
5. Die Baulaser mit unterschiedlicher Rate umlaufen lassen.
6. Am Boden unterhalb des Kopters einen Referenzempfänger montieren, der
meldet, wann er beleuchtet wurde,
Am Kopter brauchst Du nun nur noch eine Photodiode als Meßempfänger
montieren, welche die Zeiten meldet, wann sie angestrahlt wurde.
Der Rest ist Zeitvergleich, Korrelation und Trigonometrie.
Mein Baulaser zeichnet ohne Kollimatorlinse einen Strich von weniger als
1mm Dicke. Reicht das ala Genauigkeit, wenn seitliche Abstand 10m
beträgt?
Ciao
Wolfgang Horn