-
Die vorliegende Offenbarung bezieht sich auf eine optische Codiervorrichtung für das Erfassen einer Position und/oder einer Bewegung.
-
Optische Codierer werden in einer breiten Vielfalt von Zusammenhängen verwendet, um eine Position und/oder Bewegung eines Objekts mit Bezug auf eine gewisse Referenz zu bestimmen. Eine optische Codierung wird häufig bei mechanischen Systemen als eine kostengünstige und zuverlässige Weise verwendet, um eine Bewegung unter sich bewegenden Komponenten zu messen und zu verfolgen. Zum Beispiel verwenden Drucker, Scanner, Fotokopierer, Faxmaschinen, Plotter und andere Bilderzeugungssysteme häufig optische Codierer, um die Bewegung eines Bildmediums, wie beispielsweise Papier, zu verfolgen, wenn ein Bild an dem Medium gedruckt wird oder ein Bild von dem Medium abgetastet wird.
-
Im Allgemeinen umfasst ein optischer Codierer eine gewisse Form eines Lichtemitter-/Detektorpaars, das im Tandem mit einem „Coderad” oder einem „Codestreifen” arbeitet. Coderäder sind im Allgemeinen kreisförmig und können zum Erfassen einer Drehbewegung verwendet werden, wie beispielsweise die Bewegung einer Papierzuführtrommel in einem Drucker oder einer Kopiermaschine. Im Gegensatz dazu nehmen Codestreifen im Allgemeinen eine lineare Form an und können zum Erfassen einer linearen Bewegung verwendet werden, wie beispielsweise der Bewegung und Geschwindigkeit eines Druckkopfs des Druckers. Derartige Coderäder und Codestreifen umfassen im Allgemeinen ein regelmäßiges Muster von Schlitzen und Stäben, abhängig von der Form des optischen Codierers.
-
WO 2004/094957 A1 betrifft einen absoluten optischen Codierer mit einem CCD-Arraysensor, der in der Lage ist, in einem einzigen Schnappschuss ein Bild oder einzelne Zeilen aufzunehmen, welche sowohl inkrementelle als auch absolute Codierspuren aufweisen. Das aufgenommene Bild ist in einen oberen Teil und einen unteren Teil geteilt, wobei der obere Teil ein Bild der incrementellen Codierspur und der untere Teil mindestens eine komplette Sektion der absoluten Codierspur aufweist. Die Codierspuren werden durch ein Paar von Detektorlinien ausgelesen, wobei eine Linie sich über den oberen Teil des Bildes erstreckt, welcher ein Bild der inkrementellen Codierspur aufweist und eine andere Linie sich über den unteren Teil erstreckt, welcher das Bild der absoluten Codierspur aufweist.
-
Während sich optische Codierer als eine zuverlässige Technologie erwiesen haben, besteht immer noch ein wesentlicher Druck der Industrie, Herstellungsoperationen zu vereinfachen, die Anzahl von Herstellungsprozessen zu reduzieren, die Anzahl von Teilen zu minimieren und den Betriebsraum zu minimieren. Folglich ist eine neue Technologie erwünscht, die auf optische Codierer bezogen ist.
-
Es ist die Aufgabe der vorliegenden Erfindung, eine optische Codiervorrichtung für die Erfassung einer Position und/oder einer Bewegung eines mechanischen Geräts und ein Verfahren zum Kalibrieren eines mechanischen Geräts, das eine optische Codiervorrichtung aufweist, mit verbesserten Charakteristika zu schaffen.
-
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und Anspruch 10 sowie ein Verfahren gemäß Anspruch 12 gelöst.
-
Bei den folgenden Ausführungsbeispielen eliminieren die neuartigen Systeme und Vorrichtungen der vorliegenden Offenbarung den Bedarf nach einem Coderad/Codestreifen. Durch ein Eingliedern linearer Optiken in einen Emitter und einen Detektor eines Codierers, und ein anschließendes Anwenden einer gewissen intelligenten Nachverarbeitung, ist es möglich, einen zuverlässigen optischen Codierer ohne ein Coderad/einen Codestreifen zu erzeugen.
-
In einem ersten Sinn umfasst eine optische Codiervorrichtung für die Erfassung einer Position und/oder Bewegung eines mechanischen Geräts eine Codeskala, ein Codierergehäuse, das einen oder mehrere Abschnitte aufweist, und einen Lichterfassungssensor, der innerhalb des Codierergehäuses eingebettet ist, wobei der Lichterfassungssensor zum Erfassen eines Musters in der Lage ist, das durch die Codeskala erzeugt wird und dem Lichterfassungssensor überlagert ist, und wobei der Lichterfassungssensor ein zweidimensionales Array von Lichterfassungselementen umfasst, die Abmessungen von n mal m aufweisen, wobei n und m beides Ganzzahlen größer 4 sind.
-
In einem zweiten Sinn umfasst eine optische Codiervorrichtung für die Erfassung einer Position und/oder einer Bewegung eines mechanischen Geräts eine Codeskala, ein Codierergehäuse, das einen oder mehrere Abschnitte aufweist, eine Lichterfassungseinrichtung, die innerhalb des Codierergehäuses eingebettet ist, zum Erfassen eines zweidimensionalen Musters, das durch die Codeskala erzeugt wird, und eine Verarbeitungseinrichtung, die mit der Lichterfassungseinrichtung verbunden ist, zum Kompensieren eines Ausrichtungsfehlers der Codeskala mit Bezug auf das Codierergehäuse und zum Bestimmen einer Bewegung der Codeskala mit Bezug auf das Codierergehäuse.
-
In einem dritten Sinn ist ein Verfahren zum Kalibrieren eines mechanischen Geräts vorgelegt, das eine optische Codiervorrichtung aufweist, wobei die optische Codiervorrichtung eine Codeskala, ein Codierergehäuse und einen Lichterfassungssensor umfasst, wobei der Lichterfassungssensor ein zweidimensionales Array von Lichterfassungselementen umfasst, das zumindest 4 mal 4 Elemente aufweist. Ein derartiges Verfahren umfasst einen Schritt eines Kompensierens eines Ausrichtungsfehlers basierend auf einer Bewegung, die durch den Lichterfassungssensor erfasst wird.
-
Die exemplarischen Ausführungsbeispiele werden am besten aus der folgenden detaillierten Beschreibung verständlich, wenn dieselbe mit den zugehörigen Zeichnungsfiguren gelesen wird. Es wird betont, dass die verschiedenen Merkmale nicht zwangsläufig maßstabsgetreu sind. Tatsächlich können die Abmessungen für eine Deutlichkeit einer Erörterung beliebig vergrößert oder verkleinert sein. Wann immer es anwendbar und praktisch ist, beziehen sich ähnliche Bezugszeichen auf ähnliche Elemente.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 einen reflexionsbasierten optischen Codierer für eine Verwendung bei den offenbarten Verfahren und Systemen;
-
2 einen exemplarischen Detektor für eine Verwendung bei den offenbarten Verfahren und Systemen;
-
3A den exemplarischen Detektor von 2 mit einem ersten überlagerten projizierten Codeskalenmuster;
-
3B die beeinflussten Erfassungselemente für das Beispiel von 3;
-
3C einen exemplarischen Teilsatz der beeinflussten Erfassungselemente für das Beispiel von 3A für eine Verwendung bei einem Erfassen sowohl einer Bewegung als auch einer Richtung der verwandten Codeskala;
-
4A den exemplarischen Detektor von 2 mit einem zweiten überlagerten projizierten Codeskalenmuster;
-
4B die beeinflussten Erfassungselemente für das Beispiel von 4A;
-
4C einen exemplarischen Teilsatz der beeinflussten Erfassungselemente für das Beispiel von 4A für eine Verwendung bei einem Erfassen sowohl einer Bewegung als auch einer Richtung der verwandten Codeskala; und
-
5 ein Flussdiagramm, das einen exemplarischen Prozess gemäß der vorliegenden Offenbarung umreißt.
-
In der folgenden detaillierten Beschreibung sind zu Erläuterungszwecken exemplarische Ausführungsbeispiele, die spezifische Details offenbaren, dargelegt, um ein gründliches Verständnis eines Ausführungsbeispiels gemäß der vorliegenden Lehren zu liefern.
-
Optische Codierer sind allgemein in zwei Kategorien eingeteilt: transmissionsbasierte optische Codierer und reflexionsbasierte optische Codierer. Die folgende Offenbarung ist allgemein auf reflexionsbasierte optische Codierer gerichtet. Es ist jedoch ersichtlich, dass es zugehörige Konzepte geben wird, die ohne weiteres ebenso auf transmissionsbasierte Codierer angewandt werden können.
-
1 zeigt einen ersten reflexionsbasierten optischen Codierer 100. Der reflexionsbasierte Codierer 300 umfasst einen optischen Emitter 122 und einen optischen Detektor 132, die an einem Substrat 110 befestigt und in einem optischen Gehäuse 120 eingekapselt sind, das typischerweise aus einer gewissen Form eines Harzes oder Glases hergestellt ist. Das exemplarische optische Gehäuse 120 weist zwei kuppelförmige Linsen 124 und 134 auf, wobei sich die erste Linse 124 direkt über dem optischen Emitter 122 befindet und sich die zweite Linse 134 direkt über dem optischen Detektor 132 befindet. Eine Codeskala 193, d. h. ein Coderad, ein Codestreifen oder dergleichen, ist über dem Gehäuse 120 an einem Körper 190 positioniert, der für das vorliegende Beispiel ein flacher, sich linear bewegender Körper oder eine rotierende Scheibe sein kann. Eine Verbindung 140 ist von dem Detektor 134 zu einem Postprozessor (nicht gezeigt) vorgesehen, damit Lichtsignale, die den Detektor 134 erreichen, ordnungsgemäß interpretiert werden können.
-
In Betrieb kann Licht, das durch den optischen Emitter 122 emittiert wird, durch die erste Linse 124 fokussiert und dann zu der Codeskala 193 bei einer Position 195 transmittiert werden. Sollte die Codeskala 193 positioniert sein, derart, dass ein reflektierender Schlitz/Stab entlang dem Weg 150 des transmittierten Lichts vorhanden ist, kann das transmittierte Licht zu der zweiten Linse 134 reflektiert und dann durch die zweite Linse 134 auf den optischen Detektor 132 fokussiert werden, wo dasselbe erfasst werden kann. Sollte die Codeskala 193 positioniert sein, derart, dass ein reflektierender Schlitz/Stab entlang dem Weg 150 des transmittierten Lichts vorhanden ist, wird das transmittierte Licht wirksam blockiert und kann der optische Detektor 132 die Abwesenheit von Licht erfassen kann. Sollte die Codeskala 193 konfiguriert sein, derart, dass eine Kombination von reflektierenden und nicht reflektierenden Stäben simultan bei der Position 195 vorhanden ist, kann die Codeskala 193 Licht gemäß dem Muster von reflektierenden und nicht reflektierenden Stäben reflektieren, derart, dass das Muster wirksam auf den optischen Detektor 132 projiziert wird.
-
Allgemein sollte ersichtlich sein, dass die Installation eines optischen Codierers eine präzise und Zeit raubende Aufgabe sein kann. Zum Beispiel muss ein typischer optischer Codierer mit einer hohen Präzision einer Ausrichtung installiert werden und das Misslingen dies zu tun kann bewirken, dass der optische Codierer wirksam eine Fehlfunktion aufweist. Folglich kann es wesentliche Kosten bei einer Herstellung geben, die der Installation eines optischen Präzisionscodierers zugeordnet sind.
-
Um dieses Problem zu überwinden, haben die Erfinder der offenbarten Verfahren und Systeme einen höchst flexiblen Lichterfassungsdetektor entwickelt, der nicht nur die meisten Ausrichtungsprobleme löst, sondern auch eine Vielzahl anderer Vorteile liefert. 2 zeigt einen exemplarischen Lichterfassungsdetektor 200 für eine Verwendung bei den offenbarten Verfahren und Systemen. Wie es in 2 gezeigt ist, umfasst der Lichterfassungsdetektor 200 ein Array von Lichterfassungselementen 210, wobei jedes Lichterfassungselement 210 unabhängig zum Erfassen von Licht, Umwandeln des erfassten Lichts in eine elektrische Größe (z. B. Strom, Spannung oder Widerstand) und Fördern dieser elektrischen Größe zu einem externen Gerät in der Lage ist, wie beispielsweise einem Digitalsignalprozessor/einer Steuerung mit einem Analag-Zu-Digital-Wandler. Während der exemplarische Lichterfassungsdetektor 200 ein 10-mal-10-Array von Lichterfassungselementen 210 umfasst, sollte ersichtlich sein, dass die Größe eines derartigen Arrays bis zu nur einem 2-mal-2-Array (oder praktischer einem 4-mal-4-Array) variieren oder alternativ mehr als 100-mal-100-Elemente überschreiten kann, abhängig von den speziellen Umständen einer Verwendung. Ferner können auch die Gesamtabmessungen (W1 mal H1) des Arrays von Lichterfassungselementen 210 variieren, wie es erwünscht oder anderweitig durch die speziellen Umstände einer Verwendung erforderlich ist.
-
Wie es unten gezeigt wird, kann der Lichterfassungsdetektor 200 von 2 nicht nur verwendet werden, um Ausrichtungsfehler zu mildern, sondern weist auch eine Anzahl von anderen wichtigen Vorteilen auf.
-
Zum Beispiel kann der Lichterfassungsdetektor 200 verwendet werden, um eine Bewegung in zwei Dimensionen zu erfassen, gegenüber einer Bewegung in einer einzigen Dimension, wie andere optische Codierer begrenzt sind. Ferner kann der Lichterfassungsdetektor 200 verwendet werden, um eine exzentrische Bewegung in praktisch irgendeinem Winkel mit einem ausreichenden Präzisionspegel zu erfassen, um einen genauen und zuverlässigen Betrieb eines optischen Codierers sicherzustellen. Weiterhin kann der Lichterfassungsdetektor 200 verwendet werden, um eine Drehbewegung einer Codeskala mit Bezug auf einen Codiererkörper zu erfassen.
-
Weiterhin kann der Lichterfassungsdetektor 200 verwendet werden, um spezifische Formen zu erfassen, die eventuell an einer speziellen Codeskala vorliegen. Zum Beispiel kann ein spezieller Codestreifen aus abwechselnden rechteckigen Stäben und Fenstern über die Länge desselben hinweg bestehen, aber im Übrigen eines oder mehrere eindeutige Muster umfassen, z. B. ein Quadrat, einen Stern, einen Kreis oder dergleichen, um Positionsdaten zu bezeichnen, wie beispielsweise eine Mitten- oder Positionsreferenz. Derartige Forminformationen können ferner ermöglichen, dass ein Prozessor eine spezielle Modellnummer oder Modellrevision bestimmen kann, wenn solche Informationen eventuell z. B. als eine spezielle Fensterform, als ein Strichcode oder sogar als eine Reihe von alphanumerischen Schriftzeichen die an der Codeskala geschrieben sind, enthalten sind.
-
3A zeigt den Detektor 200 von 2 mit einer Codeskalenprojektion 310, die dem Detektor 200 überlagert ist. Die spezielle Codeskala für das exemplarische System ist konfiguriert, um sich in eine Richtung von links nach rechts mit Bezug auf den Detektor 210 zu bewegen, und, wie es durch die Konfiguration von 3A herzuleiten ist, wird lediglich eine begrenzte Anzahl von Lichterfassungselementen (d. h. ein 5-mal-10-Teilarray) durch die Bewegung der Codeskala beeinflusst.
-
3B zeigt die beeinflussten Lichterfassungselemente 320 (als schattiert gezeigt) deutlicher und gibt ferner an, dass die Codeskala 310 von 3A um einen linearen Abstand von D1 versetzt ist, ein Abstand, der durch einen Prozessor erkannt werden kann, der den Detektor 200 überwacht. In Anbetracht dessen, dass lediglich eine ausgewählte Anzahl von Lichterfassungselementen 320 beeinflusst sind, sollte klar sein, dass ein Prozessor, der den Detektor 200 überwacht, nicht jedes Erfassungselement überwachen muss. Im Gegenteil, wenn lediglich 50 der 100 Erfassungselemente durch die Bewegung der Codeskala beeinflusst sind, kann ein Prozessor, der die Bewegung der Codeskala überwacht, viel unnötige Verarbeitung durch lediglich ein Überwachen der 50 beeinflussten Erfassungselemente 320 ohne eine Verschlechterung einer Leistungsfähigkeit eliminieren.
-
Unter jetziger Bezugnahme auf 3C sollte ersichtlich sein, dass eventuell nicht alle der beeinflussten 50 Erfassungselemente 320 notwendig sind, um eine Codeskalenbewegung zu überwachen. Folglich zeigt 3C einen exemplarischen minimalen Teilsatz von Erfassungselementen 330 (als schattiert gezeigt), die nützlich sind, um eine Codeskalenbewegung und -richtung zu überwachen. Während für das Beispiel von 3C lediglich vier Erfassungselemente 330 verwendet werden, sollte ersichtlich sein, dass mehr Erfassungselemente verwendet werden können, um eine Redundanz, eine höhere Zuverlässigkeit oder ein gewisses anderes erwünschtes Merkmal einzugliedern. Es sollte ferner ersichtlich sein, dass die gewählten Erfassungselemente nicht zusammenhängend sein müssen, sondern in irgendeinem nützlichen Muster unter den 50 beeinflussten Erfassungselementen 320 verstreut sein können. Weiterhin, während bei einigen Ausführungsbeispielen die Anzahl und das Muster von verwendeten Erfassungselementen basierend auf einer minimalen Anzahl von Erfassungselementen gewählt sein kann, die benötigt werden, um notwendige Operationen durchzuführen, können andere Kriterien angewandt werden, einschließlich Kriterien, die auf die Optimierung einer Verarbeitung, eine Zuverlässigkeit und eine Funktionalität bezogen sind.
-
4A zeigt den Detektor 200 von 2 mit einer zweiten Codeskalenprojektion 410, die dem Detektor 200 überlagert ist. Die spezielle Codeskala für das exemplarische System ist konfiguriert, um sich in eine exzentrische Richtung mit Bezug auf den Detektor 210 (und den verwandten Codiererkörper) zu bewegen, und, wie es durch die Konfiguration von 4A herzuleiten ist, wird lediglich eine begrenzte Anzahl von Lichterfassungselementen durch die Bewegung der Codeskala beeinflusst.
-
4B zeigt die beeinflussten Lichterfassungselemente 420 von 4A deutlicher. Diese Lichterfassungselemente, die vollständig beeinflusst sind (d. h. einer vollständigen Belichtung und einer vollständigen Schattierung unterzogen sind), sind stark schattiert und diese Lichterfassungselemente, die teilweise beeinflusst sind, sind als leicht schattiert gezeigt. Die Codeskala 410 von 4A ist um einen linearen Abstand von D2 und einen Winkelversatz von θ2 versetzt, wobei diese beiden Größen durch einen Prozessor erkannt werden können, der den Detektor 200 überwacht.
-
Erneut wie bei dem vorherigen Beispiel in Anbetracht dessen, dass lediglich eine ausgewählte Anzahl von Lichterfassungselementen 420 beeinflusst sind, sollte ersichtlich sein, dass ein Prozessor, der den Detektor 200 überwacht, nicht jedes Erfassungselement überwachen muss. Wie es in 4C gezeigt ist, sollte ferner ersichtlich sein, dass nicht alle der beeinflussten Erfassungselemente 420 eventuell notwendig sind, um eine Codeskalenbewegung zu überwachen, sondern es kann ein Teilsatz von Erfassungselementen 430 (als schattiert gezeigt), die nützlich sind, um eine Codeskalenbewegung und -richtung zu überwachen, basierend auf irgendeiner Anzahl von Funktionskriterien gewählt werden, wie beispielsweise einer Verarbeitung, einer Redundanz, einer Zuverlässigkeit, usw.
-
Während 3A und 4A auf eine Einzelrichtungscodeskalenbewegung gerichtet sind, sollte ersichtlich sein, dass durch ein Verändern der Codeskala, um ein zweidimensionales Array von Fenstern zu umfassen, der Detektor 200 (mit einem unterstützenden Prozessor) von 2 verwendet werden kann, um eine Bewegung und Richtung entlang zweier Dimensionen durch ein Überwachen der Relativbewegung von Fenstern, die dem Detektor 200 überlagert sind, mit der Verwahrung verwendet werden können, dass wahrscheinlich alle Erfassungselemente 210 während eines Betriebs beeinflusst werden.
-
Wenn man 3A und 4A im Gedächtnis behält, sollte zusätzlich klar sein, dass eine Drehbewegung einer Codeskala unter der Annahme erfasst werden kann, dass die relative Auflösung der Erfassungselemente 210 groß genug ist, um die relativen Formen einzelner Codeskalenfenster zu erfassen. Das heißt, in Anbetracht dessen, dass die augenblickliche Anzahl und das Muster von Erfassungselementen sich verändern, wenn sich die Codeskala von einem Winkel von θ = 0 (3A) zu einem Winkel von θ = θ2 (4A) dreht, Winkelinformationen von dem Detektor 200 mit der geeigneten Nachverarbeitung abgeleitet werden können.
-
5 ist ein Flussdiagramm, das einen exemplarischen Betrieb zum Kalibrieren und Verwenden optischer Codierer umreißt, wie beispielsweise des optischen Codierers mit assortierten Komponenten, wie es oben beschrieben ist. Der Prozess beginnt bei einem Schritt 502, bei dem der Codiererkörper an einem speziellen Gerät für eine Verwendung installiert wird, wie beispielsweise einem Druckkopf oder einer Druckertrommel. Als Nächstes wird bei einem Schritt 504 auch die verwandte Codeskala installiert, z. B. ein Codestreifen oder Coderad. Eine Steuerung geht zu einem Schritt 506 über.
-
Bei dem Schritt 506 wird die Codeskala relativ zu dem Codiererkörper bewegt, um das Ansprechen einzelner Erfassungselemente eines Detektors in dem Codiererkörper zu bestimmen. Der exemplarische Detektor kann eine n-mal-m-Array-Vorrichtung sein, wie beispielsweise das 10-mal-10-Array, das in 2–4C gezeigt ist. Wie es oben erörtert ist, können sich jedoch die Größe, die Form und die Auflösung des Detektors von Ausführungsbeispiel zu Ausführungsbeispiel verändern, wie es für nützlich oder vorteilhaft befunden wird. Als Nächstes wird bei einem Schritt 508 die Anzahl von Erfassungselementen bestimmt, die durch die Handlungen des Schritts 506 beeinflusst sind. Eine Steuerung geht zu einem Schritt 510 über.
-
Bei dem Schritt 510 kann eine Anzahl von anderen nützlichen Eigenschaften basierend auf den Handlungen des Schritts 506 bestimmt werden, einschließlich: lineare Fehlausrichtung, Winkelfehlausrichtung, Relativwinkelbewegung der Codeskala zu dem Codiererkörper, Modellnummer/Revisionsnummer der Codeskala und/oder des Geräts, das die Codeskala verwendet, die Form der Fenster der Codeskala, die Form der Stäbe der Codeskala, die Beschaffenheit der Bewegung der Codeskala (z. B. eindimensional, zweidimensional, exzentrisch), usw. Eine Steuerung geht zu einem Schritt 512 über.
-
Bei dem Schritt 512 wird ein geeigneter Satz von Erfassungselementen in dem Detektor für eine Verwendung ausgewählt. Bei verschiedenen Ausführungsbeispielen kann ein derartiger Satz die Gesamtanzahl von Erfassungselementen sein, die durch eine Verwendung beeinflusst sind (einschließlich oder ausschließlich teilweise beeinflusster Erfassungselemente), oder ein gewisser Teilsatz basierend auf einer Minimierung von Verarbeitungskriterien, optimalen Leistungsfähigkeitskriterien, Redundanz-/Zuverlässigkeitskriterien, einem Kompromiss verschiedener Kriterien oder gewisser anderer nützlicher Kriterien. Eine Steuerung geht zu einem Schritt 514 über.
-
Bei dem Schritt 514 wird das Gerät, das die Codeskala und den Codiererkörper von den Schritten 502 und 504 umfasst, betrieben, um irgendeine von einer eindimensionalen Bewegung, einer zweidimensionalen Bewegung, einer exzentrischen Bewegung, einer Drehbewegung und so weiter zu erfassen. Ein derartiger Betrieb dauert so lange wie notwendig oder erwünscht an und eine Steuerung geht zu einem Schritt 550 über, bei dem der Prozess endet.