Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Position aus Frequenz (kHz) berechnen, geht das ? (https://www.delphipraxis.net/198308-position-aus-frequenz-khz-berechnen-geht-das.html)

myicq 23. Okt 2018 10:23

Position aus Frequenz (kHz) berechnen, geht das ?
 
Hallo alle,

ich kommuniziere mit eine PCI-Karte. Hier läuft eine FPGA wo ich die aktuelle Frequenz einer Drehgeber auslesen kann.

Ich kenne natürlich die Wert "Schrittweite pro impuls" - oder umgekehrt "impulse pro mm".

Geht es eine absolute Position dadurch auszurechnen ?

Ich habe jetzt:

Delphi-Quellcode:
  myFrequencyInKHZ := read_the_card($0040);  // this is frequency in kHz

{
                                 1000                         mm
                           10   ------ *   60   *    0.008 ----------
                                   s                       pulse
}

  mySpeed :=  myFrequencyInKHZ * 60 * encoderStepValue;  // m/min

  mySpeedMM := mySpeed * 0.0166666667; //  millimeters / millisecond
Ich kann die Werte immer und sehr schnell lesen.

Ich muss auszurechnen, aus eine bestimmten Zeitpunkt, die gefahrene Abstand (in mm)

Ich vermute es ist mit Zeitberechnung irgendwie möglich, sprich (in Pseudokode).

Delphi-Quellcode:
  mytime := now;
  deltatimeMSec := mytime - lastreadtime;    // zB in mSec
  lastreadtime := mytime;


                           mm
       distanceMM =  NN -----  *   XXX msec
                          msec
}

  movedDistance := deltatimeMSec * mySpeedMM;

Hoffentlich zu verstehen :) Danke für jede hilfe!

TiGü 23. Okt 2018 10:39

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Was ist deine Frage? :?:

Wenn du die zurückgelegte Strecke berechnen kannst und du höchstwahrscheinlich weißt, wie viel Weg maximal zurückgelegt werden kann (zwischen 0 und X mm) dann ist doch alles klar, oder?

myicq 23. Okt 2018 11:04

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Zitat:

Zitat von TiGü (Beitrag 1416377)
Was ist deine Frage? :?:

Wenn du die zurückgelegte Strecke berechnen kannst und du höchstwahrscheinlich weißt, wie viel Weg maximal zurückgelegt werden kann (zwischen 0 und X mm) dann ist doch alles klar, oder?

Ja, die Frage ist ob meine Idee von berechnung der zerückgelegte Strecke korrekt ist ?

dummzeuch 23. Okt 2018 11:08

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Eigentlich kannst Du damit nur die aktuelle Geschwindigkeit ermitteln. Die kannst Du dann allerdings integrieren und damit die Strecke ausrechnen.

Drehgeber? Kommt mir so bekannt vor. Darf ich fragen, worum es dabei geht? Wir benutzen sowas um den "Messmeter" von Messfahrzeugen zu ermitteln, allerdings geschieht dieser Schritt in einem Hardware-Modul, so dass in Delphi bereits der Messmeter ankommt.

Rollo62 23. Okt 2018 14:25

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Zitat:

Geht es eine absolute Position dadurch auszurechnen ?
Was genau ist denn deine Hardware:
Wenn es ein "relativer" Drehgeber ist (das was ich unter diesem Begriff verstehe)n dann muss der zuerstmal auf eine Referenzposition genullt werden.
Es gibt aber auch absolute Drehgeber, die funktionieren dann aber normalerweise nicht nur mit einfachen Up/Down Zählern.

franktron 23. Okt 2018 14:36

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Ist das ein Normaler Drehgeber. Wenn ja dann muss man nur die Anzahl der Impulse Zählen die Frequenz ist da egal

myicq 24. Okt 2018 07:29

AW: Position aus Frequenz (kHz) berechnen, geht das ?
 
Zitat:

Zitat von franktron (Beitrag 1416410)
Ist das ein Normaler Drehgeber. Wenn ja dann muss man nur die Anzahl der Impulse Zählen die Frequenz ist da egal

Leider muss ich über eine Hardware gehen wo ich kein Direktzugang zu Impulse habe. Sonnst natürlich korrekt und sehr einfach.

Update:
Das Problem habe ich übrigens, soweit ich abmessen kann, gelöst. Ich errechne mein Zeit wie das Pseudokode oben, aber TTimeDate (now) war nicht genau wie erwünscht.

Statdessen habe ich diese Code werwendet, und dann passt es, innerhalb wenige mm..

https://www.thoughtco.com/accurately...d-time-1058453


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz