Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

GoFast

RCLine User

  • »GoFast« ist der Autor dieses Themas

Wohnort: Nähe Hameln (31785)

  • Nachricht senden

1

Mittwoch, 30. April 2014, 01:36

Servoposition auslesen

Hallo,

ich sitze gerade am Design eines kleinen Roboter-Arms und wollte man fragen, ob es möglich ist, das im Servo befindliche Poti zum Auslesen der aktuellen Servoposition zu nutzen. Es wäre nämlich wirklich schön, einfach "nur" 4 statt sonst 3 Servoleitungen zu verlegen und ohne große Mühen ein Feedback zu bekommen.
Btw.: Ich habe mich noch gar nicht damit beschäftigt, wie man Servos überhaupt vom Rechner ansteuert. Ich bin einfach davon ausgegangen, dass es für sowas entsprechende Module gibt. Kennt jemand zufällig eines, mit dem ich 6 Servos ansteuern kann und ggf. auch die Feedback-Spannung auslesen kann?

Vielen Dank schonmal ;)

Grüße,
Fabi
Grüße,
Fabi

ro.heg

RCLine User

Wohnort: Quickborn

  • Nachricht senden

2

Mittwoch, 30. April 2014, 09:19

Hallo Fabi,

meiner Meinung könnte man 6 Servos mit einem Mikrocontroller (z.B. von Atmel Tiny2313) ansteuern.

Ein Servo habe ich damit schon hinbekommen.

Grüße

Rolf

3

Mittwoch, 30. April 2014, 13:46

ich sitze gerade am Design eines kleinen Roboter-Arms und wollte man fragen, ob es möglich ist, das im Servo befindliche Poti zum Auslesen der aktuellen Servoposition zu nutzen.
Schon möglich. Zumindest bei digitalen Potis könnte der Mittelabgriff des Potis einfach eine Spannung sein. Oder sie haben eine Schwingschaltung mit dem Poti gebaut und gehen z.B. über die Frequenz. Bei analogen Servos (zumindest älteren) wird das Poti aber eher in eine analoge Schaltung integriert sein, irgendwo in einem Monoflop !? Da müßte man sich das Signal erstmal ansehen und sich eine Auswertung ausdenken.

RK

Ondas[tm]

RCLine User

Wohnort: Nierstein[D]

  • Nachricht senden

4

Mittwoch, 30. April 2014, 23:23

Vor dem Servercrash gab es eine Info / Empfehlung zu programmierbaren Controllern für Servos. Vielleicht kann die jemand nochmal posten und hoffe, es hilft Dir weiter.
Ralf
Mut kann Theorie ersetzen.

5

Donnerstag, 1. Mai 2014, 12:59

Hallo Fabi,

ich weiß nicht, ob Deine Grundidee hierzu nicht auf einem Missverständnis beruht: bei normal funktionierenden Servos brauchst Du keine Rückmeldung - das Servo verarbeitet die Potistellung ja schon intern und fährt die Position an, die durch die Steuerung vorgegeben ist. Im Normalbetrieb würde also die Rückmeldung nichts Anderes ergeben, als die von der Ansteuerung vorgegebene Position.
Eine Differenz kann eigentlich nur bei Blockierung des Servos auftreten, etwa, wenn der Roboterarm irgendwo gegenstößt. Um einen solchen Zustand festzustellen, wäre das Feedback aber ebenfalls nur bedingt geeignet, da man die "gemessene" Position sehr genau mit der Sollposition abgleichen müsste, um das Anschlagen an ein Hindernis eindeutig zu erkennen.
Hierfür wäre sie Messung der Stromaufnahme des Servos besser - das ist relativ einfach und ohne Eingriff in das Servo machbar und man hat dadurch eine Rückmeldung über die Kraft, die der Arm aktuell aufwenden muss.

Grüße,

Thomas

GoFast

RCLine User

  • »GoFast« ist der Autor dieses Themas

Wohnort: Nähe Hameln (31785)

  • Nachricht senden

6

Donnerstag, 1. Mai 2014, 14:20

Hi,

Danke für eure Antworten.
Es sollen digitale Servos werden. Also werde ich mal versuchen, direkt eine Spannung abzugreifen.

@Thomas:
Da hast du natürlich recht. Ich wollte das Feedback eigentlich gern als "Garantie" dafür nutzen, dass das Servo seine Aufgabe vernünftig erledigt... Da Kollision bei meinem Aufbau aber eigentlich nicht vorkommen kann (Freiheitsgrade begrenzt, Arbeitsbereich abgeschlossen), sollte dies ohnehin der Fall sein.
Ich würde den Arm aber gern mit der Funktionalität ausstatten, per Teaching programmiert zu werden. Dazu bräuchte ich dann Daten zur aktuellen Position. Allerdings wird das wohl nicht über die Servopotis gehen, da das Servo zu diesem Zeitpunkt ja nicht angesteuert werden darf.
Wobei manche Servos bei fehlendem Steuersignal einfach frei drehen, obwohl die Versorgungsspannung anliegt...

Btw.: Wie gut ist der Zusammenhang zwischen Servostrom und benötigter Kraft eigentlich? Bei einem Direktantrieb mit E-Motor wäre ja ein linearer Zusammenhang zwischen Strom und Kraft vorhanden, wenn die Spannung konstant bleibt. Aber gilt das auch für ein Servo oder habe ich da durch die integrierte Regelung Abweichungen?
Die Frage zielt darauf ab: Ließe sich durch Messung des Stroms auch eine Kraft-basierte Ansteuerung realisieren? Also dass man die Soll-Position so vorgibt, dass das Servo in einem Gelenk einen konstanten Strom verbraucht und somit eine konstante Kraft anliegt.

Grüße,
Fabi
Grüße,
Fabi

7

Donnerstag, 1. Mai 2014, 15:24

Da ist sicher viel Raum für Experimente... ;)
Ich kann mir vorstellen, daß bei guten Servos der (Durchschnitts-)Strom halbwegs linear dem aufzuwendendem Drehmoment entspricht. Sicher wird man den Strom-Messwert erstmal durch ein Filter schicken müssen, weil die Servos im Allgemeinen ihre Motoren mit Impulsen ansteuern (PWM). Das und die maximal mögliche Steuer-Impulsfrequenz der Servos begrenzt natürlich die Geschwindigkeit des Regelkreises und eine Kraft-basierte Ansteuerung wird dadurch nur sehr indirekt möglich (Servo ansteuern, Strom messen, Steuersignal korrigieren...). Das Ganze wird vermutlich entweder sehr langsam oder hat ständige Regelschwingungen. Irgendwie möglich sein wird es schon, ob es ausreichend gut funktioniert hängt von der genauen Aufgabenstellung ab.

8

Sonntag, 4. Mai 2014, 21:02

mehrere Servos per PC steuern. analoges Servo lässt sich leider mit entsprechender Kraft aus der Nullstellung verdrehen bzw. es erreivht seine Sollposition nicht. Wird aber bei Digitalservos auch nicht anders sein (hab ich selber keins, aber die Motoren haben alle ein begrenztes Moment).
Teachen kann man aber auch, indem man sich an die Sollposition herantastet (vergleichbar mit der digitalen Trimmung).
Was die erreichbare Stellgenauigkeit anbelangt, sollte man sich keine zu große Hoffnungen machen. Einerseits gibt es immer etwas mechanisches Spiel und zum andern ist die Auflösung des Potis eher mäßig (von 270° werden eh nur etwa 100° genutzt), von der Linearität mal ganz zu schweigen. Auch die Auflösung eines Microcontrollers wird effektiv eher bei 256...512 Stufen liegen.

Zum Ansteuern schau Dir mal die Arduinos an, da gibt es bereits eine servo Bibliothek. Genügend Ports hat eigentlich jeder...

PS: ein richtiger Servoantrieb (für CNC.Maschinen) mit optischem Encoder ist natürlich wesentlich genauer, such da mal nach UHU von Uli Huber
PPS: müsste hier im Forum auch noch ein Download für einen PC-Servotester am Parallelport geben, das war definitiv vor dem Servercrash

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »e-beaver« (4. Mai 2014, 21:13) aus folgendem Grund: http://www.rclineforum.de/forum/board49-zubeh%C3%B6r-elektronik-usw/board51-servos-gyros-usw/48354-mehrere-servos-per-pc-steuern/#post411547


Ähnliche Themen