- 12V Akku mit 280 Ah bauen         
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
    Inzwischen habe ich die Lib auch einmal auf die M256 umgeschrieben. Geändert habe ich nur die 8 Ports, und habe in der TCCR1A-Definition die Bits FOC1A und FOC1B gelöscht,- die gibt es beim 2560 nicht in TCCR1A. TCCR1C = 0 habe ich noch eingefügt.

    Und: Es gibt bei mir auch Probleme:
    Ich habe die 8 Portpins genommen, die an IO_PWM/T2/T3 zur Verfügung stehen.

    Da sieht es so aus, dass das Servo an PE7/ICP3 gar nicht und an PE4/OC3B nur mit "Unterbrechungen" funktioniert. Alle anderen Servos laufen unauffällig.
    Ich sehe mir morgen mal mit dem Oszi an, was da (nicht) läuft.
    Gruß
    Dirk

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17
    Das TIMSK Register hast du aber auch zu TIMSK1 gemacht? Oder zu was anderem?

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Ja, TIMSK wird zu TIMSK1.

    Das klappt ja auch,- nur gibt es merkwürdige Effekte bei einzelnen Ports. Ich habe bis jetzt keine Erklärung.
    Gruß
    Dirk

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17
    Also ich weis nicht ob das bei der Loesungssuche hilft:

    Erstmal meine Definitionen nochmal:
    SERVO1: PB6/OC1B
    SERVO2: PB5/OC1A
    SERVO3: PG5/OC0B

    Ich habe festgestellt, dass wenn ich nur einen Servo initialisiere z.B. initSERVO(SERVOx); dann passieren folgende Sachen bei diesen Konstellationen:

    initSERVO(SERVO1); ->> kein Servo bewegt sich, wenn das Programm laeuft
    initSERVO(SERVO2); ->> kein Servo bewegt sich, wenn das Programm laeuft

    initSERVO(SERVO3); ->> SERVO1 und SERVO2 bewegen sich anfangs komisch, dann faehrt SERVO1 immer von einem Anschlag zum anderen (Obwohl mein DEMO-Programm das garnicht machen soll, sonder Servo-Positionen ueber die Terminaleingabe annehmen).

    Und nun der absolute Hammer:

    Wenn das Programm garnicht laeuft (Also im Disply unten >READY! steht), dann ist SERVO1 lose bewegbar, SERVO2 auch,
    aber SERVO3 Blockiert am rechten Anschlag.

    Drehe ich nun SERVO1 und SERVO2 auch auf rechten Anschlag und drehe SERVO3 (leicht gewaltsam) nach links und lasse dann los, wandern die beiden anderen Servos, solange sich SERVO1 zum Anschlag dreht nach links!!

    Ist das nur Zufall oder wofuer spricht das?
    Geändert von MM2forever (12.02.2013 um 09:39 Uhr)

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Ich habe mal ein Amperemeter dazwischengehengt - Die Servos brauchen eigentlich nur ganz wenig (im Leerlauf) - also eine Ueberlastung meiner 1A Spannungsquelle kann eigentlich nicht vorliegen. Was soll ich tun?
    Mein Posting eins über Deinem neuen hast Du beachtet?
    https://www.roboternetz.de/community...l=1#post521561
    (den beiden Links folgen)

    Das steht auch in der Anleitung, die Steckverbinder auf der M256 und allen sonstigen Erweiterungsmodulen sind als I/O Steckverbinder ausgelegt,
    nicht für Stromversorgung vieler Servos (ein zwei gehen i.d.R.).
    Servos erzeugen hochfrequente Störungen auf den Versorgungsleitungen, die Peaks die auch mal locker über 1A pro Servo gehen können siehst Du mit einem Multimeter natürlich nicht. Das zeigt nur einen Mittelwert an.

    Ansonsten natürlich drauf achten das ALLE Pins korrekt initialisiert wurden / als Ausgang konfiguriert sind.

    MfG,
    SlyD

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17
    Nun, so wie ich das verstehe beziehen sich die Links darauf, wenn man direkt Strom vom Robby fuer die Servos nimmt.

    Ich benutze ja eine Zusaetzliche Spannungsquelle, der Masse ich mit der des Robbys verbunden habe:
    https://www.roboternetz.de/community...l=1#post570986
    (siehe auch Bild)

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Ah das Bild hab ich mir gar nicht genau angeschaut...

    Prinzipiell schonmal gut das zu trennen.
    Es kann in Deinem Fall dennoch daran liegen. Ein 9V Block ist Käse für sowas.
    Die sind nicht für hohe Spitzenströme ausgelegt und haben einen sehr hohen
    Innenwiderstand und recht geringe Kapazität.

    Häng mal den 5V Regler ans Akkupack des RP6 (+UB) oder versorge die Servos einfach
    mal direkt aus den +5V des Reglers auf dem Mainboard, nimm aber einen der
    Anschlüsse der dicht am Regler ist.

    MfG,
    SlyD

Berechtigungen

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

LiFePO4 Speicher Test