Rotationsverfolgung mit extrem hoher Genauigkeit

Ich möchte die Winkelposition eines ziemlich 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 der Positionsverfolgung 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 ein elektronisches Verfahren, das diese Genauigkeit bei der Rotationserfassung erreichen kann, ohne ein Vermögen auszugeben?


Folgendes habe ich bisher versucht, von einfach bis kompliziert:

  • Digitalkompass/Magnetometer: Damit habe ich angefangen; aber offensichtlich nicht annähernd die Leistung, die ich suche.

  • Drehkodierung: Potentiometer-basierte / Hall-Effekt-Sensor-basierte Kodierung: Konnte keine ausreichende Auflösung erreichen und es gibt einen signifikanten Linearitätsfehler.

  • Maschinelles Sehen: Es wurde versucht, eine optische Markierung an der Spitze des Arms zu platzieren (da die Spitze den längsten Bogen nachzeichnet) und die Position der Markierung mithilfe einer Kamera (OpenCV) zu verfolgen: Angesichts der Rotationsspannen des Arms konnten sehr kleine Drehungen nicht so gut aufgelöst werden eine Fläche von 10 x 10 cm.

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

Geben Sie hier die Bildbeschreibung ein

Warum nicht einen Drehgeber in Betracht ziehen (er kann auch magnetisch sein)? Quadratur-Encoder können eine ziemlich hohe Präzision haben. Nehmen Sie eine mit 2000 Linien. Nach der Quadratur werden es 8000 Impulse pro Umdrehung sein. 360 / 8000 = 0,045 Grad Auflösung
BTW, ist das System ausgerichtet?
@EugeneSh: Das System ist nicht ausgerichtet. Direktantrieb. Außerdem besteht das Problem bei Drehpositionsgebern, soweit ich gesehen habe, darin, dass ihre Auflösung zwar hoch ist, ihre Genauigkeit jedoch fehlt. Der Fehler eines magnetischen Drehgebers kann beispielsweise laut Datenblättern bis zu 1 Grad betragen. Sind optische Encoder, die Sie gesehen haben, in diesem Sinne wesentlich besser?
Nur um zu überprüfen, ob ich es verstanden habe, berechne ich, dass Sie die Position der Armspitze mit einer Auflösung und Genauigkeit wissen möchten ( 2 × π × 10 c m ) / ( 360 ˚ / 0,05 ) das sind 0,008 cm oder 80 µm. Ist das korrekt? Ist der Motor zu einer solchen Genauigkeit fähig?
@gbulmer: Ja, das ist in der Tat das Positionsäquivalent der Winkelgenauigkeit, die ich hier zu erreichen versuche. Ich habe dies dem OP-Text hinzugefügt.
@sasha Optische Encoder, mit denen ich gearbeitet habe, sind fast 100% genau. Woher soll der Fehler kommen? Die einzige Quelle, die mir einfällt, ist die Dekodierungslogik.
@EugeneSh.: Obwohl ich gerne zustimmen möchte (vorausgesetzt, dass Sie sie tatsächlich erfolgreich verwendet haben), mache ich mir Sorgen, dass die Genauigkeit anfällig für Unvollkommenheiten bei der Positionierung sein könnte, zum Beispiel wie hier beschrieben . Ich bin jedoch bereit, es zu versuchen.
@EugeneSh - um Ihren Punkt zum Nutzen des OP zu verstärken, selbst wenn ein optischer Encoder einige Ungenauigkeiten aufweist, wäre dies konsistent. Jede Drehung sollte gleich aussehen. Das System könnte das also „lernen“, insbesondere wenn es eine Indexmarke gibt.
Nun, ich kenne Ihr Setup und Ihre Werkzeuge nicht, aber wenn Sie einen werkseitig hergestellten, abgestimmten und getesteten Aktuator mit Encoder verwenden, besteht eine sehr geringe Wahrscheinlichkeit, dass Sie solche Probleme bekommen. Wenn Sie jedoch Bedenken hinsichtlich der Verarbeitung haben, werden Sie bei jeder anderen Methode auf die gleichen Probleme stoßen.
@gbulmer: Interessant. So konnte ich nach der Montage des Encoders ein Trainingsset (Kalibriertabelle) machen. Die Schwierigkeit wäre natürlich, eine genaue externe Referenz zu haben, mit der die Messungen des Encoders verglichen werden können. Außerdem ist mir aufgefallen, dass Sie noch eine Frage gestellt haben: Ja, bitte gehen Sie davon aus, dass der Motor tatsächlich in der Lage ist , sich in jedem Winkel gleichmäßig zu bewegen (wie Sie vielleicht verstehen, versuche ich hier, eine Rückkopplungsschleife zu erstellen; eine langsame reicht aus).
Ich habe einen Quadratur-Encoder mit etwa 30.000 Zählungen pro Umdrehung (durch einen Getriebezug) verwendet, um ein rotierendes 2D-Laser-LIDAR zu verfolgen, um eine ausladende 3D-Radareinheit herzustellen. Offensichtlich ist das 360/30000 = 0,012 Grad pro Tick, 4-mal besser als Sie benötigen.
Faszinierendes Problem. Es lohnt sich wahrscheinlich, Ihrer Frage einen Kommentar hinzuzufügen, dass das System kein Getriebe, sondern einen Direktantrieb hat. Eine Standardlösung zur Erhöhung der Genauigkeit ist die Messung der Motorposition, während der Ausgang untersetzt wird. So scheinen Leute wie [Faulhaber](www.faulhaber.com) und maxon Präzision zu bekommen.
Ich nehme an, Sie haben sich AMS-Positionssensoren angesehen
@gbulmer: In der Tat. Die Drehgeber von AMS haben einen etwas zu großen INL-Fehler (bis zu 1 Grad), und auch die Magnet-Sensor-Ausrichtung muss perfekt sein. Und den linearen Positionsgeber von AMS, AS5311, möchte ich in dem Ansatz verwenden, den ich als meinen aktuellen Gedanken im letzten Absatz beschrieben habe. (Hinweis: Es wurde die Tatsache hinzugefügt, dass es sich jetzt um einen Direktantrieb handelt.)
Möchtest du dein echtes Problem hier teilen? Vielleicht ist die Lösung viel einfacher und liegt auf einer anderen Ebene.
@EugenSch. - sehr guter Punkt. Es ist leicht, sich von einer bestimmten Herausforderung ablenken zu lassen, anstatt sich auf das eigentliche Problem zu konzentrieren.
@EugeneSh.: Ich stimme zu, dass die Beschreibung weiterer Details hilft, über andere Ansätze nachzudenken. Dies ist jedoch das gesamte Problem. Auf jeden Fall werde ich versuchen, ein wenig zu erweitern: Ich versuche, diesen Arm zu entwerfen, den ich (ziemlich selten) dem Motor befehle, sich zu bewegen, und ich möchte, dass er sich auf den genauen Punkt einstellt, also die Rotationserfassung ist es, im Wesentlichen einen geschlossenen Regelkreis bereitzustellen. Aufgrund der Abmessungen kann ich nichts anderes als einen kleinen, leichten Motor platzieren. zB Riemenscheiben etc. kommen nicht in Frage.
Die Frage ist also , warum brauchen Sie eine solche Präzision?
Sind optische Absolut-Encoder, zB Avago 17bit Gray-Encoder , zu teuer oder schwer zu handhaben?
@EugeneSh.: Der Arm geht zu jeder Position, wo ein Sensor (an der Spitze des Arms) mehrere Sekunden lang Messwerte an einem anderen Abschnitt einer chemischen Probe unter dem Arm misst. Hoffe das ist klar.
@gbulmer: Ich bin mir jetzt sicher, optische Encoder zu bestellen und ihnen eine Chance zu geben, da drei Leute, beginnend mit Eugene, sie empfohlen haben. Wenn ich eine externe absolute Referenz haben könnte, um zu überprüfen, ob ich tatsächlich die genaue Position vom optischen Encoder bekomme, dann wäre ich offensichtlich mit allem zufrieden; aber ich kann wahrscheinlich etwas herausfinden, sobald sich die Dinge in Bewegung setzen.
Als externe Referenz kann ich Ihnen eine Idee geben. Montieren Sie einen Laser am Arm und verfolgen Sie die Punktposition auf einem entfernten Bildschirm. Eine Verschiebung von 0,05 Grad auf einem 4 Meter entfernten Bildschirm misst 3,5 mm. Natürlich muss der Aufbau starr sein. Und das eigentliche Anliegen ist hier die Wiederholbarkeit, da jede Ungenauigkeit kompensiert werden kann, wenn sie wiederholbar ist. Das kann man auch so testen
Das Avago AEDR-871x hat eine Auflösung von 318LPI oder 12,52LPmm; das ist etwas besser als 0,08 mm. Ein Encoderrad mit dem gleichen Durchmesser wie der Arm wäre also nah genug. Es behauptet jedoch, eine integrierte Interpolation zu haben, die ein 4x, 8x oder 16x höheres Frequenzsignal erzeugen kann. Theoretisch könnte also der Raddurchmesser reduziert oder eine höhere Präzision erreicht werden oder beides. WARNUNG, mir wurde gesagt, dass das Encodermuster sehr nahe an 318 LPI liegen muss, um gut zu funktionieren, weniger Zeilen sind schlecht.
Eine Lösung, die ich hier nicht gesehen habe, ist ein Resolver to Digital. Ein Resolver erzeugt ein Sinus/Cosinus-Signal pro Wellenwinkel und der R2D wandelt diese Signale in digitale Daten um. Mit einem Übersetzungsgetriebe können Sie dessen Auflösung proportional erhöhen.
Sie haben den ODF-Encodertyp nicht erwähnt: absolut oder inkrementell? Weil dieses AMS vom inkrementellen Typ ist, welchen Motor und Treiber müssen Sie auch so genau machen?
Sie könnten mehrere Sensoren verwenden und sie durch einen Kalman-Filter führen, um die Genauigkeit zu erhöhen. Sie könnten sich auch die Mechanismen und Sensoren ansehen, die sie für Teleskope verwenden, da sie einen ähnlichen Anwendungsfall zu haben scheinen.

Antworten (12)

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

0,05 Grad (3 Bogenminuten) bedeutet 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 Bit Auflösung oder ein 14-Bit-System. Das Problem liegt in der Tatsache, dass Ihre Positionsschleife einen Fehler von weniger als einem Bit nicht erkennen kann. Wenn der Arm also zu driften beginnt, erkennt der Winkelsensor dies nicht, bis der Ausgang ein Bit abweicht. Die Positionsschleife treibt den Arm in die andere Richtung zurück und stoppt den Antrieb, wenn der Fehler auf Null fällt. Aber dadurch wird der Arm in die andere Richtung schwingen, bis er eine Zählung in die entgegengesetzte Richtung erhält usw. Wenn Sie also beispielsweise möchten, dass der Arm eine Sensorzählung von 100 beibehält, kann das System durchaus 100, 101, 100 erzeugen , 99, 100 usw.

Ich schlage vor, dass ein optischer Encoder die beste Wahl ist, aber ein 14-Bit-Encoder (16.384 ppr) wird nicht billig sein. Eine andere Möglichkeit ist ein Resolver oder Synchro, mit einem RDC oder SDC (Resolver/Digitalwandler oder Synchro/Digitalwandler) als zweite Möglichkeit, aber das kostet noch mehr. Synchros/Resolver haben 2 Nachteile. Erstens wurden sie im Allgemeinen durch optische Encoder ersetzt, sodass Sie auf dem Markt hauptsächlich überschüssige Einheiten finden werden. Zweitens ist die Genauigkeit normalerweise nicht ausreichend. Resolver der Größe 23 sind normalerweise für etwa 5-10 Bogenminuten ausgelegt, Sie benötigen also ein hochpräzises Gerät und viel Glück bei der Suche nach einem.

Inductosyns bietet Ihnen eine außergewöhnliche Auflösung und Genauigkeit, kostet aber sogar mehr als ein optischer Encoder. Im Wesentlichen benötigen Sie einen Hochgeschwindigkeits-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 Schreckensartikel. Die Fehlermöglichkeiten sind bei jedem Hersteller gleich, und der verlinkte Hersteller ist nicht irgendwie besser als andere Hersteller. Im Allgemeinen ist bei Präzisions-Encodern die Genauigkeit gleich der Auflösung.

Es ist zwar möglich, optische Encoder mit parallelen Ausgängen zu erhalten, aber Sie sind wahrscheinlich besser dran, wenn Sie einen Inkremental-Encoder verwenden und Ihren eigenen Aufwärts- / Abwärtszähler drehen. Wenn Sie diesen Weg gehen, verwenden Sie das "Home"-Signal, um den Positionszähler jedes Mal zurückzusetzen, wenn Sie das System einschalten.

Danke für eine ausgewogene, realistische Antwort. Sieht so aus, als sollte ich der optischen/inkrementellen Codierung eine Chance geben, und wenn sie funktioniert, sind wir gut. Ich wäre auch neugierig zu wissen, was Sie über den Ansatz denken, den ich in meinem letzten Absatz skizziert habe, indem ich einen linearen magnetischen Encoder zusammen mit einem mehrpoligen Magnetring von der Art verwende, die im Datenblatt des Encoders empfohlen wird.
@sasha - Ich denke, Sie müssen sich den Prozess, der zur Herstellung eines Magnetrings erforderlich ist, sehr genau ansehen. Ich bezweifle sehr, dass du es alleine schaffst. Während das Datenblatt vorschlägt, dass eher lockere Toleranzen verwendet werden können, wäre ich sehr misstrauisch gegenüber einem solchen "etwas umsonst". Wenn Sie nicht über die Einrichtungen verfügen, um die Genauigkeit auf 3 min/80 Mikrometer zu überprüfen, sollten Sie meiner Meinung nach die Profis mit möglichen Ungenauigkeiten befassen. Beachten Sie das verlinkte Papier.
Notiert! Allerdings hätte ich klarstellen sollen: Ich hatte vor, den von AMS selbst im AS5311-Datenblatt vorgeschriebenen kompatibel gestalteten (mehrpoligen) Magnetring zu verwenden. das ist der Ring: ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR10-128
@sasha - Das ist in Ordnung, aber das Problem, das ich habe, ist, wie Sie den Ring genau konzentrisch zur Achse der Welle montieren. Jede Exzentrizität wird im wiederhergestellten Winkel angezeigt.

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, max 305 U/min.
Wenn Sie einen hochauflösenden optischen Encoder auseinander nehmen, werden Sie feststellen, dass es fast unmöglich ist, den Detektor ohne Spezialwerkzeuge auszurichten, tatsächlich macht die Verwendung dieser neuen Methode dies sehr einfach.
Sie würden eine Drehmaschine benötigen, um den Ring richtig anzupassen und dann den Sensor in geringem Abstand zu platzieren, es ist keine spezielle Ausrichtung erforderlich. Der Sensor selbst wird in Kit-Versionen bereits auf Breakout-Board gelötet geliefert, was Sie benötigen, ist ein zusätzlicher Referenzsensor - eine Lücke mit Fotodetektor, dann können Sie den Encoder innerhalb eines Polpaares mit einer Kombination aus Indexausgang + externem Referenzsensor referenzieren.

Der "zusätzliche Referenzsensor" ist nur für die absolute Position, richtig? (ähnlich Endschalter bei CNC-Schrittbewegung). Können Sie auch Ihren Vorschlag für die Verwendung einer "Drehmaschine zur Herstellung einer richtigen Passform" erläutern? Meinst du, wie eine Nut, in der der Ring sitzt? 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 Eine Drehmaschine zum Anbringen des Magnetrings, der ext. Sensor, um die Referenz zu erkennen. Externer 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-Schrittmotoren und Planetengetrieben durchgeführt, keine Rückmeldung - die einzige absolute Position waren Endschalter, um ein Umdrehen und Reißen der Kabel zu verhindern. Angenommen, Sie müssen auf ein bestimmtes Objekt verweisen und dann relative Bewegungen ausführen. Auf diese Weise funktioniert das LIDAR, wenn ja, benötigen Sie keine Referenz-Nullposition.

Da es sich um eine Brainstorming-Frage handelt und WhatRoughBeast bereits alles erwähnt hat, was ich in Betracht ziehen würde, warum nicht die harmonischen Antriebe zur Liste hinzufügen? Theoretisch (ich habe es nicht mit empirischen Schätzungen oder ersten Berechnungen überprüft) können Sie damit problemlos ein Übersetzungsverhältnis von 20: 1 ohne Spiel erzielen (100: 1 ist üblich), wodurch die Anzahl der erforderlichen Schritte auf 720 / Umdrehung verringert wird . Vielleicht lohnt sich ein Blick darauf. Harmonic Drives sind nicht billig, aber sie sind im Allgemeinen viel billiger als hochauflösende Sensoren, insbesondere für dieses Übersetzungsverhältnis.

Wenn Sie eine Auflösung auf der Ausgangswelle benötigen, die 13 Bit entspricht, benötigen Sie mehr zusätzliche Bits, mindestens 1 Bit für die Regelung mit geschlossenem Regelkreis ist ein Muss. Das nächste Problem besteht darin, dass die Hersteller mit der Auflösung , aber nicht mit der Genauigkeit werben . Sie müssen beharrlich nach Genauigkeit fragen. Wenn der Fehler wiederholbar ist, können Sie ihn mithilfe der Softwarekorrektur verbessern.

Ein weiteres Problem, wenn Sie eine strapazierfähige Outdoor-Lösung benötigen. Wenn ja, dann ist ein magnetischer Encoder eine Option. Magnetische Encoder können jedoch erhebliche wiederholbare periodische Fehler aufweisen, die Sie im Kalibrierungsprozess mit einem anderen optischen umfangreichen Encoder eliminieren müssen. Aber Sie brauchen eine Schablone, die noch breiter und präziser ist.

Die Sin/Cos-Interpolation (optisch oder magnetisch) erhöht die Auflösung, fügt aber auch einige zufällige Fehler hinzu.

Sie müssen in der Lage sein, mit gewünschter Genauigkeit, insbesondere Rundlauf, zu fertigen. Sie müssen auch die Bandbreite berücksichtigen, da eine schnellere Bewegung die zulässige Bandbreite überschreiten kann, wenn Sie die Auflösung erhöhen (z. B. Frequenz des Quadraturausgangs). Im Gegensatz dazu ist die Ultrazeitlupensteuerung eine weitere Disziplin, in der man interessante unveröffentlichte Ausgaben finden kann.

Wenn Sie eine Querlenkerdrehung benötigen (nicht nur die Spurposition), ist die Auflösung von Direktantrieb und Drehmoment ein Problem. Die Doppelschleife hilft bei der Steuerung, erfordert jedoch eine Motor- (Encoder im Falle eines Getriebes oder Zählschritte im Falle eines Schrittmotors) und eine Wellenpositionserfassung.

Inkremental- oder Absolutwertgeber ist auch eine grundlegende Entscheidung.

Allgemeiner Ratschlag: Wenn Sie ein Projekt abschließen möchten, verwenden Sie professionelle Komponenten, die teuer sind (z. B. optische ATOM-Encoder von Renishaw). Wenn Sie zum Vergnügen spielen und Zeit nicht wichtig ist, können Sie Dinge neu erfinden (Sackgasse), nicht googlebare Probleme entdecken usw. Überprüfen Sie, ob Sie Geräte mit der erforderlichen Präzision herstellen können.

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

Wie funktioniert ein elektronischer Messschieber?

Sie ähneln kapazitiven Encodern (die Sie bereits in http://www.digikey.com/en/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 herstellen müssten.

PS: Die Präzision würde es Ihnen sogar erlauben, mit einem handelsüblichen linearen zu arbeiten.

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

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf das animierte Bild, um ungeditherte Vollauflösung zu sehen. Hier verwenden Sie den Schrittmotor als reisendes Lineal. An der Spitze der Haupthand befindet sich ein Magnet. Die roten Linien zeigen die erwartete Richtung des magnetischen Flusses. Angenommen, der Schrittmotor ist wie der auf Wikipedia. Es hat 3,6 Grad von einem Vollschritt. Für einen angenommen linearen Anteil des Feldes benötigen Sie 3,6/0,05=72 Kombinationen von 7 Bit. Das bedeutet, dass ein 10-Bit-ADC einer gewöhnlichen MCU die Arbeit für einen größeren nichtlinearen Bereich sehr gut erledigen wird. Nachdem Sie den Mechanismus ausgeführt haben, analysieren Sie das Näherungsmuster und wählen Sie den linearsten Teil aus. Linearisieren Sie ihn mit einer Softwarezuordnung und wählen Sie die Linealgrenzen für diese bestimmte Einrichtung aus.

Die Schrittmotoren sind nicht perfekt. Laut Wikipedia können sie bis zu 5% Abweichung zwischen den Zähnen haben. Um den Fehler zu messen, können Sie die primären Grenzen des Lineals mit sekundären Grenzen erweitern, die nur dem Gradientenmuster der vorherigen Analyse ihrer Nachbargrenze folgen müssen.

Außerdem sollten Sie den Schrittmotor besser mit Mikroschritten antreiben, um die +/- Beschleunigungen zu vermeiden, die sich auf die Setup-Skalen auswirken können. Ich denke, Sie müssen mindestens einen halben Schritt machen.

Schrittmotoren sind wahrscheinlich nicht besser als Encoder - und Mikroschritte sind notorisch nichtlinear.
Microstepping dient nicht zum Referenzieren, es sind keine statischen Zwischenschritte erforderlich. Es dient nur dazu, Beschleunigungen zu vermeiden. @ChrisStratton

Wenn Sie sich mit Mechanik befassen, beginnen Sie zuerst mit der Mechanik.

Geben Sie hier die Bildbeschreibung ein

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

Wenn Sie es also mit einer sehr extremen Winkelgenauigkeit auf einem gegebenen Radius (R) zu tun haben, könnten Sie mit einer n-mal gröberen Winkelgenauigkeit auf einem n-mal kleineren Radius (dh R / n) umgehen.

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

Viele andere Getriebemethoden sind bekannt und nützlich, beginnen Sie bei Wiki .

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

Sie sollten einen zweiten Mechanismus am Rand der Hand machen, 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 Open-Loop zu implementieren, indem auch ein Schrittmotor in der Mitte verwendet und durch Mikroschritte angetrieben wird, um sehr hohe Beschleunigungsgrößen zu vermeiden.

Physikalische Einschränkungen im Raum um den beweglichen Arm könnten diese Lösung ausschließen, aber hier sind Sie – ein weiterer kostengünstiger Ansatz für maschinelles Sehen. Die Genauigkeit kann durch Ändern der Objektivvergrößerung angepasst werden.ein weiterer Computer-Vision-Ansatz

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

+ Ich wollte gerade posten, um entweder Resolver oder RVDTs in Betracht zu ziehen
Dies ist eine ziemlich schwache Antwort, die im Wesentlichen nur ein Link ist. Am besten, wenn Sie ein bisschen erklären könnten, worauf Sie verlinken.
@tcrosley: In diesem Fall habe ich mich entschieden, anstatt ein vollständig ausgearbeitetes Design und eine erschöpfende Schaltungsbeschreibung bereitzustellen (wie es normalerweise meine Gewohnheit ist), den Link bereitzustellen, da er auf ein Gerät/System anspielt, das 360 Grad in 7200 auflösen kann Teile pro Winkelgrad und überließ den Großteil der Beinarbeit und des Designaufwands dem OP. Warum macht mich das zu einem Bösewicht?
@EMFields Mein Problem war nicht, dass Sie kein eigenes Design bereitgestellt haben, stattdessen ist es keine gute Idee, hier einfach einen Link als Antwort zu posten, da es irgendwann schlecht werden kann - man sollte sowohl einen Link als auch posten 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 schlecht wird. Siehe „Kontext für Links bereitstellen“ auf dieser Seite .
@tcrosley: Ich weiß Ihren Standpunkt zu schätzen, aber allein der Markenname „Inductosyn“ (der mittlerweile einem Oberbegriff nahe kommen mag) sollte einen ernsthaften Fragesteller auf den Weg zur Erleuchtung bringen, ob das Ziel des Links lebt oder tot ist. Google "Inductosyn" und du wirst sehen, dass es da draußen viel mehr Informationen gibt, als ich einen Abend damit verbringen würde, nachzuplappern.

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

Montieren 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. Ob das gut genug funktioniert, musst du ausprobieren. Es sollte weitgehend staubunabhängig funktionieren und ist einfach zu warten.

Vielleicht können Sie einen linearen optischen Encoder am Ende Ihres Schwenkarms verwenden und einen flexiblen Codestreifen wie diesen verwenden , der bis zu 2000 Zeilen pro Zoll hat. Wenn Sie superbillig werden möchten, können Sie einen Linearencoder wie diesen verwenden , aber er reicht nur bis zu 150 Zeilen pro Zoll, also einer Auflösung von 40 Mikrometern (da es sich um einen Quadratur-Encoder handelt). Wenn Sie nicht empfindlich auf Jitter im Antriebssystem reagieren, können Sie dies direkt verwenden. Andernfalls könnten Sie den Arm unter Ihrer Anwendung verlängern und den Codestreifen weiter außen platzieren. Sie können sogar Ihren eigenen Codestreifen drucken, wenn Sie einen Drucker mit einer DPI von 1000 oder mehr haben.

Viel Glück!