| | Der Betrieb von Schrittmotoren
Ist immer ein interessantes Thema. z.Zt. wird er vom ROBO Interface nicht
direkt unterstützt. Deswegen hier eine kleine Bibliothek (im Stil der
mitgelieferten Robot-Bib Position ES) mit Routinen zum Betrieb einzelner
Schrittmotoren mit ROBO Pro. Das geht zwar etwas langsam, ist aber recht
instruktiv. Ein Betrieb im X/Y-Verbund (Plot-Mode) scheint mir als ROBO
Pro-Lösung doch etwas zu aufwendig. Da sollte man z.B. zu C#
2005 oder auch VB 2005 wechseln und
mit der Assembly FishFace2005.DLL (Klasse FishStep) arbeiten.
Anmerkungen zum Schrittmotorbetrieb siehe auch auf den Detail-Seiten Schritt1
und Schritt2. Das dort genannte Zeitverhalten für
das Intelligent Interface gilt in etwa auch für das ROBO Interface.
Die vorgestellte ROBO Pro-Lösung wurde mit ROBO Interface - USB - ROBO Pro
und Intelligent Interface - COM - ROBO Pro getestet (Download : Step2.ZIP).
Anmerkungen zum Zeitverhalten siehe
Das Modell
|
Das Modell ist sehr einfach :
Motor links an M1/M2 mit Endtaster I1 und Motor rechts an M3/M4 mit
Endtaster I3. Es ist ein reiner Versuchsaufbau. Beim Anfahren der Position
0 (Home) ist manuell der entsprechende Endtaster zu drücken. |
Das Hauptprogramm
|
Ist sehr schlicht : Der Reihe nach nur
Unterprogrammaufrufe und ein paar Pausen, damit man den
Zwischenstand geniessen kann :
Anfahren der Home-Position. Die Positionsangabe 0 hat eine
Sonderstellung, es werden hier keine Schritte gezählt sondern stracks der
zugehörenden Endtaster angefahren.
Anfahren der Position 48 (ab Endtaster) mit dem linken (X) Motor.
Anfahren der Position 48 mit dem rechten (Y) Motor
Zurück nach 1.
Simultanes Anfahren der Position X = 64 und Y = 64. Da StepXY nicht
interpoliert (s.o.) wird hier erst eine 45° Schräge und dann eine Gerade
gefahren. Das ist bei einem Plot-Betrieb nicht schön - nochmal : s.o.
|
StepRechts : Motorlauf nach rechts
|
Beschreibt dern Rechts-Zyklus des Schrittmotors
:
M1 : links, Pause 10 ms
M2 : links, Pause 10 ms
M1 : rechts, --
M2 : rechts
Die von fischertechnik bzw. Knobloch
angebotenen Schrittmotoren machen pro Schaltung eine Drehung von 7.5°,
ein Zyklus ist mit 30° demensprechend die kleinste ansteuerbare Einheit
(12 Zyklen = eine Umdrehung).
|
StepTo : Anfahren einer vorgegebenen Position
|
Entspricht weitgehend der Routine Pos aus der Bibliothek Position ES.
Die Impulstasterzählung wurde durch die Routinen Links und Rechts
ersetzt.
Das Links auf der rechten Seite ist für das Anfahren der Home-Position
(Endtaster) verantwortlich.
|
StepToX : Anfahren einer vorgegeben X-Position
|
Um den praktischen Betrieb zu vereinfachen wurden hier Motoren, Endtaster
und die globale Variable für die aktuelle Position fest zugeordnet.
|
StepToXY : Anfahren einer vorgegebenen X/Y-Position
|
Hier die Routinen StepX und StepY im X/Y-Verbund. Y läuft dabei in einem
eigenen Thread, der mit Aufruf von StepXY gestartet wird und sich selber
beendet. Der X-Zweig wartet ggf. darauf.
Hinweis : Da die Motoren unabhängig voneinander laufen, kommt auch keine
gerade Linie zwischen zwei vorgegebenen Punkten zustande. Dazu siehe die
Einleitung oben.
|
Stand : 28.02.2008
|