- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 33

Thema: Modelcraft Servos gehen nicht an M32

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
    Mit welchem Programm steuerst du denn die Servos an?
    Eigentlich müßten die Digitalservos auch mit konventioneller Ansteuerung funktionieren.
    Die Servos sind schon ok.
    Gruß
    Dirk

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.01.2010
    Ort
    Bielefeld
    Beiträge
    101
    Ich steuere sie halt über das m32 modul und programmers notepad:

    void servo1(int pos)//rechter Servo
    {
    PORTC |= IO_PC4;
    sleep(pos);
    PORTC &= ~IO_PC4;
    sleep(200-pos);
    }

    void servo2(int pos)//linker Servo
    {
    PORTC |= IO_PC6;
    sleep(pos);
    PORTC &= ~IO_PC6;
    sleep(200-pos);
    }

    und aufrufen in main:

    for(x=3;x<25;x++)
    {
    servo1(x);
    servo2(x);
    setCursorPosLCD(1,5);
    writeIntegerLCD(x, DEC);
    mSleep(350);
    clearLCD();
    }

    so hat es vorher ja auch immer funktioniert.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Für die normalen Servos war ja sleep(200-pos) für die ~20ms Pause (18..19ms) zwischen den Impulsen gedacht.
    Deine digitalen Servos schaffen auch (100-pos), (50-pos) und (10-pos) und sollten keine längeren Pausen haben.

    Das ist also vielleicht das erste Hauptproblem (wenn der elektrische Anschluss stimmt!):
    Deine Pause zwischen den Servo-Impulse wird durch ...
    setCursorPosLCD(1,5);
    writeIntegerLCD(x, DEC);
    mSleep(350);
    clearLCD();
    ... extrem verlängert,- möglicherweise kommen die digitalen Servos damit nicht klar.

    Vorschläge:
    1. Ich würde mal den ganzen Anzeigekram probeweise rausnehmen.
    2. Auch dann werden noch die 2 Servofunktionen nacheinander abgearbeitet, so dass sich der Impuls + Pause des einen Servos zu der Pause des jeweils anderen Servos dazu addiert (2. Hauptproblem). Also haben deine Servos jetzt (ohne Anzeigezeugs) noch eine Pause nach jedem Impuls von [18-19ms eigene Pause + Impuls des anderen Servos + dessen Pause (18-19ms)]. Das müßtest du so umschreiben, dass JEDES Servo MINDESTENS alle 20ms (besser alle 5-10ms) einen eigenen Impuls bekommt.
    3. In der x-Schleife gibt es viel zu wenig Zeit für die Positionsänderung: Gib den Servos pro Position mindestens 5-10 Impulse in der jeweiligen Stellung.
    Gruß
    Dirk

Ähnliche Themen

  1. RP6Control M32: Library für 8 Servos
    Von Dirk im Forum Robby RP6
    Antworten: 84
    Letzter Beitrag: 12.02.2013, 21:17
  2. [ERLEDIGT] Servo Modelcraft Standard-Servo RS 2 an M32-Board
    Von dirty_bird_981 im Forum Robby RP6
    Antworten: 29
    Letzter Beitrag: 07.02.2012, 16:19
  3. [ERLEDIGT] Ansteuerung mehrerer Servos mit M32
    Von Ingo1988 im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 14.08.2011, 17:32
  4. Fototransistoren gehen nicht.
    Von eleto im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 22.10.2008, 09:51
  5. 2 Servos mit Bascom - gehen nicht richtig
    Von Jon im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 18
    Letzter Beitrag: 11.07.2006, 13:49

Berechtigungen

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

Solar Speicher und Akkus Tests