Forum: Mikrocontroller und Digitale Elektronik AD-Wandler Messrate und Auflösung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Hi,

ich muss für einen Ultraschall Durchflussmesser die Messrate und 
Auflösung eines AD Wandlers bestimmen.

Messbereich:   -32 ... +32 m/s
Auflösung   0,0001 m/s

Messrate: 32/(2^19-1)= 0,000061.. Also mit 19 Bit Messrate müsste ich 
auf eine Auflösung von 0,0001 m/s erreichen.

Und die Auflösung des AD-Wandlers bei einer Eingangsspannung von 10 Volt 
beträgt dann 0,01907 mV. Das wäre dann mein LSB

Ist die Messrate und Auflösung vom AD-Wandler so ok, mit den gegebenen 
Werten?

Bin mir nicht sicher ob das ok ist.

von Gustl B. (-gb-)


Lesenswert?

Jasmin N. schrieb:
> Ist die Messrate und Auflösung vom AD-Wandler so ok, mit den gegebenen
> Werten?

Mir würde da etwas Information fehlen. Auf der einen Seite nennest du 
Ultraschall und dann eine Spannung. Und die Einheit ist dann eine 
Geschwindigkeit. Wie hängt das zusammen?

Ist die Spannung direkt proportional zur Geschwindigkeit?
Also bilden die 10 V den ganzen Messbereich von -32 ... +32 m/s ab? 
Sowas wie 10 V entspricht 32 m/s und 0 V entsprechen -32 m/s und 5 V 
entsprchen dann der Mitte, also 0 m/s?

Was ist deine Messrate? Das ist normalerweise die Anzahl an Messungen je 
Zeiteinheit. Warum teilst du 32 durch die 2^19? Dein Messbereich ist 
doch plusminus 32, also zusammen 64 m/s groß?

Wenn die Anforderung ist
0,0001 m/s
auflösen zu können, dann teilst du 64/0.0001 und das ist ... 640000. Du 
musst also mit deinem AD-Wandler 640000 Werte sicher unterscheiden 
können.
Wie viele Bits brauchst du dazu?
Nun, 640000 ist binär 10011 10001 00000 00000, das sind 20 Stellen. 19 
Bits reichen also nicht ganz aus.
Welche Spannung entspricht einem LSB?
10/2^20 = 9.537 uV.
Reicht also ein AD-Wandler mit 20 Bit Auflösung?
Vermutlich nein, denn da werden mehrere LSBs rauschen. Generell wird das 
eher sehr schwer werden eine so hohe Auflösung zu erreichen denn es gibt 
viele Rauschquellen.

Edit:
Also eigentlich hast du alles richtig gemacht, nur eben 32 statt 64 
geteilt. Trotzdem Lob und Anerkennung!

: Bearbeitet durch User
von Elektrolurch (Gast)


Lesenswert?

>> Messrate... müsste ich auf eine Auflösung von 0,0001 m/s erreichen.

Die Messrate hat nichts mit der Auflösung zu tun!
Die Samplerate bestimmt die Grenzfrequenz für den Anti-Alias-Filter und 
die Ausgangsdatenrate.
Wenn du 19 Bit ENOB, also rauschfreie Bits brauchst, musst du massiv 
oversamplen und den Mittelwert bilden.
Tipp: Es gibt extra ADCs, die das für dich machen! (=> ultra low noise 
ADC)
=> z.B. AD7195, oder für viel höhere Datenrate: AD7766-2
=> Für 0,01907 mV Auflösung brauchst du einen exzellenten 
(differentiellen)
ADC-Treiber! Das wird gerne vergessen.
=> Eine möglichst rauscharme Referenz, die kräftig (47µF) gepuffert ist 
- z.B. LTC6655 o.ä.

: Bearbeitet durch Admin
von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Danke für die Infos.

> Mir würde da etwas Information fehlen. Auf der einen Seite nennest du
> Ultraschall und dann eine Spannung. Und die Einheit ist dann eine
> Geschwindigkeit. Wie hängt das zusammen?

Also mein Gedanke war dass die Sensoren vom Ultraschall das Signal durch 
einen Verstärker schicken und praktisch ein Spannungsbereich von 0-10 
Volt an den A/D Wandler gelangt.


Wenn ich die Daten dann verarbeiten möchte bräuchte ich dann ja auch 
einen Mikrocontroller der mindestens 20 Bits verarbeiten kann.

Ich habe da an sowas gedacht:

https://www.sciosense.com/products/ultrasonic-flow-converters/as6040/

Dieser Besitzt eine 32-Bit CPU. Aber ich kann nirgendwo erkennen welcher 
Mikrocontroller dort eingebaut ist.

Bzw. welchen Mikrokontroller könnte ich dabei verwenden?

von Falk B. (falk)


Lesenswert?

Jasmin N. schrieb:
> Hi,
>
> ich muss für einen Ultraschall Durchflussmesser die Messrate und
> Auflösung eines AD Wandlers bestimmen.
>
> Messbereich:   -32 ... +32 m/s
> Auflösung   0,0001 m/s

Jaja, schön akademisch.

> Messrate: 32/(2^19-1)= 0,000061.. Also mit 19 Bit Messrate müsste ich
> auf eine Auflösung von 0,0001 m/s erreichen.

Nö. Eine Meßrate wird mal sicher nicht in Bit angegeben.
Außerdem ist die Rechnung anders herum

Auflösung (Schritte)= Maximum / kleinste Meßdifferenz = 32m/s / 1e-4m/s 
= 320000
Da +/-32 m/s gemessen werden sollen, sind es 640000.

ADC-Auflösung = log2(64000) = log10(640000) / log10(2) = 19.2 Bit

> Und die Auflösung des AD-Wandlers bei einer Eingangsspannung von 10 Volt
> beträgt dann 0,01907 mV. Das wäre dann mein LSB

Der Fachmann schreibt hier 19,08uV.

https://de.wikipedia.org/wiki/Wissenschaftliche_Notation#Präzision_im_SI-_und_ENG-Format

> Ist die Messrate und Auflösung vom AD-Wandler so ok, mit den gegebenen
> Werten?

Über die Meßrate kann man mit den Informationen gar keine Angabe machen, 
denn man weiß nicht, wie schnell gemessen werden soll bzw. muss.

von Falk B. (falk)


Lesenswert?

Gustl B. schrieb:
> Also eigentlich hast du alles richtig gemacht, nur eben 32 statt 64
> geteilt. Trotzdem Lob und Anerkennung!

Keine Sekunde. Was ist das nur für ein Maßstab, für so eine Leistung Lob 
und Anerkennung zu vergeben? Bis du ein Schnneflöckchenversteher?

von Gustl B. (-gb-)


Lesenswert?

Falk B. schrieb:
> Bis du ein Schnneflöckchenversteher?

Nun, hier im Forum schlagen gehäuft Leute auf, die genau nichts selber 
leisten, aber eine fertige Lösung haben wollen. Das ist hier zum Glück 
nicht der Fall.

Vielleicht habe ich eine mit Anfang/Mitte 30 sehr früh einsetzende 
Altersmilde oder die paar Jahre Lehramt haben meine Ansprüche krass 
gesenkt. Wie auch immer, ich finde gut, dass hier Jemand was lernen 
möchte und sich eigene Gedanken macht.

Und auch ich habe vor grob 10 Jahren das Forum betreten und erstmal 
lange Zeit (Manche würden behaupten bis jetzt) einfache und fachlich 
unsaubere Fragen gestellt. Mir wurde geholfen, auch von dir Falk. Danke!

Jasmin N. schrieb:
> Ich habe da an sowas gedacht:
>
> https://www.sciosense.com/products/ultrasonic-flow-converters/as6040/

Der Baustein hat noch einige nette Sachen eingebaut, klar, da ist auch 
eine CPU drinnen, aber die anderen Dinge sind eigentlich entscheidender 
für die Aufgabe die du erledigen möchtest. So wie ich das mit dem 
Ultraschall verstanden habe misst man eine Signallaufzeit. Und weil das 
Signal etwas ist das sich ständig wiederholt misst man den Versatz von 
zwei Nulldurchgängen, also quasi die Phasenverschiebung. Dafür ist 
dieser Baustein gut geeignet, denn der kann kurze Zeiten sehr genau 
messen.
Ob das zu dem 10 V Sensor passt weiß ich nicht, das klingt für mich nach 
einem anderen Konzept.

Edit:
Das Datenblatt von dem Chip ist ziemlich gut. Da wird auch Vieles 
erklärt. Das Messprinzip z. B. auf Seite 24.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Gustl B. schrieb:
> Falk B. schrieb:
>> Bis du ein Schnneflöckchenversteher?
>
> Nun, hier im Forum schlagen gehäuft Leute auf, die genau nichts selber
> leisten, aber eine fertige Lösung haben wollen. Das ist hier zum Glück
> nicht der Fall.

Stimmt, aber . . .

> Wie auch immer, ich finde gut, dass hier Jemand was lernen
> möchte und sich eigene Gedanken macht.

Auch gut, aber das was der/die/das Op hier abgeliefert hat, war 
"bestenfalls" ein nicht vollkommen falscher Ansatz, also eher 3- bis 4. 
Diese Eigenleistung hat nix lobenswertes.

> Und auch ich habe vor grob 10 Jahren das Forum betreten und erstmal
> lange Zeit (Manche würden behaupten bis jetzt) einfache und fachlich
> unsaubere Fragen gestellt. Mir wurde geholfen, auch von dir Falk. Danke!

Das ist gar nicht das Problem, sondern dein fragwürdiger 
Leistungsmaßstab.

von Falk B. (falk)


Lesenswert?

Jasmin N. schrieb:
> Also mein Gedanke war dass die Sensoren vom Ultraschall das Signal durch
> einen Verstärker schicken und praktisch ein Spannungsbereich von 0-10
> Volt an den A/D Wandler gelangt.

Nö, vollkommen falsch gedacht. 0-10V ist eine weit verbreitete 
Industrieschnittstelle für Sensoren, um das Ergebnis einer Steuerung 
mitzuteilen. Davor passiert bei den meisten Sensoren noch SEHR viel, 
erst recht bei einem Durchflußmesser.

> Wenn ich die Daten dann verarbeiten möchte bräuchte ich dann ja auch
> einen Mikrocontroller der mindestens 20 Bits verarbeiten kann.

Bist du so naiv oder der allfreitägliche Troll? Laß mich raten, den Name 
ist nicht wirklich Jasmin und weiblich im klassischen Sinn bist du auch 
nicht? Spielt ja heute auch keine Rolle, wo "wir erkannt haben", daß das 
Geschlecht nur ein soziales Konstrukt ist und jeden Tag neu gewählt 
werden kann. Ich schweife ab . . .

Mein Gott, so ziemlich JEDER 08/15 Mikrocontroller kann 20 Bit oder 
deutlich mehr verarbeiten. Wieviele solcher Daten und wie schnell steht 
auf einem anderen Blatt.

> Ich habe da an sowas gedacht:
>
> https://www.sciosense.com/products/ultrasonic-flow-converters/as6040/
>
> Dieser Besitzt eine 32-Bit CPU. Aber ich kann nirgendwo erkennen welcher
> Mikrocontroller dort eingebaut ist.

Ist auch schnuppe, denn das interssiert den Anwender nicht. Der wurde 
vom Hersteller programmiert. Der IC wird per SPI angesteuert und 
liefert fix und fertige, digitale Daten. Da braucht man auch keinen 
AD-Wandler, denn die gesamte Signalverarbeitung erfolgt IM IC.

> Bzw. welchen Mikrokontroller könnte ich dabei verwenden?

Jeden beliebigen, denn der muss nix weiter können als den IC per SPI 
anzusteuern. Der muss dafür weder besonders schnell noch toll sein. Was 
du dann mit den Durchflußdaten anstellen willst, ist eine andere Sache.

von Gustl B. (-gb-)


Lesenswert?

Mensch Falk, ich finde das völlig OK Trolle anzuschnauzen oder auch 
Leute die hier ohne erkennbare Mühe/Eigenleistung aufschlagen.

Es gibt aber auch Leute die schlicht ganz neu mit einem Themengebiet 
anfangen. Als Hobby, als Studium, ... die zu vergraulen finde ich nicht 
richtig, denn das Ziel sollte doch sein mehr Bildung unter die Leute zu 
bekommen und auch dafür zu sorgen, dass Leute Spaß an technisch 
anspruchsvolleren Themen finden, dazulernen und irgendwann hier als 
Profi dann selber Neulingen helfen.

Das mit den Trollen artet hier leider auch oft zu einer Hexenjagd aus. 
Denn es gibt für Neulinge schlicht keine Möglichkeit zu beweisen, dass 
man kein Troll ist. Wenn das statt einem Troll auch ein Neuling seien 
könnte mit noch geringem Wissensstand, dann nehme lieber an, dass 
Letzeres der Fall ist oder antworte einfach nicht.
Man könnte das auch an der Wirkung beurteilen:
Was hat man bewirkt wenn man einem Troll schreibt, dass er ein Troll 
ist? Nix, der weiß das schon.
Was hat man bewirkt, wenn man das einem Neuling vorwirft? Da hat man 
seine eine Chance vertan Jemandem zu helfen und vielleicht gibt der dann 
sein Hobby auf oder traut sich nicht mehr zu fragen.

von Falk B. (falk)


Lesenswert?

Mag sein, aber was ist, wenn man einem Troll antwortet, als sei er nur 
ein blutiger Anfänger? Der Troll hat sein Ziel erreicht und lacht sich 
schlapp . . . Naja.

von Wolfgang (Gast)


Lesenswert?

Falk B. schrieb:
> ADC-Auflösung = log2(64000) = log10(640000) / log10(2) = 19.2 Bit

Wenn schon, dann bitte log2(640000) und 19.29 Bit ...

Und die 10 (bei log10) kann man sich sowieso sparen, weil die nirgendwo 
eine Bedeutung hat. Genauso könntest du schreiben
1
log2(640000) = ln(640000) / ln(2) 
2
oder 
3
log2(640000) = log42(640000) / log42(2)

von Falk B. (falk)


Lesenswert?

Wolfgang schrieb:
> Falk B. schrieb:
>> ADC-Auflösung = log2(64000) = log10(640000) / log10(2) = 19.2 Bit
>
> Wenn schon, dann bitte log2(640000) und 19.29 Bit ...

Geh nach Hause, du erbärmlicher Oberlehrer!

von Kevin M. (arduinolover)


Lesenswert?

Falk B. schrieb:
> Wolfgang schrieb:
>> Falk B. schrieb:
>>> ADC-Auflösung = log2(64000) = log10(640000) / log10(2) = 19.2 Bit
>>
>> Wenn schon, dann bitte log2(640000) und 19.29 Bit ...
>
> Geh nach Hause, du erbärmlicher Oberlehrer!

........


Falk B. schrieb:
> Der Fachmann schreibt hier 19,08uV.
>
> 
https://de.wikipedia.org/wiki/Wissenschaftliche_Notation#Präzision_im_SI-_und_ENG-Format


Interessant!!!

von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Ok dann ist dies mal geklärt.
Ist es möglich wenn man den Mikrocontroller MSP430I2020 verwendet die 
angezeigten Daten für den Durchfluss (Display) mit einer CAN Bus 
Schnittstelle auszugeben. Nach meiner Recherche ist das nicht möglich. 
Aber wenn man z.b dieses Modul verwendet sollte es doch möglich sein?: 
https://www.ti.com/tool/BOOSTXL-CANFD-LIN

Was sagen die Profis dazu :)?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Jasmin N. schrieb:
> ich muss für einen Ultraschall Durchflussmesser die Messrate und
> Auflösung eines AD Wandlers bestimmen.
>
> Messbereich:   -32 ... +32 m/s
> Auflösung   0,0001 m/s

Und wie hoch sind Rauschen und sonstige Fehler beim dem Ausgangssignal 
des Durchflussmessers?

von Gustl B. (-gb-)


Lesenswert?

Jasmin N. schrieb:
> Mikrocontroller MSP430I2020

Warum? Wegen der AD-Wandler? Dann guck ins Datenblatt auf Seite 23. Die 
haben zwar 24 Bits Auflösung, liefern dir aber keine 19.x rauschfreie 
Bits.

Wenn dir das egal ist dann kannst du den nehmen. Wenn es drum geht 
möglichst viele rauschfreie Bits zu haben, dann würde ich keinen ADC in 
einem uC nehmen sondern einen externen der dann auch im Layout schön von 
Störungen isoliert werden kann.

Ist aber die Frage ob der Ansatz mit dem ADC überhaupt sinnvoll ist. Der 
andere Ansatz wäre bei diesem Baustein

Jasmin N. schrieb:
> Ich habe da an sowas gedacht:
>
> https://www.sciosense.com/products/ultrasonic-flow-converters/as6040/

einen Zwitunterschied sehr genau zu messen. Das scheint mir einfacher.

Jasmin N. schrieb:
> CAN Bu

Um von UART/SPI/I2C/ ... nach CAN zu kommen gibt es viele Platinen und 
Chips. Das Hauptproblem und auch das Schwierigste an der Aufgabe ist die 
Messung selbst. Das würde ich zuerst anpacken und auch erstmal ohne CAN 
denn dafür wirst du mehrere Hardwareiterationen brauchen bis die 
Ergebnisse gut genug sind. 19.x rauschfreie Bits ist nicht so einfach 
ausser du kannst sehr viele Abtastwerte mitteln. Dann bekommst du aber 
nichtmehr so viele Messwerte je Zeiteinheit.

von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Ok Danke. Gibt es dazu auch eine Passende Entwickler Platine? Ich habe 
da schon eine Fertige Lösung von Texas Instruments gefunden:

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwixvJWE35jwAhUXrqQKHQPCBX8QFjAAegQIBBAD&url=https%3A%2F%2Fwww.ti.com%2Flit%2Fpdf%2Fsnia020&usg=AOvVaw2mgRKk_oS62vrKavV9Jne5

Allerdings wird da keine Entwicklerplatine angegeben. Gibt es da schon 
eine fertige Lösung, ich blicke da nicht recht durch.

von Wolfgang (Gast)


Lesenswert?

Gustl B. schrieb:
> Die haben zwar 24 Bits Auflösung, liefern dir aber keine 19.x rauschfreie
> Bits.

Die wird das Analogsignal des Durchflussmessers auch nicht schaffen.

von Gustl B. (gustl_b)


Lesenswert?

Jasmin N. schrieb:
> Ich habe da schon eine Fertige Lösung von Texas Instruments gefunden:

Das hat wieder nix mit ADC zu tun sondern ist wie beim von dir genannten

https://www.sciosense.com/products/ultrasonic-flow-converters/as6040/

eine Laufzeitmessung. Ja so sollte man das auch machen. Auf den Seiten 5 
und 6 im PDF
https://www.ti.com/lit/pdf/snia020
steht was du genau brauchst. Ob es da jeweils Eval Boards gibt weiß ich 
nicht.

Edit:
Zum TDC1000 und TDC7200 gibt es jeweils Eval Boards. Und auch viel 
Literatur von TI.

: Bearbeitet durch User
von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Ok. Nun habe ich dennoch ein Frage zur Auflösung.

Also wenn ich bei der gegebenen Messgenauigkeit abtaste habe ich bei den 
20 Bits noch nicht das Abtasttheorem berücksichtigt. Also ich müsste ja 
praktisch doppelt so oft Abtasten. Dann brächte ich einen AD wandler mit 
mindestens 21 Bits.

Oder habe ich das Abtasttheorem da falsch verstanden?

von Gustl B. (gustl_b)


Lesenswert?

Jasmin N. schrieb:
> Abtasttheorem

Das hat was mit Frequenzen zu tun. Also wie oft du je Zeiteinheit 
abtastest. Dazu hattest du noch nichts geschrieben.

Wenn du eine maximale Frequenz mit n Hz erfassen willst musst du 
mindestens 2*n Abtastungen je Sekunde machen.

von Thomas F. (igel)


Lesenswert?

Jasmin N. schrieb:
> Oder habe ich das Abtasttheorem da falsch verstanden?

Ja hast du. Das Abtastheorem beschäftigt sich mit der Zeit.
Du wurdest schon ein paar mal danach gefragt, hast aber nicht darauf 
geantwortet: Wie Viele Messungen pro Sekunde sollen durchgeführt werden?

Wie schnell ändert sich denn der Durchfluss pro Sekunde? Danach bestimmt 
das Abtasttheorem die Abtastfrequenz.

von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Wie schnell sich der Durchfluss pro Sekunde ändert weiß ich nicht. 
Jedoch weiß ich wie viel der Sensor messen kann. Er kann einen min. 
Volumenstrom von 15 l/h und einen Maximalen Volumenstrom von 3000 l/h 
erfassen (± 5%).
Der Sensor arbeitet mit 1000 Hz. Ich beziehe mich da auf das Dokument 
von TI: https://www.ti.com/lit/pdf/snia020

von Gustl B. (-gb-)


Lesenswert?

Das wird jetzt langsam verwirrend.

Welchen Sensor willst du verwenden? Was hat das mit dem ADC und den 10 V 
zu tun?

Das sind zwei getrennte Messmethoden:
1. Irgendein Sensor liefert eine Spannung die proportional zur 
Geschwindigkeit ist. Und diese Spannung musst du digitalisieren.
2. Der Sensor liefert Signale die um die TOF (Time of Flight) versetzt 
sind. Dabei musst du diesen geringen Zeitunterschied messen, denn der 
ist proportional zur Geschwindigkeit.
Diesen Zeitunterschied kann ein TDC in eine digitale Zahl wandeln, das 
macht der https://www.ti.com/lit/ds/symlink/tdc7200.pdf .
Aber der kann mit Ultraschall nix anfangen, dafür braucht der ein 
Frontend das passende digitale Signale erzeugt, und das ist der 
https://www.ti.com/lit/ds/symlink/tdc1000.pdf .

Du solltest dich für 1. oder 2. entscheiden. Und dann wenn du 1. nimmst 
musst du einen passenden Sensor finden und einen ADC. Bei 2. kannst du 
das von TI aus der SNIA020 nachbauen, das erscheint mir der einfachere 
Weg.

von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Sorry für die Verwirrung :). Ich bin schon bei dem von dir genannten 
Punkt 1. Sensor: 
https://zjjk.en.alibaba.com/product/60607630148-806615694/JIAKANG_Efficient_Micro_1mhz_Flow_Sensor_Ultrasonic_Piezoelectric_Transducer.html

Dazu muss ich einen passenden ADC finden.

: Bearbeitet durch User
von Wolle G. (wolleg)


Lesenswert?

Jasmin N. schrieb:
> Ich bin schon bei dem von dir genannten Punkt 1. Sensor:
> 
https://zjjk.en.alibaba.com/product/60607630148-806615694/JIAKANG_Efficient_Micro_1mhz_Flow_Sensor_Ultrasonic_Piezoelectric_Transducer.html
> Dazu muss ich einen passenden ADC finden.
Gibt es dazu ein Datenblatt? Ich habe es nicht gefunden.

von Gustl B. (-gb-)


Lesenswert?

Jasmin N. schrieb:
> Ich bin schon bei dem von dir genannten
> Punkt 1. Sensor:

Ähm, das würde ich aber nicht als Sensor bezeichnen. Das wandelt nur den 
Ultraschall in ein elektrisches Signal, nicht mehr. Also nix anderes als 
ein Mikrofon/Lautsprecher (ja, das kann man als Beides verwenden, wie 
man auch normale Audio Lautsprecher als Mikrofon verwenden kann und 
Mikrofone als Lautsprecher) nur eben aus Keramik wegen Piezoeffekt und 
für Ultraschall.

Aus dem Teil kommt auch keine Spannung raus die zu einer Geschwindigkeit 
proportional ist.

Du kannst jetzt zwei von den Teilen verwenden, eines sendet einen festen 
Ton, das andere hört auf das Echo. Und dann die Phasenverschiebung 
ermitteln. Das ist der Dopplereffekt und der gibt dir an wie schnell 
sich was von dem Mikrofon weg oder darauf zu bewegt.
Du kannst auch statt der Phasenverschiebung die Frequenz ermitteln und 
dann den Frequenzunterschied errechnen. Aber Phasenverschiebung, also 
Nulldurchgang erkennen und Zeiten messen wäre besser.

Im Grunde ist das wie hier https://www.ti.com/lit/an/snia020/snia020.pdf 
im Bildchen auf Seite 2. Aber das ist dann auch was ich oben geschrieben 
hatte 2. und nicht 1.
Wenn du das mit zwei so Mikrofonen machen willst aber ohne 
Laufzeitmessung, also ohne Messung der Phasenverschiebung, dann brauchst 
du einen ADC der das schnell genug abtastet um die Frequenz bestimmen zu 
können. Und zwar die mit Dopplereffekt verschobene Frequenz von ddeinem 
Ultraschall Sender. Du darfst dir also die Frequenz selber aussuchen.
Das Problem ist dann aber, dass du für eine sehr geneue 
Geschwindigkeitsbestimmung die Frequenz sehr genau bestimmen musst. Der 
ADC muss also eher schnell, also oft je Zeiteinheit, abtasten. Die 
Auflösung des ADCs ist dabei eher nebensächlich, irgendwas >8 Bit reicht 
da vermutlich schon.

Jedenfalls empfehle ich die Phasenverschiebung zu bestimmen über die 
Nulldurchgänge des Signals oder diesen TI TDC7200 + TDC1000. Die sind 
genau dafür gemacht und können eine Zeit sehr genau messen. Der weiter 
oben genannte 
https://www.sciosense.com/wp-content/uploads/documents/AS6040_SC-000854-DS-2-1.pdf 
sieht nach einer 1-Chip Lösung aus.

: Bearbeitet durch User
von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Dann wird die Zeit im TDC digitalisiert?

Welche Auflösung und Messrate besitzt dann der TDC7200 (in Bit). Ich 
werde aus dem Datenblatt nicht schlau. Ich finde da nur dass die 
Auflösung 55 ps beträgt

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

Jasmin N. schrieb:
> Dann wird die Zeit im TDC digitalisiert?

Genau. Ein TDC wandelt eine Zeit in einen digitalen Wert. So genau kann 
man das bei dem Baustein vermutlich gar nicht sagen, das hängt sehr von 
dessen Konfiguration ab. Der hat ein SPI Interface und einige interne 
Register und mehrere unterschiedliche Arten wie der Zeit in digitale 
Werte misst.

In Mode 1 kann er Zeiten von 12 ns bis 500 ns erfassen. Das kann man 
jetzt durch die 55 ps teilen und kommt auf grob 218 bis 9091. Letzteres 
passt in etwas mehr als 13 Bits. 500 ns ist die Periodendauer bei 2 MHz. 
Das bedeutet, wenn du Ultraschall mit 2 MHz verwenden würdest, dann 
könntest du die Verschiebung um eine volle Periode mit etwas mehr als 13 
Bits auflösen.
360°/9091 = ca. 0.04° Auflösung.
Wenn du aber Schall mit niedrigerer Frequenz verwendest, z. B. 200 kHz 
(das ist 1/10 von 2 MHz), dann kannst du nur maximal 1/10 Periodendauer 
als Laufzeitunterschied erfassen, das aber weiterhin mit grob 13 Bits. 
Du kannst also eine geringere Phasenabweichung genauer auflösen.
(1/10)*360°/9091 = ca. 0.004° Auflösung.

Im Mode 2 kann der 250 ns bis 8 ms messen. Das wären dann 4545 bis 
145454545, das ist binär 1000101010110111010111010001 also 28 Bits. Nur: 
bei 8 ms Perodendauer ist das dann eine Schallfrequenz von 125 Hz, das 
ist also kein Ultraschall.

Ob du bei dem Baustein Modus 1 oder 2 verwenden solltest hängt davon ab 
welche Frequenz du für den Ultraschallsenden wählst und auch welche 
Phasenverschiebung du maximal erkennen können möchtest.

Der andere Baustein 
https://www.sciosense.com/wp-content/uploads/documents/AS6040_SC-000854-DS-2-1.pdf 
kann Zeitbereiche zwischen 10 us und 1 ms messen, also zwischen 100 kHz 
und 1 kHz. Das aber mit einer besseren Auflösung von 22 ps.

von Jasmin N. (Firma: Jassi) (jasmin_89)


Lesenswert?

Ok. Wenn ich dann Ultraschall mit 2MHz verwende muss ich dies noch mit 
zwei Multiplizieren um das Abtastheorem einzuhalten? Also demnach muss 
der TDC mit 4MHz abtasten.

von Falk B. (falk)


Lesenswert?

Jasmin N. schrieb:
> Ok. Wenn ich dann Ultraschall mit 2MHz verwende muss ich dies noch mit
> zwei Multiplizieren um das Abtastheorem einzuhalten? Also demnach muss
> der TDC mit 4MHz abtasten.

Nö. Der TDC mißt die Nulldurchgänge direkt, da muss niemand außen was 
abtasten. Man braucht hier gar keinen ADC! Du bewegst dich hier in einer 
Thematik, die WEIT über deinem aktuellen Wissensstand liegt. Backe 
erstmal DEUTLICH kleinere Brötchen. Und einen Durchflußmesser mit 19 Bit 
realer Auflösung wirst DU in den nächsten 2-3 Jahren mal sicher nicht 
konstruieren.

von Gustl B. (-gb-)


Lesenswert?

Für mich sieht das Ganze eher so nach Uni Aufgabe aus wie Masterarbeit 
z. B. privat finde ich das wäre schon ein seltsames Hobby.

Ja, da sind Wissenslücken, aber die sind am Anfang ganz nochmal, die 
kann man schließen. Die Aufgabe ich mit so einer Fertiglösung wie in dem 
Dokument von TI nicht so irre schwierig. Wenn man das aber mit einem ADC 
und tatsächlich einer so hohen Auflösung machen möchte dann wird das 
eher schwierig und 2-3 Jahre sind durchaus realistisch.

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]
  • [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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.