PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Analoger Ultraschallsensor



Philipp Strahm
10.08.2011, 18:45
Hallo liebe Leute

Ich bin gerade an meiner Maturaarbeit beschäftigt und verliere momentan ziemlich viel Zeit an einem Ultraschallsensor den ich für den Roboter ASURO benötige, um zu erkennen ob vor ihm ein Hinderniss ist.

Ich habe ein Rechteckgenerator mit einem NE555 gebaut, der mir eine 40kHz Rechteckspannung an den Sender liefert. Der Sender-Teil scheint zu funktionieren.

Nun zum Empfänger: Ich konnte mit einem vernier LabPro von meiner Schule die Spannung an der Empfängerkapsel messen, diese beträgt etwa 100mV und wenn sich etwas nahe vor der Kapsel befindet so um die 130mV Wechselstrom versteht sich. Nun will ich diese mV verstärken und schlussendlich ein Relais ansteuern, das schalten sollte, wenn sich in einem gewissen Abstand (oder näher) vor dem Sensor ein Hinderniss befindet (dieser Abstand sollte natürlich über ein Poti einstellbar sein ;-)). (Dieser Verstärker ist mir leider noch nicht wirklich gelungen :-()

Mancher fragt sich vieleicht, warum ich ein Relais ansteuern will: Mit diesem Relais will ich einen Taster an der Front von ASURO "missbrauchen", um dem Prozessor mitzuteilen, ob sich ein Hinderniss vor ihm befindet oder nicht.

Ich wäre sehr dankbar wenn Jemand von diesem tollen Forum behilflich sein könnte! :-)

Liebe Grüsse
Philipp

Besserwessi
10.08.2011, 22:21
Für den Verstärker könnte man einen nicht zu langsamen Operationsverstärker (z.B. TLC272) nehmen. Da hier Linearität kein absolutes muss ist, reicht auch ein Verstärker mit einem Transistor.

Die Idee mit dem Relais ist vermutlich nicht so gut. Besser wäre da schon ein Optokoppler (wenn es denn unbedingt galvanisch getrennt sein muss). Es wäre auch zu überlegen die Wechselspannung gleichzurichten und dann die Spannung über einen AD Eingang zu messen - so bekommt man mehr als nur die Digitale An/Aus Information. Über die Amplitude bekommt man aber keine gute Information über den Abstand, sondern eine Mischung aus Abstand und Größe des Objektes: eine Wand in 1 m Entfernung könnte eine ähnliche Amplitude bringen wie eine Flasche in 10 cm Entfernung.
Die Abstandsmessung macht man sonst über die Laufzeit. Da gibt es z.B. im RN- Wissen auch einen Bauplan für.

Richard
11.08.2011, 14:08
Die Abstandsmessung macht man sonst über die Laufzeit. Da gibt es z.B. im RN- Wissen auch einen Bauplan für.

Eher immer würde ich sagen. alle 10 ms ein 40 kHz Paket senden und zugleich einen Zähler starten. Wenn das Paket empfangen wird den Zähler stoppen und die ermittelten Zeiteinheiten mit der Schallgeschwindigkeit ~330m/s verrechnen. :-)

Gruß Richard

Philipp Strahm
11.08.2011, 16:38
Ich habe mich gestern nochmal an meiner Verstärkerstufe (geht ein LM358 auch oder ist der zu langsam??) versucht, war jedoch schon sehr müde und habe es aufgegeben :). Das mit dem Optokoppler scheint mir auch noch eine gute Idee zu sein ;-) danke an dieser Stelle.

Und ich glaub auch, dass die Variante von Richard viel besser ist als meine xD Da ich ja eigentlich nur wissen will ob sich überhaupt ein Hinderniss im Weg befindet, kann ich ja den Zähler nach einer gewissen Zeitspanne (gewünschter Abstand)/(330m/s) mit der Elektronik stoppen und muss gar nicht abwarten bis ein Signal zurück kommt!!

Also jetzt kommt natürlich die Frage, wie ich das konkret umsetzen kann :-)

Der Sender könnte ja noch mit einem NE555 erweitert werden um diese Zeitspanne einstellen zu können. In dieser Zeitspanne wird auch der Empfängerteil aktiviert! Falls nun am Empfänger während dieser Zeitspanne ein Signal auftritt steht etwas im weg.

Nun zum Empfängerteil:
Ich würde sagen, dass nach der Empfängerkapsel ein Bandpass seinen platz verdient hat!? Und wie geht es dann weiter? zuerst wahrscheinlich in den Verstärker!? und nachher? Muss diese Spannung nach dem Verstärker noch gleichgerichtet werden? Dieser Zustand (ob sich jetzt ein Hinderniss vor dem Roboter befindet oder nicht) muss bis zum nächsten 40 kHz Packet gespeichert werden! Wie funktioniert das technisch? Mit einem Flip Flop oder?

Es tut mir leid dass ich so dumme Fragen stelle, aber mir wurden nur die ganz einfachen elektronischen Gesetze und Gegebenheiten in der Schule vermittelt ;-)

Danke für eure bisherige Hilfe und ich hoffe ihr könnt mir auch noch weiterhelfen, dass ich dieses Problem endlich lösen kann :-)

Beste Grüsse
Philipp

Richard
11.08.2011, 16:54
Und ich glaub auch, dass die Variante von Richard viel besser ist als meine xD Da ich ja eigentlich nur wissen will ob sich überhaupt ein Hinderniss im Weg befindet, kann ich ja den Zähler nach einer gewissen Zeitspanne (gewünschter Abstand)/(330m/s) mit der Elektronik stoppen und muss gar nicht abwarten bis ein Signal zurück kommt!!



Doch musst Du, noch einmal das Prinzip.
1.) ein 40 kHz Paket z.B. alle 10ms ein Paket von 2 ms Länge senden und dabei den Zähler starten der z.B. µs zählt.
2.) Mit dem Empfang des vom Hindernis reflektierten Impuls Paket den Zähler stoppen.
3.) Den Zähler auslesen und das Ergebniss sagt Dir den Schallweg vom sender Hindernis zum Empänger in µs. Das muss noch halbiert für EINEN Weg werden und auf Schallgeschwindigkeit 330m/s umgerechnet werden.
4.) jetzt hast Du die Entfernung zum Hindernis.

Etwas einfacher geht das allerdings mit z.B. http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=71&products_id=168 nur lernt man dabei nicht wie das alles Funktioniert....

Gruß Richard

Philipp Strahm
11.08.2011, 17:31
Ok. Danke für deine Geduld :-)

Also gut: Ein 40 kHz Paket der Länge 2 ms alle 10 ms kann ich mit zwei NE555 realisieren. Aber wie sieht so ein Zähler aus?

Der Link ist ein net gemeinter Tipp, aber ich will das nun selber oder mit der Hilfe von euch hinkriegen ;-)

Besserwessi
11.08.2011, 17:44
Eine Ultraschallinterface mit erklärung ist hier:
http://www.rn-wissen.de/index.php/Ultraschall-Interface beschrieben.

Der LM358 ist schon relativ langsam - man kann damit keine so hohe Verstärkung mehr erreichen. Bei einer GBW von 1 MHz ist da halt maximal ein Faktor 25 drin bei 40 kHz - sinnvoll sollte man eher unter 10 bleiben. Außerdem braucht man da eine einseitige Last an Ausgang (Widerstand zur Positiven oder negativen Versorgung), damit die Ausgangsstufe als Klasse A Verstärker arbeitet. Den OP sollte man dann später besser tauschen.

Das Signal kann man gleichrichten wenn man die Amplitude messen will - für die Zeitmessung reicht ein Komperator (ggf. der AVR interne). Das Puffern des Signals zwischen den Pulsen kann der µC übernehmen. Wenn man es mit der Zeitmessung macht, über nimmt der µC in der Regel auch das Erzeugen der Pulse (ggf. incl. der 40 kHz) und die Zeitmessung.

Philipp Strahm
12.08.2011, 12:56
Das Signal kann man gleichrichten wenn man die Amplitude messen will - für die Zeitmessung reicht ein Komperator (ggf. der AVR interne). Das Puffern des Signals zwischen den Pulsen kann der µC übernehmen. Wenn man es mit der Zeitmessung macht, über nimmt der µC in der Regel auch das Erzeugen der Pulse (ggf. incl. der 40 kHz) und die Zeitmessung.

Das ist ja mein Problem, dass ich keinen µC verwenden möchte. Das muss ja auch irgendwie "Analog" gehen?!

Richard
12.08.2011, 13:26
Das ist ja mein Problem, dass ich keinen µC verwenden möchte. Das muss ja auch irgendwie "Analog" gehen?!

Sicher geht das analog/Digital gemischt, ganz rein analog wird bei der Zeit Messung aber aufwändig! Zu Fuß, wie so ein altes "Dampfradio" aufbauen, ist aber sehr sehr mühsam und ein echtes Bauteile "Grab". :-( Für solche Anwendungen sind µC letztendlich "erfunden" worden....

Gruß Richard

Philipp Strahm
12.08.2011, 19:37
Also gut: Ich habe mich nun noch mal an einen Verstärker mit einem Transistor gemacht. Und es konnte ja fast nicht anders kommen, das dieser auch nicht funktioniert. (Also ich bekomme einfach eine Spannung um 5V herum, auch wenn ich am Poti herum drehe und sogar wenn ich den Sensor gar nicht angeschlossen habe!!??) :-( Ausserdem baute ich noch einen Hochpass ein, der jedoch zu funktionieren scheint :-)

(Ich baute mir diesen Verstärker http://www.rn-wissen.de/index.php/Kleinsignalverstärker (die zweite Abbildung).)

Im Anhang findet ihr noch meinen Schaltplan mit den Werten der Bauteile. Kann mir vielleicht jemand sagen was ich nun schon wieder falsch gemacht habe?!

Richard
12.08.2011, 20:23
Du musst Die Basis mittels Spannungsteiler an U+ hängen und diesen so einstellen das ....siehe auch http://www.elektronik-kompendium.de/sites/slt/schalt/02043021.gif

B.z.w. http://www.elektronik-kompendium.de/sites/slt/0204302.htm Bitte ganz durchlesen vor allem die Arbeitspunkt Einstellung.

Gruß Richard

Besserwessi
12.08.2011, 20:31
Die Schaltung aus dem RN-Wissen hat sogar schon einen analogen Ausgang. Man muss nur nach für die Pulse zur Steuerung (40 kHz Bursts) sorgen und ggf. das Signal am Ausgang per S&H puffern (wärend des Puses ist das analoge Signal nicht gültig). ggf. reicht da auch schon ein Tiefpassfilter, wenn nur eher selten gemessen wird.

Die Transistorschaltung kann so auch noch nicht funktionieren - es fehlt der Strom für die Basis. Die einfachste Form wird die Emitterschaltung mit Stromgegenkopplung sein. Also einfach ein Widerstand vom Kollekektor zur Basis und der Arbeitswiederstand vom Kollektor zur Versorgung.

Philipp Strahm
12.08.2011, 21:46
Soo... danke vielmals für eure Tipps, nun scheint die Verstärkerstufe zu funktionieren :-) Ich werde diese Morgen aber noch ausführlich testen. Dann wäre ja schon ein Problem weniger zu bewältigen :-)