- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 85

Thema: RP6Control M32: Library für 8 Servos

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hallo andi,

    so ganz verstehe ich dein Prog nicht.

    Rein formal:
    1. Mit initSERVO() must du ALLE Servos, die du angeschlossen hast, in der Main (also VOR der while(1)-Schleife!) EINMAL definieren. Wenn du also Servos an 1, 3 und 4 hast, dann steht da:
    initSERVO(SERVO1 | SERVO3 | SERVO4);
    In einer Funktion (und bes. in einer Schleife) hat initSERVO nichts zu suchen.

    2. Wenn sich der Arm bewegen soll, müßtest du die Servopositionen für eine bestimmte Bewegung z.B. in einer Funktion (Armrunter, Armhoch, Handauf ...) zusammen fassen. Das sind dann mehrere Positionen pro Bewegung, zwischen denen je eine Pause liegt.

    Gruß Dirk

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Hallo Dirk,
    erstmal: dein Beitrag ist einfach toll!
    Mal eine kleine Frage zu Zeile 68 der Datei RP6ControlServoLib.h.
    Nach meinem Verständnis müsste das doch so sein:

    #define MIDDLE_POSITION ((RIGHT_TOUCH + LEFT_TOUCH) / 2) // Middle position (~1.5ms)

    denn left Touch ist ja nicht gleich null.

    grüsse,
    Patrick

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @Patrick,

    sorry, hatte erst jetzt deinen Beitrag gelesen.

    Nein, die Definition in der Lib ist ok, weil ich die Servos von 0 bis RIGHT_TOUCH ansteuere.
    LEFT_TOUCH wird nur in der Lib für das einmalige Einstellen des linken Anschlags benötigt.
    Im Programm braucht man dann LEFT_TOUCH nicht mehr, weil der linke Anschlag 0 ist.
    MIDDLE_POSITION ist dann tatsächlich RIGHT_TOUCH / 2.
    Gruß
    Dirk

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.12.2010
    Ort
    Dörpen
    Alter
    27
    Beiträge
    120
    hey,
    ich wollte die library für 8 Servos heute ausprobieren und wollte dann einfach zunächst das demo-programm ausprobieren, da ich nach einer vernünftigen servo-ansteuerung suche!
    als ich das demo-programm dann erfolgreich kompilert habe, und es dann mit nem servo ausprobieren sollte, hab ich es einfach, wie in der lib beschrieben in pin 7 gesteckt (also eig sollte es ja mit 2 Servos angesteuert werden, aber ich hatte gerade nur einen parat.) als ich das programm dann gestartet hab, ist weiter nichts passiert.
    als ich dann mal die anderen io-s ausprobiert habe, habe ich dann einen io gefunden, wo sich am servo überhaupt was getan hat. nämlich pc7, also pin 1!
    allerdings hat sich der servo auch nicht in irgendeiner art bewegt, sondern hat einfach einen lauten ton, von sich gegeben, und der servo vibrierte einwenig.
    weiter ist allerdings nix passiert -.-
    Bitte helft mir! würde mich über schnelle antworten freuen!
    Lieben Gruß Marcel

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    wenn Du den Servo in pin1 steckst hast du PC7 und das ist Servo 1 laut der LIB, also auch
    initSERVO(SERVO1); und servo1_position = pos; benutzen.
    Nun es gibt viele Töne. Ein kratzendes schnarren hatte ich bei neuen Servos auch mal, nach dem Aufschrauben fand ich dann ein Zahnrad mit abgefrästen Zähnen.
    Was sagt denn das Display über die Position ? Hast Du noch andere Servos zum testen ? Hast Du eine eigene Stromversorgung für die Servos ?
    MfG TrainMen

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.12.2010
    Ort
    Dörpen
    Alter
    27
    Beiträge
    120
    hey trainmen!
    es liegt nicht am servo, denn ich habe es mit anderen Servos auch schon ausprobiert, immer wieder das gleiche geräusch.
    es muss wohl an etwas anderes liegen.
    also ein display habe ich momentan auch gar nicht angeschlossen.
    LG Marcel

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    Was passiert denn wenn Du den Servo mal von Hand drehst in Mittelstellung und dann probierst ?
    MfG TrainMen

Berechtigungen

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

Labornetzteil AliExpress