28.06.2011, 09:10
Beitrag #1
|
|
|
28.06.2011, 09:55
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2011 15:14 von Lucki.)
Beitrag #2
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Drehgeber mit hoher Auflösung
Mit Interpolation ist das wunderbar zu machen. Voraussetzung ist, daß die Ausgangssignale A und B analog herauskommen und möglichst genau sinusförmig sind. Bei der Drehgebern von Heidenhain, welche für Interpoation spezifiziert sind, ist das der Fall. Der Winkel ist
Phi = arctan(A/B)
wobei der Quadrant, in dem man sich befindet, mittels der Vorzeichen von A und B bestimmt werden kann.
Es bleibt aber ein Incrementalgeber, der absolute Winkel ergibt sich es dem vorhergehenden Winkel plus gemesse Winkeldifferenz zur vorangegangenen Messung.
Die Zeit dt zwischen zwei Messungen muß so klein sein, daß bei der höchten Drehzahl die Winkeldifferenz nicht größer als 180% ist. (sonst funktioniert das Tracking nicht)
Je höher die Abtastrate und je kleiner die Strichzahl, desto höher die mögliche maximale Drehzahl. Also nicht blindlings einen Drehgeber mit möglichst hoher Strichzahl kaufen, das geht in die Hose. Erst rechnen, dann kaufen.
Die sequentielle Abtastung von A und B bei den meisten Messkarten ist ein Problem. Ich habe es so gemacht, daß ich erst die Rohverläufe über eine Umdrehung aufgezeichnet habe (mehr brauchte ich nicht), und dann vor den Berechnungen die A- und B- Waveforms ausgerichtet habe.
Es ist alles einfach, aber wenn Du glaubst das nicht zu schaffen, dann kannst Du auch für einen vierstelligen Eurobetrag die Interpolation mit einem Zusatzgerät von Heidenhain machen lassen. Wobei Du dann das Problem hast, die exotische Ausgangs-Schnittstelle (Weiß nicht genau welche) mit dem PC zu verbinden.
|
|
|
28.06.2011, 10:47
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2011 12:24 von panduci.)
Beitrag #3
|
panduci
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Jun 2011
8.5, 2012 ,2013, 2014, 2015
2006
DE
Oesterreich
|
RE: Drehgeber mit hoher Auflösung
Vielen dank für die rasche und ausführliche Antwort.
Damit ich das richtig Verstanden habe...
Ich habe beispielsweise eine Abtastrate von 200kHz und kann somit bei 4000 Inkrementen eine maximale Drehzahl von 50Hz=3000U/min aufzeichnen.
Die interpolation erfolgt nach der Aufzeichnung, sprich im LabVIEW.
Zitat:Die sequentielle Abtastung von A und B bei den meisten Messkarten ist ein Problem. Ich habe es so gemacht, daß ich erst die Rohverläufe über eine Umdrehung aufgezeichnet habe (mehr brauchte ich nicht), und dann vor den Berechnungen die A- und B- Waveforms ausgerichtet habe.
Die Karte 6210 verfügt über eine sequenztielle Abtastung-->es entsteht quasi ein Fehler da die Kanäle nicht simultan aufgezeichnet werden können.
Was meinst du über die Rohverläufe und anschließendes ausrichten?
Zitat:Es ist alles einfach, aber wenn Du glaubst das nicht zu schaffen, dann kannst Du auch für einen vierstelligen Eurobetrag die Interpolation mit einem Zusatzgerät von Heidenhain machen lassen. Wobei Du dann das Problem hast, die exotische Ausgangs-Schnittstelle (Weiß nicht genau welche) mit dem PC zu verbinden.
Hoffe das wird nicht notwendig sein
|
|
|
28.06.2011, 15:51
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2011 16:00 von Lucki.)
Beitrag #4
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Drehgeber mit hoher Auflösung
(28.06.2011 10:47 )panduci schrieb: Ich habe beispielsweise eine Abtastrate von 200kHz und kann somit bei 4000 Inkrementen eine maximale Drehzahl von 50Hz=3000U/min aufzeichnen.
Die interpolation erfolgt nach der Aufzeichnung, sprich im LabVIEW.
Nicht ganz: Die Abtastung sollte mindestens pro halbe Strichlänge erfolgen, nicht jede Strichlänge. Daraus folgen 2000 Striche pro Umdrehung, nicht 4000. Außerdem: Das ist ein theoretischer Wert, ich würde hier noch mal Sicherheit geben und einen Wandler mit 1000 Strichen nehmen. Bedenke, daß der Winkel zwischen zwei Strichen mit 16bit interpoliert wird, die Genauigkeit ist enorm. Von daher beteht überhaupt keine Notwendigkeit, mit der Strichzahl bis an die Grenze zu gehen.
Zitat:Die Karte 6210 verfügt über eine sequenztielle Abtastung-->es entsteht quasi ein Fehler da die Kanäle nicht simultan aufgezeichnet werden können.
Was meinst du über die Rohverläufe und anschließendes ausrichten?
Man muß für die Datenerfassung das Format Waveform verwenden. Der Zeitversatz zwischen den Kanälen (1/fmax + 10us Beruhigungszeit) ist in den t0's der Waveforms berücksichtigt. Und es gibt eine wunderbere Funktion "Sigalverläufe ausrichten" (Signalverarbeitung /Signalverlaufskonditioniering), damit werden die Kanäle mittels Interpolation alle auf das t0 von Kanal 0 ausgerichtet. Anders gesagt: Der Zeitversatz wird herausgerechnet. Damit die Interpolation nicht überbeansprucht wird, sollte der Zeitversatz nicht mehr als einige Grad betragen. Auch das spricht für einen Dekoder mit eher niedriger Strichzahl.
Habe im vorigen Posting die Formel korrigiert. A / B sind ja schon der sin / cos, die Formel muß also heißen arctan(A/B) und nicht arctan(sin(A)/cos(B)).
|
|
|
28.06.2011, 18:25
Beitrag #5
|
panduci
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Jun 2011
8.5, 2012 ,2013, 2014, 2015
2006
DE
Oesterreich
|
RE: Drehgeber mit hoher Auflösung
Der Grad der Interpolation ist also theoretisch nur von der Systemgenauigkeit (z.B.: Datenblatt vom Geber) des Gebers abhängig. Eigentlich müsste dann ein Geber mit 1000 Inkremente ausreichen um die gewünschte Genauigkeit zu erreichen.
Hoffe ich habe es richtig Verstanden:
1) Einlesen der A und B Spur von einem Geber mit 1000 Inkremente--> je nach Drehzahl Abtastzeit einstellen.
2) Ausrichten der Signalverläufe
3) Bilden von atan(A/B)
4) Anschließende Interpolation
Zitat:Bedenke, daß der Winkel zwischen zwei Strichen mit 16bit interpoliert wird, die Genauigkeit ist enorm.
Woher kommen denn die 16bit bzw. mit was für einer Funktion erfolgt die Interpolation im LabVIEW?
|
|
|
29.06.2011, 07:06
(Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2011 07:52 von Lucki.)
Beitrag #6
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Drehgeber mit hoher Auflösung
(28.06.2011 18:25 )panduci schrieb: Woher kommen denn die 16bit bzw. mit was für einer Funktion erfolgt die Interpolation im LabVIEW?
Das war nicht wörtlich zu nehmen. Ich bin davon ausgegangen, daß Du eine 16bit-Messkarte verwendest. Die Messung von A und B erfolgte dann mit 16 bit Auflösung. In der Praxis ist es weniger, wenn das 1V-Signal z.B im 2 oder 10V- Bereich gemessen wird. Vor allem aber: der Winkel wird mit einer (nicht linearen) Formel berechnet. Wenn die A und B in der Formel 16 bit Auflösung haben, folgt daraus nicht automatisch 16 bit Winkelauflösung zwischen 2 Strichen. Es ist aber ein Anhaltspunkt.
Von einer 10 000 fachen Auflösung des Winkels zwischen 2 Strichen kannst Du aber ausgehen. (Schau Dir mal die Spezifikation das Interpolations-Zusatzes von Heidenhain an)
D.h. aus einem Winkelencoder mit 1000 Strichen wird ein Encoder mit 10^7 Strichen.
|
|
|
29.06.2011, 08:12
Beitrag #7
|
|
|
06.07.2011, 09:26
Beitrag #8
|
|
|
06.07.2011, 10:39
Beitrag #9
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Drehgeber mit hoher Auflösung
(06.07.2011 09:26 )panduci schrieb: Aus meiner sicht wäre es sinnvoll die Interpolation nachdem Ausrichten der Signale zu vorzunehmen.
Wenn Du mich fragst: etwas anderes habe ich nie gemeint.
Und Deiner Beschreibung nach hast Du die Interpolation gut hingekriegt. So z.B hat es bei mir wunderbar funktioniert - dein Interpolations-VI müßte also genau so aussehen:
|
|
|
| |