-         

Ergebnis 1 bis 7 von 7

Thema: Servo hin und her Programmieren?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140

    Servo hin und her Programmieren?

    Anzeige

    Hallo ich möchte das Servo so Programmieren das es einmal ganz rechts und einmal ganz links steht.Wie funzt das?So irgendwie nicht




    Code:
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 1
    
    Config Portb = Output
    
    Enable Interrupts
    
     '5,5 ist ganz links 40 ganz rechts bei Reload 1^^
    
    
    Do
    
    Servo(1) = 5.5
    Wait 5
    Servo(1) = 40
    
    
    Loop

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2007
    Ort
    Bodenseeregion
    Alter
    27
    Beiträge
    135
    Das is so:

    Wenn du Servo(1) = 5.5 eingibst, fängt der Servo an nach links zu drehen, aber bekommt 5 milisekunden später den Befehl ganz nach rechts zu drehen. Im Endeffekt ist das ein zitternder Servo, der nicht weis ob er jetzt nach rechts oder links soll

    Mach mal Wait 1000, dann sollte es klappen.

    Gruß Robin

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2005
    Ort
    München
    Beiträge
    20
    Wieso 5 milisekunden, da steht wait und nicht waitms !

    Ich würde nach "Servo(1) = 40" auch noch ein wait setzen, den der Servo dreht nach links, wartet 5 sekunden, dreht nach rechts wartet nicht und dreht sofort wieder nach links.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    ein servo fährt 120 einheiten nach links und 120 ein heiten nach rechts, 3x.
    probier mal aus. must dein prozessor angeben ,den crystal und dein port.
    musst mit den werten in der forschleife den anschlag evtl noch ausmachen.

    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    Dim Sw As Byte
    Dim Z As Byte
    
    Config Servos = 1 , Servo1 = Portd.6 , Reload = 10
    
    Config Portd = Output
    Enable Interrupts
    
    Wait 1
    
    For Z = 0 To 3
    For Sw = 48 To 168
    Servo(1) = Sw
    Waitms 10
    Next Sw
    
    Waitms 100
    
    For Sw = 168 To 48 Step -1
    Servo(1) = Sw
    Waitms 10
    Next Sw
    
    Next
    
    End

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2007
    Ort
    Bodenseeregion
    Alter
    27
    Beiträge
    135
    sry hab mich verlesen...

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140
    Ja ich teste es mal habe aber heute keine Zeit mehr Roboterheld!

    Der Servo läuft auch irgendwie zu langsam woran liegt das?

    Also wenn ich ich das richtig verstanden habe dreht er bei 1ms nach links ,bei 1,5ms mitte,2ms nach rechts. wie gebe ich das genau an?
    Und was heißt Reload?

    Danke für die guten Antworten.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    ...Und was heißt Reload?......

    die bascomhilfe ist deine glaskugel.

Berechtigungen

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