-
-
Ultraschallsensor
Hallo Leute!
Ich habe mich bisher noch nicht mit Robotern, sondern eher mit der Programmierung von Mikrocontrollern beschäftig. Nun würde ich mir gerne einen Ultraschallsensor bauen. Das Besondere daran ist, dass ich den Sensor mit einem analogen Signal, z.B. einer Sinuskurve speisen will. Außerdem möchte ich nicht nur die Laufzeit messen, sondern das "ganze" empfangene Signal zurück haben, um es mit einem Digitalen Signalprozessor auf Korelation mit dem ursprüglichen Signal u.ä. testen zu können. Ich hätte breits eine Idee für einen Funktionsgenerator. Könntet ihr mir Anregungen geben, wie eine Schaltung aussehen müsste, um das Sinussignal senden und wieder zu empfangen zu können?
Danke für die Hilfe!!
-
Erfahrener Benutzer
Roboter-Spezialist
e_f1986,
das Beste in dieser Art ist die Schaltung aus dem Elektorheft 12/2004, Seite 30ff . Den Artikel und ggfls. auch die Platine (Nr. 040015-1) kannst Du bei www.elektor.de kaufen.
mare_crisium
-
Super-Moderator
Lebende Robotik Legende
Hier ist eine einfache Schaltung beschrieben, aus der man sicher auch ein paar Anregungen entnehmen kann, beispielsweise den Entfernungsausgleich mit zeitabhängiger Verstärkung.
https://www.roboternetz.de/wissen/in...hall_Interface
Bei der Gestaltung des Sendesignals sollte man berücksichtigen, dass die Übertragungsfunktion der Wandler noch in die Gesamtfunktion eingeht. So ist es zu überlegen, die Ansteuerung doch mit einem Rechtecksignal vorzunehmen, auch bei veränderlicher Frequenz und Amplitude.
Manfred
-
@Manfred:
ich würde eigentlich auch lieber ein Rechteck signal benutzen, weil ich es einfacher generieren könnte. Ich weiß aber nicht, wie gut sich das für die Analyse eignet. Ich glaube, ich sage dir erstmal, was ich konkret vorhabe. Ich möchte einen Roboter bauen, der über Ultraschall im Raum ruhende Objekte von 10X10 cm erkennt, und sie umfahren kann. Der Sensor soll um 360° dreh bar sein. Damit der Sensor zufällig auftretende Reflektionenen von dem zuletzt ausgesendeten Signal unterscheiden kann, möchte ich einen Chirp durchführen(ob ich das Signal auch in der Amplitutde verändere, weiß ich noch nicht). Hinterher möchte ich wie gesagt über einen DSP eine Kreuzkorelation durchfüren, um festzustellen, ob das empfangene Signal(es könnte sich dadurch, dass sich der Roboter auf reflektierende gegenstände und somit auch das Signal selber zubewegt verändert haben) auch wirklich das zuletzt gesedete ist.
Wenn du dir sicher bist, dass ein Rechteck für derartige Aufgaben ausrecht, dann würde ich das echt gerne wissen. Es würde die Sache echt einfacher machen.
-
Erfahrener Benutzer
Roboter Experte
Da die Kapsel als Kondensator angesehen werden kann, macht der 'von selbst' aus dem Rechtecksignal was sinusartiges.
-
Super-Moderator
Lebende Robotik Legende
Die Ansteuerung wird sicher über eine Rechteckfunktion gehen. Hier gibt es ein Beispiel:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=16515
Du solltest Dir das Übertragungsverhalten der Wandler ansehen, den nutzbaren Bereich für 1.) die Bandbreite und für 2.) die Frequenzänderung über der Zeit, 1/s².
Machst Du auch praktische Messungen an den einzusetzenden Exemplaren oder gehtst Du nach der Spezifikation der Wandler vor?
Manfred
-
Benutzer
Stammmitglied
Ich habe mir gerade mit den 40T/R Ultraschallkapseln einen Ultraschallentfernungsmesser gebaut. Mit Reflektionen habe ich wenig Probleme. Ich warte zwischen zwei Messungen 100ms, sodass sich die alte Impulse tot gelaufen haben. (selbst bei geringeren Messintervallen hatte ich keine Probleme)
Mein Empfänger besteht aus einer Komperatorschaltung an einem Interruptpin eines Atmel µC (M32)
Der Sender hängt an zwei Portpins des Atmels und wird über die Pins umgepolt, was dann Ipulse mit 10Vss erzeugt.
Das Programm ist recht simpel aufgebaut.
Als erstes setze ich ein Flag, welches den Empfangs IRQ aktiviert. Danach wird ein ein Timer gestartet und dann 20 Rechteckimpulse mit 40kHz ausgesendet. Nun kann man ggf. andere Programmteile abarbeiten, bis das erste Echo den IRQ auslöst, der den Timerwert einliest.
Nun könnte man ggf. weitere Echos abwarten und ggf. auch auswerten oder den IRQ abschalten und alle weiteren Echos unterdrücken.
An meinem Fahrzeug sitzen die Kapseln ca. 2cm über dem Boden und erreichen eine Reichweite von 2m und mehr. (je nach Objekt.) Mein flach auf dem Boden liegendes kleines Handy wurde bis ca. 1,5m erkannt. Dein Würfel dürfte also bei 2m keine Probleme bereiten.
Es muss also kein DSP sein, wenn du nicht kontinuierlich senden willst und rundum nur Empfäger auswertest.
Mein US ist stark gerichtet, sodass Objekte die nicht direkt vor dem Sensor stehen, ignoriert werden. Dadurch, dass sich der Bot auf der Stelle dreht, lässt sich dann das Objekt orten und umfahren. (Meiner ist heute in einem Test, im Zickzack unter meinem Esstisch durch, wo 4 Stühle drum rum standen, ohne anzustoßen.)
MfG
-
@Manfred:
Ich werde das hauptsächlich nach der Spezifikation machen, bei praktischen Dingen brache ich oft Hlife. Bin von der Motorik her eingeschränkt. Einge winige Messungen werde ich aber doch machen.
@Johnes:
Danke für den Tipp. Ich werde es erstmal mit DSP versuchen, wenn das zu komplex werden sollte, kann ich den dann ja immer noch weglassen.
Christoph
-
ich habe zu dem Ultraschall-Interface noch eine Frage. Wo ist der 2. Eingang von dem Gatter, das im Schaltbild hinter dem Sender ist?
Christoph
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen