Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND CIRCUIT ARRANGEMENT FOR DRIVING A STEPPER MOTOR
Document Type and Number:
WIPO Patent Application WO/2013/189492
Kind Code:
A2
Abstract:
The invention describes a method and a circuit arrangement for driving a 2-, 3- or polyphase stepper motor with prespecified current curve profiles, in particular for a microstep mode. In order to minimize the expenditure on memory for the supporting points of the current curve profile, with which supporting points the microsteps are realized, the current curve profile is divided into a number of segments which each have an associated basic or fundamental gradient between adjacent supporting points, so that, for each supporting point, only a deviation in the gradient at this supporting point from the respective basic or fundamental gradient has to be stored.

Inventors:
LARSSON LARS (DE)
DWERSTEG BERNHARD (DE)
Application Number:
PCT/DE2013/100225
Publication Date:
December 27, 2013
Filing Date:
June 20, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TRINAMIC MOTION CONTROL GMBH & CO KG (DE)
International Classes:
H02P8/22
Foreign References:
US20100141199A12010-06-10
DE19842698A12000-03-30
US20110055303A12011-03-03
DE19524118A11997-01-16
Other References:
None
Attorney, Agent or Firm:
HEUN, Thomas (DE)
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Ansteuern eines 2-, 3- oder Mehrphasen-Schrittmotors mit einem vorgegebenen Stromkurvenverlauf, wobei der Stromkurvenverlauf durch eine An- zahl von zeitlich voneinander beabstandeten und jeweils einen quantisierten Amplitudenwert darstellenden Stützstellen definiert ist, mit denen jeweils ein M ikro- schritt des Schrittmotors realisiert wird, dadurch gekennzeichnet, dass

- der Stromkurvenverlauf zeitlich in eine Anzahl von Segmente (WO, Wl,...Wn) unterteilt wird, die jeweils eine Anzahl von Stützstellen beinhalten,

- innerhalb jedes Segmentes eine geringste oder eine höchste Basis- oder Grundsteigung festgelegt wird, mit der sich der Stromamplitudenwert des Stromkurvenverlaufes zwischen jeweils zwei benachbarten Stützstellen eines Segmentes mindestens erhöht bzw. höchstens erhöht,

- die zeitliche Länge der Segmente so gewählt wird, dass die Steigungen zwischen jeweils zwei benachbarten Stützstellen innerhalb eines Segmentes höchstens eine

Abweichung von der festgelegten Basis- oder Grundsteigung voneinander aufweisen, die nicht größer ist als eine vorbestimmte Anzahl n (n = 1, 2, ..) von Quantisie- rungsstufen, und

- in einer Tabelle zu jeder Stützstelle das Vorhandensein einer solchen Abweichung der Steigung von der festgelegten Basis- oder Grundsteigung des betreffenden Segmentes, in dem die Stützstelle liegt, gespeichert wird, wobei

- der Amplitudenwert des Stromkurvenverlaufes an einer Stützstelle s innerhalb eines Segmentes aus dem s-fachen der Basis- oder Grundsteigung plus bzw. minus dem Produkt aus der Anzahl der in der Tabelle für die Stützstellen 0 bis s gespei- cherten Abweichungen und der Anzahl n der Quantisierungsstufen ermittelt wird.

2. Verfahren nach Anspruch 1,

bei dem die Abweichung in Form eines 1-Bit-Wertes in der Tabelle gespeichert wird, der den Wert 1 aufweist, wenn die Steigung an der betreffenden Stützstelle um die vorbestimmte Anzahl n von Quantisierungsstufen der Stromamplitude höher bzw. geringer ist als die festgelegte geringste bzw. höchste Basis- oder Grundsteigung, und andernfalls den Wert 0 aufweist.

3. Verfahren nach Anspruch 1,

bei dem die vorbestimmte Anzahl n von Quantisierungsstufen gleich 1 ist.

4. Verfahren nach Anspruch 1,

bei dem für jede Stromkurvenperiode mindestens ein Initialisierungswert gespeichert wird, von dem ausgehend die Amplitudenwerte an den Stützstellen ermittelt werden.

5. Verfahren nach Anspruch 1,

bei dem in der Tabelle die Abweichungen der Steigung nur für die Stützstellen eines Quadranten des Stromkurvenverlaufes gespeichert werden und die Amplituden- werte des Stromkurvenverlaufes in den übrigen Quadranten durch entsprechende symmetrische Spiegelung der für den einen Quadranten ermittelten Amplitudenwerte ermittelt werden.

6. Schaltungsanordnung zur Durchführung eines Verfahrens nach einem der An- sprüche 1 bis 5, mit

- einem Tabellenspeicher (10) zur Speicherung des Vorhandenseins einer Abweichung der Steigung an jeder Stützstelle von einer festgelegten Basis- oder Grundsteigung des betreffenden Segmentes, in dem die betreffende Stützstelle liegt,

- einem Mikroschrittzähler (13), mit dem der Tabellenspeicher (10) zur sequentiel- len Ausgabe der Abweichungen an den Stützstellen angesteuert wird,

- einem Segment-Komparator (18) zur Ermittlung eines Segmentes, in dem sich eine durch einen aktuellen Zählerstand des Mikroschrittzählers (13) repräsentierte Stützstelle des Stromkurvenverlaufes befindet, - einem durch den Segment-Komparator (18) angesteuerten ersten M ultiplexer (11), a n dessen Eingängen jeweils eine der für jedes Segment festgelegten Basisoder Grundsteigung anliegt, sowie

- einem ersten Addierer (AI) zur Addition einer aus dem Tabellenspeicher (10) aus- gegebenen Abweichung an einer Stützstelle zu der an dem Ausgang des M ultiple- xers (11) anliegenden Basis- oder Grundsteigung des Segmentes, in dem sich die Stützstelle befindet.

7. Schaltungsanordnung nach Anspruch 6,

mit einem Mikroschrittregister (12) und einem zweiten Addierer (A2) zur Addition des Ausgangssignals des Mikroschrittregisters (12) zu dem Ausgangssignal des ersten Addierers (AI), wobei das Ausgangssignal des zweiten Addierers (A2) an dem Eingang des Mikroschrittregisters (12) anliegt, zur Erzeugung des Wertes der Stromamplitude an einer Stützstelle s innerhalb eines Segmentes durch Mikroschrittweise Akkumulation des s-fachen der Basis- oder Grundsteigung des Segmentes plus bzw. minus dem Produkt aus der Anzahl der in der Tabelle für die Stützstellen 0 bis s gespeicherten Abweichungen und der Anzahl n der Quantisierungsstufen.

8. Schaltungsanordnung nach Anspruch 6,

bei der der Tabellenspeicher (10) zur Speicherung der Abweichungen in Form eines 1-Bit-Wertes vorgesehen ist, der den Wert 1 aufweist, wenn die Steigung an der betreffenden Stützstelle um die vorbestimmte Anzahl n von Quantisierungsstufen der Stroma m plitude höher bzw. geringer ist a ls die festgelegte geringste bzw. höchste Basis- oder Grundsteigung, und andernfalls den Wert 0 aufweist.

9. Schaltungsanordnung nach Anspruch 6,

mit einem Speicher (16) für einen Initialisierungs- oder Startwert, von dem ausgehend die Amplitudenwerte an den Stützstellen ermittelt werden.

10. I ntegrierte Ansteuerschaltung zum Ansteuern ei nes 2-, 3- oder Mehrphasen- Schrittmotors mit einer Schaltungsanordnung nach einem der Ansprüche 6 bis 9.

Description:
Verfahren und Schaltungsanordnung zum Ansteuern eines Schrittmotors

Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zum Ansteuern eines 2-, 3- oder Mehrphasen-Schrittmotors mit vorgegebenen Stromkurvenverläu- fen, insbesondere für einen Mikroschrittbetrieb.

Bei Schrittmotoren wird der Rotor durch ein gesteuertes, mit statischen Motorspulen erzeugtes und schrittweise rotierendes elektromagnetisches Feld schrittweise um jeweils einen kleinen Winkel gedreht. Schrittmotoren finden deshalb überall dort Anwendung, wo es auf eine gena ue lineare oder Dreh-Positionierung eines Objektes ankommt. Darüber hinaus werden Schrittmotoren aber in zunehmendem Maße auch für reine Antriebszwecke verwendet, für die bisher zum Beispiel übliche Gleichstrommotoren eingesetzt wurden. Es sind zahlreiche verschiedene Bauformen von Schrittmotoren bekannt, wobei u. a. entsprechend der Anzahl der Mo- torspulen zwischen 2-, 3- und Mehrphasen-Schrittmotoren unterschieden wird.

Zum elektrischen Ansteuern von Schrittmotoren dienen zum Beispiel beka nnte Chopper-Verfahren, mit denen aus einer zugeführten Motor-Versorgungsspannung für jede der Motorspulen die für jeden Zeitpunkt in diese entsprechend ei ner Stromvorgabe (Spulen-Sollstrom) jeweils einzuprägende Stromrichtung, Stromhöhe und Stromform mittels PWM-Strompulsen erzeugt wird, um mit dem dadurch induzierten, rotierenden Magnetfeld den Rotor des Motors anzutreiben.

Dabei besteht häufig der Wunsch, den Motor mit möglichst kleinen Schrittwinkeln drehen zu können, um eine möglichst hohe Auflösung bzw. Genauigkeit der Positionierung und einen gleichmäßigeren Drehmomentverlauf zu erzielen. Aus diesem Grunde wird anstelle des bekannten Vollschritt- und Halbschritt-Betriebes der so genannte Mikroschrittbetrieb bevorzugt, bei dem die durch die Motorspulen fließenden Ströme nicht nur ein- und ausgeschaltet werden, sondern in bestimmter Weise ansteigen und abfallen. Die Genauigkeit, mit der der Schrittmotor die Mikro- schritte ausführt, hängt dabei im Wesentlichen davon ab, mit wie viel verschiedenen Stromamplituden die Motorspulen angesteuert werden und wie genau diese eingehalten werden können. Dabei ist eine sinusförmige bzw. cosinusförmige Erregung der Motorspulen im Allgemeinen am zweckmäßigsten, da damit auch ein sehr kontinuierliches, d.h. ruckfreies Drehen u nd somit ein ruhiger Motorlauf erzielt werden kann.

Bei bestimmten Anwendungen sind die Anforderungen an die Präzision des Gleichla ufes des Motors jedoch besonders hoch. U m diese Anforderungen erfüllen zu können, ist es erforderlich, den Kurvenverlauf des Stroms durch die Motorspulen für die Mikroschritterzeugung an die Motorgeometrie (d.h. an einen bestimmten Motortyp und dessen Parameter, gegebenenfalls auch an einen individuellen Motor) a nzupassen. Die tatsächliche Realisieru ng dieser gewünschten opti malen Stromkurven kann dann z.B. durch eine Fourier-Synthese verschiedener Sinus- oder Dreiecks-Funktionen oder Mischungen daraus erfolgen.

Die auf diese Weise entstandenen Stromkurven sind üblicherweise stetig, jedoch nicht unbedingt monoton steigend oder monoton fallend. Allerdings sind typischerweise die vier Quadranten der Stromkurve aufgrund des symmetrischen Auf- baus der Motoren ebenfalls symmetrisch, so dass nur ein Viertel der Stromkurve gespeichert werden braucht.

Dennoch ist die Speicherung einer solchen Kurve insbesondere innerhalb eines monolithischen Schrittmotor-Ansteuer-ICs sehr aufwändig. Für jeden Mikroschritt des Motors ist eine Stützstelle der Stromkurve, d.h. ein Wert der Stromkurvenamplitude, abzuspeichern, wobei ein solcher Speicherplatz eine Zahl mit einer Genauigkeit entsprechend der Quantisierungsauflösung der Stromamplitudenwerte aufnehmen muss. Dies bedeutet bei z.B. 256 Mikroschritten in jedem Quadrant mit einer Auflösung von 256 diskreten Stromwerten für jeden Mikroschritt eine Zahl von 256*8 Bit. Eine im Vergleich zur Komplexität des digitalen Kerns eines üblichen Schrittmotor- Treibers so hohe Anzahl von Speicherstellen für die Stromkurve lässt eine solche Realisierung bereits ab einer Auflösung von wenigen zehn Mikroschritten als zu dominant für die Komplexität des Baustein und damit als nicht marktgerecht er- 5 scheinen.

Eine alternative Realisierung eines Stromkurven-Speichers als RAM-Block ist erfahrungsgemäß nur sehr aufwändig in ein vorhandenes Chip-Design einzubauen und ungünstig in ein Chip-Layout zu integrieren, da ein RAM-Block als separater Layout- IC ) Block erscheint. Weiterhin erfordert ein RAM-Block in jedem Fall, dass ein Anwender die Mikroschritt-Tabelle beschreibt. Eine solche Tabelle kann jedoch nicht ohne Aufwand über Reset-Werte beispielsweise mit einer Sinusfunktion vorbesetzt werden. Dies wäre aber interessant, um die Universalität und Einfachheit des Bausteins auch für Anwendungen, in denen die Kurve nicht programmiert werden muss, auf- 15 recht erhalten zu können.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Schaltungsanordnung zum Ansteuern eines 2-, 3- oder Mehrphasen-Schrittmotors zu schaffen, mit dem/der in relativ einfacher Weise und gleichzeitig mit hoher Genauigkeit ein ge- 20 wünschter Verlauf der Amplituden der Stromkurven durch die Motorspulen realisiert werden kann, insbesondere wenn dieser Verlauf von der üblichen sinus- bzw. cosinus-Form abweicht.

Gelöst wird diese Aufgabe mit einem Verfahren gemäß Anspruch 1 und einer Schal- 25 tungsanordnung gemäß Anspruch 6.

Ein Vorteil dieser Lösung besteht darin, dass die Tabelle, die die zur Erzeugung der gewünschten Stromkurvenverläufe erforderlichen Daten enthält, nur eine auf etwa 15 bis 20% reduzierte Komplexität im Vergleich zu der oben genannten Speicherung 30 der vollständigen Amplitudenwerte für jede Stützstelle des Stromverlaufes aufzu- weisen braucht. Dadurch kann die Tabelle als Flip-Flop-Register im Digitalteil eines Schrittmotortreibers realisiert werden, und der Layout-Verschnitt durch einen separaten RAM-Block wird minimiert. Ferner können mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Ansteuerschaltung prinzipiell sämtliche stetigen Stromkurven-Verläufe, die für einen Schrittmotor relevant sein können, realisiert werden.

Sch ließlich ist die erfindungsgemä ße Lösu ng a uch i nsofern vorteil haft, a ls die Stromamplitudenwerte in beiden Richtungen, d.h. für einen Rechts- und einen Linkslauf des Motors ausgelesen werden können.

Die Unteransprüche haben vorteilhafte Weiterbildungen der Erfindung zum Inhalt. Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung von bevorzugten Ausführungsformen anhand der Zeichnung. Es zeigt:

Fig. 1 einen typischen vorgegebenen Verla uf einer Strom kurve d urch die Mo- torspulen eines Schrittmotors;

Fig. 2 eine vergrößerte Darstellung des ersten Quadranten des Stromkurvenverlaufes gemäß Figur 1; und

Fig. 3 ein beispielhaftes Blockschaltbild als Teil einer integrierten Schaltungsanordnung gemäß der Erfindung.

Figur 1 zeigt einen typischen zeitlichen Verlauf einer vorgegebenen Stromkurve (mit Stromamplitudenwerten Y über der Zeitachse X) über eine volle Periode zur An- steuerung einer Phase eines Schrittmotors im Mikroschrittbetrieb, wenn erhöhte Anforderungen an die Präzision des Gleichlaufes des Motors gestellt werden. Die Kurve wird, wie eingangs bereits erwähnt wurde, durch Synthese verschiedener Sinus- und Dreiecksfunktionen oder Mischungen daraus in bekannter Weise so erzeugt, dass die an den Motorlauf oder die Positioniergenauigkeit gestellten Anforderungen erfüllt werden. Die Kurve zeigt, dass solche Stromverläufe zwar im Allgemeinen stetig, im mathematischen Sinne aber nicht unbedingt monoton steigend oder monoton fallend sind. Wie bereits erwähnt wurde, kann davon ausgegangen werden, dass aufgrund des symmetrischen Aufbaus des Motors der Stromverlauf in den vier Quadranten einer Periode symmetrisch ist, so dass die gesamte Kurve nur für einen Quadranten ermittelt und abgespeichert werden muss und die Stromverläufe in den anderen Quadranten daraus mit einfachen Rechenoperationen durch symmetrische Spiegelungen ermittelt werden können.

Es sei gemäß Figur 1 beispielhaft angenommen, dass sich die Stromkurve entlang einer vollen Periode aus insgesamt 1024 Stützstellen zusammensetzt, wobei die zeitlichen Abstände (d.h. die Abstände entlang der X-Achse) zwischen zwei benachbarten Stützstellen vorzugsweise jeweils gleich groß sind und wobei jeder der Stützstellen 0 bis 1023 jeweils ein quantisierter Amplitudenwert Y des Stroms in der Weise zugeordnet ist, dass sich der in der Figur 1 gezeigte Stromkurvenverlauf ergibt. Gleichzeitig bedeutet dies, dass der Motor über eine volle Stromperiode 1024 Mik- roschritte ausführt (Schrittauflösung), da mit jedem Stromwert an jeder Stützstelle ein Mikroschritt erzeugt wird. Ferner sei angenommen, dass die Stromamplituden maximal 256 diskrete positive oder (auf Grund der genannten Symmetrie) maximal 256 diskrete negative Werte annehmen können, womit im Allgemeinen ein vorge- gebener Stromkurvenverlauf hinreichend genau erzeugt werden kann. Realisierbar sind aber natürlich auch andere Schritt- und Quantisierungsauflösungen.

Da aus den oben genannten Gründen der Stromkurvenverlauf nur in einem Quadranten betrachtet zu werden braucht, soll die Erfindung anhand der vergrößerten Darstellung des ersten Quadranten der Stromkurve gemäß Figur 2 erläutert werden. Sinngemäß gelten diese Erläuterungen aber natürlich auch für die anderen Quadranten und damit für den gesamten Stromkurvenverlauf.

I n dem in Figur 2 gezeigten Quadranten befinden sich also 256 Stützstellen, wobei nur die Stützstelle 0 und die Stützstelle 255 bezeichnet ist.

Weiterhin ist gemäß Figur 2 der erste Quadrant des Stromkurvenverlaufes entlang der Zeitachse X in beispielhaft vier Segmente WO, Wl, W2, W3 unterteilt. Die jeweilige zeitliche Länge der Segmente (die somit deren Anzahl bestimmt) wird so ge- wählt, dass innerhalb eines Segmentes die Steigung der Stromkurve an den einzelnen Stützstellen, d.h. die Anzahl von Quantisierungsstufen, um die sich der Amplitudenwert an einer Stützstelle von dem Amplitudenwert a n einer benachbarten Stützstelle unterscheidet, nur relativ geringfügig von einer gewählten höchsten oder niedrigsten Basis- oder Grundsteigung des Stromkurvenverlaufes innerhalb dieses Segmentes abweicht, und zwar vorzugsweise nur in dem Umfang, dass diese Abweichung an den einzelnen Stützstellen jeweils durch einen 1-Bit-Wert (d.h. den Wert 0 oder 1) dargestellt werden kann, wobei der Wert 0 keine Abweichung und der Wert 1 eine Abweichung der Steigung bezeichnet, die um eine vorbestimmte feste Anzahl n von Quantisierungsstufen (n = 1, 2, 3,..) der Stromamplitude höher (bzw. niedri- ger) ist als die für dieses Segment festgelegte niedrigste (bzw. höchste) Basis- oder Grundsteigung. Grundsätzlich kann die Abweichung jedoch auch durch einen Mehr- Bit-Wert (zum Beispiel durch eine Binärzahl mit zwei oder mehr Stellen) dargestellt werden, um eine genauere Qua ntifizierung der Abweichung zu ermöglichen. I m folgenden wird jedoch davon ausgegangen, dass die Abweichung durch den oben genannten 1-Bit-Wert dargestellt wird.

Es wird also innerhalb jedes Segmentes WO, Wl, W2, W3 zum Beispiel die dort jeweils vorhandene, geringste Steigung des Stromkurvenverlaufes an einer Stützstelle ermittelt und als Basis- oder Grundsteigung festgelegt. Dazu wird, wie oben er- wähnt, der gewünschte Stromkurvenverlauf im Vorhinein berechnet und entsprechend der Quantisierungsauflösung (Auflösung der Amplitudenwerte) digitalisiert.

Ausgehend davon wird dann zu jeder Stützstelle in eine Tabelle der Wert 1 einge- tragen, bei der der digitalisierte Amplitudenwert an dieser Stützstelle im Vergleich zum Amplitudenwert an der vorhergehenden Stützstelle um die vorbestimmte feste Anzahl n von Quantisierungsstufen höher ist als die Basis- oder Grundsteigung. Andererseits wird der Wert 0 eingetragen, wenn dies nicht der Fall ist, d.h. wenn der digitalisierte Amplitudenwert an dieser Stützstelle mit dem Amplitudenwert an der vorhergehenden Stützstelle zuzüglich der Basis- oder Grundsteigung übereinstimmt oder nur um eine Anzahl m < n von Quantisierungsstufen höher ist.

Umgekehrt wäre es auch möglich, innerhalb jedes Segmentes WO, Wl, W2, W3 die dort jeweils vorha ndene, höchste Steigung des Stromkurvenverlaufes an einer Stützstelle zu ermitteln und als Basis- oder Grundsteigung festzulegen und dann in die Tabelle zu jeder Stützstelle einen Wert 1 einzutragen, bei der der digitalisierte Amplitudenwert an dieser Stützstelle im Vergleich zum Amplitudenwert an der vorhe rgehenden Stützste lle um die vorbesti m mte feste Anza hl n von Qua ntisierungsstufen niedriger ist als die Basis- oder Grundsteigung. Andererseits wird der Wert 0 eingetragen, wenn dies nicht der Fall ist, d.h. wenn der digitalisierte Amplitudenwert an dieser Stützstelle mit dem Amplitudenwert an der vorhergehenden Stützstelle zuzüglich der Basis- oder Grundsteigung übereinstimmt oder nur um eine Anzahl m < n von Quantisierungsstufen niedriger ist. Somit braucht zu jeder Stützstelle nur jeweils ein 1-Bit-Wert in die Tabelle eingetragen zu werden, so dass anstelle des eingangs genannten Speichers von 256*8 Bit nur ein Speicher von 256*1 Bit erforderlich ist.

Dies bedeutet, dass die Länge der Segmente, d.h. die Anzahl von Stützstellen inner- halb eines Segmentes, im Falle der Festlegung der geringsten Steigung als Basis- oder Grundsteigung so bemessen werden muss, dass innerhalb eines Segmentes die Abweichung der Steigung an jeweils benachbarten Stützstellen von der Basis- oder Grundsteigung nicht größer ist als die vorbestimmte feste Anzahl n von Quantisie- rungsstufen und betragsmäßig auch nicht kleiner wird als die Basis- oder Grundstei- gung selbst.

Umgekehrt muss die Länge der Segmente, d.h. die Anzahl von Stützstellen innerhalb eines Segmentes, im Falle der Festlegung der höchsten Steigung als Basis- oder Grundsteigung so bemessen werden, dass innerhalb eines Segmentes die Abwei- chung der Steigung an jeweils benachbarten Stützstellen von der Basis- oder Grundsteigu ng nicht klei ne r ist a ls die vorbestimmte feste Anzahl n von Quantisie- rungsstufen und betragsmäßig auch nicht größer wird als die Basis- oder Grundsteigung selbst. Somit sind also in den Bereichen des Stromkurvenverlaufes, die eine relativ starke Krümmung aufweisen (und in denen sich somit die Steigung relativ stark ändert), die Segmente relativ kurz, während in den Bereichen, in denen sich die Steigung nur geringfügig ändert, die Segmente relativ lang sein können. Der tatsächliche digitale Wert Y der Stromamplitude an einer Stützstelle s ergibt sich dann im Falle der Festlegung der geringsten Steigung als Basis- oder Grundsteigung aus der Summe aus dem s-fachen der Basis- oder Grundsteigung W (die zum Beispiel zwei Quantisierungsstufen pro Stützstelle beträgt), plus der Anzahl von Werten 1, wobei diese Anzahl mit der Anzahl n der Quantisierungsstufen zu multip- lizieren ist, und die ggf. zu den Stützstellen 0 bis s jeweils hinzu addiert wurden.

Im Falle der Festlegung der höchsten Steigung als Basis- oder Grundsteigung ergibt sich der tatsächliche digitale Wert Y der Stromamplitude an einer Stützstelle s aus der Sum me aus dem s-fachen der Basis- oder Grundsteigung W (die zum Beispiel zwei Quantisierungsstufen pro Stützstelle beträgt), minus der Anzahl von Werten 1, wobei diese Anzahl mit der Anzahl n der Quantisierungsstufen zu multiplizieren ist, und die ggf. von den Stützstellen 0 bis s jeweils subtrahiert wurden.

In dem Beispiel der Figur 2 erstreckt sich das erste Segment WO zwischen der Stütz- stelle 0 am Beginn des (ersten) Quadranten und einer Stützstelle XI, das zweite Segment Wl zwischen der Stützstelle XI und einer Stützstelle X2, das dritte Segment W2 zwischen der Stützstelle X2 und einer Stützstelle X3 und das vierte Segment W3 zwischen der Stützstelle X3 und der Stützstelle 255 am Ende des (ersten) Quadranten.

Aus dem in Figur 2 dargestellten beispielhaften Stromkurvenverlauf wird auch deutlich, dass aufgrund der relativ geringen Veränderung bzw. hohen Konstanz der Steigung in dem ersten und vierten Segment WO, W3 diese Segmente relativ lang sind, während sich in dem zweiten und dritten Segment Wl, W2 die Steigung in stärke- rem Maße verändert bzw. die positive Steigung in eine negative Steigung übergeht, so dass diese Segmente entsprechend kürzer sind.

Beispielhaft beträgt gemäß Figur 2 die jeweils als niedrigste Steigung gewählte Basis- oder Grundsteigung W in dem ersten Segment WO: +2, in dem zweiten Segment Wl: +1, in dem dritten Segment W2: 0 und in dem vierten Segment W3: -1.

Unter Berücksichtigung des genannten 1-Bit-Wertes (0 oder 1), der zu dieser Basisoder Grundsteigung W hinzuzuaddieren ist, sowie einer oben genannten vorbestimmten festen Anzahl n = 1 von Quantisierungsstufen bedeutet dies also, dass sich in dem ersten Segment WO die Stromamplitude zwischen zwei aufeinander folgenden, benachbarten Stützstellen um zwei oder um drei Quantisierungsstufen erhöht. In dem zweiten Segment Wl erhöht sich die Stromamplitude zwischen zwei aufeinander folgenden, benachbarten Stützstellen um eine oder um zwei Quantisierungsstufen, und in dem dritten Segment W2 zwischen null und einer Quantisie- rungsstufe. In dem vierten Segment W3 vermindert sich hingegen die Stromampli- tude zwischen zwei aufeinander folgenden, benachbarten Stützstellen u m eine Quantisierungsstufe oder sie bleibt unverändert.

Eine bevorzugte Weiterbildung der Erfindung trägt der Tatsache Rechnung, dass aufgrund dieser inkrementellen Codierung der Werte Y der Stromamplituden ein Fehler, der zum Beispiel bei einer Änderung der Tabelle während des Betriebes des Motors entstehen kann, zu einer Verfälschung der absoluten Werte der Stromamplituden führen würde. Um dieses zu verhindern, werden bevorzugt Initialisierungswerte bei bestimmten Stützstellen zusätzlich in der Tabelle gespeichert.

Wie in Figur 2 angedeutet ist, können solche Initialisierungswerte am Beginn jedes Quadranten liegen, wobei im Falle einer Sinus-Welle die Stromamplitude der ersten Stützstelle 0 stets den Wert 0 erhält. In entsprechender Weise kann im Fa lle einer Cosinus-Welle bei einem 2-Phasen- Schrittmotor an der ersten Stützstelle 0 eine Initialisierung für den 90°-Wert erfolgen.

Wie bereits eingangs erwähnt wurde und in Figur 1 erkennbar ist, ist der Stromkur- venverlauf über die gesamte Periode symmetrisch, so dass sich die für den ersten Quadranten beschriebenen Abläufe in dem zweiten bis vierten Quadranten entsprechend symmetrisch wiederholen und durch einfache Rechenoperationen aus den in der Tabelle für den ersten Quadranten gespeicherten Werten ermittelt werden können.

Figur 3 zeigt ein beispielhaftes vereinfachtes Blockschaltbild einer Schaltungsanordnung zur Erzeugung der Werte Y der Stromamplituden an jeder Stützstelle, d.h. für jeden Mikroschritt eines Schrittmotors, wobei die am Ausgang der Schaltung anliegenden Stromamplitudenwerte Y einem bekannten Stromregler bzw. einer bekann- ten Motor-Treiberschaltung zugeführt werden. Diese Schaltung betrifft beispielhaft den Fall, in dem als Basis- oder Grundsteigung die geringste Steigung innerhalb eines Segmentes und eine bevorzugte Anzahl n = 1 von Quantisierungsstufen festgelegt wurde. Für die anderen oben erläuterten Ausführungsformen bzw. Kombinationen von Basis- oder Grundsteigung mit der Anza hl n von Quantisierungsstufen kann die Schaltung entsprechend angepasst werden.

Der gewünschte, in Figur 1 beispielhaft dargestellte Verlauf der Stromamplitude durch die Motorspulen wird, wie oben erwähnt wurde, vorab in Abhängigkeit von bestimmten Motorparametern sowie den an den Gleichlauf des Motors gestellten sowie ggf. a nderen Anforderungen ermittelt. I m Anschluss da ra n wird da nn ein Quadrant des Stromamplitudenverlaufes gemäß obigen Erläuterungen in Segmente aufgeteilt, wobei die Anzahl und die Länge der einzelnen Segmente sowie die Basisoder Grundsteigung innerhalb jedes Segmentes gemäß obigen Kriterien vorzugsweise mit einem entsprechenden Computerprogramm berechnet werden.

Die wesentlichen Komponenten der Schaltungsanordnung sind ein Tabellenspeicher 10, vorzugsweise in Form eines 256*1 Bit RAM im Falle von 256 Stützstellen bzw. Mikroschritten pro Quadrant des Stromkurvenverlaufes, ein Mikroschrittzähler 13, ei n Speiche r 16 fü r Sta rtwe rte, ein Mikroschrittregister 12, ein Segment- Komparator 18, ein erster Multiplexer 11 für die Basis- oder Grundsteigungen W0,...W3, ein zweiter M ultiplexer 19 für Startwerte, ein erster und ein zweiter Addierer AI, A2, ein Multiplizierer 17 sowie ein erster und ein zweiter Vergleicher 14, 15. Über einen Eingang Cl wird der Schaltungsanordnung ein Schritt-Takt zugeführt, mit dem jeweils von einem Mikroschritt (bzw. einer Stützstelle des St rom kurve nver- laufes) zu einem nächsten Mikroschritt (bzw. einer nächsten Stützstelle) weiter geschaltet wird.

Der über den Eingang zugeführte Schritt-Takt Cl wird dem Mikroschrittzähler 13 zugeführt, der diese Takte zyklisch entsprechend der Anzahl der Stützstellen in jeder Stromkurvenperiode zählt, so dass der jeweilige Zählerstand jeweils eine der Stützstellen der Stromkurvenperiode bezeichnet.

Der aktuelle Zählerstand wird mit jedem Takt dem Tabellenspeicher 10 übermittelt. Daraufhin wird aus der in dem Tabellenspeicher 10 gespeicherten Tabelle derjenige 1-Bitwert (0 oder 1) ausgelesen, der der dem Zählerstand entsprechenden Stützstelle der Stromkurvenperiode durch die Tabelle zugeordnet ist.

Der Zählerstand wird ferner dem Segment-Komparator 18 zugeführt, mit dem er- mittelt wird, innerhalb welches Segmentes W0,..Wn sich die betreffende, durch den Zählerstand repräsentierte Stützstelle befindet. Zu diesem Zweck wird der Zählerstand mit denjenigen gespeicherten Stützstellen XI,...Xn verglichen, die jeweils einen Übergang bzw. eine Grenze zwischen zwei Segmenten W0,...Wn darstellen. Mit dem Ausgangssignal des Segment-Komparators 18 wird der erste Multiplexer 11 so angesteuert, dass an dessen Ausgang die für das ermittelte Segment festgelegte Basis- oder Grundsteigung anliegt. Mit dem ersten Addierer AI wird dann diese Basis- oder Grundsteigung zu dem aus dem Tabellenspeicher 10 ausgelesenen 1-Bit- Wert addiert und die Summe an den Multiplizierer 17 angelegt. Der Zählerstand wird ferner einem ersten Vergleicher 14 zugeführt, mit dem ermittelt wird, ob sich die durch den Zählerstand repräsentierte Stützstelle in einem positiven oder einem negativen Quadranten des Stromkurvenverlaufes befindet.

Mit dem Ausgangssignal des ersten Vergleichers 14 wird der Multiplizierer 17 in der Weise angesteuert, dass die an seinem Eingang anliegende Summe mit dem Faktor 1 multipliziert wird, wenn sich die Stützstelle in einem positiven Quadranten befindet, und mit dem Faktor -1 multipliziert wird, wenn sich die Stützstelle in einem negativen Quadranten des Stromkurvenverlaufes befindet. Die auf diese Weise mit einem Vorzeichen versehene Summe aus Basis- oder Grundsteigung und 1-Bit-Wert wird dann dem zweiten Addierer A2 zugeführt, mit dem diese Summe zu dem Ausgang des IVlikroschrittregisters 12 addiert wird. Das Ausgangssignal des zweiten Addierers A2 wird dann über den zweiten Multiplexer 19 für Startwerte wieder dem Eingang des IVlikroschrittregisters 12 zugeführt, um auf diese Weise durch Akkumulation bzw. Aufaddition den Stromamplitudenwert Y für die durch das zugeführte Schritt-Taktsignal repräsentierte Stützstelle des Stromkurvenverlaufes zu erzeugen. Der zweite Multiplexer 19 für Startwerte dient dabei zu der oben erläuterten Initialisierung. Wenn zu Beginn einer Periode des Stromkurvenverlaufes (wieder) der erste Schritt-Takt an dem Schaltungseingang anliegt und somit der Stand des Mikro- schrittzählers 13 (wieder) den Wert 1 annimmt, wird der zweite M ultiplexer 19 durch den zweiten Vergleicher 15 so angesteuert, dass anstelle des Ausgangssignals des zweiten Addierers A2 ein in dem Speicher 16 gespeicherter Startwert über den zweiten Multiplexer 19 an den Eingang des Mikroschrittregisters 12 angelegt wird.

Die in Figur 3 gezeigte Schaltungsanordnung wird schließlich vorzugsweise noch mit einem zweiten Eingang versehen, der mit dem Mikroschrittzähler 13 verbunden ist, und über den dieser mittels eines zugeführten Schaltsignals zwischen einer Vorwärts- und einer Rückwärts-Zählrichtung umgeschaltet werden kann, um eine Drehrichtung des Motors in beiden Richtungen zu ermöglichen.

Die beschriebene Schaltungsanordnung wird vorzugsweise als Teil einer integrierten Ansteuerschaltung für 2-, 3- oder Mehrphasen-Schrittmotoren realisiert.