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 

Quadratur Encoder: Counter Werte einzeln 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!

22.08.2014, 09:11 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2014 09:15 von Daniel_S.)
Beitrag #1

Daniel_S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2014

2012
2013
kA



Quadratur Encoder: Counter Werte einzeln auslesen?
Hi,
Als erstes das Setup: Ich verwende eine NI 6259 DAQ Karte und ein BNC 2110 Terminal um ein quadratur Signal aufzunehmen.

Ich habe das ganze bereits manuell zum laufen gebracht in dem ich A und B einzeln digital aufnehme und manuell mir mein Positionssignal berechne. Dazu habe ich einfach die 20Mhz Sample Clock genommen und meinen Encoder auf 200ns gestellt. Damit hatte ich 4 Abtastpunkte pro Bit, war also auf der sicheren Seite, funktioniert prima.

Nun sind 200ns nicht besonders toll weshalb ich mal die Counter ausprobieren wollte. Gesagt getan, DAQ-Assistent benutzt um die 80MHz Clock zu verwenden, scheint soweit auch super zu funktionieren, die Encoder Clock ist auf 60ns und der DAQ-Assistent gibt richtige Werte aus. Das VI das ich benutze ist im Anhang und heißt AquadB_one_value.

Jetzt werden die Daten die mir der DAQ-Assistent ausspuckt aber viel zu langsam ausgegeben, der durschnittliche Abstand ist 6us!
Gibt es eine Möglichkeit wie ich mir die Werte wirklich auch mit 80Mhz ausgeben lassen kann? Sodass jeder Wert sich wirklich nur um -1/0/1 unterscheidet?
Ich dachte das geht in dem ich n-Werte auslese so wie ich das vorher gemacht hatte, geht aber irgendwie nicht da mir mein VI einen Fehler liefert den es beim anfordern nur eines Wert nicht liefert o0
Der Fehler bezieht sich auf die Verbindung der Eingänge PFI9 und PFI10, ich verbinde diese, da mein Terminal nur die Eingänge FPI0-0 ausgibt. Ich verstehe aber nicht wieso es im n-werte fall einen Fehler liefert nicht aber wenn ich nur einen Wert anfordere.

Ich habe zusätzlich noch ein VI ausprobiert names Counter - Read Encoder und es leicht angepasst. Es läuft ist aber leider genauso langsam, ca. 6us Punktabstand.

Was mache ich falsch? Es scheint ja die Berechnung tatsächlich bei 80Mhz durchzuführen, da es bei Encoder Clock von 60ns noch richtige Werte gibt, ich würde nur gerne schneller diese Werte abfragen können. Dachte eben das geht indem ich n-Werte abfrage so wie ich es vorher "manuell" gemacht hatte und dann hinterher all diese auslese aber irgendwie klappt das nicht so recht. Kann mir jemand helfen? Bin langsam echt am verzweifeln Sad


12.0 .vi  Counter - Read Encoder.vi (Größe: 97,92 KB / Downloads: 359)


12.0 .vi  AquadB_one_value.vi (Größe: 48,94 KB / Downloads: 293)


12.0 .vi  AquadB_n_values.vi (Größe: 55,56 KB / Downloads: 278)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.08.2014, 07:25 (Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2014 07:48 von amadeus.)
Beitrag #2

amadeus Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jul 2014

1303
2014
EN

4942
Oesterreich
RE: Quadratur Encoder: Counter Werte einzeln auslesen?
Hallo Daniel. Vorab, ich beschäftige mich selbst erst seit 4 Wochen mit LabVIEW und weiß eigentlich auch nicht sehr viel.

Ich habe aber auch ein Projekt, wo es darum geht, die Flanken eines Encoders zu zählen.

Ich zähle jedoch nur Flanken der A-Spur, sample diese mit 10 kHZ und lese dann immer 100 Werte aus.

Ich hab dir mal ein kleines BSP VI gemacht, wie ich das vereinfacht gemacht habe.

Vielleicht bringt es dir ja was, wenn nicht, dann können dir die Profis bestimmt helfen Smile

freundliche Grüße

amadeus

Edit: hoffentlich habe ich das mit dem konvertieren richtig gemacht Smile, Danke GerdW für den Tipp!


Angehängte Datei(en)
13.0 .vi  Encoder_bsp.vi (Größe: 25,82 KB / Downloads: 332)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.08.2014, 07:29 (Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2014 07:30 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Quadratur Encoder: Counter Werte einzeln auslesen?
Hallo amadeus,

Daniel verwendet laut seinem Profil (und auch in seinen Attachments) LV2012. Du musst ihm das VI also noch konvertieren.

Wenn du das schon machst: ich würde LV2011 bevorzugen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.08.2014, 13:37
Beitrag #4

Daniel_S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2014

2012
2013
kA



RE: Quadratur Encoder: Counter Werte einzeln auslesen?
Hi amadeus,
danke für die Antwort! Wie Gerd geschrieben hat, kann ich die Datei mit meinem LV 2012 leider nicht öffnen Sad
Gibt es einen Grund wieso du die Flanken nur mit 10kHz ausliest? Und sind die Messwerte die du dann bekommst auch wirklich 1/10.000 s auseinander?
Ich kann wie gesagt mit meinem VI durchaus bei 80MHz die Daten verarbeiten, er gibt sie mir nur deutlich langsamer aus, bzw. in einem größeren zeitlichen Abstand als wie er sie verarbeitet.
Liebe Grüße,
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.08.2014, 14:24
Beitrag #5

amadeus Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jul 2014

1303
2014
EN

4942
Oesterreich
RE: Quadratur Encoder: Counter Werte einzeln auslesen?
Ich hätte versucht sie dir für lv11_img herunter zu speichern. Hat das nicht funktioniert?

Ich versuch es noch einmal.

Man hat mir gesagt, dass ich davon ausgehen kann, dass ich, wenn ich eine Samplerate von 10Khz habe auch Werte bekomme, die genau mit 1/Samplerate auseinander liegen.
Ich habe es dann jedoch nicht mehr nachgeprüft. Nachdem ich für meine Messung eine Auflösung von 10 ms benötige und 100 Werte lese, reicht mir eine Samplerate von 10kHz.

Nachdem ich aus den 100 Werten eine Geschwindigkeitsmittelung vornehme (Counterstand sample 100 - Counterstand sample 0)/(100*1/samplerate), und feststellen können will, wenn meine
Geschwindigkeit unter 10mm/s gefallen ist, benötige ich für meinen Drehgeber (2000Ink/Umdrehung = 0,1mm/ink) genau diese Samplerate.

Frage: Hängt die Geschwindigkeit mit der du die Werte ausliest (buffer-labview) nicht mit deiner Schleifenumlaufzeit zusammen?

Ich habe dir im Anhang noch einmal das Beispiel VI gehängt. hoffe diesmal hab ichs geschafft mit der Konvertierung!

freundliche Grüße
amadeus


Angehängte Datei(en)
11.0 .vi  Encoder_bsp.vi (Größe: 15,04 KB / Downloads: 243)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.09.2014, 13:50
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: Quadratur Encoder: Counter Werte einzeln auslesen?
(27.08.2014 14:24 )amadeus schrieb:  Frage: Hängt die Geschwindigkeit mit der du die Werte ausliest (buffer-labview) nicht mit deiner Schleifenumlaufzeit zusammen?

na sicher hängt das zusammen:

Beispiel:
bei einer Samplerate von 10 kHz fallen in 1 Sekunde 10000 Samples an.
Wenn du bei "Buffer Read" (in der Schleife) einstellst, dass immer 1000 Samples als Block ausgelesen werden sollen, dann dauert ein Schleifendurchlauf 100 ms

Wenn du bei "Buffer Read" (in der Schleife) einstellst, dass immer 100 Samples als Block ausgelesen werden sollen, dann dauert ein Schleifendurchlauf 10 ms

Wenn du bei "Buffer Read" (in der Schleife) einstellst, dass immer 5000 Samples als Block ausgelesen werden sollen, dann dauert ein Schleifendurchlauf 0.5 Sekunden

is doch einfach, oder? Smile

viele Grüße
cb

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.03.2015, 10:26
Beitrag #7

Daniel_S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2014

2012
2013
kA



RE: Quadratur Encoder: Counter Werte einzeln auslesen?
Zur Auflösung der Thematik, falls jemand über die Suchfunktion auch auf diesen Thread stößt, ich habe mittlerweile die klare Aussage vom NI-Support bzgl. der Thematik:
Es ist TECHNISCH NICHT MÖGLICH sich jeden Einzelwert der über die Counter berechneten Position ausgeben lassen!
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
  Synchronisierung von Analogen Signalen mit digitalem Encoder Benj1man 8 6.380 12.05.2020 10:38
Letzter Beitrag: Benj1man
  Counter Auslesen, SW Problem serge_franke 2 3.701 31.01.2018 14:56
Letzter Beitrag: serge_franke
  Anfänger braucht Hilfe: Analoge Werte schreiben und auslesen ElBerto 4 5.434 31.01.2018 14:36
Letzter Beitrag: ElBerto
  Encoder - Sinus / Cosinus auswerten nxitimi 17 15.739 25.01.2018 19:26
Letzter Beitrag: Lucki
  Encoder-Signal einlesen creo_123 6 6.576 11.01.2018 15:03
Letzter Beitrag: creo_123
  getriggerte Messung "scharfschalten" Sincos Encoder Nullstrom 2 4.180 27.10.2014 11:13
Letzter Beitrag: Nullstrom

Gehe zu: