-
Die vorliegende Erfindung betrifft eine Vorrichtung zur Positions-, Längen- oder Winkelbestimmung. Die Vorrichtung umfasst einen ersten und einen zweiten Teil, wobei der erste und der zweite Teil relativ zueinander bewegbar sind. Weiterhin umfasst die Vorrichtung eine an dem ersten Teil angebrachte Codierung, wobei die Codierung eine Vielzahl von Codeabschnitten umfasst, wobei die Codeabschnitte Bereiche erster Art oder Bereiche zweiter Art umfassen, wobei die Bereiche erster und zweiter Art die Codierung schaffen. Die Codierung weist mehrere Codeworte auf, wobei jedes Codewort eine vorbestimmte Anzahl q von Codeabschnitten umfasst. Die Vorrichtung umfasst weiterhin eine an dem zweiten Teil angebrachte Auslesevorrichtung zur Erfassung der Codierung, wobei die Auslesevorrichtung eine Anzahl n von separaten Auslesebereichen umfasst, welche jeweils zur Erfassung eines einzelnen, insbesondere desselben, Codeabschnitts ausgebildet sind. Schließlich weist die Vorrichtung eine Auswerteeinheit auf, welche anhand der von der Auslesevorrichtung erfassten Codierung eine Relativposition zwischen dem ersten und dem zweiten Teil ermittelt.
-
Vorrichtungen zur Positions-, Längen- oder Winkelbestimmung werden in einer Vielzahl von technischen Bereichen eingesetzt. Beispielsweise können solche Vorrichtungen in Werkzeugmaschinen Verwendung finden, wobei eine Position oder Winkelmessung eines Werkzeugs relativ zu dem Werkstück ermöglicht wird. Andere Einsatzbereiche sind Drehwinkelsensoren und Motor-Feedback-Systeme.
-
Solche Vorrichtungen können beispielsweise optisch arbeiten und umfassen üblicherweise einen binären Code (d.h. die Codierung) welcher helle und dunkle Bereiche umfasst. Die Codierung kann beispielsweise durch eine Photodiodenanordnung detektiert und anschließend ausgewertet werden. Grundsätzlich ist es möglich, nur eine Anzahl von Photodioden vorzusehen, die der Anzahl der Bits (d.h. der Codeabschnitte) des zu lesenden Codeworts entspricht. In der Praxis kann es jedoch zu Relativpositionen zwischen der Codierung und den Photodioden bzw. der Auslesevorrichtung kommen, bei welchen lediglich ein Teil eines Codeabschnitts (z.B. hälftig) ausgelesen wird, wodurch es zu undefinierten Schaltzuständen der Photodioden kommen kann. Dann kann eine eindeutige Bestimmung des korrekten Codeworts gegebenenfalls nicht möglich sein.
-
Um eine bessere Erkennung des Codeworts zu ermöglichen ist es bekannt, doppelt so viele Photodioden zu implementieren, so dass sich in Messrichtung eine verschachtelte Photodiodenreihe zweier Kanäle A und B im Wechsel ergibt. Es kann dann zwischen den beiden Kanälen hin und her geschaltet werden, um jeweils denjenigen Kanal auszulesen, der gerade eine eindeutige Ermittlung des Codeworts gestattet (d.h. bei welchem gerade z.B. keine Codeabschnitte nur hälftig von einer der Photodioden betrachtet werden).
-
Nachteilig an der Verwendung zweier separater Kanäle ist jedoch, dass je nach relativer Phasenlage zwischen der Codierung und der Auslesevorrichtung zwischen den beiden Kanälen umgeschaltet werden muss. Das Schalten muss wiederum in Abhängigkeit einer zusätzlichen Messung der Phasenlage des Systems geschehen. Ungenauigkeiten im Schaltzeitpunkt können hierbei zudem zum Auslesen des falschen Kanals führen, wodurch das Codewort nicht korrekt ermittelt werden kann. Um diese Effekte zu minimieren ist ein aufwendiger und kostspieliger Justageprozess notwendig. Zudem müssen mechanische Toleranzen möglichst gering gehalten werden.
-
Es ist deshalb die der vorliegenden Erfindung zugrundeliegende Aufgabe, eine Vorrichtung der eingangs genannten Art derart weiterzubilden, dass eine korrekte Ermittlung der Relativposition in möglichst allen Betriebszuständen auf einfache Art und Weise ermöglicht wird.
-
Diese Aufgabe wird erfindungsgemäß durch eine Vorrichtung mit den Merkmalen des Anspruchs 1 gelöst.
-
Insbesondere wird die Aufgabe dadurch gelöst, dass die Auslesevorrichtung eine Anzahl N von hintereinander angeordneten Auslesebereichen umfasst, wobei die Anzahl N mehr als doppelt so groß wie die Anzahl q von Codeabschnitten eines Codeworts ist, so dass mehr als zwei Auslesebereiche denselben Codeabschnitt erfassen.
-
Anders ausgedrückt, umfasst die Auslesevorrichtung bevorzugt mehr als doppelt so viele Auslesebereiche (z.B. Photodioden), wie das Codewort Codeabschnitte umfasst. Bei einem Codewort mit z.B. zehn Codeabschnitten können einundzwanzig oder mehr Auslesebereiche vorgesehen sein. Das Codewort wird allgemein gesagt folglich von mindestens mehr als zwei Auslesebereichen pro Codeabschnitt abgetastet.
-
Die Erfindung macht sich die Erkenntnis zunutze, dass durch die so geschaffene Überabtastung das Codewort unabhängig von der jeweiligen Phasenlage sicher erkannt werden kann. Zudem wird die Erkennung deutlich vereinfacht, da beispielsweise auf eine Umschaltung zwischen verschiedenen Kanälen verzichtet werden kann.
-
Nachfolgend werden noch einige Details der erfindungsgemäßen Vorrichtung erläutert.
-
Die Codierung und die Auslesevorrichtung werden bevorzugt mit dem jeweiligen Teil der Vorrichtung mitbewegt. Dementsprechend können die Codierung und/oder die Auslesevorrichtung jeweils starr an dem ersten bzw. zweiten Teil angebracht sein. Durch eine Relativbewegung des ersten und des zweiten Teils zueinander wird bevorzugt ein anderer Teil der Codierung (d.h. ein anderes Codewort) in den Bereich der Auslesevorrichtung gebracht. Durch die Ermittlung des Codeworts kann dann auf die momentane Relativposition (z.B. Winkelposition) zwischen dem ersten und dem zweiten Teil rückgeschlossen werden.
-
Die Auslesevorrichtung erfasst die Codierung auf geeignete Art und Weise, beispielsweise optisch mittels Photodioden oder magnetisch mittels Hall-Sensoren oder magnetoresistiver Sensoren, wie später noch genauer ausgeführt. Die Auslesevorrichtung umfasst dabei eine Anzahl n von separaten Auslesebereichen. Die Auslesebereiche können beispielsweise durch eine einzelne oder mehrere kombiniert ausgelesene Photodioden gebildet werden. Jeder Auslesebereich dient dabei zur Erfassung eines einzelnen Codeabschnitts der Codierung. Jeweils eine Anzahl n dieser Auslesebereiche ist dabei auf denselben Codeabschnitt gerichtet. Gemäß der Erfindung sind also (z.B. im Durchschnitt über das gesamte Codewort) immer mehr als zwei Auslesebereiche für das Auslesen desselben Codeabschnitts bestimmt. Damit ergibt sich eine Gesamtanzahl N von hintereinander angeordneten Auslesebereichen, die dem Produkt aus der Anzahl n von Auslesebereichen pro Codeabschnitt multipliziert mit der Anzahl q von Codeabschnitten des Codeworts entspricht (N = n * q). n kann eine rationale Zahl sein, zum Beispiel „2,1“, „2,5“, „3“, „4“, „5“, „7“ oder „10“.
-
Die Codierung ist bevorzugt digital und/oder binär ausgestaltet. Es ist zu verstehen, dass die Codeabschnitte Bereiche erster Art oder Bereiche zweiter Art umfassen. Dies bedeutet, dass ein jeweiliger Codeabschnitt entweder einen Bereich erster Art oder einen Bereich zweiter Art umfasst. Hierdurch schaffen die Bereiche erster und zweiter Art gemeinsam die Codierung.
-
Die Auslesebereiche sind in einer Reihenfolge, bevorzugt entlang einer geraden oder kreisbogenförmigen Linie, hintereinander angeordnet und werden bevorzugt auch in dieser Reihenfolge verarbeitet. Im Unterschied zu der oben geschilderten Umschaltung zwischen zwei Kanälen werden gemäß der Erfindung jeweils keine Auslesebereiche bei der Verarbeitung ausgelassen, stattdessen werden jeweils alle Auslesebereiche, die direkt hintereinander angeordnet sind, miteinander verarbeitet.
-
Durch die Anzahl N von Auslesebereichen, welche mehr als doppelt so groß wie die Anzahl q von Codeabschnitten des Codeworts ist, ergibt sich, dass zumindest für einen der Codeabschnitte und/oder im Schnitt über das gesamte Codewort (d.h. im Bereich der Auslesevorrichtung) mehr als zwei Auslesebereiche denselben Codeabschnitt erfassen.
-
Die Auslesevorrichtung ist demnach bevorzugt ausgebildet, jeweils ein komplettes Codewort zu einem einzigen Zeitpunkt zu erfassen.
-
Zur besseren Übersichtlichkeit sei zusammengefasst, dass
- N
- die Anzahl der Auslesebereiche,
- q
- die Anzahl der Codeabschnitte eines Codeworts und
- n
- die Anzahl der Auslesebereiche pro Codeabschnitt
angibt.
-
Vorteilhafte Weiterbildungen der Erfindung sind der Beschreibung, den Zeichnungen sowie den Unteransprüchen zu entnehmen.
-
Gemäß einer ersten vorteilhaften Ausführungsform ist die Auslesevorrichtung ausgebildet,
- - jedem Auslesebereich nach der Erfassung eines Codeabschnitts einen Binärwert zuzuordnen,
- - ein oder mehrere Codewortinkremente a zu ermitteln, wobei für die Codewortinkremente a gleiche Binärwerte von direkt aufeinanderfolgenden Auslesebereichen gezählt werden, und
- - anhand der Anzahl n von Auslesebereichen pro Codeabschnitt und anhand des Codewortinkrements a oder der Codewortinkremente a die Codierung zu ermitteln.
-
Es erfolgt bevorzugt zunächst ein Binarisieren eines Messwerts des jeweiligen Auslesebereichs, beispielsweise mittels eines Analog-Digital-Converters (ADC). Eine vorbestimmte Schwelle beim Binarisieren kann derart eingestellt werden, dass einem hellen Bereich der Codierung eine „1“ zugeordnet wird, wohingegen einem dunklen Bereich der Codierung eine „0“ zugeordnet wird.
-
Anschließend kann gezählt werden, wie viele gleiche Binärwerte von direkt aufeinanderfolgenden Auslesebereichen geliefert wurden. Werden beispielsweise von acht aufeinanderfolgenden Auslesebereichen die Binärwerte „11111000“ geliefert, so werden die fünf direkt aufeinanderfolgenden Einser und die drei direkt aufeinanderfolgenden Nullen als „5, 3“ ausgegeben. Neben den so ermittelten, d.h. gemessenen, Codewortinkrementen a kann zusätzlich gespeichert werden, ob das erste Codewortinkrement die Anzahl von Nullen oder von Einsen angibt. Die folgenden Codewortinkremente geben dann jeweils abwechselnd Nullen und Einsen an.
-
Nun kann unter Berücksichtigung der bekannten Anzahl n der Auslesebereiche pro Codeabschnitt und unter weiterer Berücksichtigung der beim Zählen ermittelten Codewortinkremente (im vorliegenden Beispiel also „5“ und „3“) die Codierung ermittelt werden, wie nachfolgend noch genauer erläutert werden wird.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Auswerteeinheit ausgebildet, bei einer tatsächlichen Inkrementlänge b von gleichen direkt aufeinanderfolgenden Codeabschnitten, von einem gemessenen Codewortinkrement a auszugehen, welches in einem Bereich c-1 bis c+1 liegt, wobei eine potentielle Anzahl c dem gerundeten Multiplikationsprodukt aus der tatsächlichen Inkrementlänge b und der Anzahl n von Auslesebereichen pro Codeabschnitt entspricht.
-
Anders ausgedrückt, kann ein Codewortinkrement a somit als die Anzahl der von der Auslesevorrichtung ermittelten (gemessenen) identischen aufeinanderfolgenden Binärwerte angesehen werden. Die tatsächliche Inkrementlänge b hingegen gibt an, wie viele gleiche Codeabschnitte tatsächlich in der Codierung direkt hintereinander vorhanden sind.
-
Wird beispielsweise davon ausgegangen, dass drei Auslesebereiche pro Codeabschnitt vorhanden sind (n = 3) und dass drei helle Codeabschnitte direkt aufeinanderfolgen, so werden diese drei direkt aufeinanderfolgenden Codeabschnitte von insgesamt neun Auslesebereichen erfasst. Idealerweise sollten alle neun Auslesebereiche dann eine „1“ zurückliefern, was dem hellen Codeabschnitt entspricht. Es sollte folglich „111111111“ ausgelesen werden.
-
Je nach der genauen Phasenlage zwischen dem ersten und dem zweiten Teil und damit zwischen der Codierung und der Auslesevorrichtung kann es aber vorkommen, dass der erste oder der letzte Auslesebereich jeweils auch schon von einem benachbarten dunklen Codeabschnitt beeinflusst werden. Dementsprechend kann der erste oder letzte Binärwert fälschlicherweise anstelle einer „1“ auch eine „0“ ergeben. Dies bedeutet, dass die ermittelten neun Binärwerte auch „011111111“ oder „111111110“ sein können. Zusätzlich können auch noch zu den neun - im vorliegenden Beispiel betrachteten - Auslesebereichen benachbarte Auslesebereiche anstelle einer „0“ auch fälschlicherweise eine „1“ liefern, so dass dann bis zu zehn Einser in Folge ausgegeben werden können („1111111111“).
-
Es ist ersichtlich, dass die gemessenen Codewortinkremente für das gewählte Beispiel in einem Bereich von acht bis zehn liegen können. Allgemein ausgedrückt liegen die Codewortinkremente a in einem Bereich von c-1 bis c+1, wobei gilt: c= round(b * n).
-
Durch die erfindungsgemäße Verwendung einer Anzahl N von hintereinander angeordneten Auslesebereichen, welche mehr als doppelt so groß wie die Anzahl q von Codeabschnitten des Codeworts ist, ergibt sich allerdings eine Eindeutigkeit für die Codewortinkremente a, wobei durch diese Eindeutigkeit das jeweilige Codewort (bzw. die Codierung) unabhängig von der momentanen Phasenlage eindeutig ermittelt werden kann.
-
Im obigen Beispiel mit n = 3, d.h. drei Auslesebereichen pro Codeabschnitt, würde sich für eine Inkrementlänge von b = 1 (d.h. z.B. für einen einzelnen dunklen Codeabschnitt, welcher von zwei hellen Codeabschnitten umgeben ist) ein gemessenes Codewortinkrement a im Bereich von 2 bis 4 ergeben. Dies bedeutet, dass zwei bis vier Auslesebereiche korrekterweise eine „0“ zurückliefern. In entsprechender Weise würde sich für eine Inkrementlänge b = 2 ein gemessenes Codewortinkrement a im Bereich zwischen 5 und 7 ergeben.
-
Liefert das Zählen der gleichen direkt aufeinanderfolgenden Binärwerte beispielsweise ein Codewortinkrement von a = 4 zurück, so ist nun eindeutig bestimmt, dass in der Codierung ein einzelner gleicher Codeabschnitt vorliegt (d.h. Inkrementlänge b = 1). Eine Inkrementlänge von b = 2 kann ausgeschlossen werden, da hierfür dann ein gemessenes Codewortinkrement a = 5 notwendig wäre.
-
Zur besseren Übersicht ist in der folgenden Tabelle 1 für verschiedene Anzahlen n von Auslesebereichen pro Codeabschnitt und verschiedene Inkrementlängen angegeben, welche gemessenen Codewortinkremente a welcher tatsächlichen Inkrementlänge b in der Codierung entsprechen. Die Tabelle 1 ist dabei unabhängig von der Codewortlänge q.
Tabelle 1:
n | b = 1 | b = 2 | b = 3 | b = 4 | b = 5 | c = round(b * n) |
1 | a = 0...2 | a = 1...3 | a = 2...4 | a = 3...5 | a = 4...6 | a = c-1...c+1 |
2 | a = 1...3 | a=3...5 | a = 5...7 | a = 7...9 | a=9...11 | a=c-1...c+1 |
2.5 | a = 1...3 | a=4...6 | a = 7...9 | a=9...11 | a=12...14 | a=c-1...c+1 |
3 | a = 2...4 | a = 5...7 | a=8...10 | a = 11...13 | a = 14...16 | a = c-1 ... c+1 |
3.5 | a = 3...5 | a=6...8 | a = 10...12 | a = 13...15 | a = 17...19 | a=c-1...c+1 |
4 | a=3...5 | a = 7...9 | a = 11...13 | a=15...17 | a=19...21 | a=c-1...c+1 |
5 | a=4...6 | a = 9...11 | a = 14...16 | a = 19...21 | a = 24...26 | a=c-1...c+1 |
...u sw ... | ... usw ... | ... usw ... | ... usw ... | ... usw ... | ... usw ... | ... usw ... |
-
In der obigen Tabelle 1 sind auch der Vollständigkeit halber die nicht erfindungsgemäßen Anzahlen n = 1 und n = 2 von Auslesebereichen pro Codeabschnitt angegeben. Für diese beiden Anzahlen n ist ersichtlich, dass hier eine Überschneidung stattfindet. So kann beispielsweise bei einem gemessenen Codewortinkrement a = 3 nicht eindeutig bestimmt werden, ob in der Codierung tatsächlich ein Inkrement mit der Länge b = 1 oder mit der Länge b = 2 vorliegt.
-
Eine eindeutige Bestimmung der tatsächlichen Inkrementlänge b ist erst bei einer Anzahl n > 2 möglich, also beispielsweise bei einer Anzahl n = 2,5, wie in der Tabelle 1 angegeben. Für n = 2,5 werden beispielsweise 25 Auslesebereiche bei einer Codewortlänge q = 10 verwendet.
-
Ebenfalls ist es möglich, Anzahlen n < 2,5 (aber n > 2) zu verwenden. Dies ist insbesondere bei größeren Codewortlängen q sinnvoll, beispielsweise bei q ≥ 20 oder ≥ 40. Für solche Anzahlen n kann mit Nachschlagetabellen gearbeitet werden, um die korrekte tatsächliche Inkrementlänge b zu ermitteln.
-
Durch die erfindungsgemäße Überabtastung in Kombination mit dem oben erläuterten Vorgehen kann zudem auch eine hohe Robustheit gegenüber mechanischen Toleranzen erreicht werden. Überdies ist von Vorteil, dass die Schaltschwellen für die einzelnen Auslesebereiche nicht untereinander abgeglichen werden müssen, wodurch ein aufwendiger Justageprozess entfallen kann. Auch Beleuchtungsschwankungen bei der Beleuchtung der Codierung können toleriert werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Vorrichtung zur optischen Positions-, Längen-, oder Winkelbestimmung ausgebildet, wobei die Bereiche erster Art Bereiche relativ höherer Helligkeit und die Bereiche zweiter Art Bereiche relativ niedrigerer Helligkeit umfassen. Bevorzugt ist die Auslesevorrichtung zur optischen Erfassung der Codierung ausgebildet.
-
Die optische Erfassung der Codierung mittels der Auslesevorrichtung kann im Auflicht und/oder im Durchlicht erfolgen. Hierbei können Bereiche relativ höherer Helligkeit eine höhere Remission und/oder Transmission aufweisen als Bereiche relativ niedrigerer Helligkeit. Bei der optischen Erfassung kann ein jeweiliger Auslesebereich z.B. von einer oder mehreren Photodioden gebildet sein. Hellere Codeabschnitte können einer logischen „1“ entsprechen, wohingegen dunklere Codeabschnitte einer logischen „0“ entsprechen können, oder umgekehrt.
-
Alternativ oder zusätzlich kann die Codierung auch magnetisch erfolgen. Hierbei können die Bereiche erster Art Bereiche relativ stärkerer Magnetisierung und die Bereiche zweiter Art Bereiche relativ schwächerer Magnetisierung umfassen. Beispielsweise kann ein Bereich erster Art einen Magneten (oder ein magnetisches Material) aufweisen, wohingegen in einem Bereich zweiter Art kein Magnet (oder kein magnetisches Material) vorhanden ist. Auch kann die Codierung durch einen Wechsel zwischen Nord- und Süd-Polarisierung geschaffen werden.
-
Bei einer magnetischen Codierung kann ein jeweiliger Auslesebereich z.B. einen oder mehrere Hall-Sensoren oder einen oder mehrere magnetoresistive Sensoren oder eine oder mehrere Spulen zur Erzeugung eines Magnetfelds umfassen.
-
Grundsätzlich sind auch beliebige andere Codierungen oder Kombinationen verschiedener Codierungen möglich.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfassen die Auslesebereiche die Codeabschnitte zeitgleich. Die Auswerteeinheit kann derart eingerichtet sein, dass die Auslesebereiche zeitgleich angesteuert werden, um die Codeabschnitte auszulesen. „Zeitgleich“ soll bevorzugt so verstanden werden, dass zwischen dem Auslesen der einzelnen Codeabschnitte entweder kein Zeitversatz oder nur ein so geringer Zeitversatz besteht, dass eine gegebenenfalls vorhandene Relativbewegung des ersten und des zweiten Teils die Erfassung der Codeabschnitte nicht beeinflusst.
-
Gemäß einer weiteren vorteilhaften Ausführungsform umfasst die Codierung einen Absolutcode. Zudem kann die Auswerteeinheit ausgebildet sein, eine Absolutposition zwischen dem ersten und dem zweiten Teil zu ermitteln. Durch den Absolutcode kann nicht nur eine Relativposition der zwei Teile zueinander sondern sogar deren Absolutposition (z.B. absolute lineare Verschiebung oder absolute Winkelposition) zueinander feststellbar sein. Der Absolutcode kann insbesondere keine sich wiederholenden Codeworte umfassen.
-
Auch ist es möglich, dass die Codierung einen Inkrementalcode aufweist. Ebenfalls ist eine Kombination aus einem Absolutcode und einem Inkrementalcode möglich.
-
Nach der Ermittlung der Relativposition bzw. der Absolutposition kann die ermittelte Position von der Auswerteeinheit über eine Datenschnittstelle ausgegeben werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform umfasst die Codierung einen Pseudo-Random-Code. Die Codierung kann pseudo-zufällig erzeugt worden sein. Zur Generierung von Pseudo-Random-Code existieren z.B. verschiedene mathematische Vorschriften. Ein Pseudo-Random-Code kann beispielsweise mittels eines linear rückgekoppelten Schieberegisters (engl. linear feedback shift register, kurz LFSR) erzeugt werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform sind der erste und der zweite Teil relativ zueinander entlang einer Geraden bewegbar. Zudem können die Codierung und die Auslesebereiche jeweils entlang einer Geraden angeordnet sein. Die Anordnung der Codierung und der Auslesebereiche kann parallel zu der Geraden sein, entlang derer der erste und der zweite Teil zueinander bewegbar sind. Durch eine derartige Anordnung kann eine Linearverschiebung des ersten und des zweiten Teils relativ zueinander gemessen werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform sind der erste und der zweite Teil relativ zueinander um eine Drehachse verdrehbar. Zudem können die Codierung und die Auslesebereiche zur Winkelmessung jeweils entlang einer kreisförmigen Bahn angeordnet sein. Die kreisförmigen Bahnen von Codierung und Auslesebereichen können jeweils denselben Radius aufweisen und um die Drehachse des ersten und des zweiten Teils angeordnet sein.
-
Gemäß einer weiteren vorteilhaften Ausführungsform weisen die Codeabschnitte jeweils eine gleiche Größe und/oder einen gleichen Versatz zueinander auf. Bei den Codeabschnitten kann es sich demnach um äquidistante binäre Bits handeln.
-
Die Codeabschnitte können jeweils die gleiche Helligkeit (d.h. Remission und/oder Transmission) für alle als logische „1“ und/oder für alle als logische „0“ zu interpretierenden Bereiche aufweisen. Beispielsweise kann eine logische „1“ durch eine weiße Farbe (oder einen transparenten Bereich) und eine logische „0“ durch eine schwarze Farbe (d.h. einen intransparenten Bereich) gekennzeichnet sein. Alternativ oder zusätzlich können auch hellere Bereiche (z.B. Bereiche für eine „1“) durch reflektierende Oberflächen, wie beispielsweise Metallflächen, gebildet sein. Insbesondere in elektronischen Geräten können die Metallflächen und damit die Codeabschnitte auch durch Leiterbahnen erzeugt werden, wobei die Leiterbahnen insbesondere nicht durch einen Schutzlack bedeckt sind.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist die Auswerteeinheit eingerichtet, unvollständige Codewortinkremente a zu erkennen und bei der Ermittlung der Relativposition unberücksichtigt zu lassen. Unvollständige Codewortinkremente sind insbesondere diejenigen Codewortinkremente a, die gemäß der obigen Tabelle 1 für die jeweils verwendete Anzahl n von Auslesebereichen pro Codeabschnitt keiner Inkrementlänge b zugeordnet werden können. Für eine Anzahl n = 3 kann beispielsweise ein Codewortinkrement a = 1 nicht zugeordnet werden und kann deshalb bei der Ermittlung der Relativposition ignoriert werden. Insbesondere werden solche unvollständigen Codewortinkremente a nur am Anfang und/oder Ende des auszuwertenden Codeworts ignoriert. Wird ein unvollständiges Codewortinkrement a ignoriert, so wird bevorzugt die Phasenlage des gesamten Codeworts in Abhängigkeit der Ausleserichtung um die bekannte Länge a des unvollständigen Codewortinkrements versetzt interpretiert. Hierdurch kann die Positions- bzw. die Winkelgenauigkeit der Auslesung gesteigert werden.
-
Zur Erhöhung der Genauigkeit bzw. der Zuverlässigkeit der Positionserfassung können verschiedenen Plausibilitätsprüfungen durchgeführt werden. So kann beispielsweise überprüft werden, ob die Summe aller Codewortinkremente a der Anzahl N der Auslesebereiche entspricht. Außerdem kann überprüft werden, ob die ermittelte Codierung die Codewortlänge q besitzt.
-
Wie bereits erwähnt, kann die Auswerteeinheit bevorzugt ausgebildet sein, für eine Anzahl n von Auslesebereichen pro Codeabschnitt, welche zwischen zwei und drei liegt, eine Nachschlagetabelle zu verwenden, um die jeweilige tatsächliche Inkrementlänge b zu ermitteln. Überdies können die Schaltschwellen der Auslesebereiche derart gewählt werden, dass die Nachschlagetabelle in dem genannten Bereich möglichst eindeutig ist. Alternativ ist für diesen Fall auch eine rechnerische Zuordnung möglich.
-
Überdies können, wie ebenfalls bereits angedeutet, für einen Auslesebereich jeweils genau eine oder auch mehrere Photodioden verwendet werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform wird die Codierung mittels einer, insbesondere an dem ersten und/oder an dem zweiten Teil angebrachten, Lichtquelle beleuchtet. Bei der Lichtquelle kann es sich beispielsweise um eine LED handeln. Auch kann jedem einzelnen Auslesebereich eine separate Lichtquelle zugeordnet sein. Im Durchlicht befindet sich die Codierung bevorzugt zwischen der Lichtquelle und der Auslesevorrichtung. Alternativ oder zusätzlich ist es möglich, dass die Codierung selbstleuchtend ist. Beispielsweise können die relativ helleren Bereiche der Codierung durch LEDs gebildet werden. Im Falle einer nicht selbstleuchtenden Codierung wird die Helligkeit der Codierung durch die Remission der Codierung an der jeweiligen Stelle bestimmt.
-
Gemäß einer weiteren vorteilhaften Ausführungsform kann eine zusätzliche inverse Codierung vorgesehen sein, welche zu der vorgenannten Codierung invertiert ist. Die Auswerteeinheit kann dann dazu ausgebildet sein, ein Differenzsignal aus beiden Codierungen zu erzeugen.
-
Weiterer offenbart wird ein Verfahren zur Positions-, Längen- oder Winkelbestimmung, bei welchem
- - ein erster und ein zweiter Teil relativ zueinander bewegt werden,
- - an dem ersten Teil eine Codierung angebracht wird, wobei die Codierung eine Vielzahl von Codeabschnitten umfasst, wobei die Codeabschnitte Bereiche erster Art oder Bereiche zweiter Art umfassen, wobei die Bereiche erster und zweiter Art die Codierung schaffen, wobei die Codierung mehrere Codeworte aufweist, wobei jedes Codewort eine vorbestimmte Anzahl q von Codeabschnitten umfasst,
- - eine an dem zweiten Teil angebrachte Auslesevorrichtung die Codierung erfasst, wobei die Auslesevorrichtung eine Anzahl n von separaten Auslesebereichen umfasst, welche jeweils einen einzelnen Codeabschnitt erfassen,
- - anhand der von der Auslesevorrichtung erfassten Codierung eine Relativposition zwischen dem ersten und dem zweiten Teil ermittelt wird.
-
Das Verfahren zeichnet sich dadurch aus, dass die Auslesevorrichtung eine Anzahl N von hintereinander angeordneten Auslesebereichen verwendet, wobei die Anzahl N mehr als doppelt so groß wie die Anzahl q von Codeabschnitten eines Codeworts ist, so dass mehr als zwei Auslesebereiche denselben Codeabschnitt erfassen.
-
Die vorstehenden Erläuterungen zur erfindungsgemäßen Vorrichtung gelten für das Verfahren entsprechend. Dies gilt insbesondere für Vorteile und bevorzugte Ausführungsformen.
-
Nachfolgend wird die Erfindung rein beispielhaft unter Bezugnahme auf die Zeichnungen beschrieben. Es zeigt:
- 1 eine Vorrichtung zur optischen Positions- oder Längenbestimmung in schematischer Ansicht;
- 2 ein erstes Beispiel des Auslesens einer Codierung mittels Dreifachabtastung;
- 3 ein zweites Beispiel des Auslesens einer Codierung mittels Dreifachabtastung;
- 4 ein drittes Beispiel des Auslesens einer Codierung mittels Dreifachabtastung;
- 5 ein viertes Beispiel des Auslesens einer Codierung mittels Dreifachabtastung, wobei eine Ambivalenz am Beginn des Codeworts vorliegt; und
- 6 das Auslesen einer Codierung mittels 2,5-facher Abtastung.
-
1 zeigt eine Vorrichtung 10, welche zur optischen Positions- oder Längenbestimmung dient. Die Vorrichtung 10 kann z.B. Teil eines Servomotors oder eines Motor-Feedback-Systems (nicht gezeigt) sein.
-
Die Vorrichtung 10 umfasst eine Codierung 12, welche an einem ersten Teil 14 der Vorrichtung 10 angebracht ist und von dem ersten Teil 14 mitbewegt wird. Der erste Teil 14 ist nicht näher dargestellt und wird in der 1 stellvertretend durch die Codierung 12 vertreten.
-
Die Vorrichtung 10 umfasst weiterhin eine Auslesevorrichtung 16, welche an einem zweiten Teil 18 der Vorrichtung 10 angebracht ist und von dem zweiten Teil 18 mitbewegt wird. Der erste Teil 14 und der zweite Teil 18 bzw. die Codierung 12 und die Auslesevorrichtung 16 sind relativ zueinander bewegbar und zwar geradlinig zueinander. Die Bewegung erfolgt entlang einer Verschieberichtung V.
-
Die Auslesevorrichtung 16 umfasst in dem Beispiel von 1 fünfundzwanzig Photodioden 20, welche entlang einer geraden Linie hintereinander an der Auslesevorrichtung 16 angebracht sind. Jeweils eine einzelne Photodiode 20 dient dabei als separater bzw. einzelner Auslesebereich.
-
Die Photodioden 20 erfassen Codeabschnitte 22, wobei im Bereich der Auslesevorrichtung 16 zeitgleich jeweils zehn Codeabschnitte 22 angeordnet sind bzw. benachbart aber beabstandet zur Auslesevorrichtung 16 vorbeigeführt werden.
-
Im gewählten Beispiel der 1 ist die Anzahl der Photodioden N somit 25, die Anzahl q der Codeabschnitte 22 ist 10 und die Anzahl n der Auslesebereiche/Photodioden pro Codeabschnitt 22 ist 2,5 (N = 25; q = 10; n = 2,5).
-
In Betrieb der Vorrichtung 10 wird die Codierung 12 mittels einer (nicht gezeigten) Lichtquelle beleuchtet, welche an dem zweiten Teil 18 befestigt ist. Die Codierung 12 remittiert das Licht der Lichtquelle, wobei das remittierte Licht von den Photodioden 20 empfangen wird. In den Photodioden 20 entsteht dadurch ein elektrisches Signal, welches an eine Auswerteeinheit 24 weitergeleitet wird. Die Auswerteeinheit 24 binarisiert das Signal der einzelnen Photodioden 20, sodass sich bei einer Photodiode, welche auf einen dunklen Codeabschnitt 22 (in der 1 schwarz dargestellt) als Signal eine „0“ ergibt, wohingegen sich bei einem hellen Codeabschnitt 22 (in der 1 weiß dargestellt) als Signal eine „1“ ergibt.
-
Es versteht sich, dass die Vorrichtung 10 auch im Durchlicht betrieben werden könnte, wobei die Lichtquelle dann derart z.B. am ersten Teil 14 befestigt sein könnte, um Licht durch die hellen Codeabschnitte 22 hindurch zu den Photodioden 20 zu emittieren.
-
Die Auswerteeinheit 24 erzeugt aus den Signalen dann eine binäre Zeichenfolge, in welcher jeweils die binarisierten Signale der einzelnen Photodioden 20 entsprechend der Reihenfolge der Photodioden 20 enthalten sind. Bei dem Beispiel von 1 mit 25 Photodioden umfasst die binäre Zeichenfolge somit 25 Zahlen.
-
In den nachfolgenden 2 bis 6 sind verschiedene Fälle dargestellt, in welchen die Codierung 12 von unterschiedlichen Anzahlen von Photodioden 20 bei unterschiedlichen Relativpositionen bzw. Phasenlagen ausgelesen werden. Es ist zu beachten, dass sämtliche Figuren (auch die 1) zur besseren Übersicht jeweils dieselbe Codierung 12 zeigen.
-
2 zeigt eine Dreifachabtastung der Figuren, dies bedeutet, die Anzahl n der Photodioden 20 pro Codeabschnitt 22 ist 3 (n = 3). Dementsprechend ist die Gesamtanzahl N der Photodioden 30 (N = 30). Dieselben Randbedingungen gelten auch für die 2 bis 5.
-
Die Photodioden 20 sind in den 2 bis 6 nicht explizit dargestellt, sondern durch den ihnen jeweils zugeordneten binarisierten Wert repräsentiert.
-
In der
2 sind die Codierung
12 und die Photodioden
20 so zueinander orientiert, dass jeweils genau drei Photodioden
20 auf einen Codeabschnitt
22 ausgerichtet sind. Dementsprechend ergibt sich für die Binarisierung die in der nachfolgenden Tabelle 2 dargestellte binäre Zahlenfolge.
Tabelle 2:
Ergebnis nach Binarisierung | Auswertung Zähler | Auswertung Binär |
000111000000111111111000111000 | 3,3,6,9,3,3,3 | 0100111010 |
-
Werden die jeweils gleichen aufeinanderfolgenden Binärzahlen gezählt, so ergibt sich die Folge von Zahlen, die in der Tabelle 2 unter „Auswertung Zähler“ genannt ist. Die in „Auswertung Zähler“ genannten Zahlen entsprechen den oben genannten gemessenen Codewortinkrementen a. Da die Folge von Binärzahlen mit drei Nullen, dann drei Einsen und dann sechs Nullen beginnt, ergibt sich für „Auswertung Zähler“ bzw. für die Codewortinkremente a zunächst eine „3“, dann nochmals eine „3“ und dann eine „6“ (und so weiter).
-
Anhand der weiter vorne aufgeführten Tabelle 1 kann für n = 3 jeweils ermittelt werden, wie viele gleiche binäre Werte für eine bestimmte Zahl bei der „Auswertung Zähler“ vorhanden sind (d.h. es kann die tatsächliche Inkrementlänge b aus den gemessenen Codewortinkrementen a ermittelt werden).
-
Genauer gesagt, wird für die unter „Auswertung Zähler“ genannte Zahlenfolge, welche mit „3,3,6“ beginnt, in der Tabelle 1 zunächst ermittelt, dass für n=3 und a=3 eine Inkrementlänge b=1 vorliegt. Für die nachfolgenden Codewortinkremente a=3 und a=6 ergeben sich Inkrementlängen von b=1 und b=2. Dementsprechend lautet der Beginn des Codeworts „0100“. Durch Wiederholung der vorgenannten Schritte kann dann die vollständige bei „Auswertung binär“ in Tabelle 2 angegebene binäre Zahlenfolge ausgegeben werden („0100111010“).
-
Es ist ersichtlich, dass die ausgegebene binäre Zahlenfolge exakt der Folge der Codierung 12 entspricht. Damit konnte das Codewort der Codierung 12 erfolgreich ausgelesen werden.
-
3 zeigt einen zu 2 ähnlichen Fall, der sich gegenüber der 2 nur darin unterscheidet, dass ein geringer Phasenversatz P zwischen der Codierung 12 und den Photodioden 20 vorhanden ist.
-
Durch den Phasenversatz
P kommt es zu einer Ungewissheit bei der Binarisierung der Signale verschiedener Photodioden
20. Beispielsweise wird die vierte Photodiode
20 (von links aus gesehen) sowohl remittiertes Licht des Bits 0 (dunkel) als auch des Bits 1 (hell) empfangen. Ein ähnlicher Fall wäre auch im Durchlicht gegeben. Dadurch ist nicht eindeutig definiert, ob die vierte Photodiode
20 als „0“ oder als „1“ repräsentiert wird. Es ergeben sich dadurch die in der nachfolgenden Tabelle 3 dargestellten möglichen Ergebnisse der Binarisierung. Es ist anzumerken, dass die Tabelle 3 nur einen Teil der möglichen Ergebnisse darstellt.
Tabelle 3:
Ergebnisse nach Binarisierung | Auswertung Zähler | Auswertung Binär |
000011100000011111111100011100 | 4,3,6,9,3,3,2 | 0100111010 |
000111000000111111111000111000 | 3,3,6,9,3,3,3 | 0100111010 |
000011000000011111111000011000 | 4,2,7,8,4,2,3 | 0100111010 |
000111100000111111111100111100 | 3,4,5,10,2,4,2 | 0100111010 |
... usw ... | ... usw ... | 0100111010 |
-
In der obigen Tabelle 3 wird ebenfalls wieder ein Zählen der aufeinanderfolgenden gleichen Binärwerte vorgenommen und die Werte in der Spalte „Auswertung Zähler“ werden unter Zuhilfenahme der Tabelle 1 wieder in eine Folge von Binärzahlen umgewandelt. Es ist zu erkennen, dass unabhängig vom Schaltverhalten der „unsicheren“ Photodioden 20 (in den Figuren mit „?“ gekennzeichnet) immer die korrekte Codierung 12 ermittelt wird. Dies ist insbesondere deshalb möglich, da in der Tabelle 1 jedes gemessene Codewortinkrement a eindeutig einer Inkrementlänge b zugeordnet ist.
-
4 zeigt ein zu
3 ähnliches Beispiel. In
4 ist der Phasenversatz
P im Vergleich zu
3 in einer entgegengesetzten Richtung angeordnet. Für
4 ergibt sich entsprechend
3 die nachfolgende Tabelle 4.
Tabelle 4:
Ergebnisse nach Binarisierung | Auswertung Zähler | Auswertung Binär |
000111000000111111111000111000 | 3,3,6,9,3,3,3 | 0100111010 |
001110000001111111110001110001 | 2,3,6,9,3,3,3,(1) | 0100111010 |
000110000000111111110000110000 | 3,2,7,8,4,2,4 | 0100111010 |
001111000001111111111001111001 | 2,4,5,10,2,4,2,(1) | 0100111010 |
... usw ... | ... usw ... | 0100111010 |
-
Auch bei der Tabelle 4 der 4 ist zu erkennen, dass die Codierung 12 korrekt ermittelt wird. In der zweiten und vierten Zeile der Tabelle 4 ist jeweils bei „Auswertung Zähler“ bzw. als Codewortinkrement a als letzte Zahl eine „1“ angegeben. Diese „1“ wird ignoriert, da sie gemäß Tabelle 1 keiner Inkrementlänge b zugeordnet werden kann und außerdem bereits durch die vorhergehenden Codewortinkremente a das Codewort vollständig rekonstruiert werden konnte.
-
In
5 ist der Phasenversatz
P derart gewählt, dass eine Ambivalenz für die erste Photodiode
20 (d.h. für die Photodiode
20, welche ganz links mit einem Fragezeichen repräsentiert ist) vorhanden ist. Wie sich aus der nachfolgenden Tabelle 5 ergibt, kann dadurch ein gemessene Codewortinkrement a entstehen, welches keiner tatsächlichen Inkrementlänge b gemäß Tabelle 1 zugeordnet werden kann. Ein solcher Wert ist in der Tabelle 5 als in Klammern gesetzte „
1“ gekennzeichnet. Ein solcher Wert wird bei der Auswertung der Zähler ignoriert.
Tabelle 5:
Ergebnisse nach Binarisierung | Auswertung Zähler | Auswertung Binär |
011100000011111111100011100011 | (1),3,6,9,3,3,2 | 1001110101 |
111000000111111111000111000111 | 3,6,9,3,3,3,3 | 1001110101 |
011000000011111111000011000011 | (1),2,7,8,4,2,4,2 | 1001110101 |
111100000111111111100111100111 | 4,5,10,2,4,2,3 | 1001110101 |
... usw ... | ... usw ... | 1001110101 |
-
Auf diese Weise kann auch bei einer Ambivalenz am Anfang oder am Ende der Codierung 12 die Codierung 12 korrekt ermittelt werden.
-
In
6 sind nicht drei Photodioden
20 pro Codeabschnitt
22 vorgesehen, sondern im Schnitt nur 2,5 (n = 2,5), d.h. insgesamt 25 Photodioden
20. Hierdurch existieren mehrere Photodioden, welche einen im Vorhinein nicht eindeutigen Wert liefern. Hierdurch ergeben sich verschiedene Ergebnisse nach der Binarisierung, welche in der nachfolgenden Tabelle 6 dargestellt sind. Durch die Auswertung mittels Zählen der identischen aufeinanderfolgenden Binärwerte und der Ermittlung der Inkrementlänge b gemäß der Tabelle 6 lässt sich jeweils die korrekte Codierung
12 ermitteln, wie sich aus der Spalte „Auswertung binär“ ergibt.
Tabelle 6:
Ergebnis nach Binarisierung | Auswertung Zähler | Auswertung Binär |
0011100000111111110011100 | 2,3,5,8,2,3,2 | 0100111010 |
0001100000111111100011000 | 3,2,5,7,3,2,3 | 0100111010 |
0011100000111111100011000 | 2,3,5,7,3,2,3 | 0100111010 |
0001100000111111110011100 | 3,2,5,8,2,3,2 | 0100111010 |
... usw ... | | 0100111010 |
-
Erfindungsgemäß ist es somit auf einfache und zuverlässige Weise möglich, die Codierung 12 zu ermitteln, wobei aus der Codierung 12 dann die Relativ- oder Absolutposition bestimmt werden kann.
-
Bezugszeichenliste
-
- 10
- Vorrichtung
- 12
- Codierung
- 14
- erster Teil
- 16
- Auslesevorrichtung
- 18
- zweiter Teil
- 20
- Photodiode
- 22
- Codeabschnitt
- 24
- Auswerteeinheit
- V
- Verschieberichtung
- P
- Phasenversatz