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
Star ATtiny Servo SOS SOS hansanne1310 1 51 Gestern 22:15
Letzter Beitrag: hotsystems
  Servo über Temperatur steuern querkopf71 3 41 Gestern 19:21
Letzter Beitrag: hotsystems
  ATtiny und Servo Bibliothek malsehen 9 306 15.10.2016 18:09
Letzter Beitrag: malsehen
  Servo soll nur in Ruhelage stoppen Sven1996 1 239 19.08.2016 14:37
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 757 16.07.2016 11:43
Letzter Beitrag: Binatone
  Servo und PWM Ausgabe F2Ingo 4 493 17.06.2016 14:53
Letzter Beitrag: F2Ingo
  Hilfe bei Servo-steuerung Innocence 7 813 23.02.2016 11:00
Letzter Beitrag: hotsystems
  Servo.h lässt sich nicht einbinden ^^ EvilBen 5 705 08.02.2016 18:07
Letzter Beitrag: hotsystems
  Weichensteuerung mit Servo RCudino 21 3.023 05.01.2016 18:04
Letzter Beitrag: Markus0815
  Servo per Serieller Mointor ansteuern iggy 1 818 03.08.2015 03:08
Letzter Beitrag: yasi

Gehe zu:


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