-
        

Ergebnis 1 bis 4 von 4

Thema: Servo schnell und langsam laufen lassen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Dennis2006
    Registriert seit
    12.01.2006
    Beiträge
    166

    Servo schnell und langsam laufen lassen

    Anzeige

    Hi!

    Ich arbeite zur Zeit mit Bascom und einem ATMEGA8 sowie einem Standard-Servo. Dieses habe ich bereits mittels des Bascom Servo Befehls erfolgreich angesteuert.

    Leider fährt es jetzt immer nur mit voller Geschiwindigkeit in die jeweilige Position.



    Wie muss ich den Code ändern, damit ich die Geschwindigkeit einstellen kann?

    Vielen Dank!

    Gruß

    Dennis

    Code:
    Config Servos = 1 , Servo1 = Portc.0 , Reload = 10
    
    Config Portc = Output
    
    Enable Interrupts
    
    Do
    Servo(1) = 31
    waitms 50
    Servo(1) = 152
    waitms 50
    Loop

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Leider fährt es jetzt immer nur mit voller Geschiwindigkeit in die jeweilige Position.
    Das liegt in der Natur der Sache - normale Standardservos können nur ganz oder garnicht.

    Du kannst mal versuchen es dahingehend zu überlisten, dass Du den Weg (also bei Dir von 31 bis 152) in viele kleine Teilwege unterteilst und Zeitverzögerungen einbaust. Also etwa so:

    Code:
    Config Servos = 1 , Servo1 = Portc.0 , Reload = 10
    
    Config Portc = Output
    
    Enable Interrupts
    
    Dim Z as Byte
    
    Do
    
    For Z = 31 to 152
    Servo(1) = Z
    waitms 20
    Next Z
    
    ...
    
    
    Loop
    So würde es 121*20 ms, also knapp 2,5 Sekunden dauern.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    und was ist daran überlisten? so macht man das doch? naja gut in c würde man halt die timervariable selbst verändern bei jedem aufruf ...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    und was ist daran überlisten?
    Na ja, ich denke, dass etliche Entwicklungsingenieure täglich ihr Hirnschmalz dafür einsetzen, Servos mit möglichst kurzen Stellzeiten zu entwickeln. Ob man aber von "überlisten" sprechen kann, wenn man die Stellzeit künstlich verlangsamt, darüber lässt sich natürlich trefflich diskutieren.

    so macht man das doch?
    Absolut Korrekt - aber Dennis2006 kannte diese Variante in B offensichtlich noch nicht

Berechtigungen

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