Verfolgung der Rotation mit extrem hoher Genauigkeit


14

Ich möchte die Winkelposition eines relativ langsamen motorisierten Dreharms (Direktantrieb; siehe Abbildung unten) verfolgen - benötige jedoch eine Winkelgenauigkeit von unter 0,05 ° und eine ähnliche Auflösung.

Wie @gbulmer in den Kommentaren feststellte, entspricht dies einer Verfolgung der Armspitze entlang des Umfangs mit einer Genauigkeit von (2 × π × 10 cm) / (360˚ / 0,05) = 0,08 mm.

Zeichnung

Gibt es einen derzeit realisierbaren Sensor oder eine elektronische Methode, mit der diese Genauigkeit bei der Rotationserfassung erreicht werden kann, ohne ein Vermögen auszugeben?


Dies ist, was ich bisher ausprobiert habe, von einfach bis kompliziert:

  • Digitaler Kompass / Magnetometer: Ich habe damit angefangen; aber offensichtlich nicht annähernd die Leistung, die ich suche.

  • Drehkodierung: Potentiometer-basierte / Hall-Effekt-Sensor-basierte Kodierung: Es konnte keine ausreichende Auflösung erzielt werden und es liegt ein signifikanter Linearitätsfehler vor.

  • Bildverarbeitung: Es wurde versucht, einen optischen Marker an der Spitze des Arms zu platzieren (da die Spitze den längsten Bogen abzeichnet) und die Position des Markers mit einer Kamera (OpenCV) zu verfolgen: Aufgrund der Rotationsspannen des Arms konnten sehr kleine Rotationen nicht so gut aufgelöst werden eine 10x10 cm Fläche.

  • Magnetischer Encoder: Ich untersuche derzeit die Verwendung von AS5048, einem magnetischen Drehgeber von AMS, der mit der Mitte des Sensors an der Wellenposition des Motors positioniert ist. Etwas wie das:

Bildbeschreibung hier eingeben


1
Warum nicht einen Drehgeber in Betracht ziehen (er kann auch magnetisch sein)? Quadratur-Encoder haben möglicherweise eine ziemlich hohe Präzision. Nehmen Sie eine mit 2000 Zeilen. Nach der Quadratur sind es 8000 Impulse pro Umdrehung. 360/8000 = 0,045 Grad Auflösung
Eugene Sh.

BTW, ist das System ausgerichtet?
Eugene Sh.

@EugeneSh: Das System ist nicht geschaltet. Direktantrieb. Das Problem mit Drehgebern ist meines Erachtens auch, dass sie zwar eine hohe Auflösung aufweisen, aber nicht genau genug sind. Der Fehler für einen magnetischen Drehgeber kann beispielsweise 1 Grad betragen, basierend auf Datenblättern. Sind optische Encoder, die Sie in diesem Sinne deutlich besser gesehen haben?
Sasha

Um zu überprüfen, ob ich verstanden habe, berechne ich, dass Sie die Position der Armspitze mit einer Auflösung und einer Genauigkeit von 0,008 cm kennen möchten. oder 80 um. Ist das korrekt? Ist der Motor in der Lage, eine solche Genauigkeit zu erzielen? (2×π×10cm)/(360˚/0.05)
gbulmer

3
Möchtest du dir hier ein echtes Problem mitteilen? Vielleicht ist die Lösung viel einfacher und liegt auf einer anderen Ebene.
Eugene Sh.

Antworten:


12

Was Sie tun, ist möglich, aber ich verstehe nicht, wie Sie es billig machen werden.

0,05 Grad (3 Bogenminuten) implizieren eine Auflösung von 7200 Zählungen / Umdrehung oder das Äquivalent von 13 Bit (8192). Schlimmer noch, da Sie versuchen, eine Positionsschleife zu erstellen, benötigen Sie mindestens ein zusätzliches Auflösungsbit oder ein 14-Bit-System. Das Problem liegt in der Tatsache, dass Ihre Positionsschleife keinen Fehler von weniger als einem Bit erkennen kann. Wenn der Arm also zu driften beginnt, erkennt der Winkelsensor ihn erst, wenn der Ausgang ein Bit abweicht. Die Positionsschleife fährt den Arm in die andere Richtung zurück und stoppt den Antrieb, wenn der Fehler auf Null abfällt. Dies lässt den Arm jedoch in die andere Richtung schwingen, bis er in die entgegengesetzte Richtung gezählt wird. Wenn Sie beispielsweise möchten, dass der Arm eine Sensoranzahl von 100 beibehält, kann das System durchaus 100, 101, 100 produzieren , 99, 100 usw.

Ich schlage vor, dass ein optischer Encoder die beste Wahl ist, aber ein 14-Bit-Encoder (16.384 ppr) ist nicht billig. Eine andere Möglichkeit ist ein Resolver oder Synchro mit einem RDC oder SDC (Resolver / Digital-Wandler oder Synchro / Digital-Wandler) als zweite Möglichkeit, aber dies wird noch mehr kosten. Synchros / Resolver haben zwei Nachteile. Erstens wurden sie im Allgemeinen von optischen Encodern abgelöst, sodass es sich bei den auf dem Markt angebotenen Produkten hauptsächlich um Überbestände handelt. Zweitens ist die Genauigkeit normalerweise nicht ausreichend. Resolver der Größe 23 haben normalerweise eine Lichtbogenlänge von ca. 5-10 Minuten. Sie benötigen daher ein hochpräzises Gerät und viel Glück beim Auffinden eines solchen.

Inductosyns bieten eine außergewöhnliche Auflösung und Genauigkeit, kosten jedoch noch mehr als ein optischer Encoder. Grundsätzlich benötigen Sie eine schnelle RDC, um die Ausgabe zu lesen.

Ihre Besorgnis über die Genauigkeit optischer Encoder basiert auf dem Papier eines bestimmten Herstellers, aber das ist im Wesentlichen ein Schrecken. Die Fehlermöglichkeiten sind für jeden Hersteller gleich, und der verknüpfte Hersteller ist irgendwie nicht besser als andere Hersteller. Bei Präzisionscodierern entspricht die Genauigkeit im Allgemeinen der Auflösung.

Während es möglich ist, optische Encoder mit parallelen Ausgängen zu erhalten, ist es wahrscheinlich besser, einen Inkremental-Encoder zu verwenden und einen eigenen Aufwärts- / Abwärtszähler zu verwenden. Wenn Sie diese Route einschlagen, setzen Sie den Positionszähler bei jedem Einschalten des Systems mit dem "Home" -Signal zurück.


Vielen Dank für eine ausgewogene, realistische Antwort. Anscheinend sollte ich der optischen / inkrementellen Codierung eine Aufnahme geben, und wenn es funktioniert, sind wir gut. Ich bin auch gespannt, was Sie von der Vorgehensweise halten, die ich in meinem letzten Absatz beschrieben habe, wenn Sie einen linearen magnetischen Encoder zusammen mit einem mehrpoligen magnetischen Ring verwenden, wie er im Datenblatt des Encoders empfohlen wird.
Sasha

@sasha - Ich denke, Sie müssen sich sehr genau mit dem Prozess befassen, der zur Herstellung eines Magnetrings erforderlich ist. Ich bezweifle sehr, dass du es alleine schaffen wirst. Während das Datenblatt vorschlägt, dass eher lockere Toleranzen verwendet werden können, wäre ich über ein solches "Etwas für nichts" sehr misstrauisch. Wenn Sie nicht die Möglichkeit haben, die Genauigkeit auf 3 Minuten / 80 Mikrometer zu überprüfen, sollten Sie es den Profis überlassen, mit möglichen Ungenauigkeiten umzugehen. Denken Sie an das verknüpfte Papier.
WhatRoughBeast

Zur Kenntnis genommen! Trotzdem hätte ich klarstellen müssen: Ich beabsichtigte, den von AMS selbst im AS5311-Datenblatt vorgeschriebenen kompatiblen (mehrpoligen) Magnetring zu verwenden. Dies ist der Ring: ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR10-128
sasha

@sasha - Das ist in Ordnung, aber das Problem, das ich habe, ist, wie Sie den Ring genau konzentrisch zur Achse der Welle montieren. Jegliche Exzentrizität zeigt sich im wiederhergestellten Winkel.
WhatRoughBeast

4

Ich denke, was OP vorschlägt, ist überhaupt keine schlechte Idee. Was er verwenden möchte, ist ein fertiger Ring: http://ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR10-128 , er hat 128 Pole = 64 Polpaare. Die Auflösung beträgt 16 Bit = 65536, maximal 305 U / min.
Wenn Sie einen hochauflösenden optischen Encoder auseinandernehmen, werden Sie feststellen, dass es fast unmöglich ist, den Detektor ohne Spezialwerkzeug auszurichten. Mit dieser neuen Methode ist dies in der Tat sehr einfach.
Sie benötigen eine Drehmaschine, um den richtigen Sitz für den Ring zu erzielen und dann den Sensor in geringem Abstand zu platzieren. Es ist keine spezielle Ausrichtung erforderlich. Der Sensor selbst wird in Bausatzversionen geliefert, die bereits auf die Breakout-Platine gelötet sind. Was Sie benötigen, ist ein zusätzlicher Referenzsensor - eine Lücke mit Fotodetektor. Dann können Sie den Encoder innerhalb eines Polpaars mit einer Kombination aus Indexausgang und ext. Ref. Sensor referenzieren.


Der "zusätzliche Referenzsensor" ist nur für die absolute Position, richtig? (ähnlich wie Endschalter bei CNC-Schrittbewegung). Können Sie auch Ihren Vorschlag für die Verwendung einer "Drehmaschine zur Herstellung einer korrekten Passform" erläutern? Meinen Sie, wie eine Nut, in der der Ring sitzen kann? Wenn ja, wie können Sie sicherstellen, dass die Nut in perfekter Position ist, wenn der CNC-Schnitt selbst möglicherweise nicht so genau ist?
Sasha

@sasha Eine Drehmaschine zur Montage des Magnetrings, der ext. Sensor zur Erkennung der Referenz. Ext. Sensor + Nullimpuls vom Encoder stellen sicher, dass Sie immer die gleiche absolute Referenz haben, die in Ihrem Fall möglicherweise nicht benötigt wird. Ich habe eine LIDAR-Montage mit Mikroschritt-Steppern und Planetengetrieben durchgeführt, ohne Rückkopplung - die einzige absolute Position waren Endschalter, um ein Umdrehen und Reißen der Kabel zu verhindern. Angenommen, Sie müssen sich auf ein bestimmtes Objekt beziehen und dann Relativbewegungen ausführen. Auf diese Weise funktioniert LIDAR, wenn Sie keine Referenznullposition benötigen.
Marko Buršič

4

Da es sich um eine Brainstorming-Frage handelt und WhatRoughBeast bereits alles erwähnt hat, was ich in Betracht ziehen würde, sollten Sie die harmonischen Laufwerke der Liste hinzufügen. In der Theorie (ich habe nicht mit empirischen Schätzungen oder ersten Berechnungen nachgeprüft) können Sie das Übersetzungsverhältnis von 20: 1 leicht und spielfrei erhalten (100: 1 ist üblich), wodurch die Anzahl der erforderlichen Schritte auf 720 / U gesenkt wird . Es könnte sich lohnen, einen Blick darauf zu werfen. Oberschwingungsantriebe sind nicht billig, aber in der Regel viel billiger als hochauflösende Sensoren, insbesondere für dieses Übersetzungsverhältnis.


3

Wenn Sie eine Auflösung an der Abtriebswelle benötigen, die 13 Bit entspricht, benötigen Sie mehr zusätzliche Bits, mindestens 1 Bit für die Regelung ist das Muss. Das nächste Problem ist, dass die Hersteller für die Auflösung werben , aber nicht für die Genauigkeit . Sie müssen beharrlich nach Genauigkeit fragen. Wenn der Fehler reproduzierbar ist, können Sie ihn mithilfe der Softwarekorrektur verbessern.

Ein weiteres Problem, wenn Sie eine leistungsstarke Lösung für den Außenbereich benötigen. Wenn ja, ist ein magnetischer Encoder möglich. Der magnetische Encoder kann jedoch einen signifikanten, wiederholbaren, periodischen Fehler aufweisen, den Sie bei der Kalibrierung mithilfe eines anderen optischen, umfangreichen Encoders beseitigen müssen. Aber Sie brauchen eine Vorrichtung, die noch breiter und präziser ist.

Sin / Cos-Interpolation (optisch oder magnetisch) erhöht die Auflösung, fügt jedoch auch einen zufälligen Fehler hinzu.

Sie müssen in der Lage sein, mit der gewünschten Genauigkeit und insbesondere Konzentrizität zu fertigen. Sie müssen auch die Bandbreite berücksichtigen, da eine schnellere Bewegung die zulässige Bandbreite (z. B. Frequenz der Quadraturausgabe) überschreiten kann, wenn Sie die Auflösung erhöhen. Im Gegensatz dazu ist Ultra Slow Motion Control eine andere Disziplin, in der man interessante unveröffentlichte Themen finden kann.

Wenn Sie die Drehung des Querlenkers benötigen (nicht nur die Spurposition), ist die Auflösung von Direktantrieb und Drehmoment ein Problem. Doppelschleife hilft bei der Steuerung, erfordert jedoch einen Motor (Encoder im Falle eines Getriebes oder Zählschritte im Falle eines Schrittschalters) und die Erfassung der Wellenposition.

Der Inkremental- oder Absolutwertgeber ist ebenfalls eine grundlegende Entscheidung.

Allgemeiner Hinweis: Wenn Sie das Projekt abschließen möchten, verwenden Sie professionelle Komponenten, die teuer sind (z. B. optische Encoder von Renishaw ATOM). Wenn Sie zum Vergnügen spielen und Zeit nicht wichtig ist, können Sie es genießen, Probleme neu zu erfinden (Sackgasse), unauffindbare Probleme zu entdecken usw. Prüfen Sie noch einmal, ob Sie Geräte mit der erforderlichen Präzision herstellen können.


3

Scheint perfekt für einen digitalen Messschieber geeignet, der normalerweise zum Messen präziser Abstände verwendet wird, siehe:

Wie funktioniert ein elektronischer Bremssattel?

Sie ähneln kapazitiven Encodern (die Sie bereits gesehen haben) http://www.digikey.com/de/articles/techzone/2012/apr/a-designers-guide-to-encoders gesehen haben ).

Der elektronische Teil eines linearen digitalen Messschiebers kann wahrscheinlich wiederverwendet werden, sodass Sie nur eine Viertelscheibe mit dem richtigen Muster erstellen müssen.

PS: Die Präzision würde es Ihnen sogar ermöglichen, mit einem linearen Modell von der Stange zu arbeiten.


2

Hier ist meine neue Idee, noch eine Schrittmotorgeschichte :-)

Bildbeschreibung hier eingeben

Klicken Sie auf das animierte Bild, um die volle Auflösung zu sehen. Hier verwenden Sie den Schrittmotor als fahrbares Lineal. An der Spitze der Haupthand befindet sich ein Magnet. Die roten Linien zeigen die erwartete Richtung des Magnetflusses. Angenommen, der Schrittmotor ist wie in der Wikipedia. Es hat 3,6 Grad von einem vollen Schritt. Für einen vermutlich linearen Teil des Feldes benötigen Sie 3,6 / 0,05 = 72 Kombinationen von 7 Bits. Dies bedeutet, dass ein 10-Bit-ADC einer normalen MCU die Arbeit für einen größeren nichtlinearen Bereich sehr gut erledigt. Nachdem Sie den Mechanismus ausgeführt haben, analysieren Sie das Approximitätsmuster und wählen Sie den linearsten Teil aus. Mit einigen Software-Mapping-Optionen können Sie es linearisieren und die Linealränder für das jeweilige Setup auswählen.

Die Schrittmotoren sind nicht perfekt. Laut Wikipedia kann die Varianz zwischen den Zähnen bis zu 5% betragen. Um den Fehler zu messen, können Sie die primären Ränder des Lineals mit sekundären Rändern erweitern, die nur dem Verlaufsmuster der vorherigen Analyse der Nachbargrenze folgen müssen.

Außerdem sollten Sie den Schrittmotor besser mit Mikroschritten antreiben, um die +/- Beschleunigungen zu vermeiden, die sich auf die Einrichtungsskalen auswirken können. Ich denke, Sie müssen zumindest halb schrittweise vorgehen.


Es ist unwahrscheinlich, dass Schrittmotoren besser sind als Encoder - und Mikroschritt ist bekanntermaßen nicht linear.
Chris Stratton

Mikroschritt ist nicht zum Referenzieren gedacht, kein statischer Zwischenschritt erforderlich. Dies dient nur zur Vermeidung von Beschleunigung. @ ChrisStratton
Ayhan

1

Der Umgang mit der Mechanik beginnt zuerst mit der Mechanik.

Bildbeschreibung hier eingeben

Drehen des großen Zahnrads (R2) um einen Winkel, dreht sich das kleine Zahnrad (R1) um einen Winkel, der R2 / R1-mal größer ist.

Wenn Sie also mit einer extremen Winkelgenauigkeit bei einem gegebenen Radius (R) arbeiten, können Sie mit einer n-fach gröberen Winkelgenauigkeit bei einem n-fach kleineren Radius (dh R / n) arbeiten.

In Ihrem Fall können Sie ein großes Zahnrad an der Achse des Arms anbringen, ein kleineres Zahnrad daran anbringen und dann einen gröberen Sensor an den kleinen anschließen.

Viele andere Getriebemethoden sind bekannt und nützlich. Beginnen Sie im Wiki .


Es führt zu Spiel und eine präzise Herstellung ist problematisch. Mit anderen Worten, es erhöht definitiv die Genauigkeit, aber wichtig ist die Genauigkeit.
Am

1

Sie sollten einen zweiten Mechanismus an der Kante der Hand anbringen, um die Schritte der Mitte durch einen linearen Mechanismus zu teilen, wie er im optischen System des CD-ROM-Treibers zu finden ist. Auf diese Weise könnte es einfacher und ausreichend sein, das gesamte System als offene Schleife zu implementieren, indem auch ein Schrittmotor in der Mitte verwendet wird und dieser durch Mikroschritt angesteuert wird, um sehr hohe Beschleunigungsgrößen zu vermeiden.


1

Physikalische Einschränkungen im Bereich des beweglichen Arms schließen diese Lösung möglicherweise aus, aber hier sind Sie - ein weiterer billiger Ansatz für die maschinelle Bildverarbeitung. Die Genauigkeit kann durch Ändern der Objektivvergrößerung eingestellt werden. ein anderer Computer Vision Ansatz


0

Ich weiß nicht, was Sie für ein Vermögen halten, aber Sie sollten http://www.inductosyn.com/ in Betracht ziehen.


+ Ich wollte gerade einen Beitrag veröffentlichen, um entweder Resolver oder RVDTs in Betracht zu ziehen
JonRB

3
Dies ist eine ziemlich schwache Antwort, die im Wesentlichen nur ein Glied ist. Am besten, Sie erklären ein wenig, worauf Sie verweisen.
Tcrosley

@tcrosley: In diesem Fall habe ich mich (wie normalerweise üblich) für die Bereitstellung des Links entschieden, anstatt ein vollständig ausgearbeitetes Design und eine ausführliche Schaltungsbeschreibung bereitzustellen, da dies auf ein Gerät / System anspielt, das in der Lage ist, 360 Grad in 7200 aufzulösen Teile pro Winkelgrad und überließ den Großteil der Beinarbeit und des Konstruktionsaufwands dem OP. Warum machst du mich so böse?
EM Fields

2
@EMFields Mein Problem war nicht , dass Sie nicht Ihr eigenes Design, anstelle es keine gute Idee ist, einfach einen Link hier als Antwort , weil es irgendwann schlecht gehen kann --one sowohl einen Link soll und eine Art Begleittext, damit ein Leser nach einem ähnlichen Artikel oder einer ähnlichen Technologie suchen kann, selbst wenn der Link nicht mehr gültig ist. In Ihrem Fall haben Sie einen Link zur Homepage eines Unternehmens gepostet, der mit geringerer Wahrscheinlichkeit fehlerhaft wird. Siehe "Kontext für Links bereitstellen" auf dieser Seite .
Tcrosley

1
@tcrosley: Ich weiß Ihren Punkt zu schätzen, aber nur der Markenname "Inductosyn" (der mittlerweile einem allgemeinen Begriff sehr nahe kommt) sollte den Weg zur Erleuchtung ernsthaft in Frage stellen, unabhängig davon, ob das Ziel des Links lebendig oder tot ist. Google "Inductosyn" und Sie werden sehen, dass es da draußen viel mehr Informationen gibt, als ich gerne einen Abend mit Papageien verbringen würde.
EM Fields

0

Eine weitere sehr interessante Option, wenn Ihr Arm regelmäßig in eine Ausgangsposition (Ruheposition) fährt, ist die Verwendung einer optischen Maus (Gaming-Maus) oder insbesondere ihres Sensorsystems.

Befestigen Sie den Sensor an der Spitze Ihres Arms und sorgen Sie für einen guten (feinkörnigen, nicht reflektierenden) Hintergrund, über den Sie gleiten können. Lesen Sie die Daten über eine Standard-USB-Mausschnittstelle aus.

Sie benötigen einen einfachen Sensor, um die Ausgangsposition zu kalibrieren. Sie müssen experimentieren, um zu sehen, ob dies gut genug funktioniert. Es sollte größtenteils unabhängig von Staub funktionieren und ist einfach zu warten.


0

Vielleicht können Sie einen linearen optischen Encoder am Ende Ihres Schwenkarms verwenden und einen flexiblen Codestreifen wie diesen mit bis zu 2000 Zeilen pro Zoll verwenden. Wenn Sie supergünstig fahren möchten, könnten Sie einen Linearencoder wie diesen verwenden , der jedoch nur bis zu 150 Zeilen pro Zoll reicht, was einer Auflösung von 40 Mikrometern entspricht (da es sich um einen Quadraturcoder handelt). Wenn Sie nicht empfindlich auf Jitter im Antriebssystem reagieren, können Sie dies direkt nutzen. Andernfalls könnten Sie den Arm unter Ihrer Anwendung ausfahren und den Code srip weiter herausziehen. Sie können möglicherweise sogar Ihren eigenen Codestreifen drucken, wenn Sie einen Drucker mit einer DPI von 1000 oder mehr haben.

Viel Glück!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.