INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Winkelfehler von Servo korrigieren
25.12.2014, 12:20
Beitrag #1
Winkelfehler von Servo korrigieren
Guten Tag

Mein Servo macht bei der einfachen Ansteuerung mit der Servo.h einen zu grossen Winkel.

Code:
#include <Servo.h>

Servo myservo;

int pos = 90;

void setup()
{
  myservo.attach(5);
}

void loop()
{
  myservo.write(pos);
  delay(100);        
}

Wenn ich den wahren Winkel zwischen den pos-Werten 0 und 180 messe, erhalte ich 195°. Zudem ist die Position 90° nicht in der Mitte.

Daraufhin hab ich Mikrosekunden angepasst.
Code:
#include <Servo.h>

Servo myservo;

int pos = 1285;

void setup()
{
  myservo.attach(5,500,2070);
}

void loop()
{
  //myservo.write(pos);
  myservo.writeMicroseconds(pos);
  delay(100);        
}

Der verfahrene Winkel ist nun 180°, jedoch stimmt die mittlere Position um etwa 4° immer noch nicht. Egal ob ich Position mittels Grad oder Mikrosekunden angebe.

Hab ich einen Fehler gemacht, respektive wie kann ich das Problem lösen?

Danke für die Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2014 14:06 von chaoscrack.)
Beitrag #2
RE: Winkelfehler von Servo korrigieren
Es ist ein Modelcraft WG-90MG

Hab es auch noch mit einem HiTEC HS-311 probiert. Auch hier sieht das Bild gleich aus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 15:04
Beitrag #3
RE: Winkelfehler von Servo korrigieren
(25.12.2014 12:20)chaoscrack schrieb:  Guten Tag

Mein Servo macht bei der einfachen Ansteuerung mit der Servo.h einen zu grossen Winkel.

Code:
#include <Servo.h>

Servo myservo;

int pos = 90;

void setup()
{
  myservo.attach(5);
}

void loop()
{
  myservo.write(pos);
  delay(100);        
}

Wenn ich den wahren Winkel zwischen den pos-Werten 0 und 180 messe, erhalte ich 195°. Zudem ist die Position 90° nicht in der Mitte.

Daraufhin hab ich Mikrosekunden angepasst.
Code:
#include <Servo.h>

Servo myservo;

int pos = 1285;

void setup()
{
  myservo.attach(5,500,2070);
}

void loop()
{
  //myservo.write(pos);
  myservo.writeMicroseconds(pos);
  delay(100);        
}

Der verfahrene Winkel ist nun 180°, jedoch stimmt die mittlere Position um etwa 4° immer noch nicht. Egal ob ich Position mittels Grad oder Mikrosekunden angebe.

Hab ich einen Fehler gemacht, respektive wie kann ich das Problem lösen?

Danke für die Hilfe.

Hi,
als alter Modellbauer und Elektronikbastler kann ich dir da nur folgenden Rate geben und zwar mußt du das Servo aufmachen und an dem Stellungsgeber Poti am Widerstandsbahn Anfang A und Widerstandsbahn Ende jeweils ein Trimpoti mit etwa 10% des Nennwertes von dem verbauten Poti in die Leitung einschleifen. Dann kannst du die Anfangs und Endposition beeinflussen. Aber achte darauf das sich die Potis gegenseitig beeinflussen. Wenn du das richtig machst und Glück hast das die Elektronik sauber linear arbeitet dann passt auch die Mittelstellung.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 18:45 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2014 18:46 von Thorsten Pferdekämper.)
Beitrag #4
RE: Winkelfehler von Servo korrigieren
Hi,
ich würde das folgendermaßen angehen: Versuche herauszufinden (mit writeMicroseconds und einem Sketch, bei dem Du die Mikrosekunden über Serial eingeben kannst), wo sich das Servo gerade so aus den 0-Position bewegt. Dein Minimum-Wert ist ein bisschen (etwa 4 Mikrosekunden) weniger als das. Dann finde heraus, bei vielen Mikrosekunden das Servo bei 180° steht. Mit den beiden Werten rufst Du dann attach auf. Ich denke, dass sich diese Werte so um 1050 und 1950 bewegen werden.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 17 160 Gestern 21:32
Letzter Beitrag: hotsystems
  Arduino I2C Servo MarcelTitan 8 332 14.07.2017 10:09
Letzter Beitrag: Tommy56
  Servo macht komische Sachen Jochenv 7 426 08.03.2017 00:23
Letzter Beitrag: Jochenv
  Servo-Ansteuerung über einen Push-Button Aubergine83 1 312 16.02.2017 19:49
Letzter Beitrag: georg01
Star ATtiny Servo SOS SOS hansanne1310 17 1.232 15.12.2016 05:11
Letzter Beitrag: hbulf
  Servo über Temperatur steuern querkopf71 3 522 07.12.2016 19:21
Letzter Beitrag: hotsystems
  ATtiny und Servo Bibliothek malsehen 9 1.076 15.10.2016 18:09
Letzter Beitrag: malsehen
  Servo soll nur in Ruhelage stoppen Sven1996 1 447 19.08.2016 14:37
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 1.275 16.07.2016 11:43
Letzter Beitrag: Binatone
  Servo und PWM Ausgabe F2Ingo 4 811 17.06.2016 14:53
Letzter Beitrag: F2Ingo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste