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 Steuerung mit PCA 9685 (Adressiernung) bernhard66 2 108 19.02.2018 19:05
Letzter Beitrag: bernhard66
  Servo über Transistor Harry 21 1.218 29.01.2018 19:30
Letzter Beitrag: hotsystems
  servo hector73 5 350 25.01.2018 06:13
Letzter Beitrag: hector73
  Bei Power ein geht der Servo auf 90 Grad ? Franz54 12 669 09.01.2018 20:55
Letzter Beitrag: Franz54
  Einmalige Servo Motor Ausführung BanditBandeh 23 916 03.01.2018 17:13
Letzter Beitrag: georg01
  Servo langsamer drehen und auf position lassen Thor Wallhall 12 772 22.12.2017 20:26
Letzter Beitrag: Thor Wallhall
  Servo Ansteuerung SOFTHARD 23 2.109 17.10.2017 10:56
Letzter Beitrag: SOFTHARD
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 4.450 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  Arduino I2C Servo MarcelTitan 8 1.359 14.07.2017 10:09
Letzter Beitrag: Tommy56
  Servo macht komische Sachen Jochenv 7 970 08.03.2017 00:23
Letzter Beitrag: Jochenv

Gehe zu:


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