-
Die Bewegung einer beweglichen Komponente (z. B. die Richtung und Rate einer Bewegung der beweglichen Komponente) kann häufig mittels eines optischen Codierers gekennzeichnet werden. In dem Fall eines optischen Absolutcodierers oder eines optischen Codierers, der anfänglich auf eine bekannte Position kalibriert wurde, kann ein optischer Codierer auch verwendet werden, um die Position einer beweglichen Komponente zu kennzeichnen.
-
Obwohl optische Codierer verschiedene Formen annehmen können, können die meisten als linear oder sich drehend gekennzeichnet werden. Wie die jeweiligen Namen derselben implizieren, werden lineare Codierer verwendet, um eine Angabe einer linearen Bewegung (und manchmal einer Position) zu liefern, während Drehcodierer bzw. Rotationscodierer verwendet werden, um eine Angabe einer Drehbewegung (und manchmal einer Position) zu liefern.
-
Die meisten optischen Codierer können ferner als transmissiv oder reflektierend gekennzeichnet sein. Bei einem transmissiven optischen Codierer sind eine Lichtquelle und ein Photodetektor an gegenüberliegenden Seiten eines Codebauglieds (z. B. eines Codestreifens oder eines Coderads) positioniert. Wenn das Codebauglied durch eine bewegliche Komponente bewegt wird, bewirken eine Mehrzahl von Fenstern in dem Codebauglied, dass der Photodetektor mit einem variierenden Lichtmuster beleuchtet wird, wobei das Muster dann mit der Bewegung der beweglichen Komponente korreliert werden kann. Bei einem reflektierende optischen Codierer sind eine Lichtquelle und ein Photodetektor an der gleichen Seite eines Codebauglieds positioniert. Wenn dann das Codebauglied durch eine bewegliche Komponente bewegt wird, bewirken eine Mehrzahl von Reflektoren an dem Codebauglied, dass der Photodetektor mit einem variierenden Lichtmuster beleuchtet wird.
-
DE 100 20 247 A1 betrifft einen Drehwinkelgeber für einen Rotor. Vier lichtempfindliche Sensoren sind in gegenseitig nebeneinander angeordneter Beziehung in einer Ablenkrichtung angeordnet und sind an einem Detektor vorgesehen. Ein erster Sensor und ein dritter Sensor sind durch einen Differentialverstärker verbunden, welcher als Ausgangssignal ein Rechtecksignal liefert. Ein zweiter Sensor und ein vierter Sensor sind mit einem weiteren Differentialverstärker verbunden, welcher als Ausgangssignal ein Rechtecksignal liefert.
-
US 6,816,091 B1 betrifft eine Interpolationsschaltung und ein Verfahren zum Interpolieren eines Signals. Ein Detektorarray und eine zugeordnete Schaltung wird beschrieben, wobei Signale, welche von Detektoren erzeugt werden, durch Detektorschaltungen kombiniert werden, um zwei logische Kanalsignale in Form von Rechtecksignalen zu erzeugen, die um 90° phasenverschoben sind.
-
DE 36 89 448 T2 betrifft einen optischen Rotationskodierer. Ein erster Summierer addiert zwei Lichtdetektorausgänge und erzeugt ein erstes Signal. Ein zweiter Summierer addiert zwei Lichtdetektorausgänge und erzeugt ein zweites Signal. Das erste Signal und das zweite Signal werden durch einen Vergleicher verglichen, um einen logischen Kanalausgang in der Form eines Rechtecksignals zu erzeugen.
-
Aufgabenstellung
-
Es ist die Aufgabe der vorliegenden Erfindung, einen optischen Codierer und ein Verfahren mit verbesserten Charakteristika zu schaffen.
-
Diese Aufgabe wird durch einen optischen Codierer gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 18 gelöst.
-
Bei einem Ausführungsbeispiel weist ein optischer Codierer ein Codebauglied, eine Lichtquelle und ein Detektorarray auf. Das Codebauglied weist eine Mehrzahl von Reflektoren an demselben auf; und die Lichtquelle ist positioniert, um einen Bereich des Codebauglieds zu beleuchten, der zumindest einen der Reflektoren aufweist. Das Detektorarray weist zumindest einen Detektorsatz auf, von denen jeder eine Mehrzahl von Detektorelementen aufweist. Das Codebauglied und das Detektorarray sind mit Bezug aufeinander entlang einer Verschiebungsrichtung bzw. Verlagerungsrichtung beweglich, und wenn sich das Codebauglied mit Bezug auf das Detektorarray bewegt, reflektieren die Reflektoren an dem Codebauglied Licht, das durch die Lichtquelle emittiert wird, um kreisförmige oder elliptische Lichtpunkte bzw. Lichtflecke zu erzeugen, die sich über das Detektorarray bewegen.
-
Bei einem anderen Ausführungsbeispiel weist ein optischer Codierer ein Codebauglied, eine Lichtquelle, ein Detektorarray und einen ersten und einen zweiten Addierer auf. Das Codebauglied weist eine Mehrzahl von Reflektoren an demselben auf; und die Lichtquelle ist positioniert, um einen Bereich des Codebauglieds zu beleuchten, der zumindest einen der Reflektoren aufweist. Das Detektorarray weist zumindest einen Detektorsatz auf, wobei ein erster der Detektorsätze ein erstes, ein zweites, ein drittes und ein viertes Detektorelement aufweist, die in einer benachbarten Beziehung positioniert sind. Das Codebauglied und das Detektorarray sind mit Bezug aufeinander entlang einer Verschiebungsrichtung beweglich, und wenn das Codebauglied sich mit Bezug auf das Detektorarray bewegt, reflektieren die Reflektoren an dem Codebauglied Licht, das durch die Lichtquelle emittiert wird, um kreisförmige oder elliptische Lichtpunkte zu erzeugen, die sich über das Detektorarray bewegen. Der erste Addierer ist dem ersten Detektorelement und dem dritten Detektorelement wirksam zugeordnet, um ein Ausgangssignal, das durch das dritte Detektorelement erzeugt wird, von einem Ausgangssignal, das durch das erste Detektorelement erzeugt wird, zu subtrahieren, wodurch eine erste Ausgabe erzeugt wird. Der zweite Addierer ist dem zweiten Detektorelement und dem vierten Detektorelement wirksam zugeordnet, um ein Ausgangssignal, das durch das vierte Detektorelement erzeugt wird, von einem Ausgangssignal, das durch das zweite Detektorelement erzeugt wird, zu subtrahieren, wodurch eine zweite Ausgabe erzeugt wird.
-
Bei noch einem anderen Ausführungsbeispiel weist ein Verfahren 1) ein Bereitstellen eines Codebauglieds, das eine Mehrzahl von Reflektoren an demselben aufweist; 2) ein Positionieren einer Lichtquelle an einer Seite des Codebauglieds, wobei die Lichtquelle ein Lichtstrahlenbündel erzeugt, das einen Bereich des Codebauglieds beleuchtet, der zumindest einen der Reflektoren aufweist; und 3) ein Positionieren eines Detektorarrays an einer gleichen Seite des Codebauglieds wie die Lichtquelle auf. Das Detektorarray weist zumindest einen Detektorsatz auf; und jeder Detektorsatz weist zumindest vier Detektorelemente auf. Das Detektorarray ist mit Bezug auf das Codebauglied entlang einer Verschiebungsrichtung beweglich, und wenn sich das Codebauglied mit Bezug auf das Detektorarray bewegt, erzeugen die Reflektoren an dem Codebauglied kreisförmige oder elliptische Lichtpunkte, die sich über das Detektorarray bewegen. Das Verfahren weist ferner ein Kombinieren von Ausgangssignalen von zumindest einem ersten Paar von nicht benachbarten Detektorelementen des Detektorarrays auf, um ein erstes quasi-sinusförmiges Signal zu erzeugen.
-
Es sind auch andere Ausführungsbeispiele offenbart.
-
Darstellende und exemplarische Ausführungsbeispiele der Erfindung sind in den Zeichnungen gezeigt.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 eine perspektivische Ansicht eines ersten exemplarischen optischen Codierers, wobei der Codierer ein Detektorarray aufweist, das einen einzigen Detektorsatz aufweist;
-
2 eine Draufsicht eines Codestreifens, der bei dem optischen Codierer von 1 verwendet werden kann;
-
3 eine Draufsicht eines Coderads, das bei dem optischen Codierer von 1 verwendet werden kann;
-
4 eine schematische Darstellung des in 1 gezeigten Detektorarrays, die zeigt, wie die einzelnen Detektorelemente desselben mit einem Paar von Addierern verbunden sind;
-
5 eine grafische Darstellung der Ausgangssignale, die durch die Detektorelemente des Detektorarrays erzeugt werden, das in 1 gezeigt ist, wobei die Abszisse eine Bewegung des Punktes entlang dem Detektorarray angibt und die Ordinate die Ausgabe der verschiedenen Detektorelemente und Addierer angibt;
-
6(a) eine schematische Darstellung des Wegs des Lichtpunkts von 1 entlang einer Verschiebungsrichtung, die im Wesentlichen parallel zu der Breitenabmessung des Detektorarrays ist;
-
6(b) eine schematische Darstellung des Wegs des Lichtpunkts von 1 entlang einer Verschiebungsrichtung, die mit Bezug auf die Breitenabmessung des Detektorarrays geneigt ist;
-
7 eine perspektivische Ansicht eines anderen Ausführungsbeispiels eines optischen Codierers, wobei der Codierer ein Detektorarray aufweist, das zwei Detektorsätze aufweist;
-
8 eine schematische Darstellung des in 7 gezeigten Detektorarrays, die zeigt, wie die einzelnen Detektorelemente desselben mit einem Paar von Addierern verbunden sind; und
-
9 eine exemplarische alternative Oberflächenkontur für die in 1 oder 7 gezeigten Reflektoren.
-
Ein exemplarischer optischer Codierer 10 ist in 1 gezeigt und weist eine Lichtquelle 12, ein Detektorarray 13 und ein Codebauglied 20 auf. Die Lichtquelle 12 kann irgendeine von einem breiten Bereich von Lichtquellen aufweisen, die zum Erzeugen von Licht 56 geeignet sind, das durch die Detektorelemente 16 erfassbar ist, die das Detektorarray 13 bilden. Im Allgemeinen ist es bevorzugt, aber nicht erforderlich, dass die Lichtquelle 12 ein kollimiertes oder im Wesentlichen kollimiertes Strahlenbündel 62 von Licht 56 erzeugt. Ein derartiges kollimiertes Strahlenbündel 62 kann durch die Lichtquelle 12 erzeugt werden oder kann mit der Hilfe einer getrennten Kollimierungslinse 66 gebildet werden.
-
Bei einem Ausführungsbeispiel weist die Lichtquelle 12 beispielsweise eine Licht emittierende Diode 64 auf. In einigen Fällen könnte die Licht emittierende Diode 64 mit einer integrierten Kollimierungslinse (nicht gezeigt) versehen sein.
-
Die Lichtquelle 12 kann an einem Rahmen oder Gehäuse (nicht gezeigt) befestigt sein, das zum Halten der Lichtquelle 12 in einer beabstandeten Beziehung zu dem Codebauglied 20 geeignet ist. Obwohl die Lichtquelle 12 in einem Winkel mit Bezug auf das Codebauglied 20 befestigt gezeigt ist, könnte die Lichtquelle 12 auch parallel zu dem Codebauglied 20 befestigt sein. In dem letztgenannten Fall ist es bevorzugt, dass die Lichtquelle 12 und/oder eine integrierte oder getrennte Kollimierungslinse 66 zum Kollimieren des Lichts 56 in einem Strahlenbündel 62 in der Lage ist, das das Codebauglied 20 in einem Winkel (α) beleuchtet. Weil verschiedene Befestigungsanordnungen der Lichtquelle 12 durch Durchschnittsfachleute auf dem Gebiet ohne weiteres bereitgestellt werden könnten, nachdem dieselben mit den hierin bereitgestellten Lehren vertraut geworden sind, wird die Befestigungsanordnung der Lichtquelle 12 hierin nicht weiter detailliert beschrieben.
-
Das Detektorarray 13 ist in einer beabstandeten Beziehung zu dem Codebauglied 20 an der gleichen Seite des Codebauglieds 20 wie die Lichtquelle 12 positioniert und weist zumindest einen Detektorsatz 14 auf. 1 zeigt beispielsweise, dass das Detektorarray 13 einen einzigen Detektorsatz 14 aufweist. Es können jedoch zusätzliche Detektorsätze vorgesehen sein, wie es später in dieser Beschreibung detaillierter beschrieben ist.
-
Ungeachtet der Anzahl von Detektorsätzen 14 in dem Detektorarray 13 weist jeder Detektorsatz 14 eine Mehrzahl von einzelnen Detektorelementen 16 auf, die in einer benachbarten Seite-an-Seite-Beziehung entlang der Breitenrichtung 18 des Detektorarrays 13 positioniert sind. Siehe 1. Der Detektorsatz 14 weist beispielsweise vier (4) einzelne Detektorelemente 16 auf: ein erstes Detektorelement 32, ein zweites Detektorelement 34, ein drittes Detektorelement 36 und ein viertes Detektorelement 38. Bei anderen Ausführungsbeispielen jedoch könnte der Detektorsatz 14 mehr als vier (4) einzelne Detektorelemente 16 aufweisen. Zusammen definieren die Detektorelemente 32, 34, 36 und 38 des Detektorsatzes 14 eine Breite 28 des Detektorsatzes 14.
-
Die einzelnen Detektorelemente 16 (z. B. das erste, das zweite, das dritte und das vierte Detektorelement 32, 34, 36 und 38) können irgendeine von einem breiten Bereich von Vorrichtungen aufweisen, die zum Erfassen des Lichts 56 geeignet sind, das durch die Lichtquelle 12 erzeugt wird. Durch ein Beispiel und bei einem Ausführungsbeispiel jedoch weisen die verschiedenen einzelnen Detektorelemente 16, die den Detektorsatz 14 bilden, Photodioden auf.
-
Die verschiedenen einzelnen Detektorelemente 16 können an irgendeiner von einer breiten Vielfalt von Strukturen, wie beispielsweise einer gedruckten Schaltungsplatine 68, befestigt sein, die zum Halten der verschiedenen Detektorelemente 16 bei den ordnungsgemäßen Positionen entlang der Breitenrichtung 18 geeignet sind, um den Detektorsatz 14 zu bilden. Alternativ sind andere Befestigungsanordnungen möglich, die Durchschnittsfachleuten auf dem Gebiet ersichtlich würden, nachdem dieselben mit den hierin bereitgestellten Lehren vertraut geworden sind.
-
Es ist zu beachten, dass bei dem in 1 dargestellten Ausführungsbeispiel, bei dem das Detektorarray 13 einen einzigen Detektorsatz 14 aufweist, die Breite 29 des Detektorarrays 13 die gleiche wie die Breite 28 des Detektorsatzes 14 ist. Dies ist jedoch nicht der Fall, falls das Detektorarray 13 mehr als einen Detektorsatz 14 aufweist. Zum Beispiel und wie es mit Bezug auf ein in 7 dargestelltes Ausführungsbeispiel eines optischen Codierers 110 beschrieben ist, beträgt dann, falls ein Detektorarray 113 zwei Detektorsätze 114 aufweist, die Breite 129 des Detektorarrays 113 zweimal die Breite 128 des Detektorsatzes 114. In manchen Fällen, und wie es später in dieser Beschreibung erörtert ist, kann die Breite 29 des Detektorarrays 13 verwendet werden, um die Größen und die Beabstandung von Reflektoren 22 an dem Codebauglied 20 zu bestimmen.
-
Das Codebauglied 20 und das Detektorarray 13 sind in einer beweglichen Beziehung mit Bezug aufeinander befestigt (z. B. entlang einer Verschiebungsrichtung 24). Die Seite des Codebauglieds 20, die der Lichtquelle 12 und dem Detektorarray 13 zugewandt ist, ist mit einer Mehrzahl von Reflektoren 22 versehen, die positioniert sind, um etwas des Lichts 56, das durch die Lichtquelle 12 erzeugt wird, auf das Detektorarray 13 zu reflektieren, wenn sich das Codebauglied 20 mit Bezug auf das Detektorarray 13 bewegt. Wie es in 1 gezeigt ist, beleuchtet das reflektierte Licht 80 das Detektorarray 13 in der Form einer Mehrzahl von Lichtpunkten 58, von denen sich ansprechend auf eine Bewegung des Codebauglieds 20 jeder über das Detektorarray 13 bewegt.
-
Bei einer Anordnung kann das Codebauglied 20 an einer beweglichen Komponente (nicht gezeigt) befestigt sein und können die Lichtquelle 12 und das Detektorarray 13 bei stationären Positionen fixiert sein. Bei einer anderen Anordnung kann das Codebauglied 20 fixiert sein und können die Lichtquelle 12 und das Detektorarray 13 an einer beweglichen Komponente befestigt sein. Ungeachtet der speziellen Anordnung erfasst der optische Codierer 10 die Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13.
-
Das Codebauglied 20 kann abhängig von einer Anwendung desselben irgendeine von einem breiten Bereich von Formen oder Konfigurationen annehmen. Falls beispielsweise der optische Codierer 10 als ein linearer Codierer verwendet werden soll, kann das Codebauglied 20 die Form oder Konfiguration eines im Allgemeinen länglichen, streifenähnlichen Bauglieds 74 annehmen, wobei die verschiedenen Reflektoren 22 entlang einer Linie angeordnet sind, wie es am besten in 2 zu sehen ist. Falls alternativ der optische Codierer 10 als ein Rotationscodierer verwendet werden soll, kann das Codebauglied 20 die Form oder Konfiguration eines scheibenähnlichen Bauglieds oder „Rads” 70 annehmen, wobei die verschiedenen Reflektoren 22 in einer allgemein kreisförmigen Weise um den Rand bzw. die Peripherie des Rads 70 herum angeordnet sind. Siehe 3. Folglich sollte der Ausdruck „Codebauglied”, wie derselbe hierin verwendet ist, nicht als auf irgendeine spezielle Form oder Konfiguration eines Codebauglieds begrenzt betrachtet werden, sondern sollte anstelle dessen breit aufgefasst werden, um einen linearen Codestreifen, ein kreisförmiges Code-„Rad” oder irgendeine andere Form oder Konfiguration eines Codebauglieds zu umfassen, die bei einer speziellen Anwendung erforderlich oder erwünscht sein kann.
-
Wie es vorhergehend erwähnt ist, ist das Codebauglied 20 mit einer Mehrzahl von Reflektoren 22 versehen. Die Reflektoren 22 können irgendeine von einem breiten Bereich von Formen aufweisen. Wie es später in dieser Beschreibung detaillierter beschrieben ist, können kreisförmige oder elliptische Formen ermöglichen, dass der optische Codierer 10 einen oder mehrere quasi-sinusförmige Signalverläufe erzeugt (z. B. Ausgangssignale 52 und 54 von Addierern 40 bzw. 42). Abhängig von der Ausrichtung und dem Umfang des Lichts 56, das durch die Lichtquelle 12 emittiert wird, können kreisförmige Reflektoren manchmal ermöglichen, dass die Addierer 40 und 42 Ausgaben 52 und 54 liefern, die am nächsten mit echt sinusförmigen Signalverläufen übereinstimmen. Jedoch können Reflektoren, die Ellipsen in eine Richtung 78 bilden, die senkrecht zu der Verschiebungsrichtung 24 ist, bei einem Liefern einer größeren Lichtmenge zum Erfassen für das Detektorarray 13 nützlich sein (wobei immer noch ermöglicht ist, dass die Addierer 40 und 42 quasi-sinusförmige Signalverläufe erzeugen). Andere Weisen eines Lieferns einer größeren Lichtmenge zu dem Detektorarray 13 existieren ebenfalls. Beispielsweise kann das Codebauglied 20 mit zwei oder mehr Sätzen von Reflektoren versehen sein, von denen Entsprechende in die Richtung 78 ausgerichtet sind (z. B. jeder Reflektor 22 kann mit einem Paar von Reflektoren ersetzt sein, die in die Richtung 78 ausgerichtet sind). Alternativ oder zusätzlich können die Reflektoren 22 geformt sein, um mehr Licht einzufangen. Eine derartige Form 200 ist in 9 gezeigt. Wie es gezeigt ist, neigt die Form 200 des Reflektors dazu, ein breiteres Lichtstrahlenbündel 56 zu fokussieren, wodurch bewirkt wird, dass eine größere Anzahl von reflektierten Strahlen 202 den Punkt 58 bilden, als wenn ein Reflektor lediglich eine flache Oberfläche hätte (die viele der Strahlen 56 zu einem jeglichen gegebenen Zeitpunkt verfehlen würden – siehe 1).
-
Obwohl die Reflektoren 22 verschieden geformt sein können, wird für den Rest dieser Beschreibung angenommen, dass die Reflektoren 22 flach und kreisförmig sind.
-
Wenn jeder Reflektor 22 mit dem Lichtstrahlenbündel 62 ausgerichtet ist, das durch die Lichtquelle 12 erzeugt wird, wirkt der Reflektor 22, um ein verschmälertes Strahlenbündel 72 von Licht 80 zu reflektieren, wie es am besten in 1 zu sehen ist. Das verschmälerte Strahlenbündel 72 resultiert in der Bildung eines Punkts 58 an dem Detektorarray 13. Siehe 4 und 5. Die Größe und Form der Reflektoren 22 an dem Codebauglied 20 definieren die Größe und Form der verschmälerten Strahlenbündel 72 und somit die Größe und Form der Punkte 58. Falls das Strahlenbündel 62, das durch die Lichtquelle 12 und die Linse 80 erzeugt ist, im Wesentlichen kollimiert ist, kann die Größe und Form der Punkte 58 näherungsweise gleich der Größe und Form der Reflektoren 22 sein. Falls beispielsweise die Reflektoren kreisförmig oder elliptisch sind, sollten die Punkte 58 kreisförmig oder elliptisch sein. Falls jedoch das Strahlenbündel 62, das durch die Lichtquelle 12 erzeugt ist, nicht kollimiert ist (z. B. falls die Linse 80 nicht existiert und das Strahlenbündel 62 divergierende Lichtstrahlen aufweist), dann kann die Größe und Form der Reflektoren 22 sich von der Größe und Form der Punkte 58 unterscheiden (z. B. kleiner sein als dieselben).
-
Um die ordnungsgemäße Größe einer räumlichen Filterung zu liefern, beträgt die Abmessung 26 des Punkts 58 in die Verschiebungsrichtung 24 vorzugsweise weniger als die Breite 28 des Detektorsatzes 14, aber mehr als die Breite 76 eines einzigen Detektorelements 16. Sogar noch bevorzugter beträgt die Abmessung des Punkts 58 in die Verschiebungsrichtung 24 etwa 40% bis etwa 80% der Breite 28 des Detektorsatzes 14.
-
Zusätzlich zu der Größe des Punkts 58 ist die Beabstandung zwischen aufeinanderfolgenden Punkten vorzugsweise eingestellt, so dass lediglich ein einziger Punkt 58 das Detektorarray 13 zu irgendeiner gegebenen Zeit beleuchtet. Jedoch sollte immer zumindest ein Punkt 58 das Detektorarray 13 beleuchten. Um „Lücken” einer Bewegungserfassung zu eliminieren, wenn das Codebauglied 20 sich bewegt, aber sich kein Punkt 58 über das Detektorarray bewegt, kann es manchmal erwünscht sein, zu ermöglichen, dass mehr als ein Punkt 58 das Detektorarray 13 zu der gleichen Zeit beleuchtet. In diesen Fällen ist es jedoch bevorzugt, die mehreren Lichtpunkte auf „etwa einem” Lichtpunkt 58 zu halten. Wie es hierin definiert ist, ist „etwa ein” Lichtpunkt definiert, um kleiner oder gleich eineinhalb (1½) Lichtpunkte 58 zu sein.
-
Um die Größe und Beabstandung der Lichtpunkte 58, die das Detektorarray 13 beleuchten, einzustellen, und bei einer gegebenen Lichtquelle 12 und einem Detektorarray 13 können die Positionen (d. h. Beabstandungen) der Lichtquelle 12, des Detektorarrays 13 und des Codebauglieds 20 eingestellt werden. Zusätzlich können die Größe 26 und die Beabstandung 30 der Reflektoren 22 in dem Codebauglied 20 eingestellt werden. Falls das Lichtstrahlenbündel 62 ein kollimiertes Strahlenbündel ist, dann sind die Positionen (d. h. Beabstandungen) der Lichtquelle 12, des Detektorarrays 13 und des Codebauglieds 20 eventuell etwas weniger entscheidend, wobei die Größe und Beabstandung der Lichtpunkte 58 etwa gleich der Größe 26 und Beabstandung 30 der Reflektoren 22 an dem Codebauglied 20 ist.
-
Unter jetziger primärer Bezugnahme auf 4 und 5 kann der optische Codierer 10 ferner einen ersten und einen zweiten Addierer 40 und 42 aufweisen, die mit den verschiedenen einzelnen Detektorelementen 16, die das Detektorarray 13 bilden, verbunden sind, so dass die einzelnen Detektorelemente 16 „ineinander greifen”. Das heißt, abwechselnde Detektorelemente 16 können mit unterschiedlichen Addierern 40 und 42 verbunden sein. Auf diese Weise bilden das Codebauglied 20 und das Detektorarray 13 ein „räumliches Filter”. Falls ferner die Reflektoren 22 an dem Codebauglied 20 kreisförmig oder elliptisch sind, weisen die Ausgaben 52, 54 der Addierer 40, 42 quasi-sinusförmige Signalverläufe auf, wie es am besten in 5 zu sehen ist.
-
Genauer gesagt ist der erste Addierer 40 wirksam mit dem ersten Detektorelement 32 und dem dritten Detektorelement 36 verbunden, wobei der zweite Addierer 42 wirksam mit dem zweiten Detektorelement 34 und dem vierten Detektorelement 38 verbunden ist. Der erste Addierer 40 kombiniert die Ausgangssignale des ersten und des dritten Detektorelements 32 und 36 durch ein Subtrahieren des Ausgangssignals 48 des dritten Detektorelements 36 von dem Ausgangssignal 44 des ersten Detektorelements 32. Das resultierende Ausgangssignal 52 des ersten Addierers 40 weist einen quasi-sinusförmigen Signalverlauf auf. Siehe 5.
-
Der zweite Addierer 42 kombiniert die Ausgangssignale des zweiten und des vierten Detektorelements 34 und 38 durch ein Subtrahieren des Ausgangssignals 50 des vierten Detektorelements 38 von dem Ausgangssignal 46 des zweiten Detektorelements 34. Das resultierende Ausgangssignal 54 des zweiten Addierers 42 weist einen quasi-sinusförmigen Signalverlauf auf, wie es ebenfalls am besten in 5 zu sehen ist.
-
Ein Verarbeitungssystem 60 kann mit dem ersten und dem zweiten Addierer 40 und 42 verbunden sein, so dass das Verarbeitungssystem 60 auf die Ausgangssignale 52 und 54 anspricht, die durch den ersten und den zweiten Addierer 40 und 42 erzeugt werden. Das Verarbeitungssystem 60 kann dann betrieben werden, um die Ausgangssignale 52 und 54 von dem ersten und den zweiten Addierer 40 und 42 zu analysieren, um Informationen über die Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 abzuleiten. Beispielsweise kann das Verarbeitungssystem 60 die Geschwindigkeit (d. h. Schnelligkeit) der Bewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 durch ein Messen der Frequenz des quasi-sinusförmigen Signalverlaufs von entweder dem Ausgangssignal 52 von dem ersten Addierer 40 oder dem Ausgangssignal 54 von dem zweiten Addierer 42 bestimmen. Das Verarbeitungssystem 60 kann ferner verwendet werden, um die Richtung einer Bewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 beispielsweise durch ein Messen der Phasendifferenz oder Phasenverschiebung zwischen den quasi-sinusförmigen Signalverläufen der Ausgangssignale 52 und 54 zu bestimmen. Natürlich kann das Verarbeitungssystem 60 verwendet werden, um andere Aspekte der Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 beispielsweise durch ein Integrieren oder Differenzieren der Ausgangssignale 52 und 54 zu bestimmen.
-
Beispielsweise kann bei einem Ausführungsbeispiel das Verarbeitungssystem 60 einen programmierbaren Universalcomputer (z. B. einen PC) aufweisen, der programmiert ist, um die Frequenzen der quasi-sinusförmigen Signalverläufe sowie eine Phasendifferenz derselben zu erfassen, um erwünschte Berechnungen vorzunehmen und um erwünschte Ausgangsdaten zu erzeugen. Alternativ könnte das Verarbeitungssystem 60 eine anwendungsspezifische integrierte Schaltung (ASIC = Application-Specific Integrated Circuit) aufweisen.
-
Der optische Codierer 10 kann wie folgt betrieben werden, um eine Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 zu erfassen. Bei einer Anordnung, bei der das Codebauglied 20 an einer beweglichen Komponente (nicht gezeigt) befestigt ist und das Detektorarray 13 stationär bleibt, reflektiert beispielsweise Licht 56 von der Lichtquelle 12 von einem Reflektor 22, der an dem Codebauglied 20 vorgesehen ist, bevor dasselbe das Detektorarray 13 bei einem Punkt 58 beleuchtet. Bei einem Ausführungsbeispiel ist die Größe des Punkts 58 im Wesentlichen die gleiche wie die Größe des Reflektors 22, der an dem Codebauglied 20 vorgesehen ist. Die Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 bewirkt, dass der Punkt 58 über die einzelnen Detektorelemente 32, 34, 36, 38 des Detektorarrays 13 bewegt oder abgetastet wird. Siehe 5.
-
Wenn der Punkt 58 jedes Detektorelement 32, 34, 36, 38 beleuchtet, erzeugt das beleuchtete Detektorelement (oder die Elemente) ein Ausgangssignal, das auf die Menge an Licht bezogen ist, die an demselben einfällt. Zum Beispiel und mit Bezug auf 5 resultiert die Bewegung des Punkts 58 über jedes aufeinanderfolgende Detektorelement 32, 34, 36, 38, die das Detektorarray 13 bilden, darin, dass jedes Detektorelement 32, 34, 36, 38 ein Ausgangssignal erzeugt, das einen quasi-sinusförmigen Puls aufweist. Genauer gesagt erzeugen das erste, das zweite, das dritte und das vierte Detektorelement 32, 34, 36, 38 entsprechende Ausgangssignale 44, 46, 48, 50, die quasi-sinusförmige Pulse aufweisen, wobei jeder Puls in einer Weise, die der Bewegung des Punkts 58 über das Detektorarray 13 entspricht, verschoben (d. h. zeitlich verzögert) ist.
-
Die quasi-sinusförmigen Pulse, die durch die verschiedenen Detektorelemente 32, 34, 36 und 38 ausgegeben werden, werden durch den ersten und den zweiten Addierer 40 und 42 kombiniert, um quasi-sinusförmige Signalverläufe zu erzeugen, die den Ausgangssignalen 52 und 54 entsprechen. Genauer gesagt subtrahiert der erste Addierer 40 das dritte Ausgangssignal 48 von dem ersten Ausgangssignal 44, um das quasi-sinusförmige Ausgangssignal 52 zu erzeugen (d. h. den „I”-Kanal), während der zweite Addierer 42 das vierte Ausgangssignal 50 von dem zweiten Ausgangssignal 46 subtrahiert, um das quasi-sinusförmige Ausgangssignal 54 zu erzeugen (d. h. den „Q”-Kanal).
-
Das Verarbeitungssystem 60 kann dann verwendet werden, um die Ausgangssignale 52 und 54 von dem ersten und dem zweiten Addierer 40 und 42 zu analysieren, um Informationen bezüglich der Relativbewegung des Codebauglieds 20 und des Detektorarrays 13 abzuleiten. Beispielsweise kann die Relativgeschwindigkeit oder Schnelligkeit zwischen dem Codebauglied 20 und dem Detektorarray 13 durch das Verarbeitungssystem 60 basierend auf einer Frequenz des Ausgangssignals (z. B. 52 oder 54) von einem des ersten und des zweiten Addierers 40 und 42 bestimmt werden. Das heißt, die Frequenz des quasi-sinusförmigen Signalverlaufs, der dem Ausgangssignal 42 des ersten Addierers 40 entspricht, ist auf die Relativgeschwindigkeit zwischen dem Codebauglied 20 und dem Detektorarray 13 bezogen. In ähnlicher Weise ist die Frequenz des quasi-sinusförmigen Signalverlaufs, der dem Ausgangssignal 54 des zweiten Addierers 42 entspricht, ebenfalls auf die Relativgeschwindigkeit zwischen dem Codebauglied 20 und dem Detektorarray 13 bezogen. Somit kann eine Geschwindigkeits- oder Schnelligkeitsbestimmung durch ein Messen der Frequenz des Ausgangssignals 52 des ersten Addierers 40, des Ausgangssignals 54 des zweiten Addierers 42 oder verschiedener Kombinationen derselben vorgenommen werden.
-
Die Richtung einer Bewegung des Codebauglieds 20 mit Bezug auf das Detektorarray 13 kann aus der Phasenbeziehung oder Phasendifferenz zwischen den quasi-sinusförmigen Signalverläufen 52 und 54 des ersten und des zweiten Addierers 40 und 42 bestimmt werden. Genauer gesagt, sind bei dem hierin gezeigten und beschriebenen Ausführungsbeispiel die Kanäle „I” und „Q” um 90° außer Phase. Falls daher der „I”-Kanal dem „Q”-Kanal um 90° vorauseilt, ist die Relativbewegung zwischen dem Detektorarray 13 und dem Codebauglied 20 in eine erste Richtung. Falls der „I”-Kanal dem „Q”-Kanal um 90° nacheilt, ist die Relativbewegung zwischen dem Detektorarray 13 und dem Codebauglied 20 in eine Richtung entgegengesetzt zu der ersten Richtung. Zusätzlich können andere Informationen über die Relativbewegung zwischen dem Codebauglied 20 und dem Detektorarray 13 durch ein Integrieren oder Differenzieren der Ausgangssignale 52 und 54 bestimmt werden, die durch die Addierer 40 und 42 erzeugt werden.
-
Wie es oben erwähnt ist, kann das Detektorarray 13 mehr als einen einzelnen Detektorsatz 14 aufweisen. Ein Vorsehen von zusätzlichen Detektorsätzen 14 kann eine erhöhte Beabstandung zwischen den benachbarten Reflektoren 22 liefern, die in dem Codebauglied 20 vorgesehen sind, was unter gewissen Umständen vorteilhaft sein kann. Unter jetziger Bezugnahme auf 7 und 8 weist ein zweites Ausführungsbeispiel 110 eines optischen Codierers eine Lichtquelle 112 und ein Detektorarray 113 auf, die an einer Seite eines Codebauglieds 120 positioniert sind. Das Detektorarray 113 bei diesem Ausführungsbeispiel weist zwei Detektorsätze 114 auf, von denen jeder vier (4) einzelne Detektorelemente 116 aufweist. Wie bei dem Codebauglied 20 ist das Codebauglied 120 mit einer Mehrzahl von Reflektoren 122 versehen.
-
Wenn die Lichtquelle 112 das Codebauglied 120 beleuchtet, beleuchtet ein Lichtpunkt oder beleuchten Lichtpunkte 158 das Detektorarray 113. Um die ordnungsgemäße Größe einer räumlichen Filterung zu liefern, ist die Abmessung des Punkts 158 in die Verschiebungsrichtung 124 vorzugsweise geringer als die Breite 128 von einem Detektorsatz 114, aber größer als die Breite eines einzigen Detektorelements 116. Sogar noch bevorzugter beträgt die Abmessung des Punkts 158 in die Verschiebungsrichtung 124 etwa 40% bis etwa 80% der Breite 128 eines Detektorsatzes 114.
-
Zusätzlich zu der Größe des Punkts 158 ist die Beabstandung zwischen aufeinanderfolgenden Punkten vorzugsweise eingestellt, so dass lediglich ein einziger Punkt 158 das Detektorarray 113 zu irgendeiner gegebenen Zeit beleuchtet. Jedoch sollte immer zumindest ein Punkt 58 das Detektorarray 13 beleuchten. Um „Lücken” einer Bewegungserfassung, wenn sich das Codebauglied 120 bewegt, aber sich kein Punkt 158 über das Detektorarray bewegt, zu eliminieren, kann es manchmal erwünscht sein, zu ermöglichen, dass mehr als ein Punkt 158 das Detektorarray 113 zu der gleichen Zeit beleuchtet. In diesen Fällen ist es jedoch bevorzugt, die mehreren Lichtpunkte auf „etwa einem” Lichtpunkt 158 zu halten. Wie es hierin definiert ist, ist „etwa ein” Lichtpunkt definiert, um kleiner oder gleich eineinhalb (1) Lichtpunkte 158 zu sein.
-
Um die Größe und Beabstandung von Lichtpunkten 158 einzustellen, die das Detektorarray 113 beleuchten, und bei einer gegebenen Lichtquelle 112 und einem Detektorarray 113 können die Positionen (d. h. Beabstandungen) der Lichtquelle 112, des Detektorarrays 113 und des Codebauglieds 120 eingestellt werden. Zusätzlich können die Größe 126 und Beabstandung 130 der Reflektoren 122 in dem Codebauglied 120 eingestellt werden. Falls die Lichtquelle 112 eine kollimierte Lichtquelle ist (oder in eine Kollimierungslinse 166 gerichtet ist), dann sind die Positionen (d. h. Beabstandungen) der Lichtquelle 112, des Detektorarrays 113 und des Codebauglieds 120 eventuell etwas weniger entscheidend, wobei die Größe und Beabstandung der Lichtpunkte 158 etwa gleich der Größe 126 und Beabstandung 130 der Reflektoren 122 an dem Codebauglied 120 sind.
-
Unter jetziger primärer Bezugnahme auf 8 weist das Detektorarray 113 insgesamt acht einzelne Detektorelemente 116 auf: ein erstes, ein zweites, ein drittes und ein viertes Detektorelement 132, 134, 136 bzw. 138, die zusammen einen ersten Detektorsatz 114 bilden, und ein fünftes, ein sechstes, ein siebtes und ein achtes Detektorelement 132', 134', 136' bzw. 138', die zusammen einen zweiten Detektorsatz 114 bilden. Die verschiedene Detektorelemente 116 „greifen” ebenfalls „ineinander”. Genauer gesagt sind das erste und das fünfte Detektorelement 132 und 132' miteinander und mit einem ersten Addierer 140 verbunden. Das dritte und das siebte Detektorelement 136 und 136' sind miteinander und mit dem ersten Addierer 140 verbunden. Der erste Addierer 140 kombiniert die Signale von den Detektoren in der bereits für den Addierer 40 des ersten Ausführungsbeispiels 10 beschriebenen Weise. Das heißt, der erste Addierer 140 subtrahiert die kombinierten Signale von dem dritten und dem siebten Detektor 136 und 136' von den kombinierten Signalen von dem ersten und dem fünften Detektorelement 132 und 132', um ein quasi-sinusförmiges Ausgangssignal 152 zu erzeugen.
-
Das zweite und das sechste Detektorelement 134 und 134' sind miteinander und mit einem zweiten Addierer 142 verbunden. Das vierte und das achte Detektorelement 138 und 138' sind miteinander und mit dem zweiten Addierer 142 in der in 8 dargestellten Weise verbunden. Der zweite Addierer 142 kombiniert die Signale von den verschiedenen Detektoren in der bereits für den Addierer 42 des ersten Ausführungsbeispiels 10 beschriebenen Weise. Das heißt, der zweite Addierer 142 subtrahiert die kombinierten Signale von dem vierten und dem achten Detektorelement 138 und 138' von den kombinierten Signalen von dem zweiten und dem sechsten Detektorelement 134 und 134', um ein quasi-sinusförmiges Ausgangssignal 154 zu erzeugen.
-
Ein Verarbeitungssystem 160, das wirksam mit dem ersten und dem zweiten Addierer 140 und 142 verbunden ist, verarbeitet das erste und das zweite quasi-sinusförmige Signal 152 und 154 in der bereits beschriebenen Weise, um Informationen bezüglich der Relativbewegung des Codebauglieds 120 und des Detektorarrays 113 zu erzeugen.
-
Bei den meisten Anwendungen können die optischen Codierer 10 und 110 verwendet werden, um quasi-sinusförmige Ausgangssignale zu erzeugen, ohne den Bedarf ein getrenntes Retikel zu verwenden. Neben einem Erhöhen eines Komponentenzählwerts eines Codierers ist es schwierig, ein getrenntes Retikel ordnungsgemäß auszurichten. Zusätzlich liefern die räumlichen Filter, die durch die Kombinationen der Detektorarrays gebildet sind, und die Reflektoren an den Codebaugliedern 20 und 120 eine erhöhte Auflösung gegenüber herkömmlichen Codiererentwürfen. Die Codebauglieder 20 und 120 und räumliche Filter der optischen Codierer 10 und 110 ermöglichen ferner, dass die optischen Codierer 10 und 110 Fehlausrichtungen der Codebauglieder 20 und 120 und der Detektorarrays 13 und 113 besser tolerieren. Zum Beispiel und mit Bezug auf 6(a) und 6(b) ist es allgemein erwünscht, dass die Verschiebungsrichtung 24 allgemein parallel zu der Breitenrichtung 18 des Detektorarrays 13 ist, wie es am besten in 6(a) zu sehen ist. Jedoch liefert der optische Codierer 10 der vorliegenden Erfindung einen zufrieden stellenden Betrieb selbst in dem Fall einer nichtparallelen Verschiebungsrichtung 26' (d. h. obwohl die Verschiebungsrichtung 26' mit Bezug auf die Breitenrichtung 18 des Detektorarrays 13 um einen Winkel Θ geneigt oder schräg sein kann). Eine derartige nichtparallele Ausrichtung kann das Ergebnis von angesammelten Toleranzfehlern oder anderen Fehlausrichtungen sein, die während einer Herstellung oder eines Betriebs auftreten können.