Verfahren zur Bestimmung des Winkels eines Drehtischs

Ich arbeite derzeit an einem Projekt, das die Drehung von Polarisatoren in ganz bestimmten Winkeln erfordert. Es ist notwendig, dass wir feststellen können, in welchem ​​Winkel sich der Polarisator gerade befindet, damit wir den Motor stoppen können, wenn er den erforderlichen Winkel erreicht. Der Motor wird derzeit von einem Arduino-Lesebefehl von Matlab betrieben.

Ich habe mich mit optischen Encodern (mit Coderad) und magnetischen Encodern befasst, bin mir aber nicht sicher, wie ich sie in mein Setup implementieren soll.

Ich möchte auch darauf hinweisen, dass Licht durch das Objekt, das wir drehen, passieren muss, sodass die Montage einer optischen Encoderscheibe ohne Loch in der Mitte nicht funktionieren würde.

Hätten Sie Vorschläge, wo Sie optische Encoder-Disks und Encoder beziehen können, die für mein Setup funktionieren könnten?

Was genau ist denn dein Setup? Motoren, Getriebe, Riemen, Gestänge?
Was genau ist ein Polarisator? Eine Plastikfolie? Welche Größe und Gewicht? Angenommen, wir sind nicht bereits mit dem vertraut, was Sie tun.
Viele Details sind wichtig. Nicht viel geboten. ("sehr spezifische Winkel" klingt gut, aber heißt das auch? In Bogenminuten und -sekunden?) Welche Auflösung benötigen Sie? Wie wiederholbar muss die Positionierung und anschließende Neupositionierung sein? Was machst du? (Wovon wir sonst vielleicht zu einer unabhängigen Meinung kommen würden.)
Ein Vorschlag: Verwenden Sie ein Hobby-Servo. Sie können nur um 180 Grad gedreht werden, aber 90 sollten für einen Polarisator ausreichen. Sie befehlen ihm, sich in eine bestimmte Position zu drehen, warten ein wenig, fertig. Wenn Sie unter der Belastungsgrenze für das Servo bleiben, müssen Sie sich keine Sorgen machen, dass es in Position ist.
Sie würden normalerweise einen Encoder verwenden, wenn Sie DC- oder BLDC-Servomotoren verwenden, um Ihren Polarisator zu positionieren. Wenn Sie Schrittmotoren verwenden, können Sie dies mit einem einfachen Index-/Referenzsensor in einer Open-Loop-Konfiguration tun. Sie könnten 0,9-Grad-Stepper und x8-Mikrostepping verwenden, um beispielsweise eine Auflösung von 0,11 Grad zu erreichen. Es hängt alles davon ab, welche radiale Auflösung Sie benötigen ... und Sie haben sie nicht angegeben.
Schrittmotor. Mich wundert, dass das nur einmal erwähnt wurde. Schrittmotoren können in bekannten Schritten gedreht werden. Wenn Sie dann wissen, wo der Motor Ihren Polarisator derzeit positioniert (oder was auch immer es sein mag), kann er ihn an eine andere bekannte Position bewegen. Normalerweise wird eine "Ausgangsposition" eingerichtet und beim Start dreht sich der Motor, bis ein Schalter durch das zu bewegende Ding geschlossen wird. Der Motor stoppt dann und weiß aufgrund der Konstruktion, wo er sich befindet. Äußere Drehmomente, die dazu führen, dass der Stepper rutscht, verursachen Positionsfehler, da dies eine Steuerung ohne Rückführung ist.

Antworten (4)

Es gibt standardmäßige optische Rotationstische, die wie von Ihnen vorgeschlagen funktionieren. Sie können sie im offenen Regelkreis verwenden (relative Bewegung durch Zählen der Schritte des Schrittmotors, sobald Sie sie auf Null gestellt haben) oder einen Encoder anbringen, um eine geschlossene Regelkreispositionierung zu erhalten. Ein Inkrementalgeber (der gebräuchlichere/günstigere Typ) muss ebenfalls auf Null gestellt werden, um die absolute Position zu finden, hat aber möglicherweise eine bessere Auflösung als ein Stepper. Absolute Encoder zeigen Ihnen den tatsächlichen Winkel an, einige von ihnen können auf der Skala bis zu Nanometerauflösungen arbeiten. Viele Inkrementalgeber verfügen über einen Indexausgang, mit dem Sie den Tisch ohne zusätzliche Hardware auf Null stellen können.

Aber ich vermute, Sie benötigen nur einen Schrittmotor und einen Home-Schalter.

Das untere ist von Thor Labs und enthält einen 2-Phasen-Schrittmotor.

Geben Sie hier die Bildbeschreibung ein

Suchen Sie nach etwas, das als Drehgeber bezeichnet wird . Diese Dinge geben Impulse ab, wenn die Welle gedreht wird. Die Ausgabe sind zwei Signale in Quadratur. Dadurch ist eine Richtungsbestimmung möglich.

Ein Mikrocontroller kann die Quadratursignale einfach decodieren, um die aktuelle Position zu verfolgen. Sobald Sie Positionsinformationen haben, ist der Rest ein Kontrollsystem, um zu versuchen, zu einer bestimmten Position zu gehen und diese zu halten.

Interessanterweise ist ein linearer Polarisator selbst eine Möglichkeit, einen absoluten Encoder herzustellen.

Sie können zwei polarisierte Optosensoren bei 90 Grad in einen ADC haben. Es muss eine 180-Grad-Mehrdeutigkeit aufgelöst werden, aber das ist (glaube ich) für die Verwendung des Polarisators irrelevant.

Ich schlage vor, sich Magnetsensoren von Renishaw anzusehen - es gibt viele Arten und einige fantastische Auflösungen (622592 zählt!).

Geben Sie hier die Bildbeschreibung einDies ist ein Off-Axis-Sensor. Es ist ein linearer Sensor mit einem Ringstreifenmagneten. Dafür stellt AMS Sensorchips her.

Es gibt viele Arten von Inkrementalgebern wie diesen, oder Sie verwenden möglicherweise einen Mikrostepper, um Ihren Polarisator zu drehen.

Die inkrementelle Codierung erfordert eine Referenz-/Indexmarke, um Null zu setzen.

Dies könnte sehr gut durch Polarisierung erreicht werden. Lassen Sie zwei Optosensoren mit sehr leicht gedrehter Polarisatorfolie davor in einen Komparator gehen. Bei Extinktion ist die Steigung sehr hoch, und Sie erhalten einen genauen Index des tatsächlichen Extinktionswinkels der Polarisation . Sie können also verschiedene Polarisatoren einsetzen und ohne mechanische Referenzierung kalibrieren - nur anhand des Extinktionswinkels.

Diese Technik wurde als ultraschnelles (MHz), Mikroradiant-, berührungsloses Winkelmesssystem über große Entfernungen zum Messen winziger Neigungen verwendet.

Sie würden eine Art Indexmarke oder einen mechanischen Endanschlag verwenden, um Ihrem Controller mitzuteilen, wann sich der Polarisator an einem bestimmten Punkt befindet, und einen Inkrementalgeber verwenden, um ihm mitzuteilen, wie weit er sich vom Indexpunkt entfernt hat.

Alternativ können Sie einen absoluten Encoder verwenden, wenn Sie ein einfaches Verhältnis von 1: 1 oder 1: 2 (möglicherweise 2: 1) haben, das die Ausrichtung des Polarisators an den Motor sperrt, wenn er mit einem Getriebe verbunden ist.

Der Index kann sich auf dem Polarisationsfilter befinden, das von der Außenkante um die Mitte des Filters gedreht wird, oder es könnte sich sogar um ein ringförmiges Filterrad oder einen Halbmond handeln, der wie eine Verschlusslamelle gedreht wird und der Strahl außermittig hindurchtritt.

Wenn Sie einen Direktantrieb haben, benötigen Sie einen Hohlmotor oder den Ringfilter.

Wenn Sie einen Encoder verwenden, können Sie einen Hohlbohrungs-Encoder verwenden oder ein Getriebe verwenden, um den Encoder mit Ihrem Filterelement wie dem Antrieb zu verbinden.

BEARBEITEN:
Sie könnten einen Polarisator in einen ND- Filterrotator von Thor Labs einbauen, um den Mittelantrieb oder den Encoder zu montieren.

Wenn Sie es vom äußeren Rand aus drehen möchten, können Sie die beiden Zirkularpolarisatoren in diesem Gerät von CineFade (sehr teuer) durch Ihren linearen Polarisator ersetzen, eine größere Version des Geräts in der Antwort von Spehro Pefhany.