Die Verbindung eines Encoders an einen VESC (AS5047, ABI): Wann, warum und wie man ihn einstellt

Ein Encoder misst die Position des Rotors mit deutlich höherer Präzision als Hallsensoren. In einem VESC ermöglicht er ein präzises Anzugmoment bei Stillstand, eine positionsbezogene Steuerung und einen sauberen Betrieb bei sehr niedrigen Geschwindigkeiten. Allerdings erfordert er eine sorgfältige mechanische Installation und eine spezielle Einstellung, und er ist nur für bestimmte Anwendungen geeignet. Hier erfahren Sie, was die VESC Tool Software dazu bietet, wie man ihn einstellt und in welchen Fällen sich der Aufwand lohnt.

Das Wichtigste

  • Der Encoder-Typ wird im Bereich Motor Settings, General, Reiter Sensors, Parameter Sensor Port Mode ausgewählt.
  • Im FOC-Modus wählt man anschließend "Encoder" im Bereich "Sensor Mode" (Seite "FOC").
  • Ein AS5047-Sensor liefert eine absolute Position direkt beim Einschalten; ein ABI-Encoder muss zuerst seine Nullposition finden.
  • Die Encoder-Erkennung misst drei Werte: Encoder Offset, Encoder Ratio und Encoder Inverted.
  • Bei einem Motorradrad für E-Scooter reichen in der Regel die Hall-Sensoren aus.

Encoder, Hall-Sensor, sensorlos: Der Unterschied

Die in den meisten Motoren integrierten Hall-Sensoren liefern die Position in 60-Grad-Schritten. Der VESC interpoliert zwischen diesen Schritten, was für den Start eines Fahrzeugs völlig ausreichend ist. Ein Encoder liefert eine kontinuierliche Positionsangabe mit Tausenden von Schritten pro Umdrehung. Ohne Sensor schätzt der Controller die Position durch Berechnung, was beim Fahren gut funktioniert, aber im Stillstand schlecht. Unser Leitfaden zu Hall-Sensoren, Encodern und Resolvern vergleicht die Technologien.

Die Hilfe von VESC Tool fasst die Anwendungsbereiche gut zusammen: Der Encoder funktioniert gut für Anwendungen zur Positionierung, wie beispielsweise bei einer CNC-Fräse; die Hall-Sensoren ermöglichen ein verzögerungsfreies Anfahren, sind aber weniger geeignet für die Positionierung.

Die von der VESC Tool angebotenen Firmware-Versionen

Der Parameter Sensor Port Mode listet die Sensoren auf, die die Firmware lesen kann. Die häufigsten sind:

SensoranschlussmodusPrinzipAchtungshinweis
Hall-SensorenDie Hall-Sensoren des MotorsDie Standardeinstellung
ABI-EncoderInkrementeller Encoder mit A-, B- und IndexausgängenUnerlässlich, bis der Index gefunden wurde; Encoder-Anzahl einstellen
AS5047-EncoderMagnetischer Encoder, verbunden über SPIAbsolute Positionierung von Anfang an, mit einer gewissen Nichtlinearität
AS5X47U-Encoder (SPI)AS5147U oder AS5247U, mit SicherheitsfunktionenWird an den COM-Port angeschlossen; keine Anwendung darf UART, I2C, ADC2 oder ADC3 verwenden
Sinus-/Kosinus-EncoderSinus- und Kosinus-Ausgänge (analog)Unempfindlich gegenüber Störungen: Geschirmtes Kabel und Filterung
AD2S1205 ResolverResolver mit WandlungsschaltungSpezifische Ausrüstung

Die Liste enthält weitere Modelle (MT6816, TLE5012, BISSC usw.), die je nach Firmware-Version variieren. Die Hilfefunktion von VESC Tool weist darauf hin, dass dieser Parameter keine Auswirkungen hat, solange der Motor ohne Sensor betrieben wird.

Der Fall des ABI-Encoders

Ein ABI-Encoder kennt seine absolute Position beim Einschalten nicht. Laut der Hilfe dreht der Controller dann im offenen Regelkreis, bis er eine mechanische Umdrehung vollzogen hat, um den Indeximpuls zu finden, beim ersten Start nach jedem Einschalten. Der Parameter Encoder counts muss eingestellt werden: Dies ist in der Regel die Auflösung des Encoders, multipliziert mit vier, da jeder Flankenübergang der beiden Signale gezählt wird.

Die mechanische Montage

Ein magnetischer Encoder, wie beispielsweise der AS5047, liest einen kleinen Magneten, der am Ende der rotierenden Welle befestigt ist. Der Chip selbst bleibt fest positioniert, zentriert und in geringem Abstand. Jeder Spielraum oder jede Ungenauigkeit führt zu einem Positionsfehler. Bei einem Motor mit einer rotierenden Welle ist dies relativ einfach. Bei einem Motorrad-Radmotor ist jedoch die Achse fest und es ist das äußere Gehäuse, das sich dreht: Die Integration eines Encoders erfordert eine echte mechanische Anpassung. Das ist einer der Gründe, warum Motorrad-Radmotoren häufig Hallsensoren verwenden.

Bezüglich der Verkabelung wird der Encoder entweder an den Sensoranschluss oder an den Kommunikationsanschluss angeschlossen, abhängig vom Modell und der Platine. Digitale Verbindungen vertragen keine langen Kabel in der Nähe von Stromleitungen: Verwenden Sie kurze, idealerweise abgeschirmte Kabel und halten Sie sie von den Stromleitungen fern.

Die Einstellung in der VESC Tool-Software

  1. Wählen Sie den Encoder im Bereich Sensor Port Mode aus und speichern Sie die Konfiguration.
  2. Führen Sie die FOC-Motorendetektion (Widerstand, Induktivität, Fluss) wie gewohnt durch: Sehen Sie sich dazu unsere Anleitung zur FOC-Motorendetektion.
  3. Starten Sie die Encoder-Erkennung (siehe Hilfebereich Detect FOC Encoder Parameters): Laut dieser Hilfe dreht sich der Motor langsam im offenen Kreislauf in beide Richtungen, über eine mechanische Umdrehung, während der Encoder ausgelesen wird.
  4. Überprüfen Sie die drei Ergebnisse: Encoder Offset (die Differenz zwischen dem Nullpunkt des Encoders und dem des Motors), Encoder Ratio (die Anzahl der Polpaare für einen Encoder, der direkt auf der Welle montiert ist: 7 für einen Motor mit 14 Polen, wie in der Hilfefunktion angegeben) und Encoder Inverted (ein Encoder, der rückwärts zählt).
  5. Wählen Sie zunächst "Anwenden" und dann "Encoder" im Bereich "Sensor Mode" auf der FOC-Seite.

Über einer bestimmten Geschwindigkeit kann der Controller in den sensorlosen Modus wechseln: dies wird durch die Einstellung Sensorless ERPM im Reiter Encoder gesteuert. Um zu überprüfen, ob Encoder und Beobachter übereinstimmen, bietet die Seite Realtime Data eine Darstellung Obs vs Enc: die Differenz zwischen der geschätzten und der gemessenen Position sollte gering bleiben.

Wenn sich der Aufwand für den Encoder lohnt

  • Positionsregelung: Roboter, Arme, Achsen, Servomechanismen. Sehen Sie sich unseren Leitfaden zu den VESC-Betriebsarten (Drehmoment/Geschwindigkeit) an.
  • Präzises Anzugsmoment bei Null- und sehr niedriger Geschwindigkeit: Seilwinden, Mechanismen, die beim Start belastet sind.
  • Motoren ohne Hall-Sensor und ohne ausreichende Remanenz für HFI: Sehen Sie sich unseren Leitfaden zum HFI an.

Bei einem E-Scooter oder einem leichten Motorrad bringt ein Encoder selten einen spürbaren Vorteil gegenüber funktionierenden Hallsensoren.

Werkstatt-Tipp.

Ein schlecht befestigter Encoder ist schlimmer als gar kein Sensor: Eine falsche Position unter Last führt zu Ruckeln oder Leistungsverlust. Achten Sie auf die Befestigung, die Zentrierung des Magneten und das Kabel, bevor Sie die Einstellungen anpassen. Für einen Roboter oder eine spezielle Maschine entwirft unser Ingenieurbüro die komplette Motorisierung, einschließlich Sensor, und dimensioniert sie für die Maschine; für einzelne Reparaturen arbeitet unsere Werkstatt stundenweise (https://rage-mechanics.com/de/unsere-produkte/1529-arbeitszeit-30-minuten.html).

Häufig gestellte Fragen

Benötigt ein E-Scooter mit VESC-Steuerung einen Drehgeber?

Fast nie. Die Hall-Sensoren des Radmotors sorgen für einen sauberen Start, und der Beobachter übernimmt die Steuerung während der Fahrt. Der Encoder dient zur präzisen Positions- oder Drehmomentregelung im Stillstand.

Was bedeutet der Encoder-Ratio-Wert?

Für einen Encoder, der direkt an der Welle montiert ist, gibt die Anzahl der Polpaare des Motors an. Der Encoder misst diese Anzahl.

Warum funktioniert mein ABI-Encoder beim Start nicht?

Zuerst muss der Controller seinen Indeximpuls finden. In der Zwischenzeit arbeitet der Controller im offenen Regelkreis, bis er nach jedem Einschalten eine mechanische Umdrehung erreicht.

Der Motor läuft mit dem Encoder nicht richtig. Was sollte überprüft werden?

Die mechanische Montage (Spiel, Zentrierung des Magneten), die Verkabelung und anschließend die erneute Durchführung der Encoder-Erkennung. Die Darstellung von "Obs vs. Enc" auf der Seite "Realtime Data" zeigt, ob die gemessene Position konsistent ist.