Simulation eines Inkrementalgebers Simulation eines Inkrementalgebers | HBM

PMX: Simulation eines Inkrementalgebers

Mit einigen Funktionsblöcken lässt sich ein digitaler Inkrementalgeber mit zwei Spuren und Nullindex simulieren. Als Eingangssignal dient ein Weg- oder Winkelwert.

Einleitung

Von einem Signal s werden folgende digitale Signale abgeleitet:

s ist beispielsweise ein Weg in mm oder ein Winkel in Grad.

Die Auflösung a beträgt genau eine Periode eines Ausgangssignals, sie hat die gleiche Einheit wie s.

Die verwendete Methode unterstützt keine negativen Werte von s.

Die Ausgabe der Signale erfolgt über die digitalen Ausgänge des Einschubs PX878. Die elektrischen Eigenschaften beschränken die maximale Frequenz auf etwa 1 kHz.

Vorgehensweise

Zunächst wird ¼ der Auflösung a zu s addiert, um die gewünschte Phasenverschiebung zwischen Track 1 und Track 2 zu erreichen.

Die Periodizität wird durch Modulo-Blöcke (=Rest der Divisions/a) erzeugt. Die damit erzeugten Signale haben die Periode a und den Wertebereich 0 ... <a.

Schließlich erzeugen die Trigger-Blöcke digitale Signale (Flags) durch Vergleich mit a/2.

In diesem Beispiel kommt s von einem Weggeber 0..100mm

Die Auflösung beträgt hier a=1mm. Konstante Signale liefern a/2 und a/4

Für die Phasenverschiebung: s1 = s + a/4

Die Modulo-Blöcke liefern die periodischen Signale für „Track 1" und „Track 2". Der Divisor ist die Auflösung a, hier 1mm.

Trigger-Blöcke wandeln die periodischen Modulo-Signale in Flags um. Der Ausgang „Track 1" ist 1, wenn der Eingang mod(s1) zwischen 0 und a/2 liegt:

Flag 02 gibt „Track 2" aus:

Die Nullmarke (Flag 03) ist 1, wenn s zwischen 0 und a/4 liegt:

Ausgabe der Flags auf die digitalen Outputs 1 (Track 1, Flag 01) usw.

Output 2 = Flag 02, Track 2:

Output 3 = Flag 03, Nullmarke:

Tipps

Eigenschaften der PX878-Ausgänge

Die elektrischen Eigenschaften der Ausgänge sind zu beachten. Die Frequenz sollte nicht höher als 1 kHz sein. Die Ausgangsspannung 10..30V muss von extern angelegt werden. Es handelt sich um High-Side Treiber, ggf. muss ein Pull-Down-Widerstand nach GND gelegt werden oder es werden differentielle Ausgänge eingestellt.

Differentielle Ausgänge

Falls differentielle Ausgänge erforderlich sind, so ist ein Flag parallel auf zwei digitale Ausgänge zu legen. Der zweite Ausgang ist invertiert. Damit verdoppelt sich die Zahl der Ausgänge. Hier wurde Flag 01 auf Ausgang 2 gelegt, der invertiert wird:

Aktualisierungsrate der Ausgänge

In der Werkseinstellung werden die digitalen Ausgänge mit 2,4 kHz aktualisiert. Falls die Pulsbreiten der Ausgänge zu stark variieren (Jitter), sollte die Rate erhöht werden.

Das geschieht im Menü EINSTELLUNGEN –SYSTEM –GERÄT –SYSTEM-OPTIONEN. Zunächst muss die „Interne Datentransfer-Rate" erhöht werden, dann „Aktualisierungsrate f. Grenzw., Dig I/Os". Dabei muss die Systemlast beobachtet werden.

Hinweis: Je nach Ausstattung des Geräts (z.B. mit CODESYS) lassen sich die Aktualisierungsraten evtl. nicht erhöhen.

Negative Werte von s

Dieses Beispiel arbeitet nur mit positiven Werten von s. Falls das Eingangssignal auch negative Werte annimmt, so könnte man ein konstantes Vielfaches der Auflösung a addieren, so dass s immer positiv ist, z.B. s = s_original + 1000.

Eine andere Möglichkeit ist der „Zero Value" („Nullwert") in den Verstärker-Einstellungen. Mit diesem Wert kann der Messwert in den positiven Bereich verschoben werden.

Die Verschiebung des Messwerts hat keinen Einfluss auf die periodischen Modulo-Funktionen, allerdings müssen die Schaltschwellen der Nullmarke ggf. angepasst werden.

Rechtlicher Hinweis

Diese Beispiele dienen lediglich der Veranschaulichung. Sie unterliegen keinen Gewährleistungs- oder Haftungsansprüchen.