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 

Beschleunigungsmessung über Soundkarte (ICP-Sensor)



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!

13.11.2007, 16:38
Beitrag #1

MelOl Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Oct 2007

7.00
2007
DE

26131
Deutschland
Beschleunigungsmessung über Soundkarte (ICP-Sensor)
Hallo zusammen!
Ich bin ein relativ blutiger LabVIEW-Anfänger und habe mich bei folgendem Problem festgefressen: :-)

Szenario:
Ich möchte für einen Versuch eine Messung erstellen, bei der ich Position und Beschleunigung miteinander in Beziehung setze. Im Klartext bekommt jemand die Aufgabe sich mit einem Stift o.ä. einem bestimmten Punkt zu nähern bzw. ihn zu treffen. Während der Aktion will ich den Weg grafisch aufzeichnen und parallel dazu die Beschleunigung bzw. das Zittern der Person.
Die Wegaufzeichnung ist kein Problem, dazu benutze ich ein Positionsmesssystem, das mir fortlaufend die Position eines Markers im Raum liefert, dass ich auch nach belieben umrechnen oder grafisch darstellen kann (ich zeichne zum Beispiel den zurückgelegten Weg in der Draufsicht in einen Graphen).

Problem:
Mein Problem ist jetzt die Beschleunigungsmessung. Ich benutze einen ICP-Beschleunigungsmesser von PCB, der mir normalerweise eine zur Beschleunigung proportionale Spannung liefert. Ich habe allerdings keine Möglichkeit, Spannungen zu messen, mit Ausnahme der Soundkarte. Ich weiß, dass ich damit nicht die tatsächlichen Werte des Sensors erhalte (es sei denn, ich könnte die Messung eichen, aber relative Werte tuns auch erstmal).
Ich bin inzwischen soweit, dass ich das Signal der Soundkarte auslesen kann, Filtern und die letzten Grundschwinungen entferne.

Ich lese die Daten der Soundkarte mit 44.1kHz, 16bit/Sample, mono aus. Das sind natürlich relativ viele Werte, und dementsprechend "flitzen" die Amplituden-Peaks (wenn ich den Sensor bewege) sehr schnell durch den Graphen und sind wieder wech :-). Wenn ich alle Daten in nem Array speichere wird das natürlich ziemlich schnell ziemlich groß und das Programm sehr langsam.. Da die Messung aber durchaus mal länger sein kann, kommt das also nicht in Frage.. Ich habe mir gedacht, ich "stauche" den Beschleunigungsverlauf, in dem ich beispielsweise nur 10 Werte pro Sekunde speichere, und diese Werte dann den Mittelwert der "rausgeworfenen" Samples enthalten.
Und das kriege ich nicht hin. Ich lese seit Tagen hier im Forum und sonstwo alles, was ich zu dem Thema finden konnte, aber es klappt nix.

Allerdings habe ich auch noch ein paar Verständnisschwierigkeiten dabei:
Momentan benutze ich eine große while-Schleife in der ich direkt die Daten der Soundkarte lese und verarbeite. Diese Schleife hat eine Verzögerungszeit von 0,01s. Wieviele Samples pro Sekunde habe ich denn dann immer vorliegen? Oder kommen die trotzdem quasi konstant? Ich hatte mal probiert, eine Verzögerungszeit von 250ms zunehmen, da dachte ich mir, ich habe in jedem Durchlauf 11.025 Samples (1/4 von den 44.1kHz) vorliegen. Aber wenn ich dann irgendwelche VIs benutzt habe, wo ich die Samplezahl angeben sollte, dann hab ich da immer Fehler gekriegt..ich musste die dann so auf 100 Samples runterschrauben. Oder hätte ich nach den 250ms die while-Schleife verlassen müssen und in einer neuen dann die Werte verarbeiten?

Ich habe mal mein VI angehängt. Das is nich ganz so sauber, ist auch mein erstes :-)
Im unteren Teil werden einfach die Samples von der Soundkarte eingelesen (die SoundAPI benutzt auch nur das SI-Read zum auslesen, ich fand das nur übersichtlicher, ich weiß nich, ob das bei allen LabVIEW-Versionen dabei is). Die Daten "Zeitsignal Kanal 1" sind dann meine Samples (allerdings weiß ich eben nich, in welcher Form und wieviele, siehe Verständnisschwierigkeiten). Der mittlere Teil dient zum filtern, das hab ich aus irgendnem anderen VI geklaut und angepasst, funktioniert ganz gut. Der obere Teil sorgt nur dafür, das zu kleine Amplituden ausgeblendet werden, ich benutze dazu die Hüllkurve und leite das Signal nur weiter, wenns nich in der Hüllkurve is (also invertiert quasi, ich hab nix besseres gefunden als das so zu machen), in dem Fall, dass das Signal in der Hüllkurve ist, wird einfach ein Nullsignal (im True-Case) gesendet.
Das zu bearbeitende Signal ist also das ganz oben rechts. Davon möchte ich jetzt eine Kurve haben, die mir zb. mit 10 Werten pro Sekunde einen Verlauf der gemittelten Werte zeigt und mir sozusagen den Beschleunigungsverlauf anzeigt.
Ach so, wo ich gerade dabei bin, diese Werte möchte ich dann noch Zeitsynchron mit den Positionsdaten in eine Datei schreiben (Positionsdaten schreib ich schon raus), aber ich glaube, das führt dann hier erstmal zu weit.

So, das war ne Menge Text, ich hoffe, ich konnte mich verständlich ausdrücken und ihr habt noch Lust, soviel durchzulesen :-)

Schönen Feierabend & Gruß aus Oldenburg,
Melvin


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.11.2007, 17:29
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Beschleunigungsmessung über Soundkarte (ICP-Sensor)
:offtopic:Wie genau und wie schnell brauchst du die Signale deines Beschleunigungssensors? Dann wären vielleicht die Einstiegskarten USB 6008/6009 eine Alternative?

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sensirion I2C Sensor auslesen Max21 1 2.663 09.09.2022 10:38
Letzter Beitrag: GerdW
  Trigger bei einer Beschleunigungsmessung Devo 3 4.681 09.11.2019 12:17
Letzter Beitrag: Devo
  Entfernung messen mit HC-SR04 Sensor Unplugged 4 5.403 30.12.2018 17:44
Letzter Beitrag: Unplugged
  LVDT sensor messung Labview_pr 2 4.213 07.02.2018 13:32
Letzter Beitrag: HVo
  Dauerlauf Zylinder und Sensor ck1984 8 6.940 18.07.2016 09:25
Letzter Beitrag: ck1984
  Energiezählung mittels Ferraris Sensor manu986 3 5.324 14.06.2016 19:37
Letzter Beitrag: jg

Gehe zu: