mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Spitzenwerte 40KHz US-Signal abtasten


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche nach einer Möglichkeit ein Ultraschallsignal (40KHz) besser 
auszuwerten. Dazu benötige ich von jeder Periode den Spitzenwert. Mit 
welcher Schaltung / Adc kann ich das am einfachsten lösen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Tom (Gast)

>Ich suche nach einer Möglichkeit ein Ultraschallsignal (40KHz) besser
>auszuwerten. Dazu benötige ich von jeder Periode den Spitzenwert. Mit
>welcher Schaltung / Adc kann ich das am einfachsten lösen?

Wenn du das WIRKLICH so brauchst, sehe ich zwei Möglichkeiten.

1.) rein digital, Abtastung mit 1-10 MSampeles/s, dann einfach das 
Maximum suchen.

2.) mit analogem Spitzenwertdetektor, welcher einmal pro Schwingung 
ausgelesen wird. Etwas knifflig aber machbar.

MFG
Falk

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, für den Auswertealgorithmus brauche ich wirklich den Spitzenwert.
Gibt es keine ausreichend präzise Möglichkeit auf den Nulldurchgang zu 
triggern und dann nach 6.25µs den Wert zu erfassen? Das Signal ist 
konstant 40KHz (Quarzstabilisierter Sender + BP-Filter am Empfänger)

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sich nur die Spitzenwerte anzuschauen klingt nicht nach einer guten 
Auswertung. Ohne schmalbandigen Filter hat man unnötig viel Rauschen 
drauf, und mit Filter sind die einzenen Spitzenwerte nicht mehr 
unabhängig voneinander.

Wenn es einfach sein soll, gibt es 2 Möglichkeiten:
1) ein schneller AD (z.B. 1 Msps) und in Software die Maximal /minima 
bestimmen.

2) Per Diode und Kondensator die Spitzenwerte analog bestimmen. Wenn man 
wirklich die Werte seperat braucht, dann noch eine Triggerschwelle dazu 
um bei einem erkannten definitiv positiven Wert den negativen 
Spitzenwert zurückzusetze, und andersherum.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, nur die Spitzenwerte ist schon ein guter Auswertealgorithmus, 
macht man bei Nahbereichsradar teilweise auch so. Den negativen 
Spitzenwert kann ich ignorieren, der bringt nicht unbedingt viel neue 
Informationen. Und ein Frequenzgemisch habe ich aufgrund des sehr 
schmalbandigen Empfängers nicht dabei.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Tom (Gast)

>Gibt es keine ausreichend präzise Möglichkeit auf den Nulldurchgang zu
>triggern und dann nach 6.25µs den Wert zu erfassen? Das Signal ist
>konstant 40KHz (Quarzstabilisierter Sender + BP-Filter am Empfänger)

Das geht natürlich auch. Man braucht dazu nur eine hinreichend schnelle 
Sample & Hold Schaltung, gibt es fertig als IC. Dann kann der ADC 
dahinter "langsam" den Wert digitalisieren.

MFG
Falk

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die analoge Erfassung der Spitzenwerte gibt es eine Schaltung mit 2 
OPs. Das Prinzip ist das gleiche wie mit Diode und Kondensator, nur der 
OP kann noch die Spannung an der Diode kompensieren. Bei 40 kHz geht das 
noch relativ gut, ein paar Prozente Fehler werden vermutlich nicht 
stören, da die Kurvenform ziehmlich konstant ist.  Man hat aber ein 
Problem bei sehr kleinen Amplituden.  Da werden dann die Spitzen nicht 
sicher erkannt und man bekommt bestenfalls eine mittlere Amplitude, aber 
keine genaue Zuordnung zu den Maxima.

Der Ablauf ist in etwa so:
- maximalwert wird laufend im Kondensator gespeichert
- wenn der Maximalwert, oder das aktielle Signal eine Schwelle 
überschreit, wird der AD Wandler mit etwas Verzögerung getriggert. Die 
Genaue Verzögerung und der Trigger ist unkritisch, es muß ja nur nach 
dem Maximum gewandelt werden.  Nach der S&H Phase für den AD-wandler 
kann der Kondensator schon wieder entladen werden.

Damit man vor dem nächsten Puls fertig ist, sollte der AD Wandler 
schneller als 25 µs sein, und die S&H Phase dazu unter etwa 10 µs lang 
sein. Wenn man an die Grenze des AD wandlers geht reicht dazu gerade 
noch der interne Wandler in den Atmel AVRs. Etwas langsamer, für einen 
Pulshöhenanalysator (als Spektrometer für Aplhastrahlen) hab ich das 
schon mal so aufgebaut.  Wenn man die Werte noch in Echtzeit weiter 
verarbeiten muß, wäre ggf. ein etwas schnellerer µC angebracht.


Wenn man einen Stabilen Takt zu dem Signal hat, könnte man die Amplitude 
auch durch phasenstarre Gleichrichtung (2 Phasenlagen) bestimmen. Damit 
hat man dann aber ein etwas anderes Ergebnis, weil man auch die 
Phaseninformation drin hat. Vom Aufbau wäre das auch nicht viel 
komplizierter, man braucht aber 2 AD-Wandler Kanäle und die weitere 
Auswertung ist anders.

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.