-         

Ergebnis 1 bis 5 von 5

Thema: Schrittmotor Richtung

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    Schrittmotor Richtung

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    mein Schrittmotor vom pollin (siehe thread: Schrittmotor aus cd-laufwerk) läuft mittlerweile munter vor sich hin
    allerdings nur in eine richtung
    bis jetzt habe ich folgendes zur ansteuerung:

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    Dim Vor(4) As Word
    Dim Zust As String * 10
    Dim N As Byte
    Dim Ein As Byte
    Dim Led(4) As Byte
    Dim Port As Byte
    
    Config Portc.7 = Output
    Config Portc.6 = Output
    Config Portb.0 = Output
    Config Portb.1 = Output
    Config Portd.4 = Output
    Config Portd.5 = Output
    Portc.6 = 1
    Portc.7 = 1
    Portb.0 = 1
    Portb.1 = 1
    Portd.4 = 1
    Portd.5 = 1
    
    
    Vor(1) = 11010 : Vor(2) = 10110 : Vor(3) = 10101 : Vor(4) = 11001
    Led(1) = 0 : Led(2) = 1 : Led(3) = 6 : Led(4) = 7
    
    Do
    
    For N = 1 To 4                                              'schritte!!    (n)
    For Port = 1 To 4                                           'anschlüsse!!  (port)
    Zust = Mid(vor(n) , Port , 1)
    Ein = Zust
    If Port < 3 Then
    Portb.led(port) = Ein
    Else
    Portc.led(port) = Ein
    End If
    Next Port
    Waitms 2
    Next N
    
    Loop
    
    End
    das ganze läuft auf dem rn-control, deswegen portc.6 , portc.7 , portb.0 und portb.1 .
    durch was müsste ich jetzt folgende zeile ändern, damit er sich in die andere Richtung dreht??

    Vor(1) = 11010 : Vor(2) = 10110 : Vor(3) = 10101 : Vor(4) = 11001

    warscheinlich ist es ganz einfach, nur ich komme nicht darauf?!?!
    habe natürlich auch schon die sufu und google benutzt, allerdings nichts brauchbares gefunden.

    danke für eure antworten!
    gruß
    chris

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo CheGuevara,

    abgesehen von der kreativen Art, Nuller und Einser zu verwenden, hast du ja alle Schritte soweit.
    Du läßt die Schleife For N = 1 To 4 -> Next N weg und schreibst stattdessen:
    If Ereignis = 1 Then
    N = N + 1
    Else
    N = N - 1
    End If
    If N > 5 Then N = 1
    If N < 1 Then N = 4

    Dann Kommt dein restlicher Code, der je nach N die richtigen Ports einschaltet.
    "Ereignis" ist natürlich 0 oder1 bzw. Vorwärts oder rückwärts.

    Gruß, Michael

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hallo Michael,

    danke für deine schnelle und funktionstüchtige antwort
    ich muss zugeben, ich habe sehr viele möglichkeiten ausprobiert, das allerdings nicht *schämm*

    aber eine frage hätte ich jetzt noch:
    ist nicht böse gemeint, aber das mit "der kreativen art" ist doch reine ironie... wie hättest du den das ganze gemacht??

    gruß
    chris

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo CheGeuvara,

    wie hättest du den das ganze gemacht??

    Dim Schritt as Byte

    Do
    Schritt vor oder zurückzählen
    Select Case Schritt
    Case 0 : Gosub Schritt1
    Case 1 : Gosub Schritt2
    etc.
    End Select
    Loop
    End

    Schritt1:
    PortX.Y = 1
    PortX.Z = 0
    PortX.X = 0
    PortA.B = 1
    PortC.D = 0
    Return
    etc.

    Gruß, Michael

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    so hatte ich es auch schon, allerdings bin ich in der letztn zeit auf dem trip, für alles eine function zu erstellen :-S
    vorher hatte ich immer nur für einen best. fall etwas programmiert, dabei bin ich allerdings ziemlich oft auf konflikte/grenzen/viel arbeit xD gestoßen!

    gruß
    chris

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •