Servo bewegt sich nicht

Hi,

ich habe ein sehr seltsames Servoproblem. Wenn ich einen TowerPro micro Servo dranhänge klappt alles ohne Probleme. Wenn ich allerdings einen HighTorque Servo von Conrad (Modelcraft MC-410) dranmache passiert nix. Jetzt wird’s richtig seltsam: Wenn ich das Sweep Beispiel aus der Servo Lib nehme macht auch der große Servo was, aber sehr ungleichmäßig. Ich hab dann mal ein externes 5V 1A Netzteil drangehangen (Ground vom Netzteil hab ich mit dem Arduino Mega verbunden). Keine Besserung…

Ich steh auf dem Schlauch…

#include <Servo.h>
Servo servo1;

int LEDblau=13;
int taster=9;
int tasterstatus=0;

void setup()
{
pinMode(LEDblau, OUTPUT);
pinMode(taster, INPUT);

servo1.attach(40);
servo1.write(0);
}

void loop()
{
tasterstatus=digitalRead(taster);
if (tasterstatus == HIGH)
{

  servo1.write(180);
  delay(1000);
  servo1.write(0);
digitalWrite(LEDblau, HIGH);
delay (5000);
digitalWrite(LEDblau, LOW);
}
else
{
digitalWrite(LEDblau, LOW); 
servo1.write(180);
}
}

Jaenes:
Ich steh auf dem Schlauch......

Wenn ich mir diese zwei Codezeilen ansehe:

tasterstatus=digitalRead(taster);
if (tasterstatus == HIGH)

Und Deine Fehlerbeschreibung dazulese, dann vermute ich, dass womöglich keine Fehlfunktion des Servos, sondern eine Fehlfunktion des Tasters vorliegt. Und zwar womöglich deshalb, weil Du den Pull-Down Widerstand am Taster falsch oder womöglich gar nicht angeschlossen hast.

Teste den Taster mal mit einem anderen Testprogramm, z.B. mittels "seriellem Monitor" für Debug-Ausgaben und vergewissere Dich, ob der Taster überhaupt so funktioniert wie Du es Dir vorstellst!

Du kannst Das LED L das am Pin 13 hängt, als Kontrolle des Tasterstatus nehmen.
Grüße Uwe

Naja... ich hab die onboard LED doch benutzt! Steht ja auch im Sketch. Und der Taster muss richtig angeschlossen sein, sonst würde es ja nicht mit dem Micro Servo von tower pro klappen.

Jaenes:
Naja... ich hab die onboard LED doch benutzt! Steht ja auch im Sketch. Und der Taster muss richtig angeschlossen sein, sonst würde es ja nicht mit dem Micro Servo von tower pro klappen.

Teste das lieber mal mit so einer loop Funktion:

void loop()
{
tasterstatus=digitalRead(taster);
digitalWrite(LEDblau, tasterstatus);
}

Und vergewissere Dich:
Wenn der Taster für 30 Sekunden NICHT gedrückt ist: Ist die LED dann aus und bleibt auch aus?
Wenn der Taster für 30 Sekunden gedrückt gehalten wird: Ist die LED dann an und bleibt auch an?

Am Programm kann es nicht liegen, die delay() sind lang genug.

Ich könnte mir vorstellen, daß dem Servo 5V oder 1A zu wenig sind, falsche Leitungsführung o.ä.
Datenblatt?

Richtig wäre es, das Netzteil am Servo anzuschließen, und vom Servo Gnd und Signal zum Arduino.

Erfahrungsgemäß hängt es bei Problemen mit großen/starken/vielen Servos meistens an der Stromversorgung, vor allem, wenn man die über das Steckbrett macht.

Aber sicherheitshalber Datenblatt vom Servo ansehen, was für ein Signal es erwartet.