LabVIEWForum.de - Beschleunigung aus Geschwindigkeit berechnen

LabVIEWForum.de

Normale Version: Beschleunigung aus Geschwindigkeit berechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

ich muss die Beschleunigung eines Autos auf einem Rollenprüfstand (Dyno) messen, der Prüfstand stellt aber nur die Geschwindigkeit (über LAN) zur Verfügung,
somit muss ich der erhaltenen Geschwindigkeits-Array differenzieren.

Dabei gibt es ein Problem, ich lese die Geschwindigkeit 10 mal pro Sekunde aus, wenn die Frequenz von der Schleife bestimmt wird ist das auch ok,
aber wenn die Schnittstelle mal "Klemmt" und aus den 10Hz mal 9 oder 8 Hz werden und ich das als 10Hz Signal differenziere,
bekommt die Beschleunigung gleich einen Fehler von 10 oder 20% - das ist nie im Leben akzeptabel.

Wie kann ich es machen dem Signal einen Zeitstempel zu verpassen?
Also meine Idee ist eigentlich einen zweiten Array zu loggen, der die Zeit aufnimmt, und die beiden Signale dann auf 1 Hz zu samplen und erst dann differenzieren.


Bitte um Ideen und Vorschläge....
Was meinst Du mit "auf 1 Hz samplen"? Wie willst Du das machen? Unsure

Gruß Markus
Wenn ich es richtig verstehe, dann ist dein Hauptproblem eventuelle Laggs beim Einlesen der Daten.
Wie oft bekommst du welche Werte vom Prüfstand? Einzelwerte oder Array? Stetig oder unstetig?
Auf welchem System willst du die Applikation laufen lassen? Windows PC? CRIO? ...? Bei Windows wirst du immer Abweichungen haben, da es kein RT-System ist. Bei einer Abfragefrequenz von 10Hz sollte es hier aber kein Problem geben, sofern die Datenblöcke überschaubar sind.

Wenn du mehr Infos zum Gesamtszstem und zu deinem VI lieferst, dann können wir dir wesentlich besser helfen.
Falls Du Dein VI nicht hochladen darfst, dann bau halt ein BeispielVI anhand dessen du dein Problem verdeutlichst und lade es hier hoch.

Grüße,
Ich habe meine Idee in das unten angehängte Beispiel-VI eingebaut.
Es ist bei weitem noch nicht ausgereift, weil ich das Zeitsignal quadriere, und da die Zeit mehr oder weniger linear ist, sollte es auch etwas in der art einer Parabel herauskommen,
tuts aber nicht, die Ableitung davon (in der 2ten Sequenz) sollte dann eine Gerade ergeben.

Ich lösche die ersten und letzten Elemente der beiden Arrays, weil das Zeitarray anfangs einen beliebigen Wert hat, diesen Wert ziehe ich von den anderen Werten ab, das wäre für das Differenzieren nicht wirklich notwendig, aber damit die Erhoffte Parabel einen vernönftigen Wertebereich bekommt hab ich da eingebauf.

Wie gesagt, es gabt da noch irgendwo Fehler, aber ich komme momentan nicht drauf

(Die Schleifenzeit habe ich Absichtlich jetzt so klein gewählt, damit man Programmbedingt unterschiedliche delta t sehen kann, bei 1Hz ist delta t immer gleich)

Lv71_img
So, ich habe das VI noch mal bearbeitet und jetzt kommt auch eine Parabel heraus und so wie es aussieht sollte das so auch funktionieren.
Bei dem VI mit der Nummer 3 habe ich auch die tatsächliche Abfrage der Geschwindigkeit eingefügt.
Ist diese Lösung akzeptabel/schnell genug, oder gibt es da bessere möglichkeiten - nicht unbedingt sauberer aber schneller?
Lv71_img
LabVIEW-technisch geht dein 2. (und auch 3.) VI deutlich einfacher und kompakter:
[attachment=25741]
Gruß, Jens
Referenz-URLs