Probleme mit 2 Servos

Moin
Ich habe folgendes Problem.
Ich habe 2 servo Motoren angeschlossen die nacheinander angesteuert werden. Der 2. Servo funktioniert wunderbar, doch der 1. Servo der geht ab und zu und mal garnicht. Wenn ich die Leitungen von Servo 2 zu 1 tausche funktioniert servo 1 wunderbar. Also ist das Programm richtig so weit ich weiß. Hardware ist auch richtig.
Woran kann nun das Problem liegen ? Bin langsam an verzweifeln

Danke für die Hilfe

Kein Code.
Kein Plan.
Kein Foto.
Welche Verzweiflung ist größer? Deine oder derjenigen, die sich jetzt was zusammenreimen?

Ich habe meine Glaskugel geputzt:
Falls dann Servo 2 mit den Leitungen von Servo 1 nicht funktioniert; Die Leitung.
Falls der Effekt mit zwei "gut" getesteten Leitungen auftritt: Die Stromversorgung.

Die Annahme, etwas sei "richtig" gilt nur bis zum Beweis des Gegenteils ("Das Atom ist unteilbar" - deshalb heißt es ja so).

Das ist mein Code.
in dem fall wie beschrieben ist servo1-servo_arm

#include <Servo.h>
Servo deckel_Servo;
Servo arm_Servo;

const int deckel_servo_pin = 10;
const int arm_servo_pin = 11;
const int schalter = 8;

const int DECKEL_SERVO_MIN = 20;
const int DECKEL_SERVO_MAX = 70;

const int ARM_SERVO_MIN = 15;
const int ARM_SERVO_MAX = 175;

void setup()
{
pinMode(schalter,INPUT_PULLUP);
deckel_Servo.attach(deckel_servo_pin);
arm_Servo.attach(arm_servo_pin);
}
void loop()
{
if(digitalRead(schalter) == HIGH)
{
delay(1000);
deckel_Servo.write(175);
delay(500);
arm_Servo.write(ARM_SERVO_MAX);
delay(500);
arm_Servo.write(ARM_SERVO_MIN);
delay(200);
deckel_Servo.write(DECKEL_SERVO_MIN);
}
}

Code-Tags wären hilfreich.

Warum wird das Deckelservo auf 175 gestellt, wo das Maximum doch 70 sein soll? (Zeilen 10 und 26)

const int DECKEL_SERVO_MAX = 70;
deckel_Servo.write(175);

das war noch zum testen so, hab ich gerade wieder geändert

Kannst Du das mal bitte etwas genauer machen?
servo1-servo_arm
Im Code ist
deckel_Servo = Servo 1
arm_Servo = Servo 2

Welcher aus dem Code ist jetzt bitte welcher? Beziehe Dich einfach nur auf den Code, der leider nicht kommentiert ist.

Dann noch eine Bitte: Code bitte in der IDE mit BEARBEITEN - FÜR FORUM KOPIEREN - und dann hier einfügen.
Das erspart gaanz viel Arbeit.

Ich hab mal den servo 2 zur probe als kommentar rausgenommen, dann geht das aber nur wenn ich nach dem hochladen einmal vom servo1 die Spannung unterbreche.

#include <Servo.h>
Servo deckel_Servo; //SERVO2
Servo arm_Servo; //SERVO1

const int deckel_servo_pin = 10; //SERVO2
const int arm_servo_pin = 11; //SERVO1
const int schalter = 8;

const int DECKEL_SERVO_MIN = 20; //SERVO2
const int DECKEL_SERVO_MAX = 70;

const int ARM_SERVO_MIN = 15; //SERVO1
const int ARM_SERVO_MAX = 180;

void setup()
{
  pinMode(schalter,INPUT_PULLUP);
  deckel_Servo.attach(deckel_servo_pin);
  arm_Servo.attach(arm_servo_pin);
}
void loop()
{
 if(digitalRead(schalter) == HIGH) //wenn schalter betätigt
 {
  delay(1000);                 //1s warten
  deckel_Servo.write(70);      //SERVO 2 hoch
  delay(1000);                 //1s warten
  
  arm_Servo.write(ARM_SERVO_MAX); //SERVO 1 hoch
  delay(1000);                    //1s warten
  arm_Servo.write(ARM_SERVO_MIN); //SERVO 1 runter
  delay(1000);
  
  deckel_Servo.write(DECKEL_SERVO_MIN); //SERVO 2 runter

 }
}

ich glaube ich hab das problem gefunden.
wenn ich den 2. servo von der spannung nehme dann geht der 1. servo , also wird der strom zu hoch sein die beide benötigen als das die UNO das wuppt. was wären denn alternativen zur ansteuerung von den servos mit arduino ?

nen zweites Netzteil.
5V vom Netzteil auf die Servos
GND vom Netzteil und GND vom Arduino verbinden - nicht mehr.
Fertig.

Das hättest längst haben können. Hast mich aber ignoriert.

Na dann...

Ein Servo braucht leicht mehr Strom als die USB-Schnittstelle liefern kann. Eine USB- 2 Buchse kann 500mA liefern, außerdem hat der Arduino UNO eine 500mA Sicherung.
Auch eine Versorgung des Arduino über das Vin Pin oder die Netzteilbuchse kann keine Lösung sein.
Je nach Wert der Versorgungsspannung können 100mA bis 200mA an 5V verbraucht werden.

Wie bereits vorgeschalgen spendiere ein extra Netzteil für die Servos wobei ich eines für mindestens 2A wählen würde.

Grüße Uwe

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.