Forum: Analoge Elektronik und Schaltungstechnik Wikiartikel "Entfernungsmessung mit Ultraschall" - Filterung


von Vincent R. (vinc) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche seit einiger Zeit, einen Entfernungssensor mit Ultraschall 
zu bauen. Für die ersten Versuche habe ich mich am Wikiartikel 
"Entfernungsmessung mit Ultraschall" orientiert:
http://www.mikrocontroller.net/articles/Entfernungsmessung_mit_Ultraschall

Die im Artikel beschriebene Schaltung habe ich unverändert übernommen, 
dennoch hatte ich probleme mit der Filterung:

Bis hinter dem zweiten OpAmp ("2. Erneute Signalverstärkung und 
Filterung") sieht das Signal ordentlich aus. Das anschließende 
Gleichrichten, Glätten und Abkoppeln (Punkt 3 und 4) "zerstörten" das 
Signal nahezu vollständig. Auf dem Oszilloskop sah man lediglich noch 
einen kleinen Ripple.
Nach einigen erfolglosen Änderungen habe ich das Ganze in LTspice 
simuliert und verschiedenes ausprobiert (Widerstände und Kapazitäten 
verändert).
Am Ende bemerkte ich, dass die im Artikel beschriebene Beschaltung des 
dritten OpAmps als Spannungsfolger seltsam ist. In LTspice habe ich die 
Versorgungsspannung des OpAmps auf VCC und GND gelegt, das Signal vom 
Tiefpass am positiven Eingang und den Ausgang zurück am negativen 
Eingang angeschlossen.
Nun sieht das Signal am Ausgang schon deutlich besser aus und scheint 
bereit zur Auswertung zu sein.

Meine Frage bzw. Anmerkung nun: Ist die Beschaltung im Wikiartikel 
falsch oder habe ich einen Fehler bei der Versorungsspannung gemacht? 
Die ist ja leider nicht mit eingezeichnet...

Falls es von Interesse ist, habe ich das LTspice-Modell mit angehängt. 
Der erste Teil ist etwas wirr, entschuldigt bitte.

Danke,
Vincent

von Yalu X. (yalu) (Moderator)


Lesenswert?

Vincent R. schrieb:
> Meine Frage bzw. Anmerkung nun: Ist die Beschaltung im Wikiartikel
> falsch

Ja. Ein Spannungsfolger sieht so aus, wie du es in LTspice gezeichnet
hast. Bei der Schaltung im Wiki ist der Ausgang mit dem Eingang kurz-
geschlossen, was überhaupt keinen Sinn ergibt.

Da liegt aber noch mehr im Argen:

- In deiner Simulation hat das Eingangssignal ±12V, was viel zu viel für
  die mit 5V betriebenen Opamps ist. Sie laufen deswegen ständig in ihre
  positive und negative Ausgangsspannungsgrenzen und kommen danach nur
  langsam wieder aus ihrem Sättigungszustand heraus.

- Die Opamps sind etwas arg langsam für die gewünschte Nutzfrequenz von
  45kHz.

- Die Dimensionierung der Filter passt gar nicht gut zu den 45kHz.

- Für die Eingangssignalquelle und den Spitzenwertdetektor würde ich
  statt GND die virtuelle Masse (aus U1) als Bezugsspannung nehmen. GND
  wird dann nur noch als negative Versorgungsspannung der Opamps, aber
  nirgends als Signalmasse verwendet.

Es sind sicher noch weitere Dinge optimierungsbedürftig, aber das sind
die grundlegenden.

von Vincent R. (vinc) Benutzerseite


Angehängte Dateien:

Lesenswert?

Danke erstmal für die konstruktive Antwort!

Yalu X. schrieb:
> - In deiner Simulation hat das Eingangssignal ±12V,

Oh ja, das war mein Fehler. Bin fälschlicherweise von der Amplitude des 
Senders ausgegangen. Habe den simulierten Empfänger auf 0.25V gestellt.

Yalu X. schrieb:
> - Die Opamps sind etwas arg langsam für die gewünschte Nutzfrequenz von
>   45kHz.

In der realen Schaltung nutze ich die im Wikiartikel erwähnten TL084. 
Sind diese auch zu langsam?

Yalu X. schrieb:
> - Die Dimensionierung der Filter passt gar nicht gut zu den 45kHz.

Auch dabei habe ich mich am Wiki orientiert. Leider kenne ich mich damit 
(noch) nicht aus. Wie kann ich die Filter konkret optimieren?

Nach den Veränderungen sieht das Signal schon anders aus. Nur gibt es 
nach wie vor einen zweiten Ausschlag der Ausgangsspannung, wenn das 
empfangene Signal schon lange abgeklungen ist. Hängt das mit der 
schlechten Dimensionierung des Filters zusammen?

Yalu X. schrieb:
> - Für die Eingangssignalquelle und den Spitzenwertdetektor würde ich
>   statt GND die virtuelle Masse (aus U1) als Bezugsspannung nehmen. GND
>   wird dann nur noch als negative Versorgungsspannung der Opamps, aber
>   nirgends als Signalmasse verwendet.

Ok, das habe ich verändert (siehe Anhang). Die Auswertung soll ein 
ATmega32 machen. Ich muss also AGND auf die virtuelle Masse aus U1 
legen, richtig?
Ist es möglich, diese Spannung in LTspice darzustellen? Im Moment misst 
er ja die Ausgangsspannung gegen die normale Masse und nicht gegen die 
virtuelle...

Vielen Dank,
Vincent

von Yalu X. (yalu) (Moderator)


Lesenswert?

Vincent R. schrieb:
> Oh ja, das war mein Fehler. Bin fälschlicherweise von der Amplitude des
> Senders ausgegangen. Habe den simulierten Empfänger auf 0.25V gestellt.

Dafür ist die Verstärkung der Schaltung immer noch zu hoch. Aber
liefert der Ultraschallempfänger tatsächlich einen so hohen Pegel? Da
kann das Objekt, zu dem der Abstand gemessen wird, nicht weit weg sein.

>> - Die Opamps sind etwas arg langsam für die gewünschte Nutzfrequenz von
>>   45kHz.
>
> In der realen Schaltung nutze ich die im Wikiartikel erwähnten TL084.
> Sind diese auch zu langsam?

Der TL084 (GBW 3MHz) ist schon deutlich besser als der LT1001 (GBW
0,8MHz). Dass der Opamp zu langsam ist, erkennst du u.a. daran, dass die
Spannung am invertierenden Eingang stark von den 2,5V am nichtinvertie-
renden Eingang abweicht. Normalerweise sollte der die Spannungsdifferenz
zwischen den Eingängen auf nahe 0V regeln.

In deiner Simulation wird der erste Opamp ganz besonders herausgefor-
dert, weil du ihm einen Rechteckburst mit sehr hohen Frequenzanteilen
vorsetzt. Der echte Ultraschallempfänger (ich nehme an, es ist ein
Piezowandler) liefert ein sinusähnliches Signal, das langsam aufschwingt
und danach wieder langsam ausklingt. Da sind die höchsten Frequenzen
nicht viel höher als die Ultraschallfrequenz selber.

Trotzdem wäre es vorteilhaft, das Eingangssignal erst einmal mit einem
passiven Hochpass von hochfrequentem Rauschen zu befreien, so dass es
der Opamp mit der anschließenden Filterung leichter hat.

>> - Die Dimensionierung der Filter passt gar nicht gut zu den 45kHz.
>
> Auch dabei habe ich mich am Wiki orientiert. Leider kenne ich mich damit
> (noch) nicht aus. Wie kann ich die Filter konkret optimieren?

Rechnen und/oder simulieren. Du kannst mit LTspice eine AC-Analyse ma-
chen und den Frequenzgang anschauen. Ich würde das erst einmal für jede
der beiden Stufen getrennt machen. Da bei den verwendeten Filterstufen
die untere und obere Grenzfrequenz weitgehend unabhängig voneinander mit
dem jeweiligen RC-Glied eingestellt werden kann, kannst du den Frequenz-
gang in der Simulation auch durch Ausprobieren optimieren.

> Nach den Veränderungen sieht das Signal schon anders aus. Nur gibt es
> nach wie vor einen zweiten Ausschlag der Ausgangsspannung, wenn das
> empfangene Signal schon lange abgeklungen ist. Hängt das mit der
> schlechten Dimensionierung des Filters zusammen?

Ja. Die untere Grenzfrequenz liegt viel zu tief. Da der empfangene Burst
auch niederfrequente Anteile enthält, erscheinen diese verstärkt im
Ausgangssignal. Außerdem werden die Verstärkerstufen immer noch stark
übersteuert. Erhöhe die Versorgungsspannung mal spaßeshalber von 5V auf
30V und schau dir das Ausgangssignal des linken Opamp an. Er übersteuert
jetzt nicht mehr, und du siehst die unbeschnittenen Ausschläge des Aus-
gangssignals, die natürlich viel zu hoch sind.

>> - Für die Eingangssignalquelle und den Spitzenwertdetektor würde ich
>>   statt GND die virtuelle Masse (aus U1) als Bezugsspannung nehmen. GND
>>   wird dann nur noch als negative Versorgungsspannung der Opamps, aber
>>   nirgends als Signalmasse verwendet.
>
> Ok, das habe ich verändert (siehe Anhang). Die Auswertung soll ein
> ATmega32 machen. Ich muss also AGND auf die virtuelle Masse aus U1
> legen, richtig?

Das geht leider nicht, da AGND das gleiche Potential wie GND haben muss.
Entwder du subtrahierst die 2,5V per Software, oder du beschaltest den
rechten Opamp so, dass er die 2,5V subtrahiert.

> Ist es möglich, diese Spannung in LTspice darzustellen? Im Moment misst
> er ja die Ausgangsspannung gegen die normale Masse und nicht gegen die
> virtuelle...

Du kannst die Spannungsdifferenz zwischen zwei Signalleitungen anzeigen,
indem die mit der Maus auf die erste Signalleitung klickst, die Maustas-
te gedrückt hältst und auf der zweiten Signalleitung wieder loslässt.

von Vincent R. (vinc) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo.

Ich habe die Filterschaltung nun nochmal ganz umgekrempelt und bilde mir 
ein, dass es nun besser funktioniert. Trotzdem würde ich mich freuen, 
wenn jemand nochmal gucken könnte, ob nicht irgendein Bock drin steckt, 
bevor ich den Kram einlöte.

Yalu X. schrieb:
> Dafür ist die Verstärkung der Schaltung immer noch zu hoch. Aber
> liefert der Ultraschallempfänger tatsächlich einen so hohen Pegel? Da
> kann das Objekt, zu dem der Abstand gemessen wird, nicht weit weg sein.

Ich habe eine Empfängerkapsel mal direkt am Oszilloskop angeklemmt und 
kann das Echo kaum vom Rauschen unterscheiden. Nur wenn ich es direkt 
vor den Sender halte, sieht man natürlich einen starken Ausschlag.
In LTspice habe ich das Signal daher auf +/- 50mV eingestellt und hoffe, 
dass das hinkommt.

> Normalerweise sollte der die Spannungsdifferenz
> zwischen den Eingängen auf nahe 0V regeln.

Das scheint zu klappen. In LTspice ist sie bei allen Opamps nahe 0.

> Der echte Ultraschallempfänger (ich nehme an, es ist ein
> Piezowandler) liefert ein sinusähnliches Signal, das langsam aufschwingt
> und danach wieder langsam ausklingt.

Es handelt sich um dieses Teil:
http://www.conrad.de/ce/de/product/182281/US-EMPFAeNGER-MA40R-SQ40R/SHOP_AREA_14741&promotionareaSearchDetail=005

Man sieht mit dem Oszilloskop, dass es sogar relativ lange ausschwingt, 
d.h. fast so lang wie der eigentliche Burst ist.

> Trotzdem wäre es vorteilhaft, das Eingangssignal erst einmal mit einem
> passiven Hochpass von hochfrequentem Rauschen zu befreien, so dass es
> der Opamp mit der anschließenden Filterung leichter hat.

Du meinst einen Tiefpass, oder? Ich habe nun einen mit 40 kHz 
Grenzfrequenz eingebaut.

Danke,
Vincent

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.