NI Beispiel Quadraturencoder - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Module (/Forum-LabVIEW-Module) +---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA) +---- Thema: NI Beispiel Quadraturencoder (/Thread-NI-Beispiel-Quadraturencoder) |
NI Beispiel Quadraturencoder - dimitri84 - 13.05.2012 10:57 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: [attachment=39780] Was meint ihr? Gruß dimitri RE: NI Beispiel Quadraturencoder - dimitri84 - 13.05.2012 15:30 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 RE: NI Beispiel Quadraturencoder - dimitri84 - 14.05.2012 16:17 Push. RE: NI Beispiel Quadraturencoder - jg - 14.05.2012 18:49 (13.05.2012 10:57 )dimitri84 schrieb: Hallo Jungs,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 RE: NI Beispiel Quadraturencoder - dimitri84 - 14.05.2012 21:50 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.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 |