LabVIEWForum.de
Beschleunigung, Integration - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Beschleunigung, Integration (/Thread-Beschleunigung-Integration)

Seiten: 1 2


Beschleunigung, Integration - sneube - 30.08.2006 06:33

Hallo,
ich weiß, dass es zum Thema Beschleunigungsaufnahme mit Sensoren schon Beiträge gibt, aber mein Problem liegt etwas anders.
Mit Hilfe von zwei ICs kann ich die Beschleunigung in x-y-und z-Richtung aufnehmen. Mit Hilfe einer Messbox und LabVIEW kann ich die Beschleunigungen in alle drei Richtungen als Graph anzeigen, in ein Array schreiben, usw....
Nun möchte ich aber diese Funktionen zwei Mal integrieren, damit ich erstens ein v-t-Diagramm und ein s-t-Diagramm erhalte. Für die Zeiterfassung würde ich einen Timer verwenden. Doch leider ist die Sache nicht ganz so einfach:
Ich kann zwar diese fertigen VIs benutzen, es wird auch etwas integriert, aber das ist für mich nicht brauchbar, da die Sensoren in Ruhe nicht exakt 0g liefern, sondern entweder etwas in den pos oder neg Bereich gehen. Benutze ich diese Integratoren, bin ich schon nach Sekunden auf Werten, die über 10000 liegen.
Vielleicht kann mir jemand helfen
Grüße
Stefan

LV Version 7.1


Beschleunigung, Integration - Lucki - 30.08.2006 07:40

Dazu kann ich nur allgemein etwas sagen, das hat mehr mit Physik und nichts mit als LabVIEW zu tun.
Zur Vereinfachung argumentiere ich nur für eine Achsrichtung
Es gibt zwei Möglichkeiten das Problem zu lösen:
1) statisch
Da brauchst außer der normalen Taste "Rücksetzen", mit der die Ausgänge beider Integratoren auf Null gesetzt werden, noch eine zweite Taste "Offset-Kalibrierung". Wenn sie gedrückt wird, dürfte sich der Sensor nicht bewegen. Dann läuft folgendes ab: Der erste Integrator, also der Geschwindigkeitsausgang, wird über die Zeitdauer T beobachtet, und nach dieser Zeit wird die Geschwindigkeit V gelesen. Der Quotient V/T wäre dann der Beschleunigungs-Offset der Messeinrichtung. Dieser Offset muß gespeichert und bei künftigen Messungen immer von der vom Sensor abgegebenen Beschleunigung subtrahiert werden. Die Taste ist unbedingt erforderlich, ein einmalig ermittelter fester Offset-Wert wäre nicht gut, da der Offset z.B. temperaturabhängig ist.
2) dynamisch
Das funktioniert nur, wenn sich der Sensor die meiste Zeit im Positionsnull befindet und er sich bei den Messungen nur vergleichwseise kurz bewegt.
In Diesem Fall könnte man die untere Grenzfrequnz beider Integratoren beschneiden. Sie haben dann die Eigenschaft, sich immer von selbst auf den Wert Null zurückzubewegen. Die Grenzfrequenz muß im Vergleich zur Messdauer so weit unten liegen, daß diese Verhalten während der Dauer einer Messung nicht stört.
3) Kombination beider Methoden.
Innerhalbe eines Positionsfensters um den Nullpunkt herum wird der Offset dynamisch korrigiert, wenn aber eine gewisse Postion anliegt, dann wird dieses dynamische Rücksetzen abgeschaltet, so daß bei längerem Verweilen an einer außerhalb des Nullpunktes liegender Position kein Fehler entsteht. Das ist aber dann schon die Höhere Schule und nicht mehr nur die einfache Lösung.


Beschleunigung, Integration - bierber - 30.08.2006 08:04

Also ich will dich jetzt nicht entmutigen aber ich arbeite nun schon knapp 3Monate an dem Problem. Und habe bis jetzt keine Lösung dafür. Was bei mir zu relativ akzeptablen Werten geführt hat war die entfernung des Integrier VI'S und die Annahme das zwischen 2 Meßpunkten eine konstante Beschleunigung herscht. Dann kannst du mit der Physikformel arbeiten.

Ich häng dir mal mein VI an mit dem ich das mache kannst es ja mal testen.
Dem VI übergibts du nur das Array mit den Daten und legst an die beiden anderen eingänge einmal den zeitlichen Abstand der Meßwerte und eine Auswahlbox die entscheidet ob a v oder s angezeigt wird.

kannst ja mal probieren. Vielleicht hab ich auch ein Fehler gemacht oder was übersehen. Also wenn du zu einer zufriedenstellenden Lösung kommst dann setzt sie bitte hierein


Beschleunigung, Integration - sneube - 30.08.2006 09:38

Hallo Lucki,
erstmals danke für deine Hilfe.
es ist mir schon klar, dass ich einen Offset von zB der Geschwindigkeit abziehen muß, da ja der Wert an einem Punkt im v-Diagramm die Fläche unter dem a-Graph in einem Definitionsbereich ist.
Aber ich denke, es ist schwer zu realisieren, denn ich müsste ja genau wissen wann der Sensor im Ruhezustand ist. Gerade durch die Integration möchte ich unter anderem wissen, wann die Geschwindigkeit konstant ist. Natürlich könnte man sagen, schau auf den Graph, wenn man im v-Diagramm eine Gerade hat, ist die Geschwindigkeit konstant. Ich glaube es ist nicht ohne weiteres möglich, durch den Sensor und Integratoren, die bei LabVIEW mitgelieft sind, genau eine abgefahrene Strecke zu ermitteln.
Ich glaube, man kommt mit der Idee von Bierber zum Ziel, in dem man die Formel nimmt und die Sensorwerte als Array dieser Formel übergibt. Was meinst du dazu?
Grüße
Stefan


Beschleunigung, Integration - bierber - 30.08.2006 10:01

Hallo hat sich das VI mal jemand angesehen?

irgendwas stimmt doch da nicht. oder ist es normal das mein Weg immer so fast so ähnlich aussieht wie meine Geschwindigkeit? das kann doch nicht sein. Wenn ich mit konstanter Geschwindigkeit fahre muß doch ein steigender Weg dabei herauskommen.

Mal 3 Bilder von einer Messung a,v und s


Beschleunigung, Integration - Lucki - 30.08.2006 16:42

Du wirst nicht darum herumkommen, für Deine Apparatur eine Kalibrier-Umgebung zu schaffen. Ich kann mir nicht vorstellen, wieso es nicht möglich sein soll, das sich bewegende Ding, auf dem der Sensor sitzt, nicht mal für eine kurze Zeit ruhig zu stellen.
Der Sensor könnte sich während der Kalibrierung sogar bewegen, man muß nur wissen wohin.
Beipiel: Zur Zeit t0 hat der Sensor die Lage X0 und die Geschwindigkeit 0 (bei v0<>0 würde die Formel noch komplizierter). Zur Zeit t1 hat er die Lage x1, die Messung zeigt aber die fehlerhafte Lage x1' an. Dann ist x1' - x1 der Lagefehler, von dem angenommen wird, daß er durch einen konstanten Beschleunigungs-Offsetfehler entstanden ist. Nach der Formal (x1'-x1) = a_offset/2 * (t1-to)^2 läßt sich der Beschleunigungs-Offset leicht berechnen.
Es geht aber genauso nur mit den Geschwindigkeiten, denn es kann angenommen werden, daß die Intergratioen über die Geschwindigkiet fehlerfrei ist, also nur ein Korrekturwert für die erste Integration zu zu ermitteln ist.
Also für die gleiche Situation wie oben gilt dann: (v1'-v1) = a_offset * (t1-t0).

Bierber macht wohl dasselbe, und er hat auch noch in einem anderen Punkt recht: Man braucht hier kein besonderes Integrations-VI zu verwenden. Bei entsprechend vielen Stützpunkten, z.B 1000 oder mehr, genügt es, die Werte einfach zu summieren und mit dt zu multipizieren. Wenn Du's noch etwas genauer haben möchtest, dann nimmst Du vom ersten und letzten Wert nur die Hälfte, oder läßt wenigstens einen der beiden weg, denn Du hast für die Zeitdauer N*dt immer N+1 Messwerte, da ist einer zu viel.

Es wäre von Vorteil, wenn Du das Kind beim Namen nennst, also ich meine damit die Anwendung, um die es geht. Dann könnte man noch qualifizierter helfen. Oder ist das alle hochgeheim?


Beschleunigung, Integration - Lucki - 30.08.2006 18:52

' schrieb:hat sich das VI mal jemand angesehen?

Ja, habe ich. die Formel s=a/2 * t^2 läßt sich so nicht anwenden, um die zweimalige Integration kommt man nicht herum. Gleich grauenhaft sind allerdings auch die von LV mitgelieferten Integrations-VIs, was da herauskommt kann ich nicht nachvollziehen. Ich habe deshalb ein Integrations-VI erstellt, und damit müßtest ihr beide glücklich werden - so hoffe ich.
[attachment=3123]
(zu den Integrations-VIs von LabVIEW: Jedes Kind weiß, daß ein Integral innnerhalb der Grenzen von t1=0 bis t2=0 Null ergeben muß, d.h. das Element Null des Integral-Arrays sollte in der Regel Null sein. Bei dem LV-VI hat man da aber schon irgendeinen Wert ungleich Null)


Beschleunigung, Integration - bierber - 31.08.2006 07:39

habs mal probiert mit deinem VI. Generell scheint es zu gehen hat aber auch den gleichen Fehler drin. Die kurve haut in eine Richtung ab


Beschleunigung, Integration - Lucki - 31.08.2006 09:21

' schrieb:habs mal probiert mit deinem VI. Generell scheint es zu gehen hat aber auch den gleichen Fehler drin. Die kurve haut in eine Richtung ab
Dann haben Sensor und/oder DA-Input einen Offset - was übrigens ganz normal ist. Er muß kompensiert werden. Wie? Ganz einfach: Kurve aufnehmen, während der Sensor in Ruhe ist. Der Offset äußert sich dann als scheinbare konstante Geschwindigkeitszunahme. Der Offset ist dann a_offset = V_end/T_end. Dieser Wert ist von jedem Abtastwert zu subtrahieren.


Beschleunigung, Integration - bierber - 01.09.2006 15:11

das kannst du so aber generell nicht sagen.

Ich hab zum Beispiel hin und wieder den Effekt, das die Geschwindigkeits kurve erst nach oben ab haut später dann aber doch nach unten geht. Wenn ich jetzt nun deine Technik verwenden würde könnte das anfänglich ja noch funktionieren, aber sobald sich die Steigung der Kurve änder hast du den Fehler wieder drin und wenn es blöd läuft sogar verstärkt.