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 

Encoder Auslesen



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!

04.04.2013, 12:09
Beitrag #1

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 103
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
Encoder Auslesen
Hallo,

ich bräuchte mal wieder etwas Hilfe. Ich versuche aus einem Encoder-Signal (A und B, jeweils 500 Inkremente) die Drehzahl zu bestimmen.
Dazu nutze ich die zwei Counter von einem Labjack U3. In meiner While-Schleife subtrahiere ich dann den alten Counter-Wert vom Neuen
und berechne mir daraus die Drehzahl, da ich ja weiß, dass die Schleife 0,5 Sekunden lang läuft. Dazu reicht ja eigentlich ein Counter. Habe einen
Screenshot von einem VI angehängt.. stimmen diese Überlegungen schonmal soweit?

Mein Problem ist jetzt aber, dass ich dieses VI später in ein anderes komplexeres Programm integrieren will. Und da fängt es schon damit an,
dass meine While-Schleife den Drehzahlwert ja überhaupt nicht ausgibt.. da könnte ich zwar mit lokalen Variablen arbeiten, aber man liest immer,
dass man diese, wenn überhaupt, nur vorsichtig nutzen soll..

Das nächste Problem betrifft die Laufzeit.. also für meine Rechnung muss ich ja gewährleisten können, dass meine Drehzahl-Mess-Schleife genau
0,5 Sekunden lange läuft.. ist das dann auch in einem größeren Programm der Fall?

Später würde ich gerne auch noch mit dem zweiten Counter die Drehrichtung bestimmen, habe dazu aber noch keine so wirkliche Idee.. Das wichtigste
ist mir jetzt aber vorerstmal die korrekte Bestimmung der Drehzahl und ob meine Überlegungen dazu wenigstens schonmal halbwegs Sinn machen..


Schonmal Danke für die Hilfe..


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.04.2013, 12:50 (Dieser Beitrag wurde zuletzt bearbeitet: 04.04.2013 12:50 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Encoder Auslesen
Hallo creo,

Zitat:.. stimmen diese Überlegungen schonmal soweit?
Ja.

Zitat:Und da fängt es schon damit an, dass meine While-Schleife den Drehzahlwert ja überhaupt nicht ausgibt.
Datenaustausch zwischen parallelen Schleifen wird hier oft diskutiert. Da findest du jede Menge Threads zum Thema. Ich verwende gern FGVs, man kann auch globale Variablen, Queues oder Notifier nutzen - je nach gewünschter Architektur. (Ich gehe davon aus, dass die gezeigte Routine ein subVI wird...)

Zitat:also für meine Rechnung muss ich ja gewährleisten können, dass meine Drehzahl-Mess-Schleife genau 0,5 Sekunden lange läuft.. ist das dann auch in einem größeren Programm der Fall?
Das ist unter Windows weder bei einem kleinen noch bei einem großen Programm der Fall: Windows wird dir immer dazwischenhauen...
Du kannst:
- eine TimedWhileLoop nehmen, die sollen etwas genauer arbeiten und liefern dir gleich Hinweise zu "late execution" etc.
- die Timestamps ebenfalls in einem Schieberegister speichern und nicht nur delta(Counter), sondern auch delta(Zeit) berechnen, statt mit einer Konstanten 500ms vorauszusetzen

Zitat:gerne auch noch mit dem zweiten Counter die Drehrichtung bestimmen ... Encoder-Signal A und B
Dazu nutzt man eigentlich nur einen Counter, der aber sowohl für A als auch B Eingänge hat! Der Counter zählt dann automatisch hoch oder runter. Ansonsten musst du auf beiden Signalen auf Flanken achten, bzw. auf welchen Signal die Flanke zuerst erscheint. Könnte fummelig werden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.04.2013, 13:05
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Encoder Auslesen
(04.04.2013 12:50 )GerdW schrieb:  Hallo creo,
Zitat:.. stimmen diese Überlegungen schonmal soweit?
Ja.
Diese Aussage korrigiere ich auf "ja, aber erst ab dem 2. Schleifendurchlauf. Der erste Durchlauf wird in der Regel weniger als 500 ms dauern.

Ach ja, und falls mal die Schleife länger als 500 ms Durchführungszeit braucht, dann wartest du natürlich insgesamt 1000 ms.

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
04.04.2013, 13:12
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Encoder Auslesen
Hallo Jens,

aber creos Überlegungen sind doch zutreffend, oder?
Nur an der Umsetzung gibt es ein paar Kritikpunkte... Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.04.2013, 13:26
Beitrag #5

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 103
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
RE: Encoder Auslesen
Hey.. danke für die AnregungenSmile

habe ein Beispielprogramm gefunden, dass entsprechend der Drehrichtung positiv bzw. negativ zählt, also ist das
Drehrichtungsproblem gelöst.

Die Zeit für einen Schleifendurchlauf messe ich jetzt mit und um die Werte aus der Schleife herauszugeben, habe ich
mich für Melder entschieden..


Angehängte Datei(en) Thumbnail(s)
   
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
  Encoder werte nach bestimmte steps in Array speichern ziarehmann 4 5.361 09.07.2017 23:33
Letzter Beitrag: Trinitatis
  Gray Code in Binär - SSI Encoder Nullstrom 11 12.550 19.12.2014 11:42
Letzter Beitrag: Nullstrom
  myRIO und quad encoder lazaii 1 3.579 26.05.2014 09:45
Letzter Beitrag: GerdW

Gehe zu: