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 Ansteuerung SOFTHARD 1 92 19.09.2017 12:50
Letzter Beitrag: MicroBahner
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 2.597 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  Arduino I2C Servo MarcelTitan 8 692 14.07.2017 10:09
Letzter Beitrag: Tommy56
  Servo macht komische Sachen Jochenv 7 547 08.03.2017 00:23
Letzter Beitrag: Jochenv
  Servo-Ansteuerung über einen Push-Button Aubergine83 1 379 16.02.2017 19:49
Letzter Beitrag: georg01
Star ATtiny Servo SOS SOS hansanne1310 17 1.435 15.12.2016 05:11
Letzter Beitrag: hbulf
  Servo über Temperatur steuern querkopf71 3 636 07.12.2016 19:21
Letzter Beitrag: hotsystems
  ATtiny und Servo Bibliothek malsehen 9 1.219 15.10.2016 18:09
Letzter Beitrag: malsehen
  Servo soll nur in Ruhelage stoppen Sven1996 1 507 19.08.2016 14:37
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 1.482 16.07.2016 11:43
Letzter Beitrag: Binatone

Gehe zu:


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