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 

NI Beispiel Quadraturencoder



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.05.2012, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2012 10:58 von dimitri84.)
Beitrag #1

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
NI Beispiel Quadraturencoder
Hallo Jungs,

ich habe mir folgendes auf der ni Seite durchgelesen: "Quadrature Encoder Velocity and Acceleration Estimation with CompactRIO and LabVIEW FPGA" um ein bisschen in das Thema reinzukommen. Beim 2. Code Beispiel (figure 8) bin ich ins Grübeln gekommen.

Meiner Meinung nach wird dort der Fehler gemacht, dass man beim Messen der Intervalldauer immer eine Schleifeniteration "aussetzt".

Ich hätte es so gemacht:
   

Was meint ihr?



Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.05.2012, 15:30
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: NI Beispiel Quadraturencoder
Da wäre noch eine Frage zu der Methode

Folgendes Problem:
Man nehme z.B. einen Druchflusssensor - dieser liefert die beiden Kanäle A und B und man geht so vor wie im Artikel beschrieben. Jetzt arbeitet der Algorithmus so, dass wenn keine Zustandänderung registriert wird, der alte Wert "gehalten wird". Viel Durchfluss produziert viel Signal und das Halten der Messwerte geschiet über nur sehr kurze Zeitintervalle. Jetzt geht der Durchfluss aber langsam gegen Null und die TTL Signale kommen nur noch mit einer Frequenz von 10 Hz und weniger - d.h. es wird über wesentlich längere Zeiträume der Messwert gehalten. Geht der Druchfluss einmal runter auf Null und dann wieder rauf auf den alten Wert entsteht eine Hysterese, die manchmal entscheidend stört.

Gibt es etablierte Verfahren, um Messwerte, bei nicht vorhandenen Signal, nicht einfach nur zu halten sondern anhand der letzten Werte zu extrapolieren? Ist das möglich auf einer FPGA Karte?


Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2012, 16:17
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: NI Beispiel Quadraturencoder
Push.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2012, 18:49
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: NI Beispiel Quadraturencoder
(13.05.2012 10:57 )dimitri84 schrieb:  Hallo Jungs,

ich habe mir folgendes auf der ni Seite durchgelesen: "Quadrature Encoder Velocity and Acceleration Estimation with CompactRIO and LabVIEW FPGA" um ein bisschen in das Thema reinzukommen. Beim 2. Code Beispiel (figure 8) bin ich ins Grübeln gekommen.

Meiner Meinung nach wird dort der Fehler gemacht, dass man beim Messen der Intervalldauer immer eine Schleifeniteration "aussetzt".

Ich hätte es so gemacht:


Was meint ihr?
Im Prinzip hast du wohl Recht, ob es allerdings praktisch jemals einen Unterschied machen wird, das ist zu bezweifeln.
Der FPGA läuft üblicherweise mit 40 MHz, da dürfte es für "Frequenz-Abschätzungen" relativ egal sein, ob du eine Schleife aussetzt oder nicht, die Wartezeit dürfte in der Regel wesentlich höher gewählt sein.
Es könnte sogar sein, dass die Lösung von NI zwecks der hohen Parallelisierung im FPGA weniger Tickcounts pro Durchlauf braucht als dein Vorschlag. Aber sicher bin ich mir da nicht. Womit wir am Ende wieder bei derselben Auflösung für Geschwindigkeit und Beschleunigung wären, aber bei einer besseren Auflösung für die Position.

Gruß, 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
14.05.2012, 21:50
Beitrag #5

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: NI Beispiel Quadraturencoder
Danke für die Antwort!
(14.05.2012 18:49 )jg schrieb:  Im Prinzip hast du wohl Recht, ob es allerdings praktisch jemals einen Unterschied machen wird, das ist zu bezweifeln.
Der FPGA läuft üblicherweise mit 40 MHz, da dürfte es für "Frequenz-Abschätzungen" relativ egal sein, ob du eine Schleife aussetzt oder nicht, die Wartezeit dürfte in der Regel wesentlich höher gewählt sein.
Stimmt, die Größenordnungen hatte ich garnicht so bewusst auf dem Schirm.

Zitat:Es könnte sogar sein, dass die Lösung von NI zwecks der hohen Parallelisierung im FPGA weniger Tickcounts pro Durchlauf braucht als dein Vorschlag. Aber sicher bin ich mir da nicht. Womit wir am Ende wieder bei derselben Auflösung für Geschwindigkeit und Beschleunigung wären, aber bei einer besseren Auflösung für die Position.
Ist ja interessant, ich dachte ein Schieberegister weniger und eine Auswahl weniger wären auf jeden Fall weniger Ticks.


Gruß
dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen 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
  Beispiel von NI mit HDL Node funktioniert nicht Alexey 3 4.998 08.12.2008 18:53
Letzter Beitrag: Alexey

Gehe zu: