-         

Ergebnis 1 bis 3 von 3

Thema: Digitaler Servo ansteuern?

  1. #1

    Digitaler Servo ansteuern?

    Anzeige

    GearBest Black Friday Verbraucherelektronik Promotion
    Guten Tag,

    ich habe eine Frage bzgl. der Ansteuerung von Servo Motoren. Vorab hier mein verwendeter Code.

    #include <Servo.h>

    Servo rightleft;

    int right = 2;
    int left = 3;
    int right_state;
    int left_state;
    int servo_val;

    void setup()
    {
    Serial.begin(9600);
    pinMode(right, INPUT);
    pinMode(left, INPUT);
    rightleft.attach(6);
    servo_val = rightleft.read();
    }

    void loop()
    {
    right_state = digitalRead(right);
    left_state = digitalRead(left);

    if(right_state == HIGH)
    {
    rightleft.write(servo_val - 1);
    delay(14);
    servo_val = rightleft.read();
    Serial.println("Right HIGH");
    }

    if(left_state == HIGH)
    {
    rightleft.write(servo_val + 1);
    delay(14);
    servo_val = rightleft.read();
    Serial.println("Left HIGH");
    }
    }


    Das funktioniert alles wunderbar bei einem Analog Servo AS3103 PG. Jetzt wollte ich einen größeren Servo ((DS3115) der digital ist anschließen. Dieser habe ich mit dem + Pol an eine 6 Volt Spannungsquelle verdrahtet. Die Massen von Arduino und externen Spannungsquelle sind miteinander verbunden.

    Der Servo reagiert aber absolut auf keine Betätigung meiner beiden Buttons. Das einzige was er macht ist dass er im ca. Sekundentakt von links nach rechts stottert.

    Woran kann das liegen?

    Vielen Dank schon mal.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    48
    Beiträge
    2.092
    Genug Strom vorhanden?

    Digitalservos regeln deutlich schneller als die 50Hz von Analogservos.
    Damit sind sie kräftiger. Bei gleicher Spannung muß da natürlich der Strom größer sein.
    Ich mußte letzte Woche bei 5,5V, 3A am Netzteil einstellen Damit nichts stotterte.
    Kann aber auch sein, das dein Servo die Vorgabe in kürzeren Abständen als 20ms erwartet.
    Es gibt Modelle die wollen alle 4ms ein Signal. Da mußt Du mal im Datenblatt sehen was Dein Servo haben will.

    Wenn ich mal schnell google:
    http://www.thanksbuyer.com/ds3115-15...el-robot-35918
    Control parameters:
    - Working voltage: 5-7.4V
    - Working frequency: 50-330HZ
    - Operating angle: 180 degree
    - Rotating direction: CCW
    - Control system: pluse width

    Kann sein das die Steuerimpulse etwas zu langsam sind.
    Oft wird nicht von steigender Flanke bis zur nächsten steigenden Flanke 20ms eingehalten =50Hz.
    Sondern es wird zwichen zwei Steuerimpulsen eine 20ms Pause gemacht. damit ist die resultierende Frequenz kleiner 50Hz.
    Wenn dein Servo mit 50-330Hz funktioniert, kann es sein das das erzeugte Signal auserhalb seiner Spezifikation ist und nur rund einmal pro Sekunde das Timing so ist, das er kurz hintereinander beide Endlagen erkennt und sich entsprechend verhällt.
    Geändert von i_make_it (13.10.2016 um 07:33 Uhr)

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.11.2003
    Beiträge
    805
    Hallo

    Ein grosser Kondensator in der Versorgungsleitung des Servos hilft auch.

    73
    Ich bin keine Signatur, ich putz hier nur ....

Ähnliche Themen

  1. Servo ansteuern
    Von sp33dy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 18.05.2010, 20:57
  2. Servo ansteuern
    Von Hübi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 24.10.2008, 10:31
  3. Servo ansteuern
    Von Felix H. im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 09.03.2008, 14:47
  4. Sharp Digitaler Entfernungssensor GP2Y0D340K wie ansteuern?
    Von hackgreti im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 17.02.2007, 16:02
  5. Servo ansteuern?
    Von michaelb im Forum C - Programmierung (GCC u.a.)
    Antworten: 27
    Letzter Beitrag: 30.07.2005, 09:10

Berechtigungen

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