Tja, wofür werden nun Schrittmotoren gebraucht?
Schrittmotoren werden vorwiegend in der Industrie verwendet. Mit Schrittmotoren werden z.B. Roboter, Plotter oder Köpfe einer Festplatte bewegen. Der Vorteil eines Schrittmotors ist, daß er exakt an einer Position angehalten werden kann. Der Schrittmotor kann, je nach Typ, auf 0,8° - 1,2° Grad genau positioniert werden und somit kann ein mit Schrittmotoren betriebener Plotter Zeichnungen mit sehr hoher Genauigkeit anfertigen.
'Ein Elektromotor, dessen Antriebswelle bei jedem Stromimpuls eine Drehung um einen gleich großen Winkelschritt ausführt. Die Anzahl der Impulse einer bestimmten Impulsfolge ergibt die gewünschte Winkeldrehung als ganzzahliges Vielfaches der Teildrehungen.'
Es werden zwei, in ihrer Bauform unterschiedliche Motorentypen verwendet; unipolare- und bipolare Motoren. Auch die Ansteuerung dieser Motoren ist unterschiedlich.
Ein Schrittmotor besteht aus einem Permanentmagneten und zwei Spulen. Die Spulen sind im 90° Winkel zueinander angeordnet.
Abb. 1: Schematische Darstellung eines bipolaren Schrittmotors
Der Nordpol des Permanentmagneten wird von den beiden Spulen zwischen den Südpolen festgehalten. Wenn nun die Spulen umgepolt werden, muß der Permanentmagnet sich zwangsläufig auch in die neue Position mitdrehen und der Schrittmotor macht einen Schritt. Durch diese Art der Positionirung ist ein exakter Stopp auf einem Punkt möglich. Die Schrittmotoren sind außerdem durch die Anziehungs- und Abstoßungskräfte verhältnismäßig leistungsstark.
Zum Betrieb eines bipolaren Schrittmotors müssen beide angesteuert werden.
Abb. 2: Impulsdiagramm zur Abhängigkeit der Polarität der vier Stränge des
Schrittmotors
Der unipolare Motor besteht aus einer Spule in der sich der Permanentmagnet bewegt. Die Spule hat fünf Anzapfungen. Eine ist der gemeinsame Anschluß, die anderen werden nacheinander geschaltet.
Abb. 3:Impulsdiagramm zur Abhängigkeit der Polarität der vier Pole des
Schrittmotors
f
Um die softwareseitige Ansteuerung des Interfaces zu vereinfachen, ist die Applikation hardwarebasiert, d.h. die Software übernimmt nur Steuerungsaufgaben.
Dies macht es aber auch nötig, daß Hardware die motorspezifische Anpassung übernimmt.
Die Schaltung ist aus einem Zähler entwickelt, der direkt durch den Rechner angesteuert wird. Die Signale der dezimalen BCD-Ausgänge werden durch eine Transistorstufe verstärkt.
Abb. 4: Schaltplan Interface für unipolare Motoren
Die Schaltung ist aus einem Zähler entwickelt, der direkt durch den Rechner angesteuert wird. Die BCD-Signale werden durch einen Decoder in die vom Motor benötigten Signale umgesetzt, und durch eine Polwenderschaltung auf Versorgungsspannungsniveau angehoben.
Abb. 5: Schaltplan Interface für bipolare Motoren
Durch die hardwarenahe Auslegung des Interface gestaltet sich der Betrieb einfach. An die Pfostenverbindungen werden die entsprechenden Motoren angeschlossen, an die Klemmen 1,2 muß eine Gleichspannung von ca. 7 - 12 V gelegt werden und an die Klemmen 3, 4 die Versorgungs(gleich)spannung der Motoren. Die Klemmen 2, 3 sind kurzgeschlossen und dienen als Masseanschlüsse.
Zur Ansteuerung des Interface durch einen Computer muß die entsprechende Leitung des Statusregisters gesetzt werden, und eine Datenleitung muß abwechselnd ein- und ausgeschaltet werden.
Welche Leitungen das sind und welche Adressen diese haben, ist dem Anhang zu entnehmen.
Für die Ansteuerung des Interface müssen nur zwei Bedingungen erfüllt werden:
Die |Clear - Leitung des Zählers muß auf Masse gelegt werden und einer der Takteingänge muß angesteuert, der andere auf Masse gelegt werden.
Schnittstelle |
LPT 1(PRN) |
LPT 2 |
LPT 1 (HGA) |
|
|
|
|
dezimal |
888 |
632 |
956 |
hexadezimal |
378 |
278 |
3BC |
Offset 0
D 0 |
2^0 |
pin2 |
Motor 1 down |
D 1 |
2^1 |
pin3 |
Motor 1 up |
Offset 3
Strobe |
2^0 |
pin 1 |
Motor 1 |inable |
|
Offset 0
D 0 |
2^0 |
pin2 |
Motor 1 down |
|
D 1 |
2^1 |
pin3 |
Motor 1 up |
|
D 2 |
2^2 |
pin 4 |
Motor 2 down |
|
D 3 |
2^3 |
pin 5 |
Motor 2 up |
|
Offset 3
Strobe |
2^0 |
pin 1 |
Motor 1 |inable |
|
Autofeed |
2^1 |
pin 14 |
Motor 2 |inable |
|