FishStep

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail

 

FishStep : Schrittmotoren

Schrittmotororen im XY-VerbundDie 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 :

  1. 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)
  2. Es geht wieder 50 Zyklen zurück in Richtung Schneckenende, schön im Gleichschritt (PlotTo).
  3. 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