-
Hintergrund
der Erfindung
-
Diese
Erfindung bezieht sich allgemein auf die Konstruktion von Scanner- bzw. Abtastsystemen
zum Lesen von Strichcodesymbolen oder ähnlichen Anzeigemitteln und
insbesondere auf die Abtastung von sowohl eindimensionalen als auch
zweidimensionalen Strichcodesymbolen in automatischer Weise. Die
meisten herkömmlichen
optischen Abtastsysteme können
entweder eindimensionale oder zweidimensionale Strichcodesymbole
lesen. Ein Strichcodesymbol ist ein codiertes Muster von Anzeigemitteln
(Indizia) die eine Reihe von Strichen mit variabler Breite getrennt
durch Freiräume
mit variabler Breite haben, wobei die Striche und Freiräume unterschiedliche
Lichtreflektionscharakteristiken haben. Ein Beispiel eines eindimensionalen
Strichcodes ist der UPC/EAN-Code, der gegenwärtig im Gebrauch ist, um Artikel
und andere Informationen zu identifizieren. Ein Beispiel eines zweidimensionalen
oder gestapelten bzw. zweizeiligen Strichcodes ist der PDF417-Strichcode, der im
US-Patent 5 159 639 beschrieben wird.
-
Die
meisten Abtastsysteme oder Scanner erzeugen einen Lichtstrahl, der
von einem Strichcodesymbol wegreflektiert wird, so daß das Abtastsystem
das reflektierte Licht aufnehmen kann. Das System wandelt dann das
reflektierte Licht in elektrische Signale um und decodiert diese
elektrischen Signale, um die Informationen herauszuziehen, die in
dem Strichcodesymbol eingebettet sind. Abtastsysteme dieser allgemeinen
Bauart werden beschrieben in den US-Patenten 4 251 798; 4 360 798;
4 369 361; 4 387 297; 4 409 470 und 4 460 120, die alle der Symbol
Technologies Incorporated zu eigen sind.
-
US-A-5
235 167 offenbart ein System zum Lesen von Strichcodesymbolen oder ähnlichem,
welche eindimensionale oder zweidimensionale Strichcodesymbole mit
einschließen,
welches einen Scanner bzw. eine Abtastvorrichtung besitzt, um einen
Laserstrahl zu erzeugen, der zu einem Target bzw. Ziel geleitet
wird und ein schmales erstes Rasterabtastmuster erzeugt, welches
es dem Anwender ermöglicht,
manuell zu zielen und den Strahl auf die Stelle zu richten, die
der Anwender haben möchte,
und ein zweites Raster abtastmuster, welches bezüglich der Höhe zunimmt, welches über das
gesamte zu lesende Symbol streicht, und einen Detektor zur Aufnahme
von reflektiertem Licht von einem solchen Symbol zur Erzeugung von
elektrischen Signalen, die den Daten entsprechen, die von einem
solchen Symbol dargestellt werden.
-
US-A-5
001 406 offenbart, daß die
Betriebsgeschwindigkeit bzw. Betriebsdrehzahl eines bürstenlosen Gleichstrommotors
auf einer erwünschten
Drehzahl gehalten wird, in dem man den Spannungspegel der Leistung
steuert, die zum Motor geliefert wird. Der Motor weist einen Rotor
auf, der Permanentmagneten trägt,
die mit Elektromagneten zusammenarbeiten, die in einem stationären Anker
enthalten sind, und weiter Hall-Effektvorrichtungen,
um die Betriebsdrehzahl und die Position des Rotors abzufühlen. Eine
Schaltung, die mit den Hall-Effektvorrichtungen verbunden ist, erzeugt
Winkelsektorsignale, die den Aktivierungsperioden entsprechen oder
den Perioden, während
denen Leistung an die Elektromagneten angelegt wird, um den Motor
zu betreiben. Ein Prozessor, der mit einer der Hall-Effektvorrichtungen
verbunden ist, überwacht
die Betriebsdrehzahl des Motors und erzeugt ein Fehlersignal, welches
die Differenz zwischen der Betriebsdrehzahl des Motors und einer
erwünschten
Referenzdrehzahl darstellt. Eine Leistungsversorgung wird durch
den Prozessor gesteuert, um Leistung zu erzeugen, die einen Spannungspegel
entsprechend dem Fehlersignal hat. Schalttransistoren sind zwischen
dem Elektromagneten und der Schaltung angeschlossen, um die Winkelsektorsignale zu
erzeugen, um Leistung von der Leistungsversorgung an jeden der Elektromagneten
während
der gesamten Zeit seiner entsprechenden Aktivierungsperiode anzulegen,
um die Motordrehzahl auf der erwünschten
Referenzdrehzahl zu halten.
-
Es
sei ebenfalls hingewiesen auf US-A-5 162 709, die eine Vorrichtung
zur Steuerung eines Gebläsemotors
offenbart, der aus einem bürstenlosen
Motor besteht, der dahingehend wirksam ist, daß er den Gebläsemotor
steuert, und zwar in einem pulsbreitenmodulierten Betriebszustand
(PWM-Betriebszustand, PWM = pulse width modulation), und zwar mit
einer Anzahl von Impulsen, die umgekehrt proportional zu einer Einstellgeschwindigkeit
sind, genauso wie zur Verringerung des Betriebsgeräusches des
Motors und des Leistungsverbrauches. Eine geeignete Auswahl der
zum Gebläsemotor
zu liefernden Wellenform oder der Störung der Erregungszeit einer
Erregungsspule des Gebläsemotors
ist dahingehend wirksam, daß das
Auftreten eines Resonanzphänomens
verhindert wird, welches durch Schwingungen verursacht wird, die
von dem Gebläsemotor
erzeugt werden.
-
Weil
sowohl eindimensionale Symbole als auch zweidimensionale Symbole
gleichzeitig verwendet werden, wäre
es einfacher und wirkungsvoller, wenn ein einziges Abtastsystem
nicht nur ein Strichcodesymbol von anderen Markierungen unterscheiden
könnte,
wie beispielsweise von einem Text, sondern auch das Symbol decodieren
könnte,
egal ob es eindimensional oder zweidimensional ist. Dieser Betriebsvorgang
ist insbesondere wichtig, wenn das Strichcodesymbol relativ zu den
Abtastmustern des Scanners schräg
liegt.
-
Ein
zusätzliches
Problem für
solche Abtastsysteme tritt auf, wenn man zweidimensionale Strichcodesymbole
decodiert. Diese Symbole haben nicht alle die gleiche Höhe, und
somit muß das
Abtastsystem sein Abtastmuster erweitern, um das gesamte zweidimensionale
Symbol abzudecken. Einige herkömmliche Systeme
tun dies manchmal über
Gebiete außerhalb
des Symbols. Obwohl die Anwendung eines solchen großen Musters
nicht die Genauigkeit der Abtastvorrichtung selbst beeinflußt, ist
sie ineffizient. Die Teile des Abtastmusters, die außerhalb
des Strichcodesymbols liegen, sind nutzlos, und die Abtastung dieser
Gebiete verlangsamt den Abtastungsvorgang. Zusätzlich verringert es die Genauigkeit
der Decodierung des zweidimensionalen Strichcodesymbols, wenn das
Abtastmuster gezwungenermaßen
zu groß ist.
-
Der
Aufbau eines Systems zur Überwindung
dieser Probleme ist nicht nur schwierig, er ist durch einen zusätzlichen
Punkt kompliziert. Abtastvorrichtungen bzw. Scanner sollten nicht
noch größer werden,
und zwar aus ergo nomischen und wirtschaftlichen Gründen. Somit
müssen
leistungsfähige
und flexible Abtastvorrichtungen kompakt sein.
-
Ein
weiterer Betrachtungspunkt ist die Geschwindigkeit. Die zusätzliche
Verarbeitung, die für
eine gesteigerte Effizienz und Flexibilität benötigt wird, darf nicht auf Kosten
der Geschwindigkeit kommen. Diese Verarbeitung muß daher
schnell und effizient voranschreiten.
-
Noch
ein weiterer Betrachtungspunkt ist die Notwendigkeit sicherzustellen,
daß die
unterschiedlichen Scanner- bzw. Abtastvorrichtungsuntersysteme miteinander
wirkungsvoll kommunizieren, wenn sie robuster werden. Abtastsysteme
haben typischerweise Untersysteme, wie beispielsweise den Scanner-
bzw. Führungsmotor,
den optischen Sensor und den Decoder. Die Schnittstellen zwischen
diesen unterschiedlichen Untersystemen müssen die erforderliche Verarbeitungsleistung
unterstützen
und es gestatten, daß man
einen Teil eines Abtastsystems verbessert, ohne die anderen Systeme
erneut zu konstruieren.
-
Eine
Abtastvorrichtung mit all diesen Merkmalen zu erhalten ist tatsächlich sehr
schwierig. Die schnell ansteigende Anwendung von Strichcodes verlangt
jedoch, daß die
Abtastsysteme eine steigende Flexibilität, Robustheit und Wirkungsgrad
zeigen.
-
Es
ist daher ein Ziel dieser Erfindung, eine Abtastvorrichtung mit
einer verbesserten Steuerung eines Abtastelementes vorzusehen.
-
Es
ist auch ein Ziel der Erfindung, eine solche Abtastvorrichtung zu
haben, die für
unterschiedliche Charakteristiken der Abtastelemente geeignet sind.
-
Zusammenfassung
der Erfindung
-
Um
diese Ziele zu erreichen, sieht die vorliegende Erfindung eine Abtastvorrichtung
bzw. einen Scanner nach Anspruch 1 vor. Bevorzugte Ausführungs beispiele
der vorliegenden Erfindung können
aus den abhängigen
Ansprüchen
gewonnen werden. Die vorliegende Erfindung sieht auch ein Verfahren
zum elektrooptischen Lesen von codierten Anzeigemitteln (Indizia)
vor, wie in Anspruch 9 dargelegt.
-
Ein
mikroprozessorgesteuerter Führungsmotor
verwendet eine Spule sowohl zum Antrieb eines Führungs- bzw. Abtastelementes
als auch zur Aufnahme von Rückkoppelungssignalen,
die die Bewegung des Abtastelementes darstellen. Der Führungsmotor
verwendet auch unterschiedliche Schaltungstechniken, um eine Verschlechterung
des Systems zu vermeiden, und hat eine leistungsfähige Schnittstelle
zur Decodierungs- und Steuerlogik der Abtastvorrichtung. Der Führungsmotor
kann eingestellt sein, daß er
sicherstellt, daß zweidimensionale
Abtastmuster verarbeitet werden, um die Abtastlinien an unterschiedlichen
Teilen der Strichcodesymbole zu bewegen, um irgendwelche Spalte
zu vermeiden, die anderenfalls auftreten könnten.
-
Insbesondere
weist eine Abtastvorrichtung bzw. ein Scanner gemäß dieser
Erfindung einen Pulsbreitenmodulationsregler auf, der mit der Spule
gekoppelt ist, um zu bewirken, daß ein erwünschter Strom durch die Spule
gemäß eines
analogen Antriebssignals fließt;
weiter einen Digital/Analog-Wandler, der mit der Pulsbreitenmodulationsschaltung
gekoppelt ist, um das analoge Antriebssignal aus einem digitalen
Antriebssignal zu erzeugen; und eine Steuervorrichtung, die mit
dem Digital/Analog-Wandler gekoppelt ist, um das digitale Antriebs-
bzw. Treibersignal zu erzeugen.
-
Kurze Beschreibung
der Zeichnungen
-
Die
beigefügten
Zeichnungen sorgen für
ein weiteres Verständnis
der Erfindung und erklären
zusammen mit der Beschreibung die Prinzipien der Erfindung.
-
1 ist
eine vereinfachte diagrammartige Darstellung von einem Ausführungsbeispiel
eines Laserabtastsystems;
-
2 ist
ein Blockdiagramm eines Scanner- bzw. Führungsmotors;
-
3 ist
eine Darstellung, die die bevorzugte Konstruktion eines PWM-Reglers
bzw. Pulsbreitenmodulationsreglers zeigt, der bei dem Führungsmotor
der 2 verwendet wird;
-
4 ist
eine Darstellung, die Schalter zeigt, die in dem PWM-Regler in 3 verwendet
werden;
-
5a ist
eine Darstellung des Frequenzansprechens für einen RASE- und Mylar-Träger, der
bei dieser Erfindung verwendet werden kann;
-
5b ist
eine Darstellung, die die Größe und die
Phasenveränderungen
als eine Funktion der Frequenz für
den RASE zeigt;
-
6 ist
eine Darstellung von zwei Sinuswellen, um eine grobe Amplitudeneinstellung
zu zeigen;
-
7 ist
eine Darstellung von zwei Kurven, um die Feinamplitudeneinstellung
zu zeigen;
-
8 ist
eine Kurvendarstellung, die die Veränderungen der Resonanzfrequenz
eines RASE mit der Temperatur zeigt;
-
9 ist
eine Darstellung, die veranschaulicht, wie die Summe der Sinuswellen
für das
in 2 gezeigte digitale Antriebssignal gebildet wird;
-
10 ist
ein Flußdiagramm
des Betriebs für
die Motorsteuerung des Führungsmotors
in 2;
-
11 ist
ein Flußdiagramm
des Verfahrens zur Erzeugung von Raster-Abtastungen bzw. Raster-Scans;
-
12a–12c sind unterschiedliche Perspektivansichten
einer bevorzugten Anordnung für
den in 2 gezeigten Führungsmotor;
-
13a–13c zeigen ein Führungs- bzw. Scannermuster
und seine Fortschritte;
-
14 ist
ein Blockdiagramm des Führungsmotors
in 2 und seiner Schnittstellen zu anderen Untersystemen;
-
15 ist
ein Diagramm der bevorzugten Formate für Befehle und Nachrichten,
die mit dem in 2 gezeigten Führungsmotor
bzw. Scannermotor ausgetauscht werden;
-
16 ist
eine Liste der Befehle und Nachrichten, die unter Verwendung des
Formats der 15 ausgetauscht werden.
-
Beschreibung
der bevorzugten Ausführungsbeispiele
-
Die
folgende Beschreibung der bevorzugten Ausführungsbeispiele dieser Erfindung
beschreibt nicht alle möglichen
Ausführungsbeispiele.
In der Beschreibung beziehen sich gleiche Bezugszeichen in unterschiedlichen
Figuren auf gleiche Teile, außer
wenn dies in anderer Weise angezeigt wird.
-
A. Überblick
-
Außer wenn
der Kontext oder die speziellen Anweisungen dies anders zeigen,
sollten die Ausdrücke "Symbol" und "Strichcode" in dieser Beschreibung
und in den folgenden Ansprüchen
breit ausgelegt werden. Beispielsweise decken diese Ausdrücke jegliche
Anzahl von Mustern ab, die abwechselnde Striche und Freiräume haben,
einschließlich
jenen mit verschiedener Breite und einschließlich eindimensionalen oder
zweidimensionalen grafischen Mustern, die anders sind, als jene,
die insbesondere erwähnt
wurden.
-
Die
vorliegende Erfindung bezieht sich auf Abtastsysteme, die jene miteinschließen, die
automatisch die Abtastung eines Ziels (target) einleiten und beenden
können.
Einige Abtastsysteme mit dieser automatischen Fähigkeit verwenden einen manuell
betätigten
Auslöser
bzw. Trigger, um die Abtastung des Ziels einzuleiten, wie es beispielsweise
das US-Patent 4 387 297 beschreibt. Obwohl der Auslöser für viele
Anwendungen wichtig ist, ziehen einige Anwendungen aus anderen Techniken
Vorteil, und diese Erfindung umfaßt auch solche Technologien.
-
1 zeigt
ein stark vereinfachtes Ausführungsbeispiel
eines Strichcodescanners 100, der gemäß der Prinzipien der vorliegenden
Erfindung aufgebaut sein kann. Obwohl 1 einen
Scanner bzw. eine Abtastvorrichtung 100 als in der Hand
gehalten zeigt, erfordert die Erfindung nicht, daß die Abtastvorrichtung
in dieser Form sein muß.
Beispielsweise könnte
die Abtastvorrichtung eine Desktop- bzw. Tischarbeitsstation miteinschließen oder
könnte
eine andere Art einer stationären
Architektur aufweisen. Die Abtastvorrichtung 100 kann auch
als tragbares Computerterminal arbeiten und eine Tastatur 148 und
eine Anzeige 149 aufweisen, wie beispielsweise im US-Patent 4 409 470
beschrieben.
-
Der
in der Hand gehaltene Scanner 100 der 1 hat
die Bauart, die allgemein im US-Patent 4 760 248 oder 4 896 026
beschrieben wird, die beide der Symbol Technologies, Inc. zu eigen
sind. Die Abtastvorrichtung 100 hat auch eine ähnliche
Konstruktion wie der Strichcodeleser, der im Handel erhältlich ist
als Teil Nr. LS 8100 oder LS 2000 von Symbol Technologies Inc.
-
Ein
Anwender zielt die Abtastvorrichtung 100 auf ein Strichcodesymbol 170 ohne
dies physikalisch zu berühren.
Typischerweise arbeitet die Abtastvorrichtung 100 mehrere
Inch von dem gelesenen Strichcodesymbol entfernt.
-
Um
die Abtastvorrichtung 100 zu konstruieren, kann der Fachmann
sich auf die US-Patente 4 387 297; 4 409 470; 4 760 248; 4 896 026
und 4 387 298 beziehen. Um beim Verständnis der beanspruchten Erfindung beizuhelfen,
werden jedoch die Hauptmerkmale der Abtastvorrichtung 100 unten
beschrieben.
-
Die
Abtastvorrichtung 100 ist vorzugsweise pistolenförmig in
einem Gehäuse 155 mit
einem Pistolenhandgriff 153. Ein bewegbarer Auslöser 154 an
dem Handgriff 153 gestattet, daß ein Anwender einen Lichtstrahl 151 und
eine assoziierte Detektorschaltung aktiviert, wenn der Anwender
den Scanner bzw. die Abtastvorrichtung 100 auf ein Symbol 170 gezielt
hat.
-
Das
Gehäuse 155,
welches vorzugsweise aus leichtgewichtigem Plastik gemacht ist,
enthält
eine Laserlichtquelle 146 (die eine Halbleiter-Laserdiode
oder irgend eine andere Lichtquelle sein kann), weiter eine Linse 157,
einen teilweise versilberten Spiegel 147, einen Detektor 158,
einen oszillierenden Spiegel 159, einen Motor 160,
eine Leistungsquelle (Batterie) 162 und eine Signalverarbeitungs-
und Steuerschaltung 165. Die Schaltung 165 weist
eine CPU bzw. zentrale Verarbeitungseinheit 140 und Decodierungs-
und Steuerelektronik 142 auf einer gedruckten Schaltungsplatine 161 auf.
-
Wenn
ein Anwender die Abtastvorrichtung 100 aktiviert, in dem
er den Auslöser 154 zieht,
erzeugt die Lichtquelle 146 einen Lichtstrahl 151 entlang
der Achse der Linse 157. Die Linse 157, die nicht
in allen Ausführungsbeispielen
notwendig ist, kann eine einzelne Linse oder ein System aus mehreren
Linsen sein. Nach dem er durch die Linse 157 gelaufen ist,
läuft der
Strahl 151 durch den teilweise versilberten Spiegel 147,
und falls erwünscht,
durch andere Linsen oder Strahlformgebungsstrukturen. Der Strahl 151 trifft
dann auf den oszillierenden Spiegel 159, der durch den
Scanner- bzw. Führungsmotor 160 angetrieben
wird, was zusammen den Strahl 151 in einem Abtastmuster
leitet. Vorzugsweise startet der Motor 160 auch, wenn der
Anwender den Auslöser 154 zieht.
-
Wenn
der Lichtstrahl 151 unsichtbar ist, kann das optische System
ein Ziellicht parallel zum Strahl 151 aufweisen, um dem
Anwender dabei zu helfen, die Abtastvorrichtung 100 zu
zielen. Das Ziellicht ist ein sichtbarer Lichtstrahl, der entweder
festgelegt sein kann oder dem Lichtstrahl 151 folgen kann.
-
Der
Spiegel 159 leitet den Lichtstrahl 151 durch ein
lichtdurchlässiges
Fenster 156 und über
das Strichcodesymbol 170 in einem gewissen vorbestimmten
Muster, wie beispielsweise in einem linearen Rasterabtastmuster.
-
Das
Symbol 170 kann ein eindimensionaler Strichcode sein, wie
beispielsweise der übliche UPC/EAN-Code,
oder kann ein zweidimensionaler Strichcode sein, wie beispielsweise
PDF417, wie im US-Patent 5 159 639 beschrieben. Zusätzlich,
wie oben erklärt,
kann das Symbol 170 irgend ein anderes akzeptables Symbol
sein, welches zu decodierende Informationen trägt.
-
Der
Lichtstrahl 152 ist das Licht von dem Strahl 151,
welches von dem Symbol 170 wegreflektiert wurde. Der Strahl 152 kehrt
zu der Abtastvorrichtung 100 entlang eines Pfades zurück, der
parallel zu dem Strahl 151 oder manchmal übereinstimmend
mit diesem Strahl ist. Der Strahl 152 reflektiert somit
weg vom Spiegel 159 und trifft auf den teilweise versilberten
Spiegel 147. Der Spiegel 147 reflektiert einen
Teil des Strahls 152 auf einen lichtansprechenden Detektor 158,
der das Licht 152 in elektrische Signale umwandelt.
-
Die
elektrischen Signale laufen dann in die Signalverarbeitungs- und
Steuerschaltung 165, um verarbeitet und decodiert zu werden,
um die Informationen zu extrahieren, die von dem Strichcode dargestellt
werden. Die Signalverarbeitungs- und Steuerschaltung 165 steuert
auch den Betrieb des Motors 160, um das Abtastmuster einzustellen
und eine andere Steuerung vorzusehen.
-
B. Abtaststeuerung
-
1. Führungselementsteuerung
-
2 zeigt
die Details eines Scanner- bzw. Führungsmotors 1200 gemäß dieser
Erfindung, der sowohl flexibel als auch effizient ist. Der Führungsmotor 1200 kann
mit den Scanneruntersystemen verwendet werden, die in dieser Beschreibung
beschrieben wurden, oder mit anderen Untersystemen.
-
Wie 2 zeigt,
hat der Führungsmotor 1200 drei
Hauptkomponenten: die Steuervorrichtung 1210, den Digital/Analog-Wandler 1220 (D/A-Wandler)
und den PWM-Regler bzw. Pulsbreitenmodulationsregler 1230.
Der PWM-Regler 1230 steuert
eine Motorspule 1240, die ein (nicht gezeigtes) Führungselement
antreibt und eine Rückkoppelung
zur Steuervorrichtung 1210 über den Verstärker 1250 liefert.
-
Die
Steuervorrichtung 1210, die vorzugsweise ein PIC16C71 ist,
der von Microchip Technology Inc. hergestellt wurde, formt und sendet
ein digitales Treibersignal 1215 an den D/A-Wandler 1220.
Das digitale Treibersignal 1215 ist tatsächlich eine
Reihe von 7-Bit-Digitalzahlen entsprechend den Spannungswerten eines
Signals zum Antrieb der Spule 1240. Wie genauer unten beschrieben
ist das digitale Antriebssignal 1215 vorzugsweise die Summe
von zwei Sinuswellen, eine zum Antrieb der horizontalen Auslenkung
oder X-Achsen-Auslenkung, und eine zum Antrieb der vertikalen Auslenkung
oder Y-Achsen-Auslenkung.
-
Der
D/A-Wandler 1220 erzeugt ein analoges lineares Steuerspannungssignal 1225 aus
dem digitalen Antriebssignal 1215 und liefert das analoge
Antriebssignal 1225 als eine Einganggröße an den PWM-Reglers 1230.
Der D/A-Wandler 1220 erscheint konzeptionell wie ein Leiter-Wandler,
weil solche Wandler sehr kompakt gemacht werden können. Andere
Wandlerkonstruktionen werden jedoch genauso gut arbeiten.
-
Der
PWM-Regler 1230, der einen Komparator 1231 mit
einschließt,
erzeugt ein Stromtreibersignal 1235 aus dem analogen Antriebssignal 1225 und
sendet das Stromtreibersignal 1235 durch die Spule 1240. Die
Form des Stromtreibersignals 1235 ähnelt jener des analogen Spannungstreibersignals 1225,
somit wirkt in einem Sinne der PWM-Regler 1230 als ein
Spannung/Strom-Wandler.
-
Die
Spule 1240 erzeugt ein Magnetfeld proportional zu dem Stromtreibersignal 1235.
Dieses Magnetfeld bewirkt, daß ein
RASE (RASE = Resonant A symmetric Scan Element = resonantes asymmetrisches
Abtastelement) horizontal oszilliert, und daß ein Mylar-Träger des
RASE vertikal oszilliert. In dieser Weise wirken das RASE und sein
Träger
als Führungsspiegel 159 (1).
Das RASE und sein Träger
werden beschrieben im US-Patent 5 280 165.
-
Das
RASE bzw. resonante asymmetrische Führungselement hat ein hohes
Q, was ihm gestattet, weiter zu oszillieren, auch nach dem das Treibermagnetfeld
stoppt. Das bevorzugte Ausführungsbeispiel
zieht Vorteil aus diesem Merkmal durch periodisches Anhalten des
aktiven Antriebs der Spule 1240. Das RASE oszilliert jedoch
weiter, und die Spule 1240 wirkt dann als passives Abfühlelement,
welches Informationen über die
Amplitude und die Phase des sich bewegenden RASE aufnimmt.
-
Der
Verstärker 1250,
der als ein Puffer angeschlossen ist, wandelt die Signale von der
Spule 1240 in ein Amplituden- und Phasenrückkoppelungssignal 1255 um,
und zwar als eine Eingangsgröße in die
Steuervorrichtung 1210. Die Steuervorrichtung 1210 verwendet
das Rückkoppelungssignal 1255 um
sicherzustellen, daß sie
die Spule 1240 ordnungsgemäß antreibt.
-
Ein
Temperatursensor 1260 liefert eine zweite Eingangsgröße für die Steuervorrichtung 1210,
das Temperatursignal 1265. Das Signal 1265 stellt
die Umgebungstemperatur in der Nähe
des Führungsmotors 1200 dar.
-
Der
Sensor 1260 mißt
die Umgebungstemperatur aus zwei Gründen. Einer ist es, den Motor 1200 zu kalibrieren,
um Veränderungen
aufgrund der Temperatur zu berücksichtigen.
Der andere Zweck ist es, die Steuervorrichtung 1210 zu
alarmieren, um die Betriebsvorgänge
zu stoppen, wenn die Umgebungstemperatur außerhalb eines sicheren Betriebsbereiches
ist.
-
Eine
dritte Eingangsgröße für die Steuervorrichtung 1210 ist
die serielle ZIF-Schnittstelle 1270 mit zwei
Drähten
(Takt plus Daten). Wie im folgenden in dem Abschnitt genauer erklärt wird,
der mit "Führungsmotorschnittstelle" bezeichnet ist,
gestattet diese Schnittstelle, daß die Steuervorrichtung 1210 Befehle
vom Rest der Abtastvorrichtung aufnimmt und Informationen zu der
Abtastvorrichtung sendet.
-
Die
restliche Eingangsgröße in die
Steuervorrichtung 1210 ist ein externer Takt 1280.
Der Takt bzw. Clock 1280 erzeugt ein Signal als eine Frequenz,
die von dem bevorzugten Ausführungsbeispiel
der Steuervorrichtung 1210 erzeugt wird.
-
Zusätzlich zu
der ZIF-Schnittstelle 1270 und dem digitalen Treibersignal 1215 sendet
die Steuervorrichtung 1210 auch zwei andere Signale aus.
Eins ist ein "Listen-Signal" 1234, um
dem PWM-Regler 1230 zu sagen, wann er aufhören muß, das Stromtreibersignal 1235 zu
erzeugen, wodurch die Spule 1240 in eine Aufnahmevorrichtung
umgewandelt wird.
-
Ein
zweites Signal, welches von der Steuervorrichtung 1210 gesandt
wird, ist das Abtastungsbeginn- oder SOS-Signal 1290 (SOS
= Start of Scan = Abtastungsbeginn). Wie oben erklärt zeigt
das SOS-Signal, wann und in welcher Richtung das RASE horizontal
angetrieben wird.
-
In
dem bevorzugten Ausführungsbeispiel
enthält
die Steuervorrichtung 1210 einen Mikroprozessor 1211,
einen Nachschau-ROM 1212, einen inneren Timer 1213 und
einen Analog/Digital-Wandler 1214 (A/D-Wandler). Der Mikroprozessor 1211 weist
eine arithmetische Logikeinheit und einen internen Speicher auf.
Der ROM 1212, der vorzugsweise programmierbar ist, sieht
Datentabellen und Routinen zur Steuerung der Betriebsvorgänge des
Mikroprozessors 1211 vor. Der Timer bzw. die Zeitsteuervorrichtung 1213 ist
ein Interrupt-Timer, den der Mikroprozessor 1211 verwendet,
um Echtzeitbetriebsvorgänge
zu steuern. Der A/D-Wandler 1214 wandelt die analoge Temperatur,
die Amplitude und die Phaseninformation in ein digitales Format
für den
Mikroprozessor 1211 um.
-
Wenn
sie in ihrem normalen Betriebszustand arbeitet, erzeugt die Steuervorrichtung 1210 ein
Sieben-Bit-Digitaltreibersignal 1215, welches die Summe von
zwei Sinuswellen darstellt. Eine ist ungefähr 290 Hz, und die andere ist
ungefähr
15 Hz. Das Signal mit 290 Hz wird verwendet, um die X-Achsen-Auslenkung des RASE
anzutreiben, und das 15 Hz-Signal wird verwendet, um die Y-Achsen-Auslenkung
des Mylar-Trägers
anzutreiben.
-
Die
Steuervorrichtung 1210 kann das digitale Treibersignal 1215 verändern, wie
benötigt.
Beispielsweise überwacht
die Steuervorrichtung 1210 konstant das Rückkoppelungssignal 1255,
um zu bestimmen, ob die Amplitude oder Frequenz des digitalen Treibersignals 1215 zu
verändern
ist. Zusätzlich
kann die Steuervorrichtung 1210 ein Signal mit einer anderen
Form oder mit anderen Frequenzen erzeugen, um andere Ausrüstungsgegenstände aufzunehmen
bzw. zu bedienen.
-
Der
D/A-Wandler 1220 wandelt kontinuierlich das digitale Treibersignal 1215 in
ein analoges Treibersignal 1225 um. Ein analoges Treibersignal
gestattet, daß der
Führungsmotor 1200 genau
bei höheren
Frequenzen arbeitet. Um zu verstehen warum, erfordert dies ein Verständnis des
PWM-Reglers 1230.
-
Der
PWM-Regler 1230 nimmt das analoge Antriebssignal 1225 an
einem nicht invertierenden Eingang des Komparators 1231 auf
und nimmt ein Stromrückkoppelungssignal 1232 an
dem invertierenden Eingang des Komparators 1231 auf. Der
Stromsensor 1242 erzeugt ein Stromrückkoppelungssignal 1232 als
ein Spannungssignal entsprechend dem Stromtreibersignal 1235.
Der Aufbau des PWM-Reglers 1230 in dieser Weise zwingt
den Regler 1230 dazu, dem analogen Treibersignal 1225 zu
folgen.
-
Diese
Konstruktion des PWM-Reglers 1230 hat zwei Vorteile gegenüber herkömmlichen
Spannungstreiberschaltungen. Erstens erfordern die Spannungstreiber
eine Versorgung für
sehr große
Spannungen, um dem hinteren Ende der Spule 1240 entgegenzuwirken.
Der PWM-Regler 1230 tut dies nicht, weil er ein Stromtreiber
ist.
-
Zweitens
kann ein Spannungstreiber das hohe Q des RASE reduzieren, in dem
er durch die Spule 1240 Signale zwingt, die nicht bei der
Resonanzfrequenz der Spule liegen. Das bevorzugte Ausführungsbeispiel
des Reglers 1230 verringert nicht das Q des RASE, weil
die Rückkoppelungskomponente
sicherstellt, daß das
RASE mit der Resonanzfrequenz angetrieben wird.
-
3 zeigt
die bevorzugte Konstruktion des PWM-Reglers 1230 genauer.
Das analoge Treibersignal bzw. Antriebssignal 1225, welches
als Vo gezeigt ist, tritt in den nicht invertierenden Eingang des
Operationskomparators 1231 über den Widerstand 1301 ein.
Der invertierende Eingang des Komparators 1231 ist in Verbindung
mit einer Referenzspannung Vref über
den Widerstand 1310.
-
Die
Ausgangsgröße des Komparators 1231 mit
offenem Kollektor, der auf eine Steuerspannung Vcc über den
Widerstand 1230 heraufgezogen wird, erzeugt ein PWM-Signal,
welches der Inverter 1330 verwendet, um ein invertiertes
PWM-Signal zu bilden. Das PWM-Signal steuert einen Schalter 1340,
und das invertierte PWM-Signal steuert einen Schalter 1345.
Die Schalter 1340 und 1345 sind in Verbindung
mit gegenüberliegenden
Seiten der Spule 1240, um eine ½H-Brücke zu formen.
-
4 zeigt,
daß die
Schalter 1340 und 1345 vorzugsweise Transistoren 1440 bzw. 1455 sind.
Die Transistoren 1440 und 1455 wirken als Schalter,
weil sie in einem von zwei Zuständen
sind: Gesättigt
oder nicht leitend. Die Anwendung von Transistoren in dieser Weise
verringert den RDS-Verlust (RDS = resistance from drain to source
= Widerstand von drain zu source) und ist wirkungsvoller als die
Verwendung von Transistoren in ihren aktiven Regionen als lineare
Antriebe. Der in den 3 und 4 gezeigte
PWM-Regler ist ungefähr zweimal
so effizient wie ein linearer Antrieb. Darüber hinaus erzeugt dieser PWM-Regler
eine Schaltfrequenz von mehr als 100 KHz, wodurch die Schaltfrequenzstromkomponenten
in der Motorspule minimiert werden.
-
Die
Schalter 1340 und 1345 schalten abwechselnd an
und aus, um eine Hochfrequenz-PWM-Impulsabfolge an der Spule 1240 zu
erzeugen. Die Induktivität
der Spule 1240 integriert diese Impulsabfolge, um in der
Spule 1240 einen stückweise
linearen Strom proportional zur Gleichstromkomponente der Impulsabfolge zu
erzeugen. Dieser mit der Zeit variierende Strom nähert sich
an die summierte Sinuswellenform eines analogen Signals 1225 an.
-
3 zeigt,
daß in
dem bevorzugten Ausführungsbeispiel
die Spule 1240 in zwei seriell verbundene Abschnitte 1347 und 1348 aufgeteilt
ist, die von dem Stromabfühlwiderstand
Rs 1242 getrennt sind. Eine Seite des Rs 1242 ist
durch den Widerstand 1302 mit dem nicht invertierenden
Eingang des Verstärkers 1231 verbunden,
und die andere Seite des Abfühlwiderstandes 1242 ist
durch den Widerstand 1312 mit dem invertierenden Eingang
des Verstärkers 1231 verbunden.
Die Größen der
Widerstände
werden so ausgewählt,
daß der
Strom durch die Spule 1240, iL,
ungefähr
gleich (Vo – Vref)/Rs
ist.
-
Die
Spule 1240 erzeugt ein Magnetfeld mit der gleichen Form
wie des Stromtreibersignals 1235, die Summe der Sinuswellen
mit 290 Hz und mit 15 Hz. Das RASE filtert mechanisch den niederfrequenten
Teil des magnetischen Signals aus, und der Mylar-Träger filtert
mechanisch den hochfrequenten Teil aus.
-
5a zeigt
die Frequenzantwort für
das RASE und seinen Mylar-Träger,
um die mechanische Filterung zu zeigen. Wie es offensichtlich ist,
wird der Mylar-Träger
nur auf die niederfrequenten Signale ansprechen, und das RASE wird
nur auf die Signale in einem schmalen Band um 280 Hz ansprechen.
-
5b zeigt
das hohe Q (ungefähr
500) des RASE, dessen Resonanzfrequenz 280 Hz ist. Die Werte für die Größe und die
Phase weichen merklich als eine Funktion der Frequenz ab.
-
Um
das RASE mit einem so hohen Q anzutreiben erfordert dies eine sorgfältige Rückkoppelungsüberwachung.
Der Mikroprozessor 1211 arbeitet so, daß er durch eine Extraktion
aus dem digitalisierten Rückkoppelungssignal
die Informationen über
die maximale Amplitude und die Phase (oder die Frequenz) extrahiert. Das
bevorzugte Verfahren zur Rückkoppelungsüberwachung
sieht vor, daß periodische
Messungen bei der gleichen relativen Phase des digitalen Treibersignals 1215 aufgenommen
werden. Bei dem bevorzugten Ausführungsbeispiel
nimmt der Mikroprozessor 1211 eine Rückkoppelungsmessung einmal
alle 19½ Zyklen
des X-Achsen-Antriebs auf, und steuert zeitlich die Messungen so,
daß sie
beim Nulldurchgang beginnen und bei der maximalen Amplitude oder
dem Punkt des viertelten Zyklus beginnen. Wenn der gemessene Wert
von dem beabsichtigten Wert abweicht, ist die Steuervorrichtung 1210 außer Phase
mit dem RASE, und der Mikroprozessor 1211 verändert die
Frequenz, um diese Bedingung zu korrigieren.
-
Um
die Amplituden- und Frequenzwerte des Signals 1215 zu korrigieren,
verwendet der Mikroprozessor 1211 verschiedene Werte, die
während
der Kalibrierung in der Fabrik eingestellt wurden. Dies ist der
bevorzugte Zeitpunkt, um die Grundwerte in den ROM 1212 einzugeben.
-
Natürlich können die
in den ROM 1212 bei der Kalibrierung gespeicherten Werte
nicht immer genau bleiben. Veränderungen
der Temperatur, des RASE oder andere Faktoren könnten erfordern, daß der Mikroprozessor 1211 andere
Werte für
das Treibersignal 1215 erzeugt. Dies ist warum der Mikroprozessor 1211 Einstellungen
basierend auf der Rückkoppelung
vornimmt. Um Einstellungen vorzunehmen, erhält der Mikroprozessor 1211 vom
ROM 1212 zwei Sätze
von Amplitudenwerten für
die X-Achsenauslenkung und eine Frequenzeinstellung (oder Sinuswellenperiodeneinstellung).
In dem bevorzugten Ausführungsbeispiel
gibt es keine Y-Achsen-Einstellung, nur einen Satz von Amplitudenwerten
für die
X-Achsen-Einstellung. Um die Y-Achsen- Auslenkung zu korrigieren, könnte jedoch
der ROM 1212 einen zusätzlichen
Satz von Amplitudenwerten enthalten.
-
Für die X-Achsen-Auslenkung
weist der ROM 1212 Grundlinienwerte auf, die die maximale
Auslenkung darstellen, und grobe Amplitudeneinstellwerte. Die groben
Einstellwerte sind 5 Prozent der entsprechenden Grundlinienwerte.
Im bevorzugten Ausführungsbeispiel
hat jeder Satz von Werten für
die hohe Frequenz oder das X-Achsen-Signal 16 Einträge, und
jeder Satz von Werten für
die niedrige Frequenz oder das Y-Achsen-Signal hat 26 Einträge. In dem
bevorzugten Ausführungsbeispiel
stellen die Werte aufeinanderfolgende Werte für Sinuswellen dar.
-
Der
Frequenzwert sagt dem Mikroprozessor 1211, wie oft er neue
Werte für
das digitale Treibersignal 1215 aussenden soll. Beispielsweise
hätte für eine Sinuswelle
von 300 Hz der Mikroprozessor 1211 einen vollständigen Satz
von Werten alle 1/300 Hz oder 3,33 ms aussenden müssen. Wenn
ein vollständiger
Satz 16 Werte aufweisen würde,
müßte der
Mikroprozessor 1211 einen neuen Wert alle 3,33 ms/16 oder
alle 208 μs liefern.
Vorzugsweise wird der Interrupt-Timer 1213 auf den Wert
eingestellt, der nötig
ist, um das digitale Treibersignal 1215 mit der erwünschten
Frequenz zu erzeugen.
-
Der
Mikroprozessor 1211 macht Frequenzeinstellungen in dem
er einen neuen Wert in den Interrupt-Timer 1213 lädt. Amplitudeneinstellungen
sind ebenfalls nicht sehr kompliziert. Der Mikroprozessor 1211 bildet
neue Werte für
das Signal 1215 durch Subtraktion von Werten unter Verwendung
von groben Einstellwerten von der Grundlinie und dann durch Verwendung
einer Feineinstelltechnik.
-
6 veranschaulicht,
wie die groben Einstellungen vorgenommen werden. Die Kurve 1610 enthält verschiedene
Grundlinienamplitudenwerte, und die Linie 1620 enthält verschiedene
Grobeinstellwerte, die von den Grundlinienwerten zu subtrahieren
sind. Um beispielsweise ein Amplitudensignal 15 Prozent niedriger
zu formen als die Grundlinie, als Kurve 1630 gezeigt, sub trahiert
der Mikroprozessor 1211 die Grobeinstellwerte (jeder mit
5 Prozent des entsprechenden Grundlinienwertes) dreimal von den
Grundlinienwerten.
-
7 zeigt,
wie Feineinstellungen beim bevorzugten Ausführungsbeispiel gemacht werden.
Die Feineinstellung erfordert auch eine wiederholte Subtraktion,
jedoch anstelle der Verwendung eines Prozentsatzes von Grundlinienwerten,
verwendet der Mikroprozessor 1211 eine feste Versetzung.
Die Versetzung ist positiv, wenn der Grundlinienwert positiv ist,
ist negativ, wenn der Grundlinienwert negativ ist, und ist Null,
wenn der Grundlinienwert Null ist. Die Feineinstellung wandelt die
Kurve 1710 in die Kurve 1720 um. Die Feineinstellung tendiert
dazu, die Sinuswellenform geringfügig zu verzerren, jedoch mit
wenig merklichem Effekt.
-
Zusätzlich verwendet
der Mikroprozessor 1211 während der Kalibrierung das
Umgebungstemperatursignal 1265 zur Einstellung der Frequenz
des RASE gemäß der Temperatur. 8 zeigt
eine typische Beziehung zwischen der Temperatur in Grad Celsius
und einer Resonanzfrequenz in Hz für ein RASE. Weil das RASE einen
so hohen Q-Wert hat, ist es wichtig, eine ordnungsgemäße Temperaturkompensation
sicherzustellen.
-
In
dem bevorzugten Ausführungsbeispiel
bildet der Mikroprozessor 1211 die Werte für die Sinuswelle mit
höherer
Frequenz, wie oben beschrieben, und zwar durch Bestimmung eines
neuen Spannungswertes immer dann, wenn der Interrupt-Timer 1213 ein
Interrupt-Signal erzeugt. Der Mikroprozessor 1211 bildet
einen neuen Wert für
die Sinuswelle mit niedriger Frequenz durch Zugriff auf den ROM 1212,
nach dem er eine gewisse vorbestimmte Anzahl von neuen Werten für das höherfrequente
Signal erhalten hat. Um beispielsweise ein Signal mit 15 Hz aus
einer Tabelle mit 26 Werten zu bilden, ruft der Mikroprozessor 1211 einen
neuen Wert für
das niederfrequente Signal alle 0,75 Zyklen eines höherfrequenten
Signals von 300 Hz auf.
-
9 zeigt
die Bildung einer hochfrequenten Sinuswelle für ein Signal mit 300 Hz mit
16 Werten, und einer niederfrequenten Sinuswelle mit einem neuen
Wert alle 0,75 Zyklen (oder alle 12 Werte) der hochfrequenten Sinuswelle.
Wie oben erklärt,
würde der
Mikroprozessor 1211 bei einem Signal von 300 Hz mit 16 Werten
alle 208 μs
einen Interrupt aufnehmen. 9 zeigt
auch die Beziehung zwischen dem SOS-Signal und dem digitalen Treibersignal 1215.
Der Pegel des SOS-Signals zeigt die Polarität des Treibersignals 1215 und somit
die Richtung der Abtastung an.
-
Dieses
grundlegende Verständnis
der Schlüsselkomponenten
des Führungsmotors 1200 gestattet
einen Überblick über den
gesamten Betrieb des Führungsmotors 1200. 10 enthält ein Flußdiagramm 2000, welches
die Betriebsvorgänge
zeigt, die für
die Motorsteuerung nötig
sind.
-
Als
erstes wird das Verfahren entweder anfänglich oder nach einer gewissen
Art eines Rücksetzvorgangs
gestartet. (Schritt 2010). Als Nächstes liest der Mikroprozessor 1211 den
Eingangsanschluß aus
der seriellen Schnittstelle 1270 aus, um zu sehen, welche
Befehle auszuführen
sind. (Schritt 2015). Der erste Befehl wird wahrscheinlich
gewisse Anfangswerte einstellen.
-
Der
Mikroprozessor 1211 mißt
dann die Temperatur. (Schritt 2020). Wenn die Temperatur
zu warm ist, dann sendet die Steuervorrichtung 1200 ein
Laser-Off-Signal, um die Abtastvorrichtung abzuschalten. Anderenfalls
geht das Verfahren weiter und der Mikroprozessor 1211 stellt
die Frequenz (d. h. die Periode) für die X-Achse ein. (Schritt 2025).
-
Als
nächstes
startet die X-Achsenführung
durch Vorsehen einer maximalen Eingabe oder eines "Stoßes". (Schritt 2030).
Der Mikroprozessor 1211 mißt dann die maximale Amplitude
für die
X-Achse. (Schritt 2035). Der "Stoß" fährt fort,
bis die maximale X-Achsenamplitude den Grundlinienwert erreicht.
An diesem Punkt beginnt die Y-Achsensignalauslenkung. (Schritt 2040).
-
Als
nächstes
liest der Mikroprozessor 1211 wiederum den Steueranschluß aus, um
den nächsten
Befehl zu bekommen. (Schritt 2045). Wenn der Befehl ist,
die X- oder Y-Amplitude zu modifizieren, dann wird die Modifikation durchgeführt (Schritt 2050),
und der Steueranschluß wird
wiederum für
einen weiteren Befehl abgefragt. (Schritt 2045).
-
Wenn
der Befehl anzeigt, daß das
Symbol zweidimensional ist, öffnet
der Mikroprozessor 1211 die Y-Achse, um die Höhe des Abtastmusters
zu vergrößern. (Schritt 2055).
Nach dem man dies so getan hat, modifiziert der Mikroprozessor 1211 die
X- oder Y-Amplituden zur Wiederspiegelung der Veränderung
in dem Abtastmuster. (Schritt 2060). Danach liest der Mikroprozessor 1211 den
Steueranschluß bezüglich eines
weiteren Befehls aus. (Schritt 2065).
-
Wenn
der Befehl anzeigt, daß das
Abtastmuster wiederum modifiziert werden muß, erfüllt der Mikroprozessor 1211 dies
(Schritt 2060) und liest den Steueranschluß bezüglich des
nächsten
Befehls aus. (Schritt 2065).
-
An
diesem Punkt oder während
einer früheren
Auslesung des Steueranschlusses (Schritt 2045) kann die
Steuervorrichtung 1210 einen Befehl aufnehmen, der eine
Decodierung zur Überprüfung des
Führungsmotors 1200 anzeigt.
Ansprechend darauf bremst der Mikroprozessor das RASE (Schritt 2070)
und wartet auf die nächste
Operation. Vorzugsweise bremst der Mikroprozessor 1211 das
RASE, in dem er es um 180 Grad außer Phase antreibt.
-
11 enthält ein Flußdiagramm 2100,
welches die Schritte zur Erzeugung der ordnungsgemäßen Rasterabtastungen
zeigt. Nach dem Start (Schritt 2110) sendet der Mikroprozessor 1211 die
summierten Sinuswellensignale an den D/A-Wandler 1220.
(Schritt 2115). Dies wird die Abtastung einleiten oder
fortsetzen.
-
Als
nächstes
bestimmt der Mikroprozessor 1211, ob er die Amplituden-
oder Frequenzwerte verändern muß, und zwar
ansprechend auf einen Befehl vom Steueranschluß. (Schritt 2120).
Wenn dies so ist, modifiziert der Mikropro zessor 1211 die
geeigneten Register für
die Frequenz, die X-Achsen-Amplitude
oder die Y-Achsen-Amplitude. (Schritt 2125).
-
Nach
der Modifikation der Register, oder wenn keine Veränderung
erforderlich ist, nimmt der Mikroprozessor 1211 den nächsten Grundlinienwert
für die
X-Achse auf (Schritt 2130) und bekommt die entsprechenden
Grob- und Feineinstellungswerte (insgesamt X'). (Schritt 2135).
-
Dann
beginnt eine Schleife, in der die X'-Einstellwerte wiederholt von dem X-Grundlinienwert subtrahiert
werden (Schritt 2140), und zwar eine Anzahl von Malen gleich
einem gespeicherten Wert "xcntr". (Schritt 2145).
Xcntr zeigt, um wieviel der Grundlinienwert modifiziert werden muß. Als nächstes führt der
Mikroprozessor 1211 einen ähnlichen Satz von Operationen
für die
Y-Achsenwerte aus.
Wie oben erklärt
tritt dieser Betriebsvorgang alle 0,75 Zyklen der X-Achsen-Sinuswelle
bei dem bevorzugten Ausführungsbeispiel
auf. Ähnlich
wie bei der X-Achsenschleife ruft der Mikroprozessor 1211 den
Grundlinienwert für
die Y-Achse auf (Schritt 2150), und die entsprechenden
Y-Fine- und Y-Grobeinstellwerte Y'. (Schritt 2155). Als nächstes subtrahiert
der Mikroprozessor die Y'-Einstellwerte
(Schritt 2160) von dem Grundlinien-Y-Wert für eine Anzahl von Malen gleich "ycntr", ein gespeicherter
Wert ähnlich
xcntr. (Schritt 2165).
-
Nach
der Bestimmung der eingestellten X- und Y-Werte addiert der Mikroprozessor 1211 diese
Werte miteinander. (Schritt 2170). Dann wartet er auf eine
Timer-Unterbrechung (timer-interrupt). (Schritt 2175).
-
Wenn
der Interrupt auftritt, lädt
der Mikroprozessor 1211 erneut einen Timer-Wert in ein X-Achsen-Frequenzsteuerregister.
Der Timer-Wert ist entweder eine grobe Frequenzeinstellung, die
vorzugsweise der Wert ist, der zwischen allen außer zwei Sampling- bzw. Aufnahmepunkten
verwendet wird, oder er ist ein feiner Frequenzwert, der vorzugsweise
der Wert ist, der zwischen zwei Sampling- bzw. Aufnahmepunkten verwendet wird,
um kleinere Frequenzeinstellungen vorzunehmen. (Schritt 2180).
Der gesamte Prozeß wiederholt sich dann,
wobei die Summe der eingestellten X-Achsen- und Y-Achsen-Amplitudenwerte an
einen D/A-Wandler 1220 ausgesandt wird. (Schritt 2115).
-
Um
das Verständnis
dieser Erfindung zu vervollständigen
ist es nützlich,
die spezifischen Variablen zu kennen, die in dem ROM 1212 bei
dem bevorzugten Ausführungsbeispiel
gespeichert sind. Während
der anfänglichen
Programmierung in der Fabrik ordnen die Techniker vorzugsweise einen
Wert von 30 für
die maximale Y-Amplitudenvariable zu. Der Mikroprozessor 1211 in
dem Führungsmotor 1200 bestimmt
die grobe Einstellung und die feine Einstellung aus diesem Wert.
-
Der
Techniker gibt die folgenden 8-Bit-Worte in eine Kalibrierungstabellenstelle
in dem ROM
1212 ein.
Ymax: | Maximale
Y-Amplitude (größte Höhe des Abtastmusters) |
Ymin: | Minimale
Y-Amplitude (kleinste Höhe
des Abtastmusters) |
Xdrive: | X-Amplitudeneinstellung,
die beim Start verwendet wird, um grobe und feine Einstellwerte
zu erzeugen |
Fcrs: | Grober
Frequenzwert (Distanz zwischen allen Aufnahmepunkten außer den
Einstellungspunkten) |
FFine: | Feiner
Frequenzwert (während
den Einstellpunkten verwendet) |
Phase: | Phasenreferenzwert
für die
X-Achsen-Frequenzsteuerung (Wert, der verwendet wird, um den maximalen Wert
für die
Phasenmessung zu finden) |
Fback: | Amplitudenreferenz,
die verwendet wird, wenn man das Rückkoppelungssignal untersucht |
Kcount: | Anzahl
der X-Achsen-Zyklen zur Anwendung des Stoßes (kick) |
-
Dies
ist der einzige Abschnitt des Programmraums der Steuervorrichtung 1200,
der sich für
jeden Scanner bzw. jede Abtastvorrichtung verändert.
-
Der
Kalibrierungstabellenbereich in dem ROM 1212 ist groß genug,
um eine erneute Programmierung zu unterstützen. Vorzugsweise kann jede
Kalibrierungstabelle eines jeden Scanners bis zu viermal programmiert
werden. Um die alten Tabellenwerte auszulöschen, überschreibt der Mikroprozessor 1211 den
Tabellenraum mit jenen Werten mit NOP-Anweisungen (0016).
Er schreibt dann die neue Kalibrierungstabelle in neue zuvor reservierte
Speicherstellen des ROM 1212. Wenn der Mikroprozessor 1211 auf
die Kalibrierungstabelle zugreift, überspringt er die NOP-Anweisungen
und inkrementiert einen Programmzähler, bis er die neuen Tabelleneinträge findet.
-
Gewöhnlicherweise
muß ein
Techniker nur die Kalibrierungstabelle erneut programmieren, wenn
ein Motor während
des Services ersetzt wird, oder wenn der Ausrichtungsoperator in
der Fabrik die Motorausrichtungsfehler korrigieren muß. In der
Fabrik wird der Führungsmotor
auf einer Ausrichtungsfixierung angeordnet, die automatisch den
Motor ausrichtet, um Kalibrierungstabellenwerte zu erzeugen.
-
Nach
einem Reset lädt
der Mikroprozessor 1211 die Kalibrierungstabellen aus dem
ROM 1212 in einen RAM in den Mikroprozessor 1211.
Wie der Abschnitt unten erklärt
der "Führungsmotorschnittstelle" betitelt ist, können die
RAM-Stellen modifiziert werden durch Verwendung des Kalibrierungsbetriebszustandes,
um Veränderungen
des Abtastmusters "in
Betrieb" zu bewirken.
In den meisten Fällen
jedoch gestattet die Führungsmotorschnittstelle
dynamische Abtastmusterveränderungen,
in dem sie den Decoderamplituden und Öffnungsraten durch Befehle
festlegen läßt, wie
beispielsweise durch OPEN Y. Die normalen Produktbefehle verändern nicht
die Kalibrierungswerte, sind jedoch kein Teil des Kalibrierungsbetriebszustandes.
Der Führungsmotor 1200 erzeugt
Befehle in die Steuerung, Variablen, die der Mikroprozessor 1211 verwendet,
um die Grundlinienwerte zu manipulieren.
-
Es
wird aus der vorangegangenen Beschreibung offensichtlich, daß die Konstruktion
des Führungsmotors 1200 seinen
Scan- bzw. Führungsvorgang
leistungsstark und wirkungsvoll macht. Ein weiterer Vorteil des
Scanner- bzw. Führungsmotors 1200 ist,
daß er
sehr wenig Raum erfordert. 12a zeigt
eine Perspektivansicht einer bevorzugten Anordnung, die einen Laser 2210,
den RASE-Spiegel 2220, die Mylar-Anordnung 2225 und
die Motorspule 1240 enthält.
-
12b zeigt eine andere Perspektivansicht von unten
in der Ansicht der 12a, die wiederum den Laser 2210 zeigt,
wobei eine gedruckte Schaltungsplatine (PCB = printed circuit board) 2250 des
Führungsmotorantriebs
unter dem Laser 2210 und der Spule 1240 montiert
ist. Die gedruckte Schaltungsplatine 2250 des Führungsmotorantriebs,
die die in 2 gezeigte Elektronik enthält, hat
die Steuervorrichtung 1210 als ihr größtes Element.
-
12c zeigt die Beziehung des Detektors 2220 und
ihrer gedruckten Schaltungsplatine 2260. Die Decoderschaltung
ist vorzugsweise auf einer anderen gedruckten Schaltungsplatine
an einem anderen Teil des Scanners gelegen.
-
2. Vorlauf
-
Ein
weiteres Merkmal des bevorzugten Ausführungsbeispiels, welches nicht
leicht offensichtlich ist, ist der Grund zur Auswahl der niedrigeren
Frequenz mit 15 Hz. Insgesamt schlägt die 5a vor,
daß mehrere unterschiedliche
Frequenzen ein adäquates
Ansprechen vorsehen würden.
Der Grund zur Auswahl von 15 Hz ist, daß die X-Achsen-Führungsfrequenz
von 290 Hz nicht ein ganzzahliges Vielfaches von 15 Hz ist. Das
tatsächliche
Verhältnis
ist ungefähr
19,5.
-
Wenn
die X-Achsen-Führungsfrequenz
kein ganzzahliges Vielfaches der Y-Achsen-Führungsfrequenz ist, wird das
Abtastungsmuster dazu tendieren, vorzulaufen oder zu rollen, und
zwar weil die Bewegungen entlang der zwei Achsen nicht simultan
beginnen. Obwohl man ein solches Vorlaufen bzw. Durchlaufen als
Nachteil empfinden kann, kann es tatsächlich hilfreich bei der Abtastung
von unterschiedlichen Teilen eines Strichcodesymbols sein.
-
Beispielsweise
kann ein Strichcode einige Teile haben, die schwierig auszulesen
sind, oder die Zeilen können
eng gepackt sein. In diesem Fall stellt das Durchlaufen des Abtastmusters
sicher, daß die
aufeinanderfolgenden Abtastungen über unterschiedliche Teile
des Symbols laufen und eine genauere Auslesung bieten.
-
13a–13c zeigt aufeinanderfolgende Abtastmuster während des
Durchlaufs. Wie die Muster zeigen, laufen die Abtastungen über unterschiedliche
Pfade durch das Muster, um eine bessere gesamte Abdeckung vorzusehen.
-
Bei
dem bevorzugten Ausführungsbeispiel
ist der Durchlauf, dessen Rate von dem Verhältnis der X-Achsenfrequenz
und der Y-Achsenfrequenz abhängt,
bei jedem Scanner eingebaut. Eine ordnungsgemäße Programmierung des ROM 1212,
wie beispielsweise während
der Kalibrierung, kann den Durchlauf verändern oder sogar eliminieren.
-
3. Führungsmotorschnittstelle
-
Wie
die vorherige Beschreibung vorschlägt, muß der Führungsmotor 1200 mit
anderen Teilen der Abtastvorrichtung 100 kommunizieren. 14 ist
ein Blockdiagramm, welches die Schnittstellen zwischen dem Scanner-
bzw. Führungsmotor 1200,
dem Decoder 2410, der Digitalisierungsvorrichtung 2420 und
dem optischen Detektor 2430 zeigt. In 14 nimmt
der optische Detektor 2430 das reflektierte Licht auf und
gibt elektrische Signale aus, die die Pegel des aufgenommenen Lichtes
reflektieren. Die Digitalisierungsvorrichtung 2420 bildet
die DBP-Signale, die oben besprochen wurden, aus diesen elektrischen
Signalen.
-
Der
Decoder 2410 stellt die Schaltung sowohl zur Decodierung
der Strichcodedaten als auch zur Steuerung des Betriebs des Scanners 100 dar.
Wie 14 zeigt, nimmt der Decoder 2410 das
SOS-Signal 1290 von dem Führungsmotor 1200 auf
und tauscht Befehle und Daten mit dem Mikroprozes sor 1211 über die
serielle ZIF-Schnittstelle 1270 aus. Der Decoder 2410 nimmt
auch DBP-Daten von der Digitalisierungsvorrichtung 2420 auf,
und sendet automatische Gain- bzw. Verstärkungssteuersignale zurück zum Detektor 2430,
um eine Auflösung
mit hoher Qualität
sicherzustellen.
-
Die
meisten der Signale und der Schnittstellen, die in 1 gezeigt
sind, sind oben beschrieben worden. Eine wichtige Schnittstelle,
die nicht beschrieben worden ist, ist die serielle ZIF-Schnittstelle 1270.
Die Schnittstelle ist sehr leistungsfähig, weil sie gestattet, daß der Führungsmotor 1200 mit
dem Rest der Abtastvorrichtung 100 zusammenarbeitet und
die Vorteile erzeugt, die in der vorherigen Beschreibung aufgezählt wurden.
-
15 zeigt
ein bevorzugtes Format für
die Befehle und die Nachrichten, die über die ZIF-Schnittstelle 1270 ausgetauscht
werden. Die Befehle und Nachrichten werden in 8-Bit-Bytes 2500 gesandt.
Jedes Byte hat zwei 4-Bit-Teile
(Nibbel), gezeigt als Teil bzw. Nibbel 2510 und Teil bzw.
Nibbel 2520. Der Nibbel 2510 trägt vorzugsweise
den Befehl und den Nachrichtenidentifikator, und der Nibbel 2520 trägt irgendwelche
Daten, die für
die Nachricht des Befehls erforderlich sind.
-
16 zeigt
eine Liste von Befehlen und Nachrichten, die über die serielle ZIF-Schnittstelle 1270 zwischen
dem Führungsmotor 1200 und
dem Decoder 2410 im bevorzugten Ausführungsbeispiel ausgetauscht wurden.
Es gibt acht Befehle vom Decoder 2410 zum Führungsmotor 1200 und
fünf Nachrichten
vom Führungsmotor 1200 zum
Decoder 2410.
-
Der
Befehl CALIBRATION wird prinzipiell in der Fabrik verwendet, um
den Führungsmotor 1200 zu
kalibrieren. Im bevorzugten Ausführungsbeispiel
spricht der Mikroprozessor 1211 nur auf den Befehl CALIBRATION
an, wenn das SOS-Signal 1290 tief ist. Wenn dies nicht
der Fall ist, wird der Mikroprozessor 1211 diesen Befehl
ignorieren.
-
Der
spezielle Zweck der Kalibrierung ist es, den RAM in dem Mikroprozessor 1211 umzuschalten
oder zu lesen. Die Kalibrierung sieht eine erste Annäherung der
Abtastelementparameter vor, die später bei der Rückkoppelung
eingestellt werden.
-
Der
Nibbel 2520 in dem Befehl CALIBRATION kann anzeigen, daß das RAM-Modul
gelesen werden sollte (0001), daß in das RAM-Modul geschrieben
werden sollte (0000) oder daß der
Kalibrierungsbetriebszustand eingeschaltet werden sollte (0010).
Wenn der Führungsmotor
schon in dem Kalibrierungsbetriebszustand ist, können zusätzliche Betriebszustände, wie
beispielsweise Lesen, Schreiben oder Ende eingestellt werden, ohne
das SOS-Signal 1290 tief
zu halten.
-
Um
die Inhalte einer RAM-Adresse zu verändern, setzt der Decoder 2410 den
Führungsmotor 1200 in den
Write-RAM-Kalibrierungsbetriebszustand (Schreiben) und sendet ihn
zu der erwünschten
RAM-Adresse (ein Byte). Ansprechend darauf gibt der Führungs-
bzw. Scannermotor 1200 die Adresse als Echo an den Decoder 2410,
der dann überprüft, ob das
Echo korrekt war. Als nächstes
sendet der Decoder 2410 Daten für diese RAM-Adresse, und der
Führungsmotor 1200 sendet
die Daten als Echo für
den Decoder 2410 zur Überprüfung.
-
Um
eine RAM-Stelle auszulesen, bringt der Decoder 2410 den
Führungsmotor 1200 in
den Read-RAM-Kalibrierungsbetriebszustand (Lesen) und sendet die
erwünschte
Adresse des RAM (ein Byte). Ansprechend darauf sendet der Führungsmotor 1200 die
Daten von der angewiesenen RAM-Adresse zurück.
-
Diese
beiden Mechanismen gestatten es dem Decoder 2410, die Parameter
des Führungsmotors 1200 dynamisch
zu verändern.
Beispielsweise ist dies der Weg, wie der Decoder 2410 die
X-Achsen- und Y-Achsen-Amplituden während der Abtastung verändern könnte.
-
Der
Befehl AIM SLAB sagt dem Führungsmotor 1200,
daß er
das Führungselement
in einem vorbestimmten Muster zum Zielen oder für die anfängliche Aufnahme bringen soll.
Dieser Befehl steuert jedoch nicht den Laser.
-
Der
Befehl AIM DOT sagt dem Führungsmotor 1200,
daß er
das Führungselement
in einem vorbestimmten Muster für
einen Punktzielvorgang im Sonnenlicht anordnen soll. Dieser Befehl
steuert jedoch ebenfalls nicht den Laser.
-
Der
Befehl SET Y ANGLE sagt dem Führungsmotor 1200 den
maximalen Winkel zur Öffnung
in der Y-Richtung ansprechend auf einen später ausgegebenen Befehl OPEN
Y. Dieser Befehl hat Daten in dem Nibbel 2520, die einen
von 16 möglichen
Winkeln identifizieren.
-
Der
Befehl OPEN Y weist den Führungsmotor 1200 an,
das Y-Rastermuster in einer von 16 möglichen Öffnungsraten zu Öffnen. Die
Rate wird im Nibbel 2520 codiert. Wenn der Befehl OPEN
Y ohne einen Befehl SET Y ANGLE ausgesandt wird, wird der Führungsmotor 1200 als
eine Voreinstellung den maximalen Winkel auswählen. Wenn ein anderer Winkel
erwünscht
ist, sollte der Befehl OPEN Y sofort dem Befehl SET Y ANGLE folgen.
-
Der
Befehl CLOSE Y weist den Führungsmotor 1200 an,
das Y-Rastermuster
zu schließen.
Die Rate ist in dem Nibbel 2520 codiert und kann einen
von 16 möglichen
Werten haben.
-
Der
Befehl BRAKE sagt dem Führungsmotor 1200,
daß er
eine Abbremsung für
die X-Bewegung, die Y-Bewegung oder für beide anwenden soll. Die
Parameter im Nibbel 2520 zeigen an, welche Bewegung abgebremst
werden soll.
-
Der
Befehl STATUS REQUEST fragt den Status von dem Führungsmotor 1200 ab.
Der Scanner antwortet mit dem gegenwärtigen Status des Scan- bzw. Führungselementes
und des Lasers.
-
Die
Nachricht OPEN Y DONE ist eine Statusnachricht, daß der Führungsmotor 1200 die
maximale programmierte Y-Öffnung
erreicht hat. Diese Nachricht folgt nur einem Befehl OPEN Y.
-
Die
Nachricht CLOSE Y DONE ist eine Statusnachricht, die gesandt wird,
wenn der Führungsmotor 1200 das
Schließen
des Rasters in Y-Richtung beendet. Sie folgt nur einem Befehl CLOSE
Y.
-
Die
Nachricht STATUS ist die Antwort des Führungsmotors 1200 auf
einen Befehl STATUS. Sie zeigt den Status des Lasers und des Scan-Elementes
in dem Nibbel 2520 an.
-
Die
Nachricht RESET DONE wird folgend auf ein erfolgreiches Hochfahren
gesandt und zeigt an, daß der
Führungsmotor 1200 nun
Befehle auf der seriellen ZIF-Schnittstelle 1270 aufnehmen
kann. Der Nibbel 2520 enthält die Versionsnummer der Führungsmotor-Software,
die von dem Mikroprozessor 1211 ausgeführt wird.