Forum: Mikrocontroller und Digitale Elektronik Servo über Arduino


von JD (Gast)


Lesenswert?

Hallo,
ich habe ein Arduino Uno und ein Servomotor. Damit wollte ich erst 
einmal Testen.
Beim Arduino gibt es ja für ein Servo schon ein Fertiges Beispiel
1
// Sweep
2
// by BARRAGAN <http://barraganstudio.com> 
3
// This example code is in the public domain.
4
5
6
#include <Servo.h> 
7
 
8
Servo myservo;  // create servo object to control a servo 
9
                // a maximum of eight servo objects can be created 
10
 
11
int pos = 0;    // variable to store the servo position 
12
 
13
void setup() 
14
{ 
15
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
16
} 
17
 
18
 
19
void loop() 
20
{ 
21
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
22
  {                                  // in steps of 1 degree 
23
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
24
    delay(15);                       // waits 15ms for the servo to reach the position 
25
  } 
26
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
27
  {                                
28
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
29
    delay(15);                       // waits 15ms for the servo to reach the position 
30
  } 
31
}

Jetzt habe ich den Servo wie Folgt angeschlossen
Braunes Kabel - GND
Rotes Kabel - 5V
Orangenes Kabel - Pin9 (PWM)

Das überspielen auf den Arduino hat funktioniert. Allerdings bewegt sich 
der SErvo nicht. Ich höre den manchmal ein bisschen ratschen oder 
ähnliches, aber es ist keine Bewegung zu sehen.
Ist der Schrott? Das wäre ärgerlich, da ich den gerade erst gekauft 
habe. 
(http://www.conrad.de/ce/de/product/404753/Modelcraft-Standard-Servo-410-Getriebe-Kunststoff-JR?ref=searchDetail)

ODer muss ihc noch etwas anderes berücksichtigen?
JD

von JD (Gast)


Lesenswert?

Was vielleicht noch wichtig ist, ist der Servo am Arduino angeschlossen, 
so flackert in regelmäßigen Abständen die LED von PIN 13. Ist der Servo 
nicht dran, so leuchtet diese dauerhaft.
JD

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Deine 5V brechen ein.

Versorge dein Servo von einer anderen Spannungsquelle mit ausreichend 
Strom (min. 1A).

von Sven (Gast)


Lesenswert?

Hallo,

ich arbeite derzeit mit dem selben Servo, der Servo ist für den Preis 
Top.
Braunes Kabel - GND (OK)
Rotes Kabel - 5V (OK)
Orangenes Kabel - Pin9 (PWM) (OK)
Der Servo verträgt auch 6 Volt, ich habe es so gemacht: Den Servo mit 4 
Mignon Batterien AA (= 6 Volt) mit Spannung versorgt und den PWM Eingang 
des Servos direkt an den entsprecheneden Pin von mC angeschlossen. Der 
mC läuft bei mir mit 3.3 Volt, die über einen DC/DC Wandler von den 6 
Volt erzeugt werden (das geht bei mir ohne Probleme). Du solltest 
allerdings nicht vergessen GND der mC Schaltung mit den GND vom Servo zu 
verbinden, falsch Du zwei getrennte Spannungsquellen hast.
Ich steuere meinen Servo mittels ATmega-Timer (Fast-PWM) an, mit WinAVR 
- das ist eine gute Lösung da man dafür, angesehen von der Konfiguration 
des Timers, keinen Code braucht. Timing im "Mainloop" ist für die exakte 
Anscheuerung weniger ratsam.

Gruss

von morob65 (Gast)


Lesenswert?

Hallo,

die Spannungsversorgung vom Servo mal abblocken, parallel mit einem 
Elektrolythkondensator(10µ bis 100µ) und einem keramischen Kondensator 
(1 bis 10n).

Gruß

von JD (Gast)


Lesenswert?

Habe es gelöst, indem ich den Servo mit einer externen Spannungsquelle 
versorgt habe.
@Sven: Das hört sich ja gar nicht mal so schlecht an, wie du das gemacht 
hast. werde das auch mal versuchen

JD

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.