DE19938120A1 - System mit Motorsteuerung unter Verwendung mehrerer Zeitgebungssignalgeneratoren - Google Patents
System mit Motorsteuerung unter Verwendung mehrerer ZeitgebungssignalgeneratorenInfo
- Publication number
- DE19938120A1 DE19938120A1 DE19938120A DE19938120A DE19938120A1 DE 19938120 A1 DE19938120 A1 DE 19938120A1 DE 19938120 A DE19938120 A DE 19938120A DE 19938120 A DE19938120 A DE 19938120A DE 19938120 A1 DE19938120 A1 DE 19938120A1
- Authority
- DE
- Germany
- Prior art keywords
- interval
- signal
- timing signal
- motor
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000004044 response Effects 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 23
- 238000007639 printing Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 239000003550 marker Substances 0.000 claims 1
- 239000000758 substrate Substances 0.000 claims 1
- 230000007704 transition Effects 0.000 description 40
- 230000006870 function Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 13
- 239000004020 conductor Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000002405 diagnostic procedure Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 102100026827 Protein associated with UVRAG as autophagy enhancer Human genes 0.000 description 3
- 101710102978 Protein associated with UVRAG as autophagy enhancer Proteins 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000005405 multipole Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 101150087426 Gnal gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000007641 inkjet printing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J23/00—Power drives for actions or mechanisms
- B41J23/32—Electromagnetic power drives, e.g. applied to key levers
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/40—Special adaptations for controlling two or more stepping motors
Landscapes
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
- Control Of Multiple Motors (AREA)
Abstract
Ein System mit einer Motorsteuerung verwendet mehrere Zeitgebungssignalgeneratoren, um einen Schrittgebermotor zu steuern. Die Steuerung basiert auf einem ersten Zeitgebungssignalgenerator, wenn sich die Winkelgeschwindigkeit des Motors ändert. Die Steuerung basiert auf einem zweiten Zeitgebungssignalgenerator, wenn die Winkelgeschwindigkeit des Motors auf einer gewünschten Winkelgeschwindigkeit gehalten werden soll. Das System überwacht die Zeitgebung zwischen den Zeitgebungssignalgeneratoren, um die Möglichkeit einer Motorblockierung zu reduzieren, beispielsweise wenn die Steuerung von dem ersten Zeitgebungssignalgenerator zu dem zweiten gelangt.
Description
Ausführungsbeispiele der vorliegenden Erfindung beziehen
sich auf Systeme mit einer Motorsteuerung, die auf mehreren
Zeitgebungssignalgeneratoren basiert, und auf Verfahren zur
Motorsteuerung.
Schrittmotoren werden in einer Vielzahl von Papierhandha
bungsgeräten verwendet. Beispielsweise werden bei einem her
kömmlichen Drucker Schrittmotoren verwendet, um Papier durch
den Druckmechanismus zu bewegen. Ferner werden bei einem
herkömmlichen Plotter zwei Schrittmotoren verwendet, um den
Zeichenstift zu bewegen, um ein Bild auf Papier zu zeichnen.
Ein Schrittmotor wird üblicherweise nur mit allmählichen Än
derungen der Winkelgeschwindigkeit bewegt, um ein Blockieren
des Motors zu vermeiden. Ein solcher Motor wird durch zwei
oder mehr Zweipegel-Signale getrieben. Ansprechend auf jede
Pegeländerung eines Treibersignals dreht der Motor seinen
Rotor um einen inkrementalen Winkel. Ein Motor wird als
blockiert bezeichnet, wenn sein Rotor nicht in der Lage ist,
sich gemäß der Leitung durch ein Motortreibersignal weiter
zubewegen. Der Motor wird nicht blockieren, wenn eine Pegel
änderung empfangen wird, wenn der Motor sich ausreichend ge
dreht hat, um einen begrenzten Winkelbereich zu betreten.
Wenn eine Pegeländerung empfangen wird, bevor der Rotor die
sen Winkelbereich betreten hat, oder nachdem sich der Rotor
über den Bereich hinaus gedreht hat, kann der Motor blockie
ren.
Eine Motorblockierung in einem Drucker unterbricht bei
spielsweise den Druckprozeß. Es kann dann für einen Bediener
notwendig werden, bedrucktes Papier teilweise zu beseitigen
und den Druckprozeß neu zu starten. Ein solcher Eingriff
durch einen Bediener bewirkt eine Verzögerung und erhöht die
Betriebskosten des Druckers und des zugehörigen Computersy
stems.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine
Vorrichtung zur Steuerung eines Schrittmotors zu schaffen,
die ein Blockieren des Motors verhindert.
Diese Aufgabe wird durch eine Vorrichtung nach Anspruch 1
gelöst.
Eine weitere Aufgabe der vorliegenden Erfindung besteht dar
in, einen Drucker mit einer Steuerung zum Treiben eines Me
dienweiterbewegungsmotors zu schaffen, bei dem ein Blockie
ren des Medienweiterbewegungsmotors verhindert ist.
Diese Aufgabe wird durch einen Drucker nach Anspruch 10 ge
löst.
Eine weitere Aufgabe der vorliegenden Erfindung besteht dar
in, ein auf einer Datenspeichervorrichtung gespeichertes
Verfahren zum derartigen Steuern eines Schrittmotors zu
schaffen.
Diese Aufgabe wird durch eine Datenspeichervorrichtung nach
Anspruch 11 gelöst.
Gemäß verschiedenen Aspekten der vorliegenden Erfindung ver
wendet ein System mit einer Motorsteuerung mehrere Zeitge
bungssignalgeneratoren, um einen Schrittmotor zu steuern.
Die Steuerung basiert auf einem ersten Zeitgebungssignalge
nerator, wenn die Winkelgeschwindigkeit des Motors geändert
wird. Die Steuerung basiert auf einem zweiten Zeitgebungs
signalgenerator, wenn die Winkelgeschwindigkeit des Motors
auf einer gewünschten Winkelgeschwindigkeit gehalten werden
soll. Das System überwacht die Zeitgebung zwischen den Zeit
gebungssignalgeneratoren, um die Möglichkeit einer Motor
blockierung zu reduzieren, speziell wenn die Steuerung von
dem ersten Zeitgebungssignalgenerator zu dem zweiten
springt.
Eine Vorrichtung gemäß der vorliegenden Erfindung umfaßt zu
mindest einen ersten und einen zweiten Zeitgebungssignalge
nerator und eine Auswahleinrichtung. Der erste Zeitgebungs
signalgenerator erzeugt ein erstes Signal mit Zeitgebungsin
formationsmarkierungen mit einem konstanten ersten Inter
vall. Das erste Signal kann verwendet werden, um einen Motor
mit einer im wesentlichen konstanten Winkelgeschwindigkeit
zu treiben. Der zweite Zeitgebungssignalgenerator erzeugt
ein zweites Signal mit Zeitgebungsinformationsmarkierungen
mit einem variierenden zweiten Intervall. Das zweite Signal
kann verwendet werden, um den Motor mit einer sich ändernden
Winkelgeschwindigkeit zu treiben. Die Auswahleinrichtung
führt einen Übergang zwischen der Steuerung der Motordrehung
durch: (1) auf eine variierende (beispielsweise beschleuni
gende) Winkelgeschwindigkeit; und (2) auf eine konstante
Winkelgeschwindigkeit. Die Auswahleinrichtung liefert Aus
gangssignale für die Motorsteuerung mit einem variierenden
dritten Intervall zu dem Motor basierend auf dem ersten Si
gnal und dem zweiten Signal. Die Vorrichtung reduziert die
Möglichkeit einer Motorblockierung durch das Sicherstellen,
daß das dritte Intervall in einem gewünschten Bereich
bleibt. Der gewünschte Bereich kann sich von dem zweiten In
tervall zu dem ersten Intervall erstrecken.
Im Betrieb kann die Vorrichtung zwei Typen von Motorsteuer
übergängen durchführen. Beim Durchführen eines sogenannten
Variierend-Zu-Konstant-Übergangs vom Steuern der Motordre
hung auf eine variierende (d. h. allgemein zunehmende oder
abnehmende) Winkelgeschwindigkeit zum Steuern der Motordre
hung auf eine konstante Winkelgeschwindigkeit, liefert die
Auswahleinrichtung fortgesetzt Ausgangssignale mit dem zwei
ten Intervall, bis ein erwartetes Intervall zwischen dem
vorher gelieferten Ausgangssignal und einem nächsten Auftre
ten des ersten Signals in den gewünschten Bereich fällt.
Beim Durchführen eines sogenannten Konstant-Zu-Variierend-
Übergangs vom Steuern der Motordrehung auf eine konstante
Winkelgeschwindigkeit zum Steuern der Motordrehung auf eine
variierende (beispielsweise allgemein zunehmende oder abneh
mende) Winkelgeschwindigkeit, liefert die Auswahleinrichtung
fortgesetzt Ausgangssignale mit dem ersten Intervall, bis
ein erwartetes Intervall zwischen dem vorher gelieferten
Ausgangssignal und einem nächsten Auftreten des zweiten Si
gnals in den gewünschten Bereich fällt.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen, in denen gleiche Bezugszeichen gleiche Elemente be
zeichnen, näher erläutert. Es zeigen:
Fig. 1 ein funktionelles Blockdiagramm eines Druckers ge
mäß verschiedenen Aspekten der vorliegenden Erfin
dung;
Fig. 2 ein funktionelles Blockdiagramm der Motorsteuerung
von Fig. 1;
Fig. 3 ein Zeitgebungsdiagramm eines exemplarischen Be
triebs der Motorsteuerung von Fig. 2;
Fig. 4 ein funktionelles Blockdiagramm eines Motoran
triebssystems gemäß verschiedenen Aspekten der vor
liegenden Erfindung;
Fig. 5 ein Flußdiagramm einer Hauptroutine zum Steuern ei
nes Motors gemäß verschiedenen Aspekten der vorlie
genden Erfindung;
Fig. 6 bis 8 Flußdiagramme von Unterbrechungsdienstrouti
nen, die durch eine Auswahleinrichtung von Fig. 4
durchgeführt werden; und
Fig. 9 ein Zeitablaufdiagramm eines beispielhaften Be
triebs der Motorsteuerung von Fig. 2.
Ein System der vorliegenden Erfindung umfaßt jegliches Sy
stem zum Steuern eines Motors mit gepulsten Treibersignalen,
um ein Blockieren des Motors zu vermeiden. Wenn die Motor
steuerung zur Handhabung von Papier verwendet wird, kann ein
solches System zusätzliche Funktionen, wie z. B. ein Drucken
oder ein Plotten (Zeichnen), aufweisen. Ein Drucker gemäß
verschiedenen Aspekten der vorliegenden Erfindung umfaßt ei
ne Schnittstelle zum Empfangen einer Beschreibung von Daten,
die gedruckt werden sollen, einen Bus zum Übertragen der Da
ten zu einem Prozessor zum Formatieren der Daten, Steuerele
mente und Anzeigeelemente zur Verwendung durch einen Bedie
ner, einen Papierweg einschließlich einer Druckmaschine zum
Handhaben von Papier und zum Drucken auf dem Papier, und ei
ne Motorsteuerung zum Steuern von Motoren entlang des Pa
pierwegs. Beispielsweise weist ein Drucker 100 von Fig. 1
eine I/O-Schnittstelle 110 (I/O = input/output = Einga
be/Ausgabe), einen Bus 112, einen Prozessor 114, Steuerele
mente und Anzeigeelemente 116, eine Motorsteuerung 118, eine
Druckmaschine 124 und einen Papierweg 120 auf.
Eine I/O-Schnittstelle koppelt einen Drucker mit einem Com
puternetzwerk oder einem Computersystem. Eine I/O-Schnitt
stelle umfaßt Schaltungen zum Empfangen von Befehlen und von
Daten, die gedruckt werden sollen, und zum Liefern eines
Status des Druckerbetriebs. Beispielsweise koppelt die I/O-
Schnittstelle 110 den Drucker 100 über eine Leitung 108 mit
einem Netzwerk und besitzt sämtliche herkömmlichen Schaltun
gen zum Empfangen von Befehlsmeldungen und Datenmeldungen
und zum Liefern von Statusmeldungen entsprechend den ver
schiedenen herkäunulichen Protokollen (beispielsweise dem
PCL-Protokoll, das von der Hewlett-Packard Company auf dem
Markt ist).
Steuerelemente und Anzeigeelemente erleichtern eine Bedie
nerinteraktion mit dem Drucker. Beispielsweise umfassen die
Steuerelemente und Anzeigeelemente 116 herkömmliche Schal
tungen für verschiedene Schalter (oder eine Tastatur), eine
alphanumerische/graphische Anzeige und verschiedene diskrete
Anzeiger. Steuerschalter können beispielsweise einen On-Li
ne-Schalter und einen Rücksetz-Schalter umfassen. Anzeige
elemente können beispielsweise den Papierstatus (beispiels
weise leer oder gestaut) und den Protokollstatus enthalten.
Ein Prozessor liefert unter anderen eine Gesamtsteuerung der
Druckfunktionen, einschließlich der Vorbereitung von Befeh
len für die Druckmaschine, die Motorsteuerung und die Steu
erelemente und Anzeigeelemente, ansprechend auf Befehle, die
über die I/O-Schnittstelle empfangen werden. Beispielsweise
umfaßt der Prozessor 114 eine herkömmliche Mikroprozessor
schaltung, die programmiert ist, um Verfahren durchzuführen,
die beispielsweise das Empfangen und Senden von Meldungen
über den Bus 112 und die I/O-Schnittstelle 110, das Forma
tieren von empfangenen Daten für die Steuerung der Druckma
schine 124, das Erfassen von Bedienersteuerungen und das
Liefern von Bedienerinformationsanzeigen über die Steuerele
mente und Anzeigeelemente 116 und das Anweisen der Motor
steuerung 118, eine Sequenz von Motorsteueroperationen, um
den Papierweg 120 zu steuern, durchzuführen, enthalten. Der
Bus 112 wird primär durch den Prozessor 114 gesteuert und
umfaßt einen herkömmlichen Parallel-Digital-Kommunikations
bus. Der Prozessor 114 kommuniziert auf eine herkömmliche
Art und Weise mit der I/O-Schnittstelle 110, den Steuerele
menten und Anzeigeelementen 116, der Motorsteuerung 118 und
der Druckmaschine 124 durch das Senden von Befehlen und das
Empfangen des Status über den Bus 112.
Der Papierweg eines Druckers umfaßt verschiedene herkömmli
che Sensoren und Papierhandhabungsvorrichtungen zum Leiten
von Papier von einem Vorrat durch die Druckmaschine zu einem
Ausgabebehälter. Beispielsweise umfaßt der Papierweg 120 ei
nen Eingabepapiervorrat 122, die Druckmaschine 124, einen
Ausgabepapierbehälter 132, Schrittmotoren 126, 128 und 130
und verschiedene Sensoren, die über die Position und die
Ausrichtung von Papier entlang des Papierwegs berichten. Al
ternativ ist der Ausgabepapierbehälter durch eine Papierver
arbeitungsvorrichtung zum Stapeln, Lochen, Verkleben, Zusam
menheften oder anderen Papierfertigstellungsoperationen er
setzt. Eine solche Papierverarbeitungsmaschine kann mehrere
Schrittmotoren enthalten, die auf eine zu der Steuerung der
Motoren 126, 128 und 130 analoge Art und Weise durch die Mo
torsteuerung 118 gesteuert werden.
Die Motoren 126, 128 und 130 können von dem Typ sein, der
als Schrittmotoren bekannt ist, wie er beispielsweise von
Airpax Inc. als S42M048T36-M1 oder von NMB Co. als PM55L-
048-ZGL2A auf dem Markt ist. Motoren dieses Typs besitzen
einen Mehrpol-Permanentmagnet-Rotor und einen Mehrpol-Stator
und können schrittweise um eine gegebene Anzahl von Grad
(beispielsweise 7,5 Grad) für jede Pegeländerung von einem
oder mehreren Zweipegel-Motortreibersignalen, die an die
Wicklungen des Stators angelegt werden, bewegt werden. Der
Mehrpol-Stator kann abwechselnde Pole in zwei Wicklungsgrup
pen mit einem ersten Paar von Leitern zum Treiben aller Pole
der ersten Gruppe und einem zweiten Paar von Leitern zum
Treiben aller Pole der zweiten Gruppe aufweisen.
Eine Druckmaschine weist einen beliebigen herkömmlichen Me
chanismus zum Erzeugen visueller Markierungen auf verschie
denen Medien auf. Beispielsweise empfängt die Druckmaschine
124 Befehle, die Druckoperationen leiten, von dem Bus 112
und umfaßt einen geeigneten elektrophotographischen Druckme
chanismus zum Drucken von Text und Graphiken auf Papier. Ab
weichend davon kann die Druckmaschine 124 einen Tinten
strahldruckmechanismus aufweisen.
Bei einem weiteren System gemäß anderen Aspekten der vorlie
genden Erfindung wird eine Motorsteuerung verwendet, um die
Position eines Stifts zum Zeichnen von Text und Graphiken
auf Medien zu steuern. Ein solches System umfaßt viele Kom
ponenten, die ähnlich den Komponenten des Druckers 100 sind,
und besitzt Schrittgebermotoren zum Positionieren von einem
oder mehreren Stiften; derartige Motoren sind von dem Typ,
der oben beschrieben ist.
Eine Motorsteuerung gemäß verschiedenen Aspekten der vorlie
genden Erfindung liefert Signale zum Treiben von einem oder
mehreren Motoren auf eine Art und Weise, die die Möglichkeit
einer Motorblockierung reduziert. Eine solche Motorsteuerung
kann mit analogen oder digitalen Schaltungen, einer Kombina
tion von analogen und digitalen Schaltungen und/oder pro
grammierbaren digitalen Verarbeitungsschaltungen, die gemäß
einem Verfahren wirksam sind, das als ein Computerprogramm
organisiert und in einer Speichervorrichtung gespeichert
ist, implementiert sein. Für einen Drucker kann eine Motor
steuerung, die mit einem Lösungsansatz einer programmierba
ren digitalen Verarbeitungsschaltung implementiert ist, eine
Prozessorschnittstelle zur Kommunikation mit dem Prozessor
des Druckers, eine Zentralverarbeitungseinheit zum Durchfüh
ren eines gespeicherten Steuerprogramms, einen Speicher zur
Programm- und Variablen-Speicherung, zwei Zeitgeber, und
I/O-Schaltungen, die das Liefern von Motortreibersignalen,
die durch die Zentralverarbeitungseinheit geleitet werden,
vereinfachen, aufweisen. Beispielsweise empfängt die Motor
steuerung 118 von Fig. 2 Befehle über den Bus 112, wie oben
erläutert wurde, und liefert Signale MD1, MD2 und MD3 auf
Leitungen 125, 127 und 129 zum Betreiben der Motoren 126,
128 bzw. 130. Die Motorsteuerung 118 startet jeden Motor
während des Druckens, um Papier entlang des Papierwegs 120
zu bewegen, von Zeit zu Zeit, betreibt ihn bei verschiedenen
Winkelgeschwindigkeiten und hält ihn an. (Allgemein können
Motoren angehalten werden, um eine Papierbewegung zu been
den, um Leistung zu sparen, eine Wärmeableitung zu reduzie
ren und das Betriebsgeräusch zu reduzieren). Die Motorsteue
rung 118 besitzt eine Prozessorschnittstelle 202, eine Zen
tralverarbeitungseinheit (CPU) 204, einen Bus 206, einen
Speicher 208, Zeitgeber 210 und 212, eine Motor-I/O-Schal
tung 214 und Motortreiber 216, 218 und 220.
Eine Prozessorschnittstelle koordiniert die Kommunikation
zwischen einem ersten Bus, der durch einen ersten Prozessor
gesteuert wird, und einem zweiten Bus, der durch einen zwei
ten Prozessor gesteuert wird. Beispielsweise wird die Kom
munikation zwischen dem Prozessor 114 und der CPU 204 durch
die Prozessorschnittstelle 202 gesteuert. Die Prozessor
schnittstelle 202 kann herkömmliche Schaltungen zur Signal
pegelumwandlung, zeitlichen Synchronisation, Unterbrechungs
prioritätskoordination, Busentscheidung und zum Direktspei
cherzugriff aufweisen.
Eine Zentralverarbeitungseinheit führt ein gespeichertes
Programm zur Motorsteuerung durch. Beispielsweise kann die
CPU 204 ein beliebiger herkömmlicher Mikroprozessor sein.
Bei einer bevorzugten Abweichung umfaßt die CPU 204 einen
Mikroprozessor des Typs, der von der Intel Corporation als
MCS-51-Reihe-kompatibel bezeichnet auf dem Markt ist. Die
CPU 204 führt Befehle durch, die aus dem Speicher 208 geholt
werden; modifiziert Werte von Variablen in dem Speicher 208;
initialisiert, startet und stoppt die Zeitgeber 210 und 212;
und liest einen Status von der Motor-I/O-Schaltung 214 und
schreibt Ausgangssteuerdaten in dieselbe. Operationen mit
dem Speicher 208 sind bei einer Abweichung erweitert, um mit
Speicherelementen eines beliebigen herkömmlichen Typs, die
über den Bus 206 oder über die Prozessorschnittstelle 202
einen direkten Zugriff liefern, zu arbeiten. Ein Speicher
element ist ein Typ einer Datenspeicherungsvorrichtung. Eine
Datenspeicherungsvorrichtung umfaßt eine beliebige flüchtige
oder nicht-flüchtige, austauschbare oder nicht-austauschbare
Vorrichtung, die in geeigneter Weise einen Nur-Lese- oder
Lese/Schreib-Zugriff auf Daten zur Verwendung durch eine di
gitale elektronische Schaltung liefert.
Instruktionsholbefehle durch die CPU 204 werden auf eine
herkömmliche Art und Weise durch Unterbrechersignale IRQ1
und IRQ2, die durch Zeitgeber 210 und 212 geliefert werden,
bewirkt. Allgemein führt die CPU 204 ein Hauptprogramm
durch, bis dieselbe unterbrochen wird, und führt dann eine
Unterbrechungsdienstroutine durch, die der Quelle der Unter
brechung (beispielsweise IRQ1) zugeordnet ist. Wenn die
Durchführung der Unterbrechungsdienstroutine abgeschlossen
ist, kehrt die Steuerung zu dem Hauptprogramm zurück.
Ein Bus zum Koppeln einer Zentralverarbeitungseinheit mit
einem Speicher und peripheren Schaltungen kann jegliche An
zahl von parallelen Leitern, die in herkömmlicher Weise Ad
reßsignale, bidirektionale Datensignale und Status- und
Steuer-Signale übertragen, aufweisen. Beispielsweise umfaßt
der Bus 206 Leiter für ein 16-Bit-Adreßsignal ADDR, ein 8-
Bit-Datensignal DATA und Lese/Schreib-Signale, einschließ
lich eines Speicher-Lese/Schreib-Signals und eines Eingabe-
/Ausgabe-Lese/Schreib-Signals IORW; alle dieser Signale ar
beiten gemäß der Spezifikation für die Mikroprozessoren der
Intel-MSC-51-Reihe zusammen.
Ein Zeitgeber umfaßt eine beliebige Zählerschaltung, die,
wenn sie initialisiert und gestartet ist, von dem intiali
sierten Wert ab zählt, ein Signal liefert, wenn ein Grenz
zählwert erreicht ist, und zum Wiederholen dieser Operatio
nen auf den Anfangszustand zurückgesetzt werden kann. Bei
spielsweise sind die Zeitgeber 210 und 212 von dem Typ, der,
wie oben erläutert, in einem Prozessor des 8051-Typs enthal
ten ist.
Eine Motor-I/O-Schaltung erleichtert die Erzeugung von Si
gnalen durch eine CPU für einen Betrieb eines Schrittgeber
motors. Eine Motor-I/O-Schaltung kann eine beliebiger her
kömmliche Parallel-I/O-Tor-Steuerung aufweisen, beispiels
weise einen peripheren Schnittstellenadapter des Typs, der
mit dem Mikroprozessor Intel-8051 kompatibel ist. Zusätzlich
kann eine Motor-I/O-Schaltung zum Liefern zwischengespei
cherter Ausgangssignale und gepufferter Eingangssignale
Zeitgeber enthalten, derart, daß solche Zeitgebungsfunktio
nen aus der Zentralverarbeitungsschaltung beseitigt sein
können. Beispielsweise umfaßt die Motor-I/O-Schaltung 214
adressierbare Latchs zum parallelen Ausgeben von zwei Bits
für jedes von drei Toren P1, P2 und P3; und umfaßt ein Ein
gangstor zum Empfangen eines Wellencodierersignals SE. Jedes
Ausgangstor wird durch die CPU 204 beschrieben, wenn die CPU
204 ein Adreßsignal ADDR liefert, das das gewünschte Tor
identifiziert, ein Signal DATA liefert, das einen gewünsch
ten logischen Übergang identifiziert (folglich ein Ausgangs
signal, beispielsweise eine Motortreibersignal-Pegelände
rung), und das Eingabe/Ausgabe-Schreib/Lese-Signal IORW lie
fert, um die Schreiboperation auf eine herkömmliche Art und
Weise durchzuführen. Die Signale ADDR und DATA werden auf
der Leitung 213 von CPU 204 zu der Motor-I/O-Schaltung 214
übertragen.
Eine Motortreiberschaltung spricht auf ein binäres digitales
Signal eines geringen Stroms und einer geringen Spannung
(wie es beispielsweise durch eine Motor-I/O-Schaltung gelie
fert wird) an und liefert ein Motortreibersignal, das geeig
net ist, um eine oder mehrere Statormagnetspulen eines
Schrittgebermotors für einen Betrieb mit einer gewünschten
mechanischen Leistung, ein augenblickliches Produkt von
Drehmoment und Winkelgeschwindigkeit, zu erregen. Beispiels
weise sind die Motortreiberschaltungen 216 und 218 und 220
zum Betreiben identischer Motoren 126, 128 und 130 iden
tisch. Ein Motortreibersignal kann auf einem oder mehreren
Leitern übertragen werden. Beispielsweise kann ein Signal
MD1 zwei Zweipegel-Zweiphasen-Signale enthalten, die jeweils
auf einem von zwei Leitern als Signale MD1A und MD1B über
tragen werden.
Die Motoren 126, 128 und 130 sind ansprechend auf die Motor
treibersignale auf eine herkömmliche Art und Weise wirksam.
Beispielsweise bewegt sich der Motor M1 für jede Pegelände
rung des Zweipegelsignals MD1A um einen Schritt; d. h., daß
sich der Rotor des Motors M1 zu einer Ausrichtung mit einem
Pol des Stators, der benachbart zu dem Pol ist, mit dem der
Rotor vorher ausgerichtet war, hin bewegt. Die Drehrichtung
spricht auf das erste Auftreten einer Pegeländerung auf MD1A
gegenüber MD1B an. Beispielsweise bewegt sich zu jedem der
Zeitpunkte T2, T4, T6, T8, T12, T14 und T16 von Fig. 3 der
Motor 126 ansprechend auf ein fortlaufendes Ausgangssignal
um einen Schritt weiter (beispielsweise einen logischen
Übergang, der durch die Motortreiberschaltung 216 empfangen
wird, oder eine Pegeländerung entweder des Signals MD1A oder
des Signals MD1B).
Während des Betriebs des Druckers 100 schreibt die CPU 204
anfängliche Werte in den Zeitgeber 210 und 212 und startet
jeden Zeitgeber, um sich wiederholende Unterbrechungssignale
IRQ1 und IRQ2 zu liefern. Wenn alle Motoren 126, 128 und 130
angehalten sind (oder angehalten werden sollen), beschreibt
die CPU 204 die Tore P1, P2 und P3, um Motortreibersignale
zu liefern, die mit einem angehaltenen Zustand konsistent
sind. Wenn eine Operation von einem oder mehreren Motoren
126, 128 und 130 gewünscht ist, liefert der Prozessor 114
Motortreiberbefehle über den Bus 112 zu der Prozessor
schnittstelle 202. Die Prozessorschnittstelle 202 liefert
diese Befehle über den Bus 206 zu der CPU 204. Um jeden emp
fangenen Befehl auszuführen, kann die CPU 204 verschiedene
Parameterwerte in den Speicher 208 schreiben und verschiede
ne Unterroutinen von dem Speicher 208 entsprechend den mo
mentanen Parameterwerten ausführen. Die Unterroutinen können
eine sogenannten Hauptroutine und Unterbrechungsdienstrouti
nen enthalten, die ansprechend auf die Signale IRQ1 und
IRQ2, die durch die Zeitgeber 210 und 212 geliefert werden,
wirksam sind. Befehle der Hauptroutine oder der Unterbre
chungsdienstroutine ermöglichen, daß die CPU 204 mit der Mo
tor-I/O-Schaltung 214 kommuniziert, um Motorsteuersignale an
den Toren P1, P2 und P3 zu liefern. Diese Signale werden
durch herkömmliche Motortreiberschaltungen 216, 218 und 220
gepuffert und verstärkt, wie oben erläutert wurde, um Motor
treibersignale MD1, MD2 und MD3 zu liefern.
Gemäß verschiedenen Aspekten der vorliegenden Erfindung ar
beitet ein Zentralprozessor, der ein Verfahren der Motor
steuerung ausführt, mit Zeitgebern zusammen, um eine Mehr
zahl von Ausgangssignalen für eine Motorsteuerung zu lie
fern. Jedes Ausgangssignal ist zeitlich durch ein Intervall
zwischen Ausgangssignalen getrennt. Jedes Intervall ist zwi
schen zwei Zeitgebungsinformationsmarkierungen identifi
ziert. Beispielsweise können die Zeitgeber 210 und 212 wirk
sam sein, um während eines Abschnitts des Variierend-Zu-Kon
stant-Winkelgeschwindigkeitsübergangs von Fig. 3 Signale
IRQ1 und IRQ2 zu liefern. In Fig. 3 wird jede Pegeländerung
jedes Zweipegel-Motortreibersignals MD1A und MD1B von einer
der zwei Unterbrechungsdienstroutinen, die durch die CPU 204
durchgeführt werden, als eine Abfolge eines Ausgabetor-
Schreibbefehls zu dem Tor P1 geliefert. Bei einem Motorsteu
er-Betriebsmodus für eine variierende Winkelgeschwindigkeit
(der hierin als VAV-Modus bezeichnet wird), wird auf eine
gewünschte Ausführung der IRQ2-Unterbrechungsdienstroutine
hin ein Ausgabetor-Schreibbefehl ausgeführt (beispielsweise
zu Zeitpunkten T6 und T8), um eine Aktivierung des Signals
IORW mit einer Bitadresse des Tors P1 zu liefern (die als
das Signal ADDR mit einem Wert P1A oder P1B identifiziert
ist). Bei einem Motorsteuer-Betriebsmodus für eine konstante
Winkelgeschwindigkeit (der hierin als CAV-Modus bezeichnet
wird), wird auf eine gewünschte Ausführung der IRQ1-Unter
brechungsdienstroutine hin ein Ausgabetor-Schreibbefehl aus
geführt (beispielsweise zu Zeitpunkten T12 und T14), um eine
Aktivierung des Signals IORW mit einer Bitadresse des Tors
P1 (die als das Signal ADDR, das einen Wert P1A oder P1B
aufweist, identifiziert ist) zu liefern.
Die Dauer des Zählwerts, der durch den Zeitgeber 212 verwen
det wird, steuert das Trennungsintervall zwischen den Aus
gangssignalen für jedes Zweipegel-Signal MD1A und MD1B wäh
rend des VAV-Modus. In gleicher Weise steuert die Dauer des
Zählwerts, der durch den Zeitgeber 210 verwendet wird, das
Trennungsintervall zwischen den Ausgangssignalen für jedes
Zweipegel-Signal MD1A und MD1B während des CAV-Modus. Bei
spielsweise kann der Zeitgeber 212 programmiert sein, um das
Signal IRQ2 mit einem Intervall (beispielsweise von dem
Zeitpunkt T2 bis zu dem Zeitpunkt T4) von etwa 500 Mikrose
kunden zu erzeugen; ferner kann der Zeitgeber 210 program
miert sein, um das Signal IRQ1 mit einem längeren Intervall
(beispielsweise von dem Zeitpunkt T12 bis zu dem Zeitpunkt
T14) von etwa 1890 Mikrosekunden zu erzeugen. Abweichend da
von ist der Zeitgeber 212 programmiert, um alle sechzehn
Taktzyklen der CPU 204 ein Signal IRQ2 zu erzeugen. Wenn ein
solcher Taktzyklus einer Frequenz von 16 MHz entspricht,
wird das Signal IRQ2 mit einem Intervall von etwa 1 Mikrose
kunde erzeugt. Bei einer solchen Abweichung kann der Zeitge
ber 210 programmiert sein, um das Signal IRQ1 mit einem In
tervall in dem Bereich von 4 Mikrosekunden bis 10 Millise
kunden zu erzeugen.
Bei einem System der vorliegenden Erfindung können verschie
dene Motoren in jeglicher Kombination des VAV- und des CAV-
Modus gesteuert werden. Obwohl es bevorzugt ist, daß alle
Operationen in einem speziellen Modus von einem Zeitgeber
durchgeführt werden (beispielsweise dem CAV-Modus, wie er
oben erläutert ist), können bei einem abweichenden Ausfüh
rungsbeispiel mehrere Zeitgeber derart verwendet sein. Zu
sätzlich kann jeder Zeitgeber, der in jedem Modus verwendet
ist, bei jedem gewünschten Zählwert ohne Rücksicht auf den
momentanen Zustand eines anderen Zeitgebers gestartet (oder
aktiviert, wobei der Unterbrechungsdienst ebenfalls akti
viert wird), maskiert (wobei der Unterbrechungsdienst deak
tiviert wird), gestoppt (deaktiviert) und betrieben werden.
Wenn ein Zeitgeber maskiert oder gestoppt ist, führt die
Zentralverarbeitungseinheit ansprechend auf den Zeitgeber
keine Aktion durch, da entweder Unterbrechungsanforderungs
signale ignoriert werden, wenn derselbe maskiert ist, oder
da durch den Zeitgeber keine Unterbrechungsanforderungssi
gnale geliefert werden, wenn derselbe gestoppt ist. Die Fä
higkeit, die Motortreibersignalerzeugung von einem von zwei
Zeitgebern, die in einer beliebigen Zeitgebungsbeziehung zu
einander sein können, zu steuern, liefert eine Entwurfsfle
xibilität und eine Vereinfachung der Steuersoftware. Wenn
von einem speziellen Zeitgeber keine Motoren gesteuert wer
den, kann der Zeitgeber gestoppt werden. Gemäß einem Aspekt
der vorliegenden Erfindung werden durch das Stoppen eines
Zeitgebers der Zentralverarbeitungseinheit-Gesamtaufwand re
duziert, was ermöglicht, daß die Zentralverarbeitungseinheit
effizienter arbeitet. Gemäß einem weiteren Aspekt der vor
liegenden Erfindung ist die Möglichkeit einer Motorblockie
rung, wenn ein Übergang zwischen Modi der Motorsteuerung
durchgeführt wird, reduziert.
Die Steuerfunktionen eines Motorantriebssystems der vorlie
genden Erfindung können in jeglichem Ausmaß oder in jegli
cher Kombination von nicht-programmierbarem Schaltungsaufbau
und programmierbarem Schaltungsaufbau, der mit Software oder
Firmware wirksam ist, implementiert sein. Das Zusammenwir
ken der Steuerfunktionen für die Implementierung von einer
oder mehreren Steuerfunktionen mit entweder einem nicht-pro
grammierbaren oder einem programmierbaren Schaltungsaufbau
wird aus dem funktionellen Blockdiagramm des Motorantriebs
systems 400 von Fig. 4 besser verständlich.
Das Motorantriebssystem 400 umfaßt einen beliebigen nicht
programmierbaren oder programmierbaren Schaltungsaufbau, der
die Funktionen eines ersten Zeitgebungssignalgenerators 410,
eines zweiten Zeitgebungssignalgenerators 420 und einer Aus
wahleinrichtung 430 durchführt. Der Zeitgebungssignalgene
rator 410 erzeugt ein Signal DS1 und liefert das Signal DS1
zu einer beliebigen Anzahl von Auswahleinrichtungen, bei
spielsweise einer Auswahleinrichtung 430 und einer Auswahl
einrichtung 460. Der Zeitgebungssignalgenerator 420 erzeugt
ein Signal DS2 und liefert das Signal DS2 zu einer oder meh
reren Auswahleinrichtungen, beispielsweise der Auswahlein
richtung 430. Die Auswahleinrichtung 430 liefert ein Motor
treibersignal DS12 zu einem Motor M1.
Das Motorantriebssignal DS12 wird abhängig von den Signalen
DS1 und DS2 geliefert. Das Signal DS1 liefert Markierungen
von Zeitgebungsinformationen im Betrieb bei einem Motorsteu
ermodus für eine konstante Winkelgeschwindigkeit (CAV-Mo
dus). Beispielsweise kann das Signal DS1 eine Abfolge von
Pulsen enthalten, die zeitlich durch ein im wesentlichen
konstantes Intervall gleichmäßig getrennt sind. Das Signal
DS2 liefert Markierungen von Zeitgebungsinformationen für
einen Betrieb bei einem Motorsteuermodus für eine variieren
de Winkelgeschwindigkeit (VAV-Modus). Beispielsweise kann
das Signal DS2 eine Abfolge von Pulsen enthalten, die durch
ein konstantes Intervall, das kürzer als das Intervall des
Signals DS1 ist, zeitlich gleichmäßig getrennt sind. Bei dem
System 400 können logisch Übergänge (die auch als aktive
Flanken bezeichnet werden) Markierungen von Zeitgebungsin
formationen liefern. Abweichend davon können andere Signal
merkmale für Zeitgebungsinformationen verwendet werden. Bei
dem System 400 kann jede Pegeländerung, die der vorderen
oder hinteren Flanke eines Pulses des Motortreibersignals
DS12 entspricht, durch die Auswahleinrichtung 430 anspre
chend auf einen logischen Übergang, der der vorderen oder
hinteren Flanke eines Pulses entweder des Signals DS1 oder
des Signals DS2 entspricht, geliefert werden. Beispielsweise
sind in Fig. 3 jeweils aktive Flanken (entweder vordere oder
hintere) der Signale IRQ1 und IRQ2 als eine einzelne verti
kale Linie gezeigt. Ausgewählte aktive Flanken haben Pegel
änderungen der Motortreibersignale zur Folge, wie durch Li
nien, die Pfeilköpfe aufweisen, von einer solchen Flanke zu
einem resultierenden Übergang angezeigt ist.
Das Motorantriebssystem 400 umfaßt eine Ablaufsteuerfunk
tion. Die Ablaufsteuerung identifiziert eine Fortschritt von
Motorsteuermodi für einen oder mehrere Motoren. Beispiels
weise kann die Ablaufsteuerung 410 die Auswahleinrichtung 1
(430) anweisen, den Motor M1 zu betreiben, um die Winkelge
schwindigkeit des Motors M1 zu beschleunigen (oder zu ver
langsamen), bis eine erste Grenzbedingung erreicht ist, die
Winkelgeschwindigkeit auf einer konstanten Geschwindigkeit
zu halten, bis eine zweite Grenzbedingung erreicht ist, und
entweder diese Motorsteueroperationen für eine beliebige An
zahl von Malen mit möglicherweise anderen Grenzbedingungen
zu wiederholen, oder dieselben nicht zu wiederholen.
Die Auswahleinrichtung 430 führt jeden Übergang zwischen Mo
torsteuermodi für den Motor M1 durch. Die Auswahleinrichtung
430 stellt sicher, daß jedes Intervall zwischen aufeinander
folgenden Ausgangssignalen (beispielsweise Pegeländerungen)
des Motortreibersignals DS12 größer ist als ein minimales
Intervall und kleiner ist als ein maximales Intervall, um
die Möglichkeit einer Blockierung des Motors M1 zu reduzie
ren.
Das Motorantriebssystem 400 enthält ferner einen Zeitge
bungssignalgenerator 440, einen Referenzzeitgebungssignal
generator 450 und eine Auswahleinrichtung 460. Der Zeitge
bungssignalgenerator 440 liefert ein Signal DS3 zu der Aus
wahleinrichtung 460. Die Auswahleinrichtung 460 liefert an
sprechend auf die Signale DS1 und DS3 ein Motortreibersignal
DS22 zu einem Motor M2. Der Zeitgebungssignalgenerator 440,
die Auswahleinrichtung 460, das Treibersignal DS3 und das
Motortreibersignal DS22 sind von dem Typ, der oben bezugneh
mend auf den Zeitgebungssignalgenerator 420, die Auswahl
einrichtung 430, das Signal DS2 und das Motortreibersignal
DS12 beschrieben wurde. Das Motortreibersignal DS22 wird un
abhängig von solchen Gegenstückkomponenten für eine unab
hängige Steuerung des Motors M2 geliefert. In Abweichung
hiervon können ein zusätzlicher Zeitgebungssignalgenerator
und eine Auswahleinrichtung analog zu dem Zeitgebungssi
gnalgenerator 440 und der Auswahleinrichtung 460 für jede
Gruppe von Motoren, die auf eine von anderen Motorgruppen
unabhängige Art und Weise gesteuert werden soll, enthalten
sein.
Zusätzlich zu der unabhängigen Steuerung kann eine gemein
same Steuerung mit einer gemeinsamen Verwendung des Signals
DS1, das beiden Auswahleinrichtungen 430 und 460 zugeführt
wird, erreicht werden. Wenn die Motoren M1 und M2 beide in
dem CAV-Modus betrieben werden, kann ein fortgesetzter Be
trieb von einer gemeinsamen Signalquelle fortfahren. Der Re
ferenzzeitgebungssignalgenerator 450 ebenso wie die Zeitge
bungssignalgeneratoren 420 und 440 können gestoppt werden.
Wenn einer von Referenzzeitgebungssignalgenerator 450 und
Zeitgebungssignalgeneratoren 420 und 440 softwaremäßig im
plementiert ist, kann ein effizienterer Betrieb des Prozes
sors, der eine solche Software ausführt, die Folge sein,
wenn diese Funktionen gestoppt werden. Durch das software
mäßige Implementieren von einem oder mehreren Zeitgebungs
signalgeneratoren und/oder einer oder mehreren Auswahlein
richtungen können die Herstellungs- und Betriebs-Kosten ab
nehmen, während die Systemzuverlässigkeit zunehmen kann.
Der Referenzzeitgebungssignalgenerator 450 liefert ein Re
ferenzsignal RS zu den Zeitgebungssignalgeneratoren 420 und
440. Das Referenzsignal RS umfaßt Markierungen von Zeitge
bungsinformationen mit einer festen Frequenz zur Verwendung
als eine Zeitbasis. Jeder Zeitgebungssignalgenerator 420 und
440 umfaßt einen Teiler 422 und 442 zum Liefern des jewei
ligen Teilersignals DS2 und DS3 entsprechend einer Frequenz
teilungsoperation, die bezüglich des Signals RS durchgeführt
wird. Durch die Verwendung einer gemeinsamen Referenzzeit
basis, beispielsweise einer Oszillatorschaltung, können meh
rere Zeitgebungssignalgeneratoren effizient softwaremäßig
implementiert werden.
Jeder Teiler 422 und 442 kann eine Reihe von Frequenztei
lungsoperationen durchführen. Jede solche Operation kann
einen unterschiedlichen Frequenzdivisor zum Liefern eines
unterschiedlichen Intervalls zwischen aufeinanderfolgenden
Ausgangssignalen der Signale DS2 und DS3 verwenden. Wenn
beispielsweise ein ganzzahliger Frequenzdivisor verwendet
wird, wird die resultierende Rate des Auftretens von Zeit
gebungsinformationsmarkierungen ein ganzzahliger Bruchteil
der anfänglichen Rate sein. Im Gegensatz dazu wird das re
sultierende Intervall zwischen Zeitgebungsinformationsmar
kierungen ein ganzzahliges Vielfaches des anfänglichen In
tervalls sein.
Der Betrieb des Motorantriebssystems 400 wird aus einer Se
quenz von Motorsteueroperationen, wie sie dem Motor M1 zuge
führt werden, besser verständlich. Eine exemplarische Se
quenz von Operationen in einer Hauptroutine 500 oder Fig. 5
umfaßt drei Schritte.
In einem Schritt 510 wird der Motor M1 gestartet, d. h., die
Winkelgeschwindigkeit des Motors M1 wird von Null auf eine
erste Zielgeschwindigkeit erhöht und auf der ersten Ge
schwindigkeit gehalten. Dieses Ergebnis wird durch einen
VAV-Betriebsmodus zur Beschleunigung von der anfänglichen
Winkelgeschwindigkeit von Null auf eine Zielwinkelgeschwin
digkeit, einen VAV-Zu-CAV-Modus-Übergang (d. h. einen Vari
ierend-Zu-Konstant-Übergang), und schließlich einen CAV-Be
triebsmodus bei der Zielgeschwindigkeit erreicht.
In einem Schritt 520 wird die Winkelgeschwindigkeit des Mo
tors M1 von einer ersten Geschwindigkeit auf eine zweite
Zielgeschwindigkeit geändert. Dieses Ergebnis wird durch ei
nen CAV-Zu-VAV-Modus-Übergang (d. h. einen Konstant-Zu-Vari
ierend-Übergang), einen VAV-Betriebsmodus für eine Beschleu
nigung (oder Verlangsamung), einen VAV-Zu-CAV-Übergang und
schließlich einen CAV-Betriebsmodus bei der zweiten Zielge
schwindigkeit erreicht.
In einem Schritt 530 wird der Motor M1 gestoppt. Dieses Er
gebnis wird durch einen CAV-Zu-VAV-Modus-Übergang und einen
VAV-Betriebsmodus mit einer Zielgeschwindigkeit von Null er
reicht. Nach Abschluß des Schritts 530 ist die Hauptroutine
abgeschlossen.
Die Operationen, die durch die Schritte 510 bis 530 durch
geführt werden, stellen auf eine herkömmliche Art und Weise
anfängliche Werte ein, um Unterbrechungsdienstroutinen, die
nachfolgend erläutert werden, zu ermöglichen. Beispielsweise
wird der Zeitgeber 210, der das Signal IRQ1 liefert, (wenn
derselbe nicht in Verwendung ist) für eine Rate eingestellt,
die einen nachfolgenden Betrieb in einem CAV-Modus bei der
gewünschten Zielgeschwindigkeit erleichtert. Der Zeitgeber
212, der das Signal IRQ2 liefert, kann (wenn derselbe nicht
in Verwendung ist) auf eine Rate eingestellt werden, die ei
ne gewünschte Geschwindigkeitserhöhung erleichtert. Eine zu
große Erhöhung kann eine Motorblockierung basierend auf sich
ändernden Lastbedingungen riskieren; wohingegen eine zu
kleine Erhöhung übermäßige CPU-Zyklen verbrauchen kann. An
dere anfängliche Bedingungen werden nachfolgend bezugnehmend
auf die Fig. 6 bis 8 offensichtlich.
Beim Durchführen dieser Sequenz von Motorsteuer-Modi und
-Übergängen, liefert die Auswahleinrichtung 430 ein Motor
treibersignal DS12 in einem VAV-Modus, in einem CAV-Modus
und führt Modi-Übergänge durch. Bei einem VAV-Modus wird das
Motortreibersignal DS12 ansprechend auf Zeitgebungsinforma
tionsmarkierungen, die durch das Signal DS2 übertragen wer
den, geliefert. Bei einem CAV-Modus wird das Motortreibersi
gnal CS12 ansprechend auf Zeitgebungsinformationsmarkierun
gen, die durch das Signal DS1 übertragen werden, geliefert.
Um einen Übergang durchzuführen, berechnet die Auswahlein
richtung 430 ein projiziertes Intervall zwischen einem zu
letzt gelieferten Ausgangssignal DS12 und einer nächsten Un
terbrechungsanforderung (IRQ1 für VAV-Zu-CAV; und IRQ2 für
CAV-Zu-VAV), vergleicht das projizierte Intervall mit Grenz
bedingungen (beispielsweise Werten, die vor der nächsten Un
terbrechungsanforderung auftreten) und leitet das Liefern
des nächsten Ausgangssignals DS12 basierend auf dem Ver
gleich durch das Auswählen von Zeitgebungsmarkierungen aus
dem Signal, das momentan nicht in Verwendung ist (DS1 oder
DS2) zu einem Zeitpunkt, der die Wahrscheinlichkeit einer
Motorblockierung reduziert. Wenn der Vergleich den Übergang
nicht ermöglicht, kann die nächste Unterbrechungsanforderung
ignoriert werden, wobei eine folgende Unterbrechungsanforde
rung des gleichen Typs diesen Übergang durchführen kann.
Bei einer Implementierung eines Motorantriebssystems als
Drucker 100 führt die Motorsteuerung 118 einen VAV-Zu-CAV-
Übergang gemäß Fig. 3 durch. Vor dem Zeitpunkt T8 liefert
die Auswahleinrichtung 430 das Motortreibersignal DS12 (d. h.
die Signale MD1A und MD1B) ansprechend auf aktive Flanken
des Signals IRQ2. Nach dem Zeitpunkt T12 liefert die Aus
wahleinrichtung 430 das Motortreibersignal DS12 ansprechend
auf aktive Flanken des Signals IRQ1. Zu dem Zeitpunkt T8 ist
das Intervall (oder die Zeitperiode) zwischen dem zuletzt
gelieferten Ausgangssignal bei T8 (einer Pegeländerung des
Signals MD1B) und der nächsten Zeitgebungsinformationsmar
kierung des Signals DS1 (einer aktiven Flanke von IRQ1 bei
T10) zu kurz. Wenn die Zeitgebungsinformationsmarkierung des
Signals DS1 zum Zeitpunkt T10 ausgewählt werden würde, um
ein Ausgangssignal zum Zeitpunkt T10 zu liefern (wie durch
eine gestrichelte Linie auf dem Signal MD1A gezeigt ist),
kann eine Motorblockierung die Folge sein. Das Intervall von
dem Zeitpunkt T8 zu dem Zeitpunkt T12 (das nachfolgend mit
TC bezeichnet wird) ist, wie bei dem Beispiel von Fig. 3 ge
zeigt ist, nicht länger als eine maximale Zeit TH, die als
das Intervall von dem Zeitpunkt T6 zu dem Zeitpunkt T8 zwi
schen aufeinanderfolgenden Ausgangssignalen bei dem VAV-Mo
dus gezeigt ist, und nicht kürzer als eine minimale Zeit TL,
die als das Intervall von dem Zeitpunkt T14 zu dem Zeitpunkt
T16 (äquivalent von T10 zu T12) gezeigt ist. Die Auswahlein
richtung 430 verzögert den VAV-Zu-CAV-Modus-Übergang bis zu
dem Zeitpunkt T12 (unter Ignorierung von IRQ1 zum Zeitpunkt
T10), da das Intervall von dem Zeitpunkt T8 zu dem Zeitpunkt
T10 nicht in einem vorbestimmten Bereich lag. Das Intervall
von dem Zeitpunkt T8 zu dem Zeitpunkt T12 lag in dem vorbe
stimmten Bereich.
Die Motorsteuerung 118 führt ferner einen CAV-Zu-VAV-Über
gang wie in Fig. 9 durch. Der VAV-Modus muß bei einer Win
kelgeschwindigkeit beginnen, die etwas geringer ist als die
Winkelgeschwindigkeit des CAV-Modus. Wenn der VAV-Modus be
ginnt, wird das Intervall von einem Zeitpunkt T21 zu einem
Zeitpunkt T22 mit einer ganzen Zahl 3 multipliziert, um das
Intervall von einem Zeitpunkt T30 zu einem Zeitpunkt T36 für
die erste Geschwindigkeitserhöhung zu bilden. Vor einem
Zeitpunkt T26 liefert die Auswahleinrichtung 430 das Motor
treibersignal DS12 (d. h. die Signale MD1A und MD1B) anspre
chend auf aktive Flanken des Signals IRQ1. Nach dem Zeit
punkt T30 liefert die Auswahleinrichtung 430 ein Motortrei
bersignal DS12 ansprechend auf aktive Flanken des Signals
IRQ2. Zu dem Zeitpunkt T22 wird ein projiziertes Intervall
als die Summe von zwei Intervallen TC und TD berechnet. Das
Intervall TC erstreckt sich von dem letzten gelieferten Aus
gangssignal zum Zeitpunkt T22 (eine Pegeländerung des Si
gnals MD1B) zu der projizierten nächsten Zeitgebungsinforma
tionsmarkierung des Signals DS2 (einer aktiven Flanke von
IRQ2 zum Zeitpunkt T24). Das Intervall TD wird aus dem In
tervall von dem Zeitpunkt T21 zu dem Zeitpunkt T22 multipli
ziert mit einem Wert, der das Ergebnis der Subtraktion der
ganzen Zahl, die bei der ersten Geschwindigkeitserhöhung zu
verwenden ist, minus Eins ist, berechnet. Wenn der Modus-
Übergang zum VAV-Modus zum Zeitpunkt T24 durchgeführt werden
würde, würde ein Ausgangssignal bei T25 (wie durch eine ge
strichelte Linie auf dem Signal MD1A gezeigt ist) in einem
zu geringen Intervall von dem Zeitpunkt T22 zu dem Zeitpunkt
T25 geliefert werden, wobei eine Motorblockierung die Folge
sein könnte. Das Intervall von dem Zeitpunkt T26 zu dem
Zeitpunkt T30 ist andererseits nicht länger als eine maxima
le Zeit TH, die als das Intervall von dem Zeitpunkt T30 zu
dem Zeitpunkt T36 zwischen aufeinanderfolgenden Ausgangssi
gnalen bei dem VAV-Modus gezeigt ist, und nicht kürzer als
eine minimale Zeit TL, die als das Intervall von dem Zeit
punkt T22 zu dem Zeitpunkt T26 gezeigt ist. Die Auswahlein
richtung 430 verzögert den CAV-Zu-VAV-Modus-Übergang bis zu
dem Zeitpunkt T28 (unter Ignorierung von IRQ2 bei T24), da
das Intervall von dem Zeitpunkt T22 zu dem Zeitpunkt T25
nicht innerhalb eines vorbestimmten Bereichs lag. Das Inter
vall von dem Zeitpunkt T22 zu dem Zeitpunkt T26 lag inner
halb des vorbestimmten Bereichs.
Um innerhalb des vorbestimmten Bereichs zu liegen, ist eine
gegebene Periode nicht kleiner als eine untere Grenze TL und
nicht größer als eine obere Grenze TH. Der Wert der unteren
Grenze (T14 bis T16 in Fig. 3; oder T30 bis T36 in Fig. 9)
hängt von der Maximalwinkelgeschwindigkeitsfähigkeit und der
Trägheit des Motors ab. Beispielsweise kann eine Untergrenze
von 0,83 Millisekunden für einen Motor mit einer Maximalwin
kelgeschwindigkeit von 1200 Schritten pro Sekunde und einer
typischen Trägheit verwendet werden. Der Bequemlichkeit hal
ber kann die untere Grenze während des CAV-Modus durch die
Unterbrechungsanforderungsrate (d. h. IRQ1) angenähert wer
den. Der Wert der oberen Grenze kann das gegenwärtig auftre
tende Intervall zwischen aufeinanderfolgenden Ausgangssigna
len bei dem VAV-Modus sein, beispielsweise die Zeitperiode
von dem Zeitpunkt T6 bis zu dem Zeitpunkt T8, oder analog
von dem Zeitpunkt T24 zu dem Zeitpunkt T26.
Bei einer Implementierung des Motorantriebssystems 400, bei
der die Funktionen der Zeitgebungssignalgeneratoren und Aus
wahleinrichtungen in Software implementiert sind, kann eine
solche Software als eine Hauptroutine organisiert sein, die
durch eine oder mehrere Unterbrechungsdienstroutinen unter
brochen wird. Die Unterbrechungsdienstroutinen können auf
Zeitgebungsereignisse ansprechen, die den physikalischen
Zeitdurchgang identifizieren, so daß Pulsdauern und Inter
valle zwischen Pulsen mit einer geeigneten Genauigkeit be
züglich der Echtzeit erzeugt werden können. Die Unterbre
chungsdienstroutinen können ferner die Funktion einer Ab
laufsteuerung (beispielsweise von einer Tabelle von vordefi
nierten Motorantriebsbefehlen) durchführen, wobei die Funk
tion einer Ablaufsteuerung alternativ durch die Hauptroutine
geliefert wird. Bei einem abweichenden Ausführungsbeispiel,
bei dem die Hauptroutine keine weitere Funktion besitzt, als
die Sequenz von Motorsteueroperationen zu leiten (wie oben
in Fig. 5 erläutert ist), kann die Hauptroutine Null-Opera
tionen enthalten, die nichts durchführen, während auf das
Auftreten einer weiteren Unterbrechung gewartet wird.
Wie oben erläutert wurde, kann das Motorantriebssystem 400
durch Verfahren implementiert sein, die durch einen Zentral
prozessor durchgeführt werden. Beispielsweise kann die CPU
204 in einem Drucker 100 Verfahren des Typs durchführen, die
nachfolgend bezugnehmend auf die Fig. 6 bis 8 beschrieben
werden. Ferner kann jedes System, das irgendeinen Zentral
prozessor für eine Motorsteuerung aufweist (beispielsweise
ein Stiftpositionierungs-Teilsystem eines Plotters oder ir
gendein mechanisches System mit Schrittgebermotoren) solche
Verfahren insgesamt oder in einem überwiegenden Teil durch
führen.
Ein Verfahren der vorliegenden Erfindung umfaßt jegliche Se
quenz von Schritten, die die Funktionen einer Auswahlein
richtung, wie sie oben beschrieben ist, bezugnehmend auf ein
Motorsteuersystem, beispielsweise das Motorsteuersystem 400,
durchführen. Beispielsweise führt bei einem Drucker 100 die
CPU 204 eine Unterbrechungsdienstroutine 600 von Fig. 6 an
sprechend auf ein Signal IRQ1 durch, während dieselbe eine
Unterbrechungsdienstroutine 700 der Fig. 7 und 8 ansprechend
auf ein Signal IRQ2 durchführt.
Ein VAV-Zu-CAV-Übergang gemäß verschiedenen Aspekten der
vorliegenden Erfindung ist durch das Verfahren 600 implemen
tiert. Wenn die CPU 204 auf eine aktive Flanke des Signals
IRQ1 anspricht, springt die Programmsteuerung zu einem
Schritt 630. Im Schritt 630 wird die Variable MODE getestet,
um zu bestimmen, ob ein CAV-Modus fortgesetzt werden soll,
oder ob ein Übergang durchgeführt werden soll. Wenn ein
VAV-Zu-CAV-Übergang durchgeführt werden soll, springt die
Programmsteuerung zu einem Schritt 632. Wenn ein CAV-Zu-
VAV-Übergang durchgeführt werden soll, springt die Programm
steuerung zu einem Schritt 660. Andernfalls ist die Motor
steuerung im CAV-Modus fortzusetzen, wobei die Programm
steuerung zu einem Schritt 650 springt.
Im Schritt 650 wird der CAV-Modus fortgesetzt, indem ein
Ausgangssignal aktiviert wird, beispielsweise eine geeignete
Pegeländerung bezüglich entweder des Signals MD1A oder des
Signals MD1B. Die Programmsteuerung springt dann in einem
Schritt 695 zu der Hauptroutine zurück.
In einem Schritt 632 wird eine Frequenzdivisorvariable FD
dekrementiert. Die Variable FD wird durch die Unterbre
chungsdienstroutine 700 auf einen Wert größer als die untere
Grenze des Bereichs, der oben bezugnehmend auf die Zeit T10
erläutert ist, eingestellt.
In einem Schritt 634 wird bestimmt, ob die Variable FD auf
Null dekrementiert wurde. Während eines VAV-Zu-CAV-Übergangs
kann die Unterbrechungsdienstroutine 600 kein Ausgangssignal
liefern. Beispielsweise hat das Signal IRQ1 zum Zeitpunkt
T10 keinen Einfluß. Wenn die Variable FD nicht Null ist,
springt die Programmsteuerung in dem Schritt 695 zu der
Hauptroutine zurück. Andernfalls ist die Variable FD Null,
wobei das Liefern eines Ausgangssignals mit großer Wahr
scheinlichkeit keine Blockierung des Motors M1 zur Folge
hat. Die Programmsteuerung springt zu einem Schritt 636.
In dem Schritt 636 wird eine Variable MODE eingestellt, um
anzuzeigen, daß der VAV-Zu-CAV-Übergang abgeschlossen wurde.
Durch das Einstellen der Variable MODE auf eine Konstante,
die den CAV-Modus der Motorsteuerung anzeigt, wird der CAV-
Modus fortgesetzt, wie oben bezugnehmend auf den Schritt 650
beschrieben ist.
In einem Schritt 660 werden ein erster Abschnitt eines pro
jizierten Intervalls zwischen aufeinanderfolgenden Ausgangs
signalen (TC), eine untere Grenze (TL) und eine obere Grenze
(TH) bestimmt, wie oben erläutert ist. Beispielsweise kann
in einem CAV-Modus TC aus der Zeit zwischen dem letzten Auf
treten von IRQ1 und dem nächsten Auftreten von IRQ2 berech
net werden. Das nächste Auftreten von IRQ2 kann durch die
CPU 204 bestimmt werden, indem der verbleibende Zählwert in
dem Zeitgeber 212 gelesen wird, wie oben erläutert wurde.
In einem Schritt 662 kann der zweite Abschnitt des proji
zierten Intervalls zwischen aufeinanderfolgenden Ausgangssi
gnalen (TD) wie oben erläutert berechnet werden. Beispiels
weise kann die Periode des Zeitgebers 212 mit dem Wert, der
sich durch Subtrahieren von Eins von dem ersten ganzzahligen
Frequenzdivisor ergibt, multipliziert werden. Die Periode
des Zeitgebers 212, beispielsweise das Intervall T20 bis T21
von Fig. 9, kann von dem Zeitgeber 212 oder von der Konstan
ten in dem Speicher 208, der zuletzt verwendet wurde, um den
Zeitgeber 212 zu initialisieren, gelesen werden. Der erste
ganzzahlige Frequenzdivisor kann durch eine algebraische Be
rechnung oder durch einen Index auf ein Array von Divisoren,
wie nachfolgend erläutert wird, identifiziert werden.
In einem Schritt 664 wird die Summe TC plus TD getestet, um
zu bestimmen, ob das projizierte Intervall in dem vorbe
stimmten Bereich von dem Intervall TL zu dem Intervall TH
liegt. Wenn dies nicht der Fall ist, springt die Programm
steuerung zu dem Schritt 650 und die Motorsteuerung wird in
dem CAV-Modus fortgesetzt. Wenn dies der Fall ist, springt
die Programmsteuerung zu einem Schritt 666.
Im Schritt 666 werden Anfangszustände zum Betreten des VAV-
Modus eingestellt. Die Indexvariable K wird auf den ersten
Eintrag der Tabelle, beispielsweise Null, eingestellt. Die
Frequenzdivisorvariable FD wird auf den ersten Eintrag der
Tabelle minus Eins eingestellt, wie oben erläutert wurde.
Eine Variable wird eingestellt, um zwischen einer Verringe
rung auf eine Zielwinkelgeschwindigkeit und einem Wiederbe
treten des CAV-Modus von einem Abbremsen auf eine Null-Win
kelgeschwindigkeit zu unterscheiden. Ferner wird die Variab
le MODE auf VAV eingestellt, um den Abschluß des CAV-Modus
der Motorsteuerung anzuzeigen. Die Programmsteuerung springt
dann über den Schritt 695 zu der Hauptroutine zurück.
Wenn die CPU 204 auf eine aktive Flanke des Signals IRQ2 an
spricht, springt die Programmsteuerung zu einem Schritt 720
von Fig. 7. Im Schritt 720 wird die Variable MODE überprüft,
um zu bestimmen, ob die Steuerung in einem VAV-Modus fortge
setzt werden soll. Wenn dies der Fall ist, springt die Pro
grammsteuerung zu einem Schritt 740. Wenn dies nicht der
Fall ist, springt die Programmsteuerung über eine Rückkehr
von einer Unterbrechung im Schritt 795 zu der Hauptroutine
zurück.
In dem Schritt 740 wird die Frequenzdivisorvariable FD de
krementiert.
In einem Schritt 745 wird bestimmt, ob die Variable FD Null
ist. Wenn dies nicht der Fall ist, wird keine weitere Aktion
unternommen und die Programmsteuerung springt über den
Schritt 795 zu der Hauptroutine zurück. Die Durchführung des
Schritts 745 bei aufeinanderfolgenden Durchläufen des Ver
fahrens 700 ergibt eine Funktion des Teilers 422, die bezug
nehmend auf Fig. 4 erläutert wurde.
Schritte 755 bis 770 liefern Ausgangssignale, die eine vari
ierende Winkelgeschwindigkeit zur Folge haben. Eine Reihe
von Intervallen zwischen aufeinanderfolgenden Ausgangssigna
len kann durch einen Intervallspezifizierungsalgorithmus be
schrieben werden (beispielsweise eine algebraische Berech
nung). Bei einem bevorzugten abweichenden Ausführungsbei
spiel ist eine solche Reihe durch eine Tabelle, die in dem
Speicher gespeichert und als ein eindimensionales Array or
ganisiert ist, das durch eine Variable indiziert ist, vorge
schrieben. Bei einem alternativen und äquivalenten abwei
chenden Ausführungsbeispiel wird als eine verknüpfte Liste
auf das Array zugegriffen. Wenn ein Array verwendet ist, um
mehrere Gruppen von Motoren unabhängig zu steuern, kann eine
Indexvariable für jede Gruppe verwendet werden. Jedes Inter
vall wird als eine Anzahl von Zeitdauern zwischen dem auf
einanderfolgenden Auftreten des Signals IRQ2, die auf Null
herunterzuzählen ist, aus der Tabelle bestimmt. Jedes Inter
vall wird über den Index aus der Tabelle gelesen und einer
Frequenzdivisorvariable FD zugeordnet.
Eine Tabelle kann eine beliebige Anzahl von Werten enthal
ten, die geeignet sind, um die Winkelgeschwindigkeit eines
speziellen Schrittgebermotors, der mit einer speziellen Last
gekoppelt ist, zu erhöhen. Der Speicher 208 kann eine belie
bige Anzahl von Tabellen für unterschiedliche Schrittgeber
motoren oder für unterschiedliche Rampengebungsoperationen
enthalten (beispielsweise unterschiedliche Startgeschwindig
keiten, unterschiedliche Endgeschwindigkeiten oder unter
schiedliche Geschwindigkeitsänderungsraten). Beispielsweise
kann eine erste Rampenfrequenz verwendet werden, um einen
Motor aus einem anfänglich gestoppten Zustand auf eine mitt
lere Geschwindigkeit zu bringen. Eine zweite Rampentabelle
kann verwendet werden, um den gleichen Motor von der mittle
ren Geschwindigkeit auf eine maximale Geschwindigkeit zu
bringen. Beispielsweise beschreibt Tabelle I den Inhalt ei
ner Rampentabelle RAMP, die durch die Variable K indiziert
ist, zum Starten eines leicht belasteten herkömmlichen
Schrittgebermotors. Der achtunddreißigste Wert in der Tabel
le I ist Null, um das Ende der Reihe von Intervallen, die
für diese spezielle variierende Winkelgeschwindigkeit vorge
schrieben sind, anzuzeigen. Obwohl die Divisorwerte in der
Tabelle progressiv abnehmen, kann bei einem abweichenden
Ausführungsbeispiel jede Kombination von zunehmenden und ab
nehmenden Werten verwendet werden.
In einem Schritt 755 wird die Indexvariable K initialisiert
oder inkrementiert, woraufhin in einem Schritt 760 ein Ram
penwert von dem Array RAMP bei dem Element K gelesen und der
Variable FD zugeordnet wird.
In einem Schritt 765 wird bestimmt, ob die Variable FD, wie
sie von dem Array gelesen wurde, Null ist, was den Abschluß
einer Rampenreihe von Intervalldauern anzeigt. Wenn dies
nicht der Fall ist, springt die Programmsteuerung in dem
Schritt 795 zu der Hauptroutine zurück. Wenn dies der Fall
ist, springt die Programmsteuerung zu dem Schritt 775.
In dem Schritt 775 wird bestimmt, ob ein VAV-Zu-CAV-Übergang
durchgeführt werden soll. Wenn dies nicht der Fall ist, wird
aufgrund des Einstellens der Variable MODE in einem Schritt
798 auf OFF jedes weitere Liefern von Ausgangssignalen en
den, wobei die Programmsteuerung über den Schritt 795 zu der
Hauptroutine zurückspringt. Wenn dies der Fall ist, springt
die Programmsteuerung zu der Unterroutine 780. Bei einem ab
weichenden Ausführungsbeispiel kann die Unterroutine 780 als
unmittelbare Befehle (in-line instructions) implementiert
sein, und ist hierin aufgrund der Einfachheit des Vorberei
tens der Flußdiagramme der Fig. 7 und 8 als eine Unterrouti
ne gezeigt.
Schritte 782 bis 790 erleichtern den Abschluß eines VAV-Zu-
CAV-Übergangs durch die Unterbrechungsdienstroutine 600, die
oben erläutert wurde. In dem Schritt 782 von Fig. 8 werden
die Variablen TC, TL und TH bestimmt. Beispielsweise wird
die Variable TC auf eine ganze Zahl eingestellt, die einem
Zeitbetrag entspricht, der erwartungsgemäß zwischen dem
letzten Auftreten eines Ausgangssignals und dem nächsten
Auftreten einer Unterbrechungsanforderung (beispielsweise
einer aktiven Flanke des Signals IRQ1) vergeht. Der Zeitbe
trag kann als eine Tick-Anzahl des Zeitgebers 210 ausge
drückt werden. Die CPU 204 kann den Wert für TC durch das
Lesen des momentanen Werts des Zeitgebers 210 und das Ver
gleichen desselben mit dem Zählwert (wenn derselbe nicht
Null ist), bei dem die nächste aktive Flanke des Signals
IRQ1 durch den Zeitgeber 210 geliefert wird, bestimmen. Die
Variable TL wird auf die untere Grenze des vorbestimmten
Bereichs eingestellt, wie oben erläutert wurde, ausgedrückt
durch das Ticken des Zeitgebers 210. Die Variable TH wird
auf die momentane Tick-Anzahl des Zeitgebers 212 zwischen
aufeinanderfolgenden aktiven Flanken des Signals IRQ2 multi
pliziert mit dem zweitletzten Wert der Variable FD, der aus
der Rampentabelle gelesen wird, eingestellt. Die Variable TH
entspricht der oberen Grenze des vorbestimmten Bereichs, der
oben erläutert ist. Ein Skalierungsfaktor kann verwendet
werden, wenn das Ticken des Zeitgebers 212 von einer unter
schiedlichen Dauer wie das Ticken des Zeitgebers 210 ist.
In einem Schritt 784 wird bestimmt, ob ein projiziertes In
tervall zwischen aufeinanderfolgenden Ausgangssignalen nicht
kleiner sein wird als TL und nicht größer als TH. Wenn diese
Bedingung erfüllt ist, ist die Möglichkeit einer Motor
blockierung reduziert. Beispielsweise ist die Bedingung bei
einer Implementierung, bei der ein CAV-Modus mit einer Win
kelgeschwindigkeit gesteuert wird, die (zu dem Zeitpunkt ei
nes VAV-Zu-CAV-Übergangs) immer größer ist als die Winkelge
schwindigkeit des letzten Inkrements des VAV-Modes, erfüllt,
wenn eine zweite, einfachere Bedingung erfüllt ist. Wenn da
her im Schritt 784 bestimmt wird, daß TC kleiner als der Un
terschied zwischen TH und TL ist, springt die Steuerung zu
einem Schritt 786, wobei der Übergang in dem CAV-Modus durch
das Verfahren 600 abgeschlossen werden kann. Wenn dies nicht
der Fall ist, springt die Steuerung zu einem Schritt 788 und
die Motorsteuerung bleibt in den VAV-Modus. Das heißt, daß
das nächste Auftreten von IRQ1 ignoriert wird.
Im Schritt 786 wird die Variable FD auf Zwei eingestellt,
während die Variable MODE auf einen konstanten Wert, der
VAV-Zu-CAV anzeigt, eingestellt wird. Dieser Wert bewirkt,
daß die Programmsteuerung von dem Schritt 630 zu dem Schritt
632 springt, wie oben erläutert wurde. Die Programmsteuerung
springt dann über die Schritte 792 bis 795 zu der Hauptrou
tine zurück.
In einem Schritt 788 wird die Indexvariable K dekrementiert,
so daß das vorherige Geschwindigkeitsinkrement wiederholt
wird.
In einem Schritt 790 wird ein Rampenwert aus dem Array RAMP
bei dem Element K gelesen und der Variable FD zugewiesen.
In einem Schritt 792 wird ein Ausgangssignal aktiviert, wie
oben bezüglich des Schritts 650 erläutert wurde. Die Pro
grammsteuerung springt dann über die Schritte 794 und 795 zu
der Hauptroutine zurück.
Bei einem abweichenden Ausführungsbeispiel werden die Ram
penerhöhungs-Tabellenwerte in einer umgekehrten Reihenfolge
für Rampen-Verringerungs-Operationen verwendet.
Bei den oben erläuterten Verfahren wird vor dem Aktivieren
eines nächsten Ausgangssignals ein Vergleich durchgeführt,
wobei das Liefern des nächsten Ausgangssignals ansprechend
auf ein Ergebnis des Vergleichs gesteuert wird. Zum Bei
spiel: (a) bei einem CAV-Zu-VAV-Übergang leitet im Schritt
664 ein Vergleichsergebnis das Liefern eines nächsten Aus
gangssignals im Schritt 770; und (b) bei einem VAV-Zu-CAV-
Übergang leitet im Schritt 784 ein Vergleichsergebnis das
Liefern eines nächsten Ausgangssignals im Schritt 650. Bei
jedem Beispiel stellt der Vergleich sicher, daß das Inter
vall zwischen aufeinanderfolgenden Ausgangssignalen inner
halb des vorbestimmten Bereichs von TL und TH ist, so daß
die Möglichkeit einer Motorblockierung reduziert ist.
Bei einem weiteren abweichenden Ausführungsbeispiel umfaßt
die Motorsteuerung 118 die Fähigkeit, ein diagnostisches Te
sten zu unterstützen. Wenn für einen speziellen Motor der
Inhalt einer Rampenerhöhungs- oder Rampenverringerungs-Ta
belle oder der Betrieb eines Intervallspezifizierungsalgo
rithmusses das Risiko einer Motorblockierung nicht auf einen
erwünschten geringen Pegel reduziert, kann ein diagnosti
sches Testen das Überarbeiten von Werten für eine solche Ta
belle oder von Befehlen eines solchen Algorithmusses unter
stützen. Diese Fähigkeiten umfassen ein oder mehrere diagno
stische Verfahren, die in dem Speicher 208 gespeichert sind,
einen herkömmlichen Wellencodierer, der in geeigneter Weise
angeordnet ist, um die Winkelposition des Rotors des spe
ziellen Motors zu überwachen, und ein Wellencodierersignal
SE von dem Wellencodierer zu der Motor-I/O-Schaltung 214 auf
der Leitung 221.
Ein diagnostisches Verfahren kann die Schritte des Empfan
gens des Signals SE und des Vergleichens der erwarteten Po
sition der Motorwelle (oder des Rotors) mit der Position,
die durch das Signal SE angezeigt wird, aufweisen. Bei einem
abweichenden Ausführungsbeispiel analysiert ein solches Ver
fahren das Signal SE unter einer Vielzahl von vorbestimmten
Zuständen und berechnet geeignete Werte für Rampenerhöhungs-
und Rampenverringerungs-Tabellen, so daß die Möglichkeit ei
ner Motorblockierung weiter reduziert ist.
Wie oben erläutert wurde, können Systeme der vorliegenden
Erfindung, die einen Prozessor, der die Funktionen eines Mo
torantriebssystems durchführt, aufweisen, erweitert werden,
um eine beliebige Anzahl von Motoren zu steuern. Während die
Anzahl von Motoren, die in unabhängigen VAV-Modi zu steuern
sind, zunimmt, wird der Prozessordurchsatz abnehmen. Da Sy
steme und Verfahren der vorliegenden Erfindung ermöglichen,
daß Unterbrechungssignalquellen (beispielsweise der Zeitge
ber 212 oder die Zeitgebungssignalgeneratoren 420 und/oder
440) gestoppt werden, wenn dieselben für die Motorsteuerung
nicht benötigt werden, kann die Prozessordurchsatzkapazität
erhöht sein und kann dann ausreichen, um eine größere Anzahl
von Motoren als es mit herkömmlichen Systemen und Verfahren
möglich ist, zu steuern.
Claims (18)
1. Vorrichtung (400) zum Erzeugen einer Mehrzahl von Aus
gangssignalen (DS12) für eine Schrittgebermotorsteue
rung, wobei die Vorrichtung folgende Merkmale aufweist:
- a) einen ersten Zeitgebungssignalgenerator (410) zum Erzeugen eines ersten Zeitgebungssignals (DS1, IRQ1), das ein erstes Intervall (T10-T12) zwischen aufeinanderfolgenden Zeitgebungsinformationsmarkie rungen aufweist;
- b) einen zweiten Zeitgebungssignalgenerator (420) zum Erzeugen eines zweiten Zeitgebungssignals (DS2, IRQ2); und
- c) eine erste Auswahleinrichtung (430), die auf das
erste Zeitgebungssignal (DS1, IRQ1) und das zweite
Zeitgebungssignal (DS2, IRQ2) anspricht, um die
Mehrzahl von Ausgangssignalen (DS12) zu liefern,
wobei:
- a) die erste Auswahleinrichtung (430) aufeinan derfolgend ein erstes (T8) und ein zweites (T12) Ausgangssignal der Mehrzahl liefert, wobei das erste und das zweite Ausgangssignal durch ein zweites Intervall (T8-T12) getrennt sind;
- b) das erste Ausgangssignal ansprechend auf das zweite Zeitgebungssignal (DS2, IRQ2) gelie fert wird;
- c) das zweite Ausgangssignal ansprechend auf das erste Zeitgebungssignal (DS1, IRQ1) geliefert wird; und
- d) das zweite Intervall größer ist als das erste Intervall.
2. Vorrichtung nach Anspruch 1, bei der die erste Auswahl
einrichtung (430) folgende Merkmale aufweist:
- a) einen Speicher (208) zum Speichern von Markierungen eines Verfahrens für eine Motorsteuerung;
- b) eine Zentralverarbeitungseinheit (204) zum Ausfüh ren des Verfahrens; und
- c) eine Ausgabeschaltung (214) zum Liefern des zweiten Ausgangssignals entsprechend dem Verfahren.
3. Vorrichtung nach Anspruch 2, bei der:
- a) der erste Zeitgebungssignalgenerator (410) eine er ste Zählerschaltung (210), die mit der Zentralver arbeitungseinheit (204) gekoppelt ist, zum Liefern des ersten Zeitgebungssignals (IRQ1) zu der Zen tralverarbeitungseinheit (204) aufweist;
- b) eine jeweilige Unterbrechungsanforderung für die Zentralverarbeitungseinheit (204) für jede Zeitge bungsinformationsmarkierung, die das erste Inter vall des ersten Zeitgebungssignals identifiziert, durchgeführt wird; und
- c) die Zentralverarbeitungseinheit (204) bei einer Un terbrechung die Ausgabeschaltung (214) zum Erzeugen des zweiten Ausgangssignals (T12) betreibt.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, bei der:
- a) das System ferner einen Referenzzeitgebungssignal generator (450) zum Erzeugen eines Referenzzeitge bungssignals (RS), das ein Referenzintervall (T2-T3) zwischen aufeinanderfolgenden Zeitgebungs informationsmarkierungen aufweist, aufweist;
- b) der zweite Zeitgebungssignalgenerator (420) einen ersten Frequenzteiler (422) aufweist, der auf das Referenzzeitgebungssignal (RS) anspricht, um das zweite Zeitgebungssignal (DS2) zu erzeugen; und
- c) das zweite Zeitgebungssignal (DS2) ein drittes In tervall (T6-T8) zwischen Zeitgebungsinformations markierungen aufweist, wobei das dritte Intervall ein ganzzahliges Vielfaches des Referenzintervalls ist.
5. Vorrichtung nach Anspruch 4, bei der:
- a) der Referenzzeitgebungssignalgenerator (450) eine zweite Zählerschaltung, die mit der Zentralverar beitungseinheit (204) gekoppelt ist, zum Liefern des Referenzzeitgebungssignals zu der Zentralverar beitungseinheit (204) aufweist;
- b) eine jeweilige Unterbrechungsanforderung für die Zentralverarbeitungseinheit (204) ansprechend auf jede Zeitgebungsinformationsmarkierung, die das Re ferenzintervall des Referenzzeitgebungssignals (RS) identifiziert, durchgeführt wird; und
- c) bei einer Unterbrechung die Zentralverarbeitungs einheit (204) die Ausgabeschaltung (214) betreibt, um das erste Ausgangssignal zu erzeugen.
6. Vorrichtung nach Anspruch 5, bei der, während eine
Vielzahl von Ausgangssignalen jeweils ansprechend auf
das erste Zeitgebungssignal (DS1) geliefert werden, die
Zentralverarbeitungseinheit (204) ansprechend auf die
zweite Zählerschaltung keine Aktion unternimmt.
7. Vorrichtung nach einem der Ansprüche 4 bis 6, die fer
ner folgende Merkmale aufweist:
- a) einen dritten Zeitgebungssignalgenerator (440) zum
Erzeugen eines dritten Zeitgebungssignals (DS3),
wobei:
- a) der dritte Zeitgebungssignalgenerator einen zweiten Frequenzteiler (442) aufweist, der auf das Referenzzeitgebungssignal (RS) an spricht, um das dritte Zeitgebungssignal (DS3) zu erzeugen;
- b) das dritte Zeitgebungssignal (DS3) ein vier tes Intervall zwischen Zeitgebungsinforma tionsmarkierungen aufweist; und
- c) das vierte Intervall ein ganzzahliges Viel faches des Referenzintervalls ist und sich in der Dauer von dem dritten Intervall unter scheidet; und
- b) eine zweite Auswahleinrichtung (460), die auf das
erste Zeitgebungssignal (DS1) und das dritte Zeit
gebungssignal (DS3) anspricht, um eine zweite Mehr
zahl von Ausgangssignalen (DS22) zu liefern, wobei:
- a) die zweite Auswahleinrichtung aufeinanderfol gend ein drittes und ein viertes Ausgangssi gnal der zweiten Mehrzahl liefert, wobei das dritte und das vierte Ausgangssignal durch ein fünftes Intervall getrennt sind;
- b) das dritte Ausgangssignal ansprechend auf das dritte Zeitgebungssignal (DS3) geliefert wird;
- c) das vierte Ausgangssignal ansprechend auf das erste Zeitgebungssignal (DS1) geliefert wird; und
- d) das fünfte Intervall größer ist als das erste Intervall.
8. Vorrichtung nach einem der Ansprüche 4 bis 7, bei der:
- a) der Speicher ferner zum Speichern einer ersten Rei he von Divisorwerten dient; und
- b) das zweite Zeitgebungssignal (DS2) ferner eine
zweite Reihe von jeweiligen Intervallen aufweist,
wobei:
- 1. jedes jeweilige Intervall zwischen aufeinan derfolgenden Zeitgebungsinformationsmarkie rungen liegt;
- 2. jedes jeweilige Intervall ein jeweiliges ganzzahliges Vielfaches des Referenzinter valls ist; und
- 3. jedes jeweilige ganzzahlige Vielfache ent sprechend einem jeweiligen Divisorwert der ersten Reihe durch den ersten Frequenzteiler (422) bestimmt wird.
9. Vorrichtung nach einem der Ansprüche 1 bis 8, die auf
einem integrierten Schaltungssubstrat (118) gebildet
ist.
10. Drucker mit folgenden Merkmalen:
- a) einer Schnittstelle (110) zum Empfangen einer Be schreibung von Daten, die gedruckt werden sollen;
- b) einem Prozessor (114) zum Bestimmen von Daten, die gedruckt werden sollen, und zum Bestimmen eines Be fehls für eine Motorsteuerung;
- c) einer Druckmaschine (124) zum Empfangen der Daten und zum Drucken auf einem vorgesehenen Medium; und
- d) einer Motorsteuerung (400) zum Bewegen des vorgese
henen Mediums ansprechend auf den Befehl, wobei die
Motorsteuerung folgende Merkmale aufweist:
- 1. einen ersten und einen zweiten Zeitgeber (410, 412) zum Liefern eines ersten bzw. zweiten Unterbrechungsanforderungssignals (DS1, IRQ1, DS2, IRQ2);
- 2. eine Ausgabeschaltung (214) zum Liefern eines Zweipegelsignals für eine Schrittgebermotor steuerung;
- 3. eine Zentralverarbeitungseinheit (204), die auf das erste und das zweite Unterbrechungs anforderungssignal (DS1, IRQ1, DS2, IRQ2) an spricht, um einen Unterbrechungsdienst durch zuführen; und
- 4. einen Speicher (208), auf den durch die Zen
tralverarbeitungseinheit (204) für den Unter
brechungsdienst zugegriffen wird, wobei der
Speicher zum Speichern von Markierungen eines
Verfahrens für eine Motorsteuerung dient, wo
bei das Verfahren folgende Schritte aufweist:
ansprechend auf das zweite Unterbrechungsan forderungssignal (DS2, IRQ2), Bestimmen eines ersten Intervalls von dem momentanen Zeit punkt bis zum Zeitpunkt, zu dem ein nächstes Auftreten des ersten Unterbrechungsanforde rungssignals (DS1, IRQ1) erwartet wird;
Vergleichen des ersten Intervalls mit einem vorbestimmten Intervall; und
ansprechend auf den Vergleich, Steuern des Lieferns des Zeitpegelsignals ansprechend auf ein folgendes Auftreten des ersten Unterbre chungsanforderungssignals (DS1, IRQ1), das dem nächsten Auftreten des ersten Unterbre chungsanforderungssignals folgt.
11. Datenspeichervorrichtung (208), die Markierungen eines
Verfahrens (600, 700) zum Liefern eines Ausgangssignals
für eine Schrittgebermotorsteuerung aufweist, wobei das
Verfahren folgende Schritte aufweist:
ansprechend auf eine erste Unterbrechungsanforderung (IRQ2) eines ersten Motorsteuermodus, Bestimmen (782) eines ersten Intervalls von dem momentanen Zeitpunkt bis zu einem Zeitpunkt, zu dem das Auftreten einer nächsten Unterbrechungsanforderung (T10) für einen zweiten Motorsteuermodus (IRQ2) erwartet wird;
Vergleichen (784) des ersten Intervalls mit einem vor bestimmten Intervall (TL); und
ansprechend auf den Vergleich, Steuern (786) des Lie ferns (650) eines Zweipegelsignals für einen Motor an sprechend auf ein Auftreten einer folgenden Unterbre chungsanforderung (T12) des zweiten Motorsteuermodus, die der nächsten Unterbrechungsanforderung (T10) für den zweiten Motorsteuermodus folgt.
ansprechend auf eine erste Unterbrechungsanforderung (IRQ2) eines ersten Motorsteuermodus, Bestimmen (782) eines ersten Intervalls von dem momentanen Zeitpunkt bis zu einem Zeitpunkt, zu dem das Auftreten einer nächsten Unterbrechungsanforderung (T10) für einen zweiten Motorsteuermodus (IRQ2) erwartet wird;
Vergleichen (784) des ersten Intervalls mit einem vor bestimmten Intervall (TL); und
ansprechend auf den Vergleich, Steuern (786) des Lie ferns (650) eines Zweipegelsignals für einen Motor an sprechend auf ein Auftreten einer folgenden Unterbre chungsanforderung (T12) des zweiten Motorsteuermodus, die der nächsten Unterbrechungsanforderung (T10) für den zweiten Motorsteuermodus folgt.
12. Datenspeichervorrichtung nach Anspruch 11, bei der er
ste Motorsteuermodus eine im wesentlichen konstante
Winkelgeschwindigkeit des Motors implementiert und bei
der der zweite Motorsteuermodus eine variierende Win
kelgeschwindigkeit des Motors implementiert.
13. Datenspeichervorrichtung nach Anspruch 11, bei der der
erste Motorsteuermodus eine variierende Winkelgeschwin
digkeit des Motors implementiert, und bei der der zwei
te Motorsteuermodus eine im wesentlichen konstante Win
kelgeschwindigkeit des Motors implementiert.
14. Datenspeichervorrichtung nach Anspruch 13, bei der das
Verfahren ferner folgenden Schritt aufweist:
während des Betriebs des Motorsteuermodus für eine va riierende Winkelgeschwindigkeit, Empfangen einer Mehr zahl von Unterbrechungsanforderungen mit einer ersten Rate und Liefern einer Mehrzahl von Ausgangssignalen für die Motorsteuerung mit einer zweiten Rate, die ein ganzzahliger Bruchteil der ersten Rate ist.
während des Betriebs des Motorsteuermodus für eine va riierende Winkelgeschwindigkeit, Empfangen einer Mehr zahl von Unterbrechungsanforderungen mit einer ersten Rate und Liefern einer Mehrzahl von Ausgangssignalen für die Motorsteuerung mit einer zweiten Rate, die ein ganzzahliger Bruchteil der ersten Rate ist.
15. Datenspeichervorrichtung nach Anspruch 13, bei der das
Verfahren ferner folgende Merkmale aufweist:
- a) während des Betriebs in dem Motorsteuermodus für die variierende Winkelgeschwindigkeit, Empfangen (720) einer Mehrzahl von Unterbrechungsanforderun gen mit einer ersten Rate (T2-T3);
- b) Liefern (770) einer Mehrzahl von Ausgangssignalen für die Motorsteuerung mit einer Mehrzahl von je weiligen zweiten Raten, wobei jede jeweilige zweite Rate ein ganzzahliger Bruchteil der ersten Rate ist, die entsprechend einem jeweiligen Divisor (FD) geliefert wird; und
- c) Vorsehen (780) eines jeweiligen Divisors aus einer vorbestimmten Reihe.
16. Datenspeichervorrichtung nach Anspruch 15, bei der das
Vorsehen eines jeweiligen Divisors eine algebraische
Berechnung umfaßt.
17. Datenspeichervorrichtung nach Anspruch 15, bei der das
Vorsehen eines jeweiligen Divisors das Aufrufen eines
Werts aus einem Array aufweist.
18. Datenspeichervorrichtung nach einem der Ansprüche 1 bis
17, bei der das Verfahren ferner folgende Schritte auf
weist:
- a) Aktivieren eines ersten Zeitgebers (212) zum Lie fern der ersten Unterbrechungsanforderung des er sten Motorsteuermodus;
- b) Aktivieren eines zweiten Zeitgebers (210) zum Lie fern der nächsten Unterbrechungsanforderung und der folgenden Unterbrechungsanforderung; und
- c) nach dem Schritt des Steuerns, Deaktivieren des er sten Zeitgebers (212).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/182,836 US6014000A (en) | 1998-10-28 | 1998-10-28 | System with motor control using multiple timing signal generators |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19938120A1 true DE19938120A1 (de) | 2000-05-11 |
Family
ID=22670250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19938120A Withdrawn DE19938120A1 (de) | 1998-10-28 | 1999-08-12 | System mit Motorsteuerung unter Verwendung mehrerer Zeitgebungssignalgeneratoren |
Country Status (3)
Country | Link |
---|---|
US (1) | US6014000A (de) |
JP (1) | JP2000134992A (de) |
DE (1) | DE19938120A1 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6239564B1 (en) * | 1998-10-06 | 2001-05-29 | H.R. Textron, Inc. | State advance controller commutation loop for brushless D.C. motors |
US6777844B2 (en) * | 2000-10-24 | 2004-08-17 | Rexair, Inc. | Brushless motor |
US6861817B2 (en) * | 2001-12-21 | 2005-03-01 | Freescale Semiconductor, Inc. | Method and apparatus for detecting a stall condition in a stepping motor |
US6667595B2 (en) * | 2002-02-19 | 2003-12-23 | Dresser, Inc. | Stall detection in stepper motors |
JP4144240B2 (ja) * | 2002-04-12 | 2008-09-03 | セイコーエプソン株式会社 | 制御装置および制御方法 |
JP2004182414A (ja) * | 2002-12-04 | 2004-07-02 | Noritsu Koki Co Ltd | 画像記録装置 |
US20050038527A1 (en) * | 2003-07-30 | 2005-02-17 | Vivek Kulkarni | Apparatus and method for programming a motor control of a motor |
US7564741B2 (en) * | 2004-04-06 | 2009-07-21 | Newsco Directional And Horizontal Drilling Services Inc. | Intelligent efficient servo-actuator for a downhole pulser |
US7719439B2 (en) * | 2006-06-30 | 2010-05-18 | Newsco Directional And Horizontal Drilling Services Inc. | Rotary pulser |
US8040100B2 (en) * | 2008-06-16 | 2011-10-18 | International Business Machines Corporation | Automatically determining optimal pulse duration for a stepper motor |
US20110163700A1 (en) * | 2010-01-06 | 2011-07-07 | Putting Around, Inc. | Methods and systems related to desulfation of a battery |
US8723462B2 (en) * | 2012-06-15 | 2014-05-13 | GM Global Technology Operations LLC | Methods, systems and apparatus for estimating angular position and/or angular velocity of a rotor of an electric machine |
US10093348B2 (en) * | 2016-06-17 | 2018-10-09 | Steering Solutions Ip Holding Corporation | Electrical power steering with two controllers and closed-loop integral action |
US10848093B2 (en) | 2018-08-30 | 2020-11-24 | Steering Solutions Ip Holding Corporation | Electrical power steering with two controllers using uniform steering angle control |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3644812A (en) * | 1969-11-17 | 1972-02-22 | Mohawk Data Sciences Corp | Web feed apparatus with stepping motor drive |
US4055786A (en) * | 1976-05-06 | 1977-10-25 | General Electric Company | Control system for time sharing multiple stepper motors with a single controller |
US4369402A (en) * | 1980-07-22 | 1983-01-18 | Xerox Corporation | Motion damping apparatus |
JPS5914396A (ja) * | 1982-07-15 | 1984-01-25 | Toshiba Corp | パルスモ−タ駆動装置 |
US4469995A (en) * | 1982-07-19 | 1984-09-04 | Mcc Associates | Method of stopping a stepping motor |
US4859923A (en) * | 1988-07-14 | 1989-08-22 | Allied-Signal Inc. | Microprocessor controlled dual channel closed loop controller for stepper motors used in servo systems |
-
1998
- 1998-10-28 US US09/182,836 patent/US6014000A/en not_active Expired - Lifetime
-
1999
- 1999-08-12 DE DE19938120A patent/DE19938120A1/de not_active Withdrawn
- 1999-10-26 JP JP11304306A patent/JP2000134992A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2000134992A (ja) | 2000-05-12 |
US6014000A (en) | 2000-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19938120A1 (de) | System mit Motorsteuerung unter Verwendung mehrerer Zeitgebungssignalgeneratoren | |
DE60012815T2 (de) | Numerisches Steuersystem | |
DE2646023C3 (de) | Anordnung zum Steuern der Geschwindigkeit eines Punktschriftdruckers | |
EP0107026B1 (de) | Speicherprogrammierbare Steuerung | |
CH640491A5 (de) | Maschine zum herstellen eines gegenstandes aus glas. | |
CH621022A5 (de) | ||
DE2660532C2 (de) | Verfahren zum Erzeugen der Antriebsimpulse für die Schrittmotoren einer automatischen Nähmaschine und nach diesem Verfahren arbeitende Nähmaschine | |
EP0094763B1 (de) | Steuergerät für einen Schrittmotor | |
DE2608754C2 (de) | Schaltungsanordnung zum teilungsgenauen Positionieren eines Schreibwagens in Fern- oder Datenschreibmaschinen | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
DE19883000B4 (de) | Servosystem-Steuereinrichtung | |
DE2940019C2 (de) | ||
DE60021495T2 (de) | Motorregelschaltung und seine Verwendung in einem Regelsystem | |
DE19900724A1 (de) | Koordinatenmeßgerät | |
DE2609698A1 (de) | Elektronischer rechner | |
DE4026413C2 (de) | Positionier-Steuervorrichtung | |
EP0071661B1 (de) | Steuereinrichtung für einen Zeilendrucker mit einem umlaufenden Zeichenträger und mehreren Druckhämmern | |
DE2755663C2 (de) | Steueranordnung für die Relativbewegung zwischen Druckkopf und Aufzeichnungsmedium in einem Drucker | |
DE4011491C2 (de) | Einrichtung zur Steuerung mindestens einer Werkzeugspindel | |
DE3204098C2 (de) | ||
DE2139053A1 (de) | Numerische Werkzeugmaschinensteue rung | |
DE4201760C2 (de) | Verfahren und Vorrichtung zum Steuern einer elektrischen Nähmaschine | |
DE19803216C2 (de) | Mikrocomputer, der zur Ausgabe von Impulsen in der Lage ist | |
DE4311531C2 (de) | Verfahren zum Steuern eines Nähautomaten | |
DE4029128C2 (de) | Automatische Nähmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8130 | Withdrawal |