-         

Ergebnis 1 bis 8 von 8

Thema: rn-minicontroll servo zuckt nur

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2009
    Beiträge
    6

    rn-minicontroll servo zuckt nur

    Anzeige

    Hallole zusammen,

    habe ein RN-Minicontroll Board und will damit später mal mehrere Servos ansteuern, jedoch habe ich schon bei einem Servo das Problem das wenn ich das Programm aus der Hilfe in meinen Controller einspiele das der Servo nur zweimal kurz, und immer in die gleiche Richtung zuckt.
    Habe leider keinen mit dem gleichen Problem gefunden. Hoffe mir kann Trotzdem jemand helfen.

    Vielen Dank schon mal

    Code:
    $regfile = "m168def.dat"
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    $hwstack = 32
    $framesize = 32
    $swstack = 32
    
    Dim Center As Integer
    Dim Servopos As Integer
    Dim Left As Integer
    Dim Right As Integer
    Left = 50
    Right = 150
    Center = 100
    Servopos = Center
    
    'Servo config
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    
    'as an option you can use TIMER1
    
    'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 , Timer = Timer1
    
    'we use 2 Servos with 10 uS resolution(steps)
    
    'we must configure the port pins used to act as output
    
    Config Portb = Output
    
    'finally we must turn on the global interrupt
    
    Enable Interrupts
    
    'ende Servo config
    
    Do
    Print "Servo Test"
       Wait 1
    
          Servopos = Center
          Servo(1) = Servopos
          Wait 10
    
          Servopos = Left
          Servo(1) = Servopos
          Wait 10
    
             Print "Rechtsdrehung"
             For Servopos = Left To Right Step 10
            Servo(1) = Servopos
            Wait 10
            Next
            Wait 10
    
             Print "Linksdrehung"
             For Servopos = Right To Left Step -10
            Servo(1) = Servopos
            Wait 10
            Next
            Wait 10
    
             Print "Mitte"
            Servopos = Center
            Servo(1) = Servopos
    
       Loop

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    17.12.2006
    Beiträge
    39
    Hast du den Servo an einer eigenen Versorgungsspannung ?
    Es könnte sein das der Servo zu viel Strom zieht wenn er sich bewegt und dadurch die Versorgungsspannung des Controllers kurz zusammenbricht und sich der Controller resettet. Und dann beginnt das Spiel von vorn

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Folgendes fällt mir auf:

    Servo(x) ist eine Byte-Variable, vielleicht stört die Integer-Variable
    50 und 150 könnten bereits außerhalb des möglichen Stellbereiches liegen. Teste mal 80 bis 120.
    Wozu gehst du den Umweg über Servopos?
    10 Sekunden Pause sind zum Testen recht lang.
    Servos brauchen eine eigene Stromversorgung.
    Masse Servo muss an Masse Controller.

    Viel Erfolg.

    Stefan

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2009
    Beiträge
    6
    Hi,

    das ging ja super schnell mit einer antwort, und es scheint jetzt auch zu funktionieren. Habe den Servo jetzt direkt an mein Netzteil geklemmt. Dachte es reicht wenn ich das Netzteil voll hochdrehe ( auf 12 V ).

    Was mir allerdings noch etwas komisch vor kommt ist das der Servo erst gegen den Uhrzeigersinn auf Anschlag dreht. Danach dreht der Servos schon hin und her. Zumindest auf die Left und Right Positionen, Center Position funkt jedoch nicht.

    Grüßle

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Hi,

    das ging ja super schnell mit einer antwort, und es scheint jetzt auch zu funktionieren. Habe den Servo jetzt direkt an mein Netzteil geklemmt. Dachte es reicht wenn ich das Netzteil voll hochdrehe ( auf 12 V ).
    12 V am Servo? Und das lebt noch? Üblicherweise laufen Servos ca. mit 4-7 V

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2009
    Beiträge
    6
    ne hatte die 12V am Board und den Servo dann am ganz normal angesteckt.
    Jetzt wo ich den Servo direkt am Netzteil habe läuft es nur mit 6V

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von High Light
    Registriert seit
    21.08.2009
    Ort
    Baden Württemberg
    Beiträge
    142
    Hey,

    i sag mal danke, kann zwar nix zum Thema mehr beitragen,
    aber der Quellcode hat mir sehr weiter gebracht.

    Eine Frage habe ich, kennt sich hier jemand mit Lipos aus?
    Vlt kann sich ja jemand bei mir melden.

    Gruß High Light

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2009
    Beiträge
    6
    Also das ist der aktuelle Stand der Funzt. zur abwechslung auch mal *g*

    Code:
    $regfile = "m168def.dat"
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    $hwstack = 32
    $framesize = 32
    $swstack = 32
    
    Dim Center As Integer
    Dim Pos1 As Integer
    Dim Pos2 As Integer
    Dim Pos3 As Integer
    Center = 105
    Pos1 = 30
    Pos2 = 180
    Pos3 = 140
    
    
    'Servo config
    Config Servos = 1 , Servo1 = Portd.2 , Reload = 10
    
    
    Config Portd = Output
    
    
    
    
    'finally we must turn on the global interrupt
    
    Enable Interrupts
    
    'ende Servo config
    
    Do
          Servo(1) = Center
          Waitms 1000
    
          Servo(1) = Pos1
          Waitms 1000
    
          Servo(1) = Center
          Waitms 1000
    
          Servo(1) = Pos3
          Waitms 1000
    
          Servo(1) = Center
          Waitms 1000
    
          Servo(1) = Pos2
          Waitms 1000
    
       Loop

Berechtigungen

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