-         

Ergebnis 1 bis 5 von 5

Thema: Schrittmotorprogrammierung mit Bascom

  1. #1

    Schrittmotorprogrammierung mit Bascom

    Anzeige

    Hallo zusammen

    ich will einen Schrittmotor mit Bascom programmieren und ihn mit dem AVR Board ansteuern. Hat jemand eine Idee bzw Beispielprogramm? Ich habe 2 Taster zur Verfügung und er sollte langsam hochlaufen und dann wieder langsamer werden. Dies soll er solange machen bis ich taste. Dann soll er stehen bleiben. Hab schon angefangen aber häng gerade bei der Zeit fest.

    Schon mal schönen Dank für Eure Hilfe!

    Gruß

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.12.2007
    Beiträge
    280
    ich hab nen bipolaren Schrittmotor über L293D so angesteuert:
    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 1600000
    
    
    Dim A As Byte
    
    Config Pina.0 = Input
    Config Pina.2 = Input
    
    Porta.0 = 1
    Porta.2 = 1
    
    Config Portc.0 = Output
    Config Portc.1 = Output
    Config Portc.2 = Output
    Config Portc.3 = Output
    
    Portc.0 = 1
    Portc.1 = 1
    Portc.2 = 1
    Portc.3 = 1
    
    
    A = 0
    
    Do
       If Pina.0 = 0 Then
          Waitms 300
          If A < 4 Then
             A = A + 1
          Else
             A = 1
          End If
       End If
    
       If Pina.2 = 0 Then
          Waitms 300
          If A > 1 Then
             A = A - 1
          Else
             A = 4
          End If
       End If
    
       If A = 1 Then
          Gosub Macheschritt1
       End If
       If A = 2 Then
          Gosub Macheschritt2
       End If
       If A = 3 Then
          Gosub Macheschritt3
       End If
       If A = 4 Then
          Gosub Macheschritt4
       End If
    Loop
    
    
    Declare Sub Macheschritt1
    Declare Sub Macheschritt2
    Declare Sub Macheschritt3
    Declare Sub Macheschritt4
    
    Sub Macheschritt1
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 0
          Portc.3 = 1
          Waitms 20
    End Sub
    
    Sub Macheschritt2
          Portc.0 = 0
          Portc.1 = 1
          Portc.2 = 1
          Portc.3 = 0
          Waitms 20
    End Sub
    
    Sub Macheschritt3
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 1
          Portc.3 = 0
          Waitms 20
    End Sub
    
    Sub Macheschritt4
          Portc.0 = 1
          Portc.1 = 0
          Portc.2 = 0
          Portc.3 = 1
          Waitms 20                                             '
    End Sub
    
    
    End
    Weis nicht ob die Verzögerungen notwenig sind. Ich glaub so könntest du auch das langsam Hochfahren lösen. Über zwei Taster hab ich ihn einen Schritt nach links bzw. rechts machen lassen.

  3. #3

    Schrittmotor

    Erst mal danke für die schnelle Hilfe.

    Sieht schon sehr gut aus. Problem bei mir ist nur das die Drehzahl langsam steigert bis zu einem Endwert und danach soll er selbständig stoppen und wieder von alleine langsam hochfahren, bis ich einen Taster drücke.
    Vieleicht fällt dir ja hierzu noch was ein.
    Ich denk da irgendwie an einen Timerder ständig die Werte erhöht oder so. Oder eine Art Schieberegister der den Wert in kleinen Schritten erhöht.

    Gruß \/

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    FOR / NEXT Schleife?

  5. #5
    for/next Schleife? wie soll ich die anwenden? Kannst du mir ein Beispiel schicken?

    Gruß

Berechtigungen

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