- 3D-Druck Einstieg und Tipps         
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 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.

  2. #2
    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, 22: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, 17:19
  3. [ERLEDIGT] Ansteuerung mehrerer Servos mit M32
    Von Ingo1988 im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 14.08.2011, 18:32
  4. Fototransistoren gehen nicht.
    Von eleto im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 22.10.2008, 10:51
  5. 2 Servos mit Bascom - gehen nicht richtig
    Von Jon im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 18
    Letzter Beitrag: 11.07.2006, 14:49

Berechtigungen

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

Labornetzteil AliExpress