robolink Sensorik: magnetischer Drehencoder AS5304 PDF Drucken E-Mail
Geschrieben von: Malte   
Donnerstag, den 03. Januar 2013 um 10:36 Uhr

Soll ein robolink Gelenk für Positionieraufgaben verwendet werden, sind Informationen über die Stellungen der Drehachsen erforderlich. Dazu ist in alle robolink Gelenke, deren Typenbezeichnung auf "-WS" endet, serienmäßig eine Sensoreinheit integriert. Bei sensorlosen Gelenken kann diese nachgerüstet werden. Die Sensoreinheit verfügt je Bewegungsfreiheitsgrad über einen Rotationsencoder des Typs AS5304 von Austria Microsystems. Weil dieser Encoder prinzipbedingt nur Positionsänderungen detektieren kann, ist für beide Freiheitsgrade außerdem jeweils ein Honeywell Hallsensor vom Typ SS443A vorhanden, der als Referenzpunktgeber dient. Auf diesen Referenzpunkt kann die inkrementelle Information vom jeweiligen Encoder bezogen werden, um die absolute Stellung einer Achse zu bestimmen.

Beide Sensortypen sprechen auf Magnetfelder an, die von Multipol-Magnetringen herrühren, die in die Lager der robolink Drehachsen integriert sind. Findet eine Bewegung in einem Freiheitsgrad statt, werden die Pole des Magnetringes an dem Encoder-Baustein vorbeigeführt. Die daraus resultierenden Änderungen des Magnetfeldes werden registriert. Die Magnetringe verfügen über einen verlängerten Pol, der den Referenzsensor auslöst. Im Lager der Schwenkachse ist ein Magnetring mit 31 Polpaaren verbaut, der Magnetring für die Rotationsachse hat 29 Polpaare. Wenn man sich ansieht, wie die magnetische Flussdichte über den Umfang der Ringe verteilt ist, ergibt sich beispielsweise das folgende Diagramm.

Man erkennt eine sinusförmige Abhängigkeit der Flussdichte vom Ort auf dem Umfang des Magnetringes. Die Zahl der Maxima bzw. Minima zeigt, dass der Ring in diesem Falle 31 Polpaare pro Umdrehung (= 360°) hat. Es handelt sich also um einen Magnetring für die Schwenkachse.

Der Funktion des AS5304 liegt der Hall-Effekt zugrunde. Auf dieser Basis kann die "Stärke" eines - auch statischen - Magnetfeldes (die magnetische Flussdichte) in eine elektrische Spannung umgesetzt und somit als Information elektronisch weiterverarbeitet werden. Der Encoder wertet auf Grundlagede des Hall-Effektes den kontinuierlichen Verlauf der magnetischen Flussdichte aus und ermittelt aus ihrer Ausprägung mit recht hoher Auflösung, wie ein Polpaar des Magnetringes relativ zum Encoder positioniert ist.

Im Encoderchip sind dazu vier Hall-Sensoren in einer Reihe angeordnet. Diese setzen ein senkrecht zur Chipoberfläche einwirkendes Magnetfeld jeweils in eine analoge Spannung um. Die einzelnen Sensoren sind im Chip mit einem Abstand von 1 mm zueinander angeordnet. Diesem Abstand korrespondiert die Polbreite auf den Magnetringen: Der Magnetring für die Schwenkbewegung bewegt sich auf einem Radius von 20 mm über den sensorischen Bereich des Encoder Chips. Dieser Radius entspricht einem Umfang von 20 * 2π = 125.66 mm, auf dem 31 Polpaare untergebracht sind. Ein Polpaar ist also recht genau 125.66 mm / 31 ≈ 4 mm lang, der Abstand zwischen zwei benachbarten Sensoren entspricht also ¼ der Länge eines Polpaares.

Da sich die magnetische Flussdichte der Magnetringe in der relevaten Ebene als Sinusfunktion des Ortes auf dem Ring beschreiben lässt, verändern sich auch die Ausgabesignale der Hallsensoren sinusförmig, wenn sich der Ring an dem Sensor-Array vorbeibewegt. Es liegt also nahe, dieses Signal im Bogenmaß, also in Einheiten von π zu beschreiben. Ordnet man der Länge eines Polpaares die Periodenlänge 2π zu, haben direkt benachbarte Sensoren einen Abstand von ½π, also von einem Viertel der Länge eines Polpaares. Detektiert der erste Sensor nun das Magnetfeld des Ringes an einer Stelle x, dann misst der zweite Sensor bei x+½π, der dritte bei x+π und der vierte bei x+⅔π. Die Messung an diesen definierten Orten ist wichtig für das Funktionsprinzip des Encoders.

Über einen Differenzverstärker werden zum einen die Ausgangssignale des ersten und dritten Sensors voneinader subtrahiert. Der Abstand zwischen diesen Sensoren beträgt eine halbe Periode, also π. Sinuswerte im Abstand von π sind ihrem Betrag nach gleich, aber im Vorzeichen verschieden, soll heißen sin(x) = -sin(x+π). Werden die Ausgangssignale dieser beiden Sensoren subtrahiert, ergibt sich also sin(x) - sin(x+π) = sin(x) - -sin(x) = 2sin(x). Man erhält durch diese Verrechnung ein Signal, das die magnetische Flussdichte an der Stelle x repräsentiert, sich aber auf zwei Messorte stützt und dadurch robuster wird.

Die Signale vom zweiten und vierten Sensor werden an den Stellen x+½π und x+⅔π im Verlauf der Flussdichte aufgenommen, ihre Werte entsprechen also sin(x+½π) bzw. sin(x+⅔π). Weil der Sinus dem Kosinus um ½π "vorauseilt", ist sin(x+½π) = cos(x). Der Wert, der vom zweiten Hall-Sensor ½π hinter x aufgenommen wird, entspricht also dem Kosinus an der Stelle x. Dazu ist das Signal des vierten Sensors an der Stelle x+⅔π wieder betragsgleich aber umgekehrten Vorzeichens, weil der Abstand π beträgt. Es gilt also cos(x) = -cos(x+π). Wird mittels des Differenzverstärkers das Signal des vierten Sensors von dem des zweiten abgezogen, ergibt sich cos(x) - cos(x+π) = 2cos(x). Nach dieser Verrechnung werden die Sensorsignale digitalisiert (ADC) und digital Tiefpass-gefiltert (LP) um Rauschen im Signal zu unterdrücken.

Mittels eines digitalen Signalpozessors (DSP) wird in einer sog. Koordinatentransformation das Sinus- und Kosinussignal in ein Phasensignal, das die Postion x innerhalb einer magnetischen Periode respräsentiert und ein Betragssignal, das die magnetische Feldstärke repräsentiert, überführt. Der auf diese Weise gewonnene Wert für x ist damit unabhängig von der Amplitude des Sinus- und Kosinussignals, also der magnetischen Feldstärke. Solange sich die Amplituden der Signale in gleicher Weise ändern, hat dieses keinen Einfluss auf die Positionsinformation. Diese ist dadurch relativ robust gegen Temperatur- und Abstandsänderungen des Magnetringes. Dadurch dass die Steigung des Sinus und Kosinus zu ihren Maxima und Minima hin abnimmt, ist der Ort in dem Magnetfeld nicht überall gleich gut repräsentiert. Zu den Extrema hin ändert sich das Magnetfeld immer weniger im Verhältnis zur Änderung der Position des Rings. Allerdings ist die Änderung des Kosinus immer dann am größten, wenn sie beim Sinus am geringsten ist - und umgekehrt. In der Koordinatentransformation werden beide Signale zusammengefasst um zu einer Information über x zu kommen, dadurch wird dieser Nachteil kompensiert. Konkret wird die Phase, also der hier mit x bezeichnete Wert über den Arkustangens berechnet: x = atan2(sin(x), sin(y)). Der Arkustangens muss dabei in einer Vierquadrantenversion (atan2) zum Einsatz kommen, um ein eindeutiges Ergebnis über die volle Periode zu erhalten. Die Amplitude m berechnet sich nach dem Satz des Pythagoras: m = (sin(x)2+cos(x)2)½. Die Koordinatentransformation ist im DSP als CORDIC Algorithmus implementiert.

Auch wenn auf diese Weise die Detektion der Position theoretisch unabhängig vom Absolutbereich der Feldstärke ist, würden kleine Felder durch ein ungünstigeres Signal-Rausch-Verhältnis zu Ungenauigkeiten in der Messung führen. Deswegen wird die Empfindlichkeit der Hall-Sensoren zusätzlich mit Hilfe des Betragssignals m aus der Koordinatentransformation aktiv durch einen Gain-Control Mechanismus an die vorliegende Feldstärke angepasst.

Nachdem auf diese Weise die relative Lage des Sensors im Breich eines Polpaars des Magnetringes bestimmt wurde, werden auf dieser Grundlage Änderungen der Lage in ein Quadratursignal umgesetzt. Dabei werden pro magnetischer Periode - also pro Polpaar - 160 Positionswerte (repräsentiert durch 160 Flanken in 40 Quadraturpulsen) aufgelöst. Daraus ergibt sich für den Magnetring in der Schwenkachse des robolinks mit 31 Polpaaren eine Auflösung von 31 Polpaare/360° * 160 Schritte/Polpaar = 4960 Schritte/360° bzw. zirka 0.0726°/Schritt. Für den Magnetring der Drehachse ergibt sich analog 29 Polpaare/360°  * 160 Schritte/Polpaar = 4640 Schritte/360° bzw. zirka 0.0776°/Schritt.

 

AddThis Social Bookmark Button
Zuletzt aktualisiert am Donnerstag, den 17. Januar 2013 um 12:40 Uhr
 

Kommentare  

 
#1 2014-04-29 21:07
Do you mind if I quote a couple of your posts as long as
I provide credit and sources back to your weblog?
My website is in the exact same area of interest as yours and my users
would certainly benefit from some of the information you present here.
Please let me know if this ok with you. Appreciate it!
Zitieren
 

Kommentar schreiben

Sicherheitscode
Aktualisieren

 

Suche

Benutzer

Wir haben 26 Gäste online

unterstützt von

batronix logo

spacer

rotacaster logo

spacer

spacer

spacer

Meine Tweets

Extern

youtube logo twitter logo email logo

spacer

spacer

spacer

Reklame