Thema:
- Wie muss die EPOS4 beim Einsatz von maxon's SSI Multi-turn EMT Encoder konfiguriert werden?
Lösung:
1.) EMT's SSI Protokoll-Spezifikation
maxon's EMT Multi-turn Encoder nutzt das folgende SSI Protokoll:
(siehe auch im angehängten Dokument "Product-Information-ENX-22-EMT-EN.pdf")
Die SSI-Übertragung des Encoders wird durch das Taktsignal (CLK) der EPOS4 gestartet.
- Mit der ersten fallenden Flanke des CLK-Signals übernimmt der EMT Encoder die aktuelle Geberposition des EMT Encoders für die Datenübertragung.
- Mit der ersten steigenden Flanke setzt der EMT Encoder die Datenleitung (DATA) auf '0'.
- Für die nächsten 8 CLK-Takte verbleibt die Datenleitung auf 0' bevor mit den nachfolgenden CLK-Takten die Positionsdaten übertragen werden. Diese bestehen aus:
- Multi-turn Wert (= Anzahl Umdrehungen): 16 Bit
- Single-turn Wert (= Position innerhalb einer Motorumdrehung): 17 bit
Das jeweilige MSB (= Most significant bit) wird jeweils zuerst übertragen. Am Ende der Übertragung wird die Datenleitung wieder auf '0' gesetzt.
2.) EPOS4's SSI Konfiguration
2.1) Konfiguration der "Data bits" Parameter
Die 8 “starting bits” mit '0' der EMT Datenleitung müssen bei der EPOS4 als “Special bits leading” konfiguriert werden. Ohne eine solche Konfiguration (bzw. "Special bits leading = 0) werden die Multi-turn und Single-turn Positionsdaten durch die EPOS4 falsch ausgewertet und es treten massiv abweichende Motordrehzahlen und Positionswerte (aus Sicht des Anwenders bei Auswertung der Bewegung der Abgangswelle) auf.
Da die EPOS4 (wie die meisten anderen Motorsteuerungen) nur 32 Bit Positionsdaten verarbeitet, der EMT Encoder aber total 33 Positionsdaten-Bits überträgt, muss mindestens ein Bit ignoriert werden.
Die Berücksichtigung der 8 "starting bits" und die Reduzierung der maximal zu verarbeitenden Anzahl an 'Position' Bits bedeutet, dass die EPOS4 im Falle eines EMT Encoders eine der folgenden Konfigurationen erfordert:
Lösung 1: Reduktion der Anzahl zu verarbeitender Multi-turn bits 'Position'
Anmerkung:
Wenn sich eine Anwendung über einen längeren Zeitraum (d. h. über eine große Entfernung) in dieselbe Richtung bewegt, ist die Verringerung der Anzahl der verarbeiteten Multiturn-Bits 'Position' keine perfekte Lösung. Es könnte dann besser sein, die Anzahl der verarbeiteten Singleturn-Bits 'Position' zu reduzieren, wie in Lösung 2 oder noch besser in Lösung 3 unten empfohlen.
Lösung 2: Reduktion der Anzahl zu verarbeitender Single-turn bits 'Position'
Für die meisten Anwendungen empfiehlt es sich die Anzahl der verarbeiteten "Single-turn bits / Position" auf 16 zu reduzieren, was immer noch eine mehr als ausreichende Auflösung (von 65536 inc./Umdrehung bzw. 0,0055°) für eine präzise Regelung und genaue Positionierung bietet. Die volle Multiturn-Auflösung (von 16 Bit = 65536) kann in diesem Fall beibehalten werden.
Lösung 3: Empfehlung -> Reduktion der Anzahl Single-turn bits 'Position' auf 14
Zu beachten ist auch, dass die untersten 3 - 4 Bits (= "lowest significant bits") der "Single-turn"-Auflösung durch Rauschen aufgrund der Encoder-internen Interpolation oder Vibrationen der Mechanik im Betrieb beeinflusst werden können. Es kann dann der Fall auftreten, dass die Information der "lowest significant bits" (= der übertragene Positionswert) sich selbst im Stillstand ändert und im die Zielposition schwankt. Letztlich kann dies zu einem leichten, aber schnellen Schwingen der Motorwelle um die Sollposition führen und als "unruhige" Regelung wahrgenommen werden, insbesondere bei Motorsteuerungen (wie der EPOS4) mit schnellen Regelzyklen, die sehr dynamisch auf jede Bitänderung der Positionsdaten reagieren.
Empfehlung:
Schwingungen aufgrund Encoder-Signalrauschen können vermieden werden, wenn die 3 - 4 niederwertigsten Bits der "Single- turn Bits / Position" von der Steuerung ignoriert und gar nicht verarbeitet werden, d.h. "Singleturn Bits / Position" wird einfach als 13 oder 14 Bits konfiguriert.
Praxistipp & beste Konfiguration bei Positionsregelung:
In der Praxis führt eine tiefere Konfiguration von nur 13 oder 14 Bit "Singleturn Bits / Position" oft zu einer besseren, ruhigeren Stillstandsregelung. Für eine präzise Positionierung sind 13 Bits (= 8192 inc./Motorwellenumdrehung bzw. 0,044°) fast immer ausreichend, da die Mechanik an der Motorabgangswelle oft ein weitaus größeres Spiel (z.B. durch Getriebe) aufweist, das die Positionsgenauigkeit der bewegten Last wesentlich stärker beeinflusst.
Wichtig:
Die korrekte Konfiguration der "Special bits leading" ist unabhängig von der EMT 'Multi-turn' und 'Single-turn' Konfiguration immer zwingend notwendig:
"Special bits leading" = 8 (wie auf den Screenshots oben ersichtlich)
2.2.) Konfiguration der "Encoding" Parameter
Die notwendigen technischen Grunddaten finden sich in dem Kapitel "1.3 Absolute Interface" des angehängten Dokuments "Product-Information-ENX-22-EMT-EN.pdf":
=> EPOS4 's SSI configuration details:
Wichtig:
Bei Einsatz des EMT Encoders darf maximal eine "Data rate" von 1000 kBit/s konfiguriert werden.
2.3.) Konfiguration der "Advanced" Parameter
3.) Zusätzliche wichtige Konfigurationseinstellungen
3.1.) Schleppfehlerfenster -> "Following error window"
Die standardmässig vorhandene Konfiguration des "Schleppfehlerfensters" = "Following error window" (-> EPOS Studio's "Startup wizard" -> Limits) enthält den Wert von 2000 inc., was recht gut zu einem Inkrementalgeber mit 500 cpt. (=> Auflösung: 4 x 500 cpt. = 2000 inc.) passt. Grundlagen zur Auflösung von Inkremental-Encoder siehe hier: Encoder: Kanäle A und B, Phasenlage und Drehrichtung
Der EMT Encoder bietet eine viel höhere Auflösung pro Umdrehung der Motorwelle. Ein voreingestelltes "Following error window" von 2000 inc. ist beim Einsatz eines EMT Encoders viel zu gering und kann bei dynamischen Beschleunigungs- und Bremsvorgängen schnell einen "Schleppfehler" (= "Following error" = Fehlercode: 0x8611) auslösen. Als Faustregel sollte das "Following error window" auf folgenden Wert eingestellt werden:
"Following error window" = 1 ... 4 x Encoder's Auflösung pro Motorwellenumdrehung
Im Falle eines SSI-Gebers bedeutet dies je nach Konfiguration der Singleturn-Bits "Position" = n:
"Following error window" = 1 ... 4 x 2^n
Im Falle eines EMT mit Singleturn-Bits 'Position' = 14 (wie oben empfohlen):
"Following error window" = 1 ... 4 x 2^14 = 16384 inc. ... 65536 inc.
Zusammenfassung:
Die folgenden Punkte müssen bei Einsatz des maxon EMT Multi-turn Encoders bei der EPOS4 Konfiguration berücksichtigt werden:
- Data rate: max. 1000 kBit/s
- Special bits leading: 8 (!)
- Multi-turn bits: 16
- Multi-turn bits 'Position' = 16
- Single-turn bits: 17
- Empfehlung: Single-turn bits 'Position' = 14
Ebenfalls wichtig zu beachten:
- Stellen Sie das "Following error window" entsprechend dem konfigurierten Wert der Singleturn-Bits 'Position' des EMT Encoders ein.
Als Faustregel sollte das "Schleppfehlerfenster" 1 ... 4 x 2^n betragen, d.h. ...- Singleturn-Bits 'Position' = 14
=> "Following error window" = 16384 ... 65536 incl.
- Singleturn-Bits 'Position' = 14
Querverweis:
Weitere Detailinformationen zu den SSI Konfigurationsmöglichkeiten der EPOS4 finden sich hier:
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.