Forum: Mikrocontroller und Digitale Elektronik Position eines Servos rausfinden


von Gast (Gast)


Lesenswert?

Hallo,

kann man die Position eines Servos rausfinden?

Es geht darum, dass es sowohl bewegen als auch bewegt werden soll,
d.h. ich will den genauen Winkel einstellen und auch wieder auslesen 
können, falls es von Hand weiterbewegt wurde.

Danke

von Klaus (Gast)


Lesenswert?

Im Servo gibt es ein Poti, welches du auslesen könntest. Dazu musst du 
den Servo allerdings öffnen.

von Gast (Gast)


Lesenswert?

Verträgt der Servo das Drehen überhaupt weil Motoren wenn man sie dreht 
ja Strom erzeugen?

von Klaus W. (mfgkw)


Lesenswert?

nein, das verträgt es nicht.
Nicht wegen des erzeugten Stroms, sondern weil erstens
das Servo ja versucht, mit Gewalt einer von außen aufgeprägten
Bewegung entgegen zu steuern (durch seine interne Regelung),
und zweitens sind die meisten so stark übersetzt, daß eine
gewaltsame Bewegung von außen das Getriebe gefährdet.

von a.b. (Gast)


Lesenswert?

Hallo!

Ist dir mit einem einfachen Inkrementgeber schon geholfen?

Siehe auch hier:
Titelwww.mikrocontroller.net/topic/29848

von Gast (Gast)


Lesenswert?

Hm, was kann ich dann benutzen, wenn der das nich verträgt?

von Hans M. (hansilein)


Lesenswert?

Platinenmotor?
Rutschkupplung?

Erklär mal die Anwendung.

von Gast (Gast)


Lesenswert?

Ok, es geht darum, dass dieser Servo oder was auch immer auf zwei Seiten 
vorhanden ist, jeweils über Computer und Internet miteinander verbunden.

Man kann bei beiden den Servo von Hand bewegen und der andere Servo 
stellt sich übers Internet auf den gleichen Winkel ein. Das ganze 
bidirektional.

von Klaus W. (mfgkw)


Lesenswert?

und wer soll jetzt entscheiden, wer sich nach wem richtet?
Entweder gibt der eine die Position vor, oder der andere; aber
doch nicht beide gleichzeitig?

von Karl H. (kbuchegg)


Lesenswert?

Gast schrieb:

> Man kann bei beiden den Servo von Hand bewegen und der andere Servo
> stellt sich übers Internet auf den gleichen Winkel ein. Das ganze
> bidirektional.


Wie wäre es mit je einem Drehencode an den beiden Enden. Die Servos 
laufen immer parallel. Dazu gibt es an jedem Leitungsende einen 
Computer, wobei einer der Master ist und das sagen hat und der andere 
ist der Slave und muss folgen.
Über den Drehencoder kriegt der Master Befehle: Dreh nach links, Dreh 
nach rechts. Wird an der Slaveseite am Encode gedreht, so sendet der 
Slave diese Drehung an den Master, der sie auswertet. Aber der Slave 
stellt als Reaktion NICHT selbst das Servo nach, sondern ausschliesslich 
nur dann, wenn der Master dieses anordnet.


Servo von Hand bewegen ist sowieso keine gute Idee. Erstens schaffst du 
das bei einem halbwegs guten Servo sowieso nicht, wenn das Servo unter 
Strom steht (*). Zweitens ruinierst du damit nur das Getriebe.


(*) OK. Mit einem ausreichend dimensionierten Hebelarm am Abtriebshebel 
geht das schon. Aber selbst dann kriegt das Getriebe eher Zahnfraß, als 
dass der Motor nachgibt. Das Motorknurren ist aber oftmals in solchen 
Fällen schon beeindruckend :-)

von hp-freund (Gast)


Lesenswert?

Ich glaube so etwas habe ich mal in einem Astronomen Forum gesehen.
Dort wurde es mit Schritt- oder Synchronmotoren gelöst...

von Jensemann (Gast)


Lesenswert?

Zum drüber nachdenken:

Servos öffnen, Potis abfragen können.

Die PWM für die Servos ist abgeschaltet. Die Servos lassen sich dann 
drehen.

Auf beiden Seiten werden die Potis regelmäßig abgefragt.
Beide Seiten sind gleichzeitig Empfänger für Daten vom anderen.

Sobald sich ein Potiwert deutlich ändert, Daten an den anderen senden.
(Diese Seite ist jetzt Master)

Die Abfrage des zweiten Potis unterbrechen.
(Diese Seite ist jetzt Slave)
PWM beim zweites Servo einschalten. Servo führt sich jetzt nach.
PWM beim zweiten Servo wieder abschalten.
Wieder regelmäßig beide Servos abfragen.

Bestehende Probleme:
- Servos sollte man nicht nicht unbedingt von Hand verstellen
- Sicherstellen, dass nicht an beiden gleichzeitig gedreht wird

von MaWin (Gast)


Lesenswert?

Servo ist das falsche Ding dafür,
das richtige nennt sich Motorpoti.
Da ist schone eine Rutschkupplung drin,
und die Anschlüsse liegen auch aussen.

http://www.reichelt.de/?ACTION=3;ARTICLE=73908;PROVID=2402

Das Programm (auf jeder Seite) würde sagen:
Hab ich ein Kommando von der Gegenseite bekommen?
Dann ignoriere die eigene Schleiferstellung und
dreh den Motor in die richtige Richtung
(hält der Benutzer dagegen, rutscht die
Rutschkupplung).
Hatte ich das Kmmanodo von der Gegenseite schon
ausgeführt, schau nach ob das Poti immer noch
da steht, wo es stehen sollte. Wenn nein, schick
die neue Position als Kommando an die Gegenseite.

von Gast (Gast)


Lesenswert?

wow! vielen dank.

wofür benutzt man die eigentlich?
da steht ja audioanwendungen..
mir fiele dazu nur ein lautstärkeregler ein, der auch über ne 
fernbedienung nachreguliert werden kann..

von linux-frickeler (Gast)


Lesenswert?

Es gibt durchaus Servos, die man gefahrlos von Hand bewegen kann, nur 
halt nicht für 1,50 EUR in der Grabbelkiste vom blauen Klaus.

Ich habe hier ein Futaba S9253 liegen (altes Heckrotorservo vom Heli). 
Wenn man das stromlos mit einem Finger anschubst, läuft es durch den 
Schwung im Motor noch ein Stück von selbst weiter.

von Karl H. (kbuchegg)


Lesenswert?

linux-frickeler schrieb:

> Ich habe hier ein Futaba S9253 liegen (altes Heckrotorservo vom Heli).
> Wenn man das stromlos mit einem Finger anschubst, läuft es durch den
> Schwung im Motor noch ein Stück von selbst weiter.

Eben :-)
Stromlos.

von Rolf Magnus (Gast)


Lesenswert?

> wofür benutzt man die eigentlich?
> da steht ja audioanwendungen..

Da steht auch "Studiopoti", und dafür sind sie gedacht. Da kann man den 
Verlauf des Wertes irgendeines Parameters eines Mischers oder Effekts 
per MIDI aufzeichnen und später wieder abspielen. Und auch statische 
Werte können gespeichert und später wieder geladen werden. Die Regler 
stellen sich dann automatisch wieder auf die Werte ein. Eine andere 
Möglichkeit ist noch die Mehrfachbelegung eines Reglers. Wenn man auf 
eine andere Belegung umschaltet, wird dann automatisch auf den 
entsprechenden Wert gedreht.

Beitrag #6890144 wurde von einem Moderator gelöscht.
Beitrag #6890148 wurde von einem Moderator gelöscht.
Beitrag #6890149 wurde von einem Moderator gelöscht.
von uwe (Gast)


Lesenswert?

Bei den Sercos von Robotis können Position, Temperatur, Load, Stall usw. 
zurückgelesen werden. Wenn man den Motorstrom abschaltet kann man Teach 
in machen oder die ausgelesen Posion zu einem anderen Servo schicken.
Die haben auch vesrchiedene Serien mit Poti oder Inkrementalgeber in 
allen Größen und Preisen.
Hier z.b. der Preiswerteste:
https://www.robotis.us/dynamixel-xl-320/

von uwe (Gast)


Lesenswert?


von Johannes S. (Gast)


Lesenswert?

2009 gab es die vermutlich noch nicht.

von uwe (Gast)


Lesenswert?

Und den hier wenn ich mehr kraft brauche (Preis/Leistung ist einfach der 
Hammer z.B. 12Bit Absolut Encoder):
https://emanual.robotis.com/docs/en/dxl/x/xl330-m288/

von Stefan F. (Gast)


Lesenswert?

Gast schrieb:
> wofür benutzt man die eigentlich?

Für Mischpulte, die man sowohl manuell als auch automatisch bedient.

In Rund findet man solche Motor-Potis auch zur Lautstärke-Einstellung in 
HiFi Endstufen. Damit man sie manuell und per Fernbedienung einstellen 
kann.

von Rolf M. (rmagnus)


Lesenswert?

Stefan ⛄ F. schrieb:
> Gast schrieb:
>> wofür benutzt man die eigentlich?
>
> Für Mischpulte, die man sowohl manuell als auch automatisch bedient.

Das hatte ich schon vor 12 Jahren erklärt…

> In Rund findet man solche Motor-Potis auch zur Lautstärke-Einstellung in
> HiFi Endstufen. Damit man sie manuell und per Fernbedienung einstellen
> kann.

Und das wusste er schon damals selber:

Gast schrieb:
> mir fiele dazu nur ein lautstärkeregler ein, der auch über ne
> fernbedienung nachreguliert werden kann..

von Jobst M. (jobstens-de)


Lesenswert?

Okay, Du möchtest im Prinzip die Kraft, welche von außen auf die Welle 
des Servos einwirkt messen, um Deine PWM zu beeinflussen.

Irgendwo hast Du einen Wert, welcher zwischen beiden Rechnern 
kommuniziert wird. Beide Seite haben Einfluss darauf.

Am einfachsten misst Du die Kraft in der Aufhängung des Servos, z.B. mit 
einem Dehnungsmessstreifen.
Bei Kraft nach links auf der Welle, Servo auch nach links drehen und 
umgekehrt. Das Servo folgt der Kraft.
Dies passiert auf den anderen Seite auch.

Im Prinzip müsste man so sogar die Kraft, die auf der einen Seite 
aufgewendet wird auf der anderen Seite messen können.

Damit Dir die Servos ohne Krafteinwirkung nicht wegrennen, muss um den 
0-Kraftpunkt herum eine Totzone in die SW eingebaut werden.

Gruß
Jobst

von MaWin (Gast)


Lesenswert?

Gast schrieb:
> Man kann bei beiden den Servo von Hand bewegen und der andere Servo
> stellt sich übers Internet auf den gleichen Winkel ein. Das ganze
> bidirektional.

Das tun Servos aber nicht.

Man kann 2 Schrittmotoren koppeln, dann dreht derjenige der kräftiger 
gedreht wird den schwächeren.
Aber 2 starke Hände können sie ausser Tritt bringen.

Bloss koppeln heisst hier koppeln über Kabel, nicht über 'das Internet'.

von Sebastian S. (amateur)


Lesenswert?

Bei einem "normalen" Servo ist es nicht möglich die Position 
herauszufinden.
Ein Anschluss oder Signal, der/das die aktuelle Position ausgibt ist 
nicht vorgesehen. Der Betrieb erfolgt normalerweise blind. Ich kann aber 
nicht ausschließen, dass Dein Servo so etwas hat. Dann hat er aber auch 
SEIN Protokoll (z.B. Spannungspegel).

Es gibt aber die Möglichkeit zu "lauschen". Angesteuert wird er ja mit 
einem standardisierten Signal, welches je nach Pulsweite eine bestimmte 
Position erzwingt. Da normale Servos keine Messinstrumente sind, kann 
dieses Auslesen mit mehr oder weniger großen Toleranzen verbunden sein.

von Harald W. (wilhelms)


Lesenswert?

Gast schrieb:

> Man kann bei beiden den Servo von Hand bewegen und der andere Servo
> stellt sich übers Internet auf den gleichen Winkel ein. Das ganze
> bidirektional.

Mit Drahtverbindung nannte man sowas früher "elektrische Welle".
Wie bereits gesagt: Mit Modellbauservos lässt sich sowas nicht bauen.

von Stefan F. (Gast)


Lesenswert?

Rolf M. schrieb:
> Das hatte ich schon vor 12 Jahren erklärt…

Hoppla, bin schon wider drauf rein gefallen.

von Jobst M. (jobstens-de)


Lesenswert?

Stefan ⛄ F. schrieb:
> Hoppla, bin schon wider drauf rein gefallen.

**seufz* ich auch ...

Und wieder war es ein unangemeldeter Benutzer, der die Leiche 
ausgegraben hat ...

Gruß
Jobst

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.