Herunterladen Inhalt Inhalt Diese Seite drucken

Schrittmotoransteuerung; Ausgangssignale; Referenzfahrten Und Positions-Initialisierung - Scanlab RTC 5 Installation Und Inbetriebnahme

Inhaltsverzeichnis

Werbung

9.1.5 Schrittmotoransteuerung

Ausgangssignale

Die Signale (ENABLE, DIRECTION und CLOCK) zur
Ansteuerung von bis zu zwei Schrittmotoren werden
an der Stiftleiste "STEPPER MOTOR" ausgegeben
• Das ENABLE-Signal (zum Ein- und Ausschalten
des Motorstroms) kann während der Initiali-
sierung mit
stepper_init
stepper_enable
oder
geeignet verändert werden.
• Als CLOCK-Signal generiert die RTC
Referenzfahrten mit
stepper_init
onsfahrten mit
stepper_abs
Pulse. Mit jedem CLOCK-Puls führt der Schritt-
motor einen einzelnen Schritt aus. Die Pulspe-
riode für die CLOCK-Signale (und damit die
Geschwindigkeit der Schrittmotorbewegung)
kann während der Initialisierung mit
oder nachträglich mit
stepper_control_list
eingestellt werden (die
Periode wird in Einheiten von 10 µs-Takten spezi-
fiziert).
• Das DIRECTION-Signal (und damit die Richtung
der Schrittmotorbewegung) kann bei Referenz-
fahrten mit
stepper_init
werden. Bei Zielpositionsfahrten mit
etc. wird das DIRECTION-Signal dagegen intern
gesteuert: das Signal wird (auf HIGH) gesetzt,
wenn der nächste CLOCK-Puls (gemäß vorgege-
benem Zielpositionswert) zu einer Vergrößerung
der internen Positionsvariablen führen würde.
Das DIRECTION-Signal bleibt auch für die Takte
zwischen zwei CLOCK-Pulsen gesetzt, ebenso,
wenn der Schrittmotor seine Zielposition erreicht
hat. Erst bei einem echten Richtungswechsel wird
das DIRECTION-Signal anstelle eines CLOCK-Pulses
entsprechend anders gesetzt. Der nächste CLOCK-
Puls wird dabei erst um eine volle CLOCK-Pulspe-
riode später ausgegeben (CLOCK-Puls-Perioden
werden also nie undefiniert abgeschnitten).
Hinweise
• Zur Signal-Spezifikation siehe
• Zum Auslesen der Signale siehe
(1) Schrittmotorsignale stehen nur für RTC
Versionsnummer 2 und größer (siehe
#16-23) zur Verfügung. Bei älteren RTC
Schrittmotorbefehle nicht ausgeführt.
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
9 Programmierung von Peripherie-Schnittstellen
(1)
:
oder nachträglich mit
stepper_enable_list
®
5 (bei
und Zielpositi-
etc.) periodisch
stepper_init
stepper_control
oder
explizit festgelegt
stepper_abs
Seite
58.
Seite
228.
®
5-Karten mit DSP-
get_rtc_version
Bits
®
5-Karten werden die
®
5 PC/104-Plus-Karte, RTC
• Die Schrittmotorsignale werden unabhängig von
einer etwaigen Listenausführung ausgegeben.
Ein set_end_of_list, pause_list, set_wait,
stop_execution
und externe Listen-Stopps
beenden oder unterbrechen eine Bewegungs-
fahrt nicht.
• Sowohl bei Richtungswechsel als auch bei einem
Periodenwechsel werden bereits angefangene
Perioden noch abgewartet, bevor die neuen
Werte aktiv werden. Dadurch werden niemals
kürzere als die aktuell eingestellten Pulsabstände
erzeugt. Bei einem Richtungswechsel wird
zusätzlich eine leere Periode (ohne CLOCK-Puls)
eingefügt.

Referenzfahrten und Positions-Initialisierung

Mit
stepper_init
kann eine Referenzfahrt zum jewei-
ligen Endschalter ausgelöst werden. Die gewünschte
Fahrtrichtung kann dabei über den Parameter Dir
vorgegeben werden. Um sicherzustellen, dass die
erreichte Endposition auch bei mechanischem Spiel
oder erhöhten Signallaufzeiten nicht jenseits des
Endschalters liegt, kann ein Toleranzwert Tol ange-
geben werden, um den der Schrittmotor nach
Erreichen des Endschalters in die entgegengesetzte
Richtung zurückfährt.
SCANLAB empfiehlt, zuerst eine (schnelle) Referenz-
fahrt mit kleiner CLOCK-Pulsperiode Period und
anschließend eine weitere (kürzere, aber langsamere)
Referenzfahrt mit größerer CLOCK-Pulsperiode auszu-
führen.
Bei erfolgreich abgeschlossener Referenzfahrt
werden als Referenz für nachfolgende Zielpositions-
fahrten sowohl die interne Positionsvariable (für die
aktuelle Position) als auch der interne Zielpositi-
onswert auf den über den Parameter Pos festge-
legten Wert gesetzt. Die angefahrene
Referenzposition ist gegenüber der Endschalterpo-
sition um ±Tol (richtungsabhängig) verschoben.
Für Period = 0 und/oder Dir < 0 wird keine Refe-
renzfahrt ausgeführt. Stattdessen wird die dann
aktuelle Schrittmotor-Position als neue Referenzpo-
sition festgelegt (mit dem über Pos definierten neuen
Wert für Positionsvariable und Zielpositionswert).
Da
stepper_init
auf jeden Fall eine zuvor gestartete
Schrittmotor-Bewegung stoppt, kann der Befehl bei
Bedarf auch für einen Not-Halt für die Schrittmotoren
genutzt werden.
®
5 PCIe/104-Karte
227

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis