Schrittmotor 2

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

Weitere Hinweise zum Schrittmotor 32311

 

Schrittmotor : Turmantrieb

In Ergänzung von Schritt1 : Schrittmotor 32311 wird hier die neue Methode StepTo vorgestellt: Sie ist wesentlich kürzer und genauer als die korrespondierende Methode MoveTo von FishFace.DLL(siehe FishFacX.ZIP). Weiterer Vorteil : die Motordrehzahl kann weitgehend stufenlos geregelt werden. Nachteil : es werden zwei M-Ausgänge belegt.

Versuchsaufbau Schrittmotor (M1 und M2) mit Schneckenwelle, die ein 60er Zahnrad antreibt, zusätzlich EndTaster E8. Motordaten siehe Schritt1.

Die Methode StepTo wurde für das serielle Interface erstellt (VB6 mit FishFRT6.DLL(WinNT) bzw. FishF632.DLL (Win9x) oder VB5 mit FishF532.DLL) mit dem der Schrittmotor am problemlosesten läuft. In der vollständigen Source sind - auch in Schritt1 - Sourceteile für den Betrieb mit dem parallelen Interface enthalten. Hier ist Fingerspitzengefühl bei der Einstellung der erforderlichen Waitzyklen erforderlich.

Private Sub StepTo(Ziel&)

' --- Positionieren auf vorgegebene Position ---


If (AktPosition - Ziel) <= 0 Then ' --- Rechts drehen
Do While AktPosition < Ziel
aktZyklus = IIf(aktZyklus = 4, 1, aktZyklus + 1)
ft.SetMotor ZyklusRechts(aktZyklus, 1), ZyklusRechts(aktZyklus, 2)
AktPosition = AktPosition + 1
If fakS > 0 And aktZyklus = 4 Then Sleep fakS
Loop
Else ' --- Links drehen
Do While AktPosition > Ziel
aktZyklus = IIf(aktZyklus = 4, 1, aktZyklus + 1)
ft.SetMotor ZyklusLinks(aktZyklus, 1), ZyklusLinks(aktZyklus, 2)
AktPosition = AktPosition - 1
If ft.StatusInputs And cTurmMaske Then
AktPosition = 0
Exit Sub
End If
If fakS > 0 And aktZyklus = 4 Then Sleep fakS
Loop
End If

End Sub

Bei fakS = 0 läuft der Motor mit Maximalgeschwindigkeit : 160 U/min das entspricht in etwa der Drehgeschwindigkeit des Antriebs mit Impulsrad. Mit fakS-Werten >0 kann die Drehgeschwindigkeit reduziert werden, dabei wird bei den Werten 1-6 durch das System einheitlich um 6 mSek verlangsamt, bei größeren Werten jeweils um eine mSek mehr.

Und alternativ eine Version mit LLWin30

schrll2.gif (21957 Byte)

Unterprogramm STEPTO (LLWin30) zur Positionierung auf eine durch EA (Terminal) vorgebbare Position. Angegeben werden Steps ab 0 (Home, Endtaster E1). 48 Steps bilden jeweils eine Umdrehung des Motors. Ein Zyklus umfaßt immer 4 Steps.

Die vollständige Source (schrit2.mdl) mit einem Demo-Rahmen und einem Init-Programm ist in llwin30.zip enthalten. Die Variable VAR99 enthält stets die aktuelle Position, die Variable EA des Terminals die Zielposition. Siehe auch schritt1.htm.