| |
FishStep : Schrittmotoren
Die
Klasse FishStep des Python Moduls FishFa30 ermöglicht die
Programmierung von Schrittmotoren. Einzeln oder im XY-Verbund.
Dazu gibt es die Funktionen :
Einzelner Schrittmotor (an zwei nebeneinanderliegenden M-Ausgängen) :
- StepHome(MotNr)
- StepTo(PosHook, MotNr, Xabs)
- StepDelta(PosHook, MotNr, Xrel)
Zwei Schrittmotoren im XY-Verbund (an drei nebeneinanderliegenden
M-Ausgängen):
- PlotHome(MotNr)
- PlotTo(PosHook, MotNr, Xabs, Yabs)
- PlotDelta(PosHook, MotNr, Xrel, Yrel)
Die Positionierungsangaben erfolgen in Zyklen (a 4 Steps von 7,5°) gerechtet
ab zugehörenden Endtaster (StepTo, PlotTo) oder bezogen auf die aktuelle
Position (StepDelta, PlotDelta). Mit StepHome/PlotHome wird die Nullposition
angefahren.
Beispiel Zeichnen eines Quadrates :
from FishFa30
import *
def Vieleck(RelList):
for xy in RelList: ft.PlotDelta(None,
1, xy[0], xy[1])
Plotter = 1
ft = FishStep(((1,333),(3,222)))
ft.OpenInterface("COM2")
ft.PlotHome(Plotter)
ft.PlotTo(None, Plotter, 50, 50)
Vieleck(((50,0),(0,50),(-50,0),(0,-50)))
ft.CloseInterface() |
Die Schrittmotoren sind an M1-M3 angeschlossen, der maximale Fahrweg beträgt
333/222 Zyklen in X/Y-Richtung (ft = FishStep)
Mit PlotHome wird die Null-Stellung angefahren. PlotTo fährt zur linken unteren
Ecke des zu zeichnenden Quadrats (Koordinaten 50/50 bezogen auf den Nullpunkt).
Anschließen wird mit PlotDelta über die Funktion Vieleck ein Quadrat mit 50
Zyklen Kantenlänge gezeichnet.
Wenn man denn gerade keinen Plotter auf dem Schreibtisch stehen hat und auch
die Mühe scheut, schnell einen zu bauen, startet man ein Elefantenrennen :
An die ohnehin schon zu Testzwecken aufgebauten Schrittmotoren steckt man
möglichst viel Schnecke und an die Schneckenmutter steckt man je zwei
Jumbo-Räder. Das Quadratzeichnen kann beginnen :
- Die Räder rollen einträglich, nebeneinander und gleichzeitig in Richtung
Endtaster (vor den grauen Motorträgern). Ist einer eher da wartet er auf
den anderen (PlotHome)
- Es geht wieder 50 Zyklen zurück in Richtung Schneckenende, schön im
Gleichschritt (PlotTo).
- Und nun abwechselnd, mal der eine, mal der anderer jedoch immer 50 Zyklen,
hin oder her.
Das wars (man könnte sie natürlich auch noch überkreuz stellen).
Beispiele und Handbuch sind in PythonFish30.ZIP
enthalten.
Stand : 05.09.2003
|