INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Laufzeitmessung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.04.2017, 13:57
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.424
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitmessung
Hallo Robo,

ich habe mir mal das BeispielVI "Multi-Function-Synch AI-AO" in LV2011 angeschaut: das entspricht so ziemlich genau dem von Lucki gezeigten!
Ich gehe davon aus, das NI BeispielVIs bereitstellt, die auch funktionieren…

Was du bisher leider immer noch nicht mitgeteilt hast, ist die Bezeichnung deiner Hardware!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.04.2017, 14:10
Beitrag #12

Robo Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Apr 2017

2014 SP1
2017
DE



RE: Laufzeitmessung
Hallo Gerd,

das Beispiel-VI funktioniert natürlich, aber beim Übertragen auf mein Programm hat etwas anscheinend nicht gepasst. Meinen Versuch habe ich im letzten Post angehängt. Das ganze läuft ohne Probleme, wenn ich Input und Output unsynchronisiert starte.. Verbinde ich die beiden Stränge, so startet der AI-Task anscheinend gar nicht, denn ich erhalte keine Messwerte, obwohl die Schleife durchlaufen wird.
Als Hardware steht mir mittlerweile ein NI cRIO-9074 mit dem AI- NI9234 und AO-Modul Ni9260 zur Verfügung.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2017, 14:13
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.424
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitmessung
Hallo robo,

Zitat:Als Hardware steht mir mittlerweile ein NI cRIO-9074 mit dem AI- NI9234 und AO-Modul Ni9260 zur Verfügung.
Und wo genau verwendest du DAQmx - mit deinem cRIO?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2017, 14:44
Beitrag #14

Robo Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Apr 2017

2014 SP1
2017
DE



RE: Laufzeitmessung
Hallo Gerd,

ich hab das Gerät bisher nicht benutzt, sondern mit einem cDAQ-9188 getestet. Das war verfügbar und hat eine IEPE-Speisung, also für meine Schalldruckmessung geeignet.
Wenn du so fragst, vermute ich mal, dass das nicht kompatibel ist..

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2017, 15:09
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.424
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitmessung
Hallo robo,

das cRIO ist ein Realtime-Target - da läuft kein DAQmx drauf.
Dafür gibt es dort entweder die ScanEngine oder man programmiert gleich den FPGA selbst…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2017, 07:42
Beitrag #16

Robo Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Apr 2017

2014 SP1
2017
DE



RE: Laufzeitmessung
Hallo,

soo.. ich habe mit dem cDAQ-9188 und Ni 9234 weitergearbeitet. Anstatt die Laufzeit mit Mikrofon und Lautsprecher zu bestimmen, habe ich versuchsweise zwei Mikrofone verwendet.
Die Bestimmung der Laufzeit soll über die Anzahl der Samples erfolgen, die zwischen dem Überschreiten eines Schwellwertes bei den beiden Mikrofonen erstellt werden.
Das VI funktioniert zwar, aber die Abweichungen in den Ergebnissen sind sehr groß..
Welche Alternative kommt neben dem Abwarten eines Schwellwertes in Frage, wenn die Hardware keinen Analogtrigger unterstützt?
Der Ultraschallsensor an meinem Raspberry Pi gibt konstante Ergebnisse und kostet dabei nur einen Bruchteil der Hardware, die mir hier zur Verfügung steht... Wäre ich mit dem cRIO-9074 besser beraten?

Grüße


Angehängte Datei(en)
14.0 .vi  laufzeit2mikro.vi (Größe: 334,78 KB / Downloads: 171)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.05.2017, 08:22
Beitrag #17

GerdW Offline
______________
LVF-Team

Beiträge: 17.424
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitmessung
Hallo Robo,

Zitat:Das VI funktioniert zwar, aber die Abweichungen in den Ergebnissen sind sehr groß..
Was bedeutet "sehr groß"?

Zu deinem VI:
- ein Schieberegister ist nicht initialisiert
- ein Outputtunnel einer Case-Struktur ist "default if unwired"
Beides kann Einfluss auf die Ergebnisse deiner Rechnung haben.

Kannst du mal erläutern, was du da berechnest?
Wofür sind die beiden Schieberegister da? (Es soll ja im Allgemeinen als "gut" gelten, wenn man in Programmen Kommentare hinterlässt…)

Zitat:Der Ultraschallsensor an meinem Raspberry Pi gibt konstante Ergebnisse und kostet dabei nur einen Bruchteil der Hardware, die mir hier zur Verfügung steht...
Warum verwendest du den dannnicht, wenn du damit zufrieden bist?

Zitat:Wäre ich mit dem cRIO-9074 besser beraten?
Das cRIO-Chassis ändert nichts an der Messhardware - nur die Programmierung ändert sich von DAQmx zu Realtime/ScanEngine/FPGA…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2017, 08:55
Beitrag #18

Robo Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Apr 2017

2014 SP1
2017
DE



RE: Laufzeitmessung
Hallo Gerd,

die Ergebnisse variieren in einem Bereich +-50% vom erwarteten Wert..
Der untere Strang (Element 3, Signalverlaufsgraph 3) stellt das zweite Mikrofon dar. Sobald ein gewisser Schwellwert überstiegen wird, soll die Schleife verlassen und die Zahl des Samples weitergegeben werden. Schleifeniteration * Samples pro Schleife + Index des ersten Elements, welches den Schwellwert erreicht. Als Bsp.: 8 Schleifendurchgänge * 100 Samples pro Schleife + Sample Nr. 60 = 860. Dadurch erfahre ich, welches Sample die Schwelle als erstes überschreitet.

Die Berechnung für das erste Mikrofon läuft gleich ab, nur dass die case-Strukturen in der Schleife dafür sorgen, dass die Sampleanzahl nur beim ersten Überschreiten der Schwelle berechnet wird. Das hat den Grund, dass die Messung so lange weiterläuft, bis das zweite Mikrofon den Impuls erfasst hat.. Folglich würden die Werte am ersten fortlaufend überschrieben werden.

Nach der Schleife wird nur noch die Differenz der beiden Sampleanzahlen gebildet und mit delta T multipliziert.
Das berechnete v ist lediglich ein Test, die Schallgeschwindigkeit über eine Teststrecke von 1m zu bestimmen.

Das mit dem Wert 0 initialisierte Schieberegister wird beim Durchlaufen des case mit 1 addiert, und dient dann nur dazu, dass der case nicht erneut durchlaufen wird. Das nicht initialisierte Schieberegister habe ich dazu verwendet, die berechnete Sampleanzahl aus der Schleife weiterzugeben. Ohne würde schließlich der Wert 0 ausgegeben werden.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2017, 10:34 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2017 10:35 von GerdW.)
Beitrag #19

GerdW Offline
______________
LVF-Team

Beiträge: 17.424
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitmessung
Hallo Robo,


ok, schau mal ins angehängte VI: das zweite Schieberegister verwendet jetzt einen boolschen Wert…

Zitat:die Ergebnisse variieren in einem Bereich +-50% vom erwarteten Wert..
Liegt das jetzt an deiner Rechenroutine - oder sind das einfach die Messwerte, die du dort vom DAQmx einliest?
Sind die Messwerte an sich "stimmig"?


Angehängte Datei(en)
14.0 .vi  laufzeit2mikro.vi (Größe: 182,7 KB / Downloads: 152)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2017, 14:12
Beitrag #20

Robo Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Apr 2017

2014 SP1
2017
DE



RE: Laufzeitmessung
Hallo Gerd,

ich habe das VI noch etwas überarbeitet und auch deine Verbesserung übernommen, das macht es doch etwas übersichtlicher.
Die Messwerte an sich sind stimmig. Ein Problem ist wohl der sehr improvisierte Versuchsaufbau auf dem Schreibtisch und die kurze Messstrecke.
Zudem ist es wohl problematisch den gleichen Schwellwert an beiden Mikrofonen zu setzen. Den Aufzeichnungen nach ist der Schallpegel an Mikrofon Nr.2 deutlich niedriger, als bei Mikrofon Nr.1.
Besonders bei geringen Lautstärken löst das erste Mikrofon bereits bei der Steigung eines Peaks aus, während das zweite erst kurz vor dem Maximum reagiert. Die Schwellwerterkennung muss also noch angepasst werden, bzw. durch eine Alternative ersetzt werden.. Vlt die Steigung?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: