Forum: Mikrocontroller und Digitale Elektronik Absolute Winkelmessung Gelenk


von Dustin L. (weeky)


Lesenswert?

Hallo,
ich habe einen Roboterarm mit mehreren Segmenten der am Ende eines jeden 
Segments einen Servomotor mit einer C-förmigen Schelle besitzt. Diese 
Verbindungsschellen eines jeden Segments sind miteinander verbunden um 
einen mehrgelenkigen Arm zu bilden.

Ich möchte den Winkel einer jeden Schelle absolut messen können, um die 
Orientierung des Arms im Anschaltzustand bestimmen zu können, sowie 
meine durch Steuerung der Servomotoren gestellten Winkel überprüfen.

Mein Bauraum ist begrenzt (etwa 20 x 20mm als Grundfläche), ich kann 
keine Sachen in der Achse anbringen.

Meine erste Idee: Zahnrad außen an der C-Schelle befestigen, weiteres 
Zahnrad an einem Potentiometer und damit den Winkel bestimmen.

Problem: Ich finde kein flaches, qualitatives Potentiometer an dem ich 
ein Zahnrad befestigen kann. Habt ihr da etwas? (sowas in der Richtung: 
http://www.segor.de/#Q=SRP5klin%252F16mm&M=1 , aber mit eigenem Zahnrad 
welches ich kaufen kann)

Irgendwie lässt sich da aber bestimmt etwas zusammenfrickeln. Daher 
meine Frage: Gibt es andere Ideen / Möglichkeiten?

Mit freundlichen Grüßen

von Bernhard S. (b_spitzer)


Lesenswert?

Du willst also die spielarme interne Servo-Regelung mit einer externen 
Schlabber-Mechanik überprüfen? Besorge dir Digitalservos, da kann man 
auch einige Parameter (Endstellungen, Null-Position) programmieren.

Das von dir gezeigte Poti hat kein Zahnrad, sondern ein Einstellrad für 
die Handbedienung. Da bekommst du kein passendes Gegenstück, weil das 
keine Zahnrad-Zähne sind.

: Bearbeitet durch User
von Dustin L. (weeky)


Lesenswert?

Ja das mit dem gezeigten Poti ist mir klar, ich suche halt etwas ähnlich 
flaches mit der Möglichkeit ein eigenes Zahnrad zu befestigen. Mir geht 
es nicht um Genauigkeit, es geht mir darum, um in ungesteuerten Zustand 
eine grobe Orientierung des Arms bestimmen zu können, um einen 
Anfangswert für meine kinematische Kette zu bekommen. Dazu reicht mir 
eine Winkelmessung von +- 3-5° völlig aus.

Digitalservos mit Messausgang sind natürlich die Beste, aber keine für 
mich relevante Option.

Gruß

von Minimalist (Gast)


Lesenswert?

Dann zapf doch das im servo verbaute Poti an...

von Der Andere (Gast)


Lesenswert?

Dustin L. schrieb:
> +- 3-5° völlig

Dann ist dein verketter Fehler am Ende des Arms aber geschätzt 30% oder 
mehr.

von Dustin L. (weeky)


Lesenswert?

Damit könnte ich leben. Es geht nur darum, beim Einschalten der 
Servomotoren einen Wert vorzugeben der in der Nähe der tatsächlichen 
Orientierung liegt, damit im Einschaltvorgang nicht von -90 auf +90 Grad 
gesprungen wird(Beispiel) und die Kräfte am Arm zu groß werden.

von Gerhard O. (gerhard_)


Lesenswert?

Schau Dir mal Seite 14 an. Da ist eine interessante Möglichkeit für die 
Lösung eines solchen Problems beschrieben:

http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1993-06.pdf

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Such doch mal nach Drehgebern bzw. Encoder. Gibts da nix für dich?

von Andre R. (ltisystem)


Lesenswert?

andere fluxe Idee: Du könntest deine Servos ein mal kalibrieren und die 
Endposition vor dem Abschalten in einem EEPROM speichern.

von georg (Gast)


Lesenswert?

Dustin L. schrieb:
> Habt ihr da etwas? (sowas in der Richtung:

1. Das Zahnrad ist ja schon fast so gross wie dein maximaler Platz, wie 
willst du da ein zweites Zahnrad unterbringen?

2. Trimmpotentiometer sind nicht für viele Umdrehungen ausgelegt, das 
wird nach kurzer Zeit ausfallen. Potentiometer mit langer Lebensdauer 
sind zu gross, Encoder und Synchro Resolver auch.

Gesamtes Konzept ändern.

von Uwe N. (ulegan)


Lesenswert?

Es gibt doch solche Magnetsensoren, die die Winkellage eines Magneten 
auf einer Welle bestimmen.
Beispiel: 
https://www.digikey.de/product-detail/de/infineon-technologies/TLV493DA1B6HTSA2/TLV493DA1B6HTSA2CT-ND/5891933
Das baut schön klein, ist verschleissfrei und hat kein Umkehrspiel.
Über die absolute Genauigkeit kann ich nichts sagen, aber sowas wird 
auch in professionellen Winkelgebern eingebaut.
Letztens ist mir ein Stufenschalter mit 21 Stufen untergekommen. Der 
hatte garkeinen mechanischen Schalter, sondern ein solches IC und einen 
kleinen Prozessor.

von Dustin L. (weeky)


Angehängte Dateien:

Lesenswert?

Hallo,
danke für die vielen konstruktiven Beiträge.

Andre R. schrieb:
> andere fluxe Idee: Du könntest deine Servos ein mal kalibrieren und die
> Endposition vor dem Abschalten in einem EEPROM speichern.

Geht leider nicht, da der Arm auch im ausgeschalteten Zustand bewegt 
werden kann.

Ich habe mal ein Bild angehängt um es ein bisschen klarer zu machen. Rot 
markiert der Bereich in dem ich Platz habe weitere Dinge anzubauen. in 
Grün der sich drehende Teil der Schelle. Hier kann ich ein Zahnrad 
montieren.

Würde ein normales Potentiometer eine dauernde Drehung aushalten? Vom 
Verfahrweg muss die Übersetzung halt dementsprechend ausgelegt werden.

Absolut Encoder, magnetische Encoder etc. hab ich mir angeguckt aber 
leider nichts passendes gefunden. Ich glaube ich werde am Wochende mal 
einen Prototypen mit Zahnrad und normalen Potentiometer bauen und die 
größere Ausdehnung erstmal tolerieren.

von Kolja L. (kolja82)


Lesenswert?

georg schrieb:
> 2. Trimmpotentiometer sind nicht für viele Umdrehungen ausgelegt, das
> wird nach kurzer Zeit ausfallen. Potentiometer mit langer Lebensdauer
> sind zu gross, Encoder und Synchro Resolver auch.

RDC80, sind zwei um 180° vesetzte Potis in einem Gehäuse,
dass sogar in ein Modellbauservo passt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Kolja L. schrieb:
> RDC80, sind zwei um 180° vesetzte Potis in einem Gehäuse,
> dass sogar in ein Modellbauservo passt.
Im Servo ist schon ein Poti. Das könnte man doch anzapfen (wie 
schonmal weiter oben erwähnt).

von Andre R. (ltisystem)


Lesenswert?

Was sind das für Löcher um das Gelenk drum rum? Ist das mit einem 3D 
Drucker gdruckt? Kansnt du vllt mit einem Abstandssensor 
(https://www.ebay.de/itm/Infrarot-Abstand-Sensor-Lichtschranke-Hindernisvermeidung-fuer-Arduino-/291801360196) 
und definierten Löchern arbeiten? Als Nullpunkt könnte dann ein tieferes 
oder größeres Loch dienen? Ist jetzt mal wieder keine asugereifte Idee, 
sondern was mir spontan in den Sinn kommt (sorry dafür).

von georg (Gast)


Lesenswert?

Andre R. schrieb:
> Als Nullpunkt könnte dann ein tieferes
> oder größeres Loch dienen? Ist jetzt mal wieder keine asugereifte Idee

Wirklich nicht, so bekommt man ja keine Absolutanzeige, man muss erst 
mal den Nullpunkt überfahren. Das ist ganz genau das was der TO 
vermeiden will bzw. muss.

Georg

von Andre R. (ltisystem)


Lesenswert?

georg schrieb:
> Andre R. schrieb:
>> Als Nullpunkt könnte dann ein tieferes
>> oder größeres Loch dienen? Ist jetzt mal wieder keine asugereifte Idee
>
> Wirklich nicht, so bekommt man ja keine Absolutanzeige, man muss erst
> mal den Nullpunkt überfahren. Das ist ganz genau das was der TO
> vermeiden will bzw. muss.
>
> Georg

Da hast du Recht.

Poti direkt ins gelenk einbauen oder mit Zahnrad übersetzung oder die 
Potis vom Servo sind wohl die besseren Vorschläge. Das ganze mit nem 
Arduino dauerhaft messen...

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Dustin L. schrieb:
> Absolut Encoder, magnetische Encoder etc. hab ich mir angeguckt aber
> leider nichts passendes gefunden.

Dann hast Du aber nicht gut gesucht.

Uwes Vorschlag mit den Magnetsensoren wäre mechanisch nämlich sicherlich 
die einfachste und gleichzeitig auch eine sehr genaue Methode: einen 
kleinen Scheibenmagneten auf die Schraube kleben, Platine mit IC darüber 
positionieren - fertig ist ein absolut und mit hoher Auflösung messender 
Drehgeber.

Wir setzen ähnliche ICs auch für Winkelencoder ein, eben weil sie extrem 
klein gebaut werden können und mechanisch sehr anspruchslos 
(Fluchtfehler, berührungslos, etc.) sind, bei gleichzeitig erstaunlicher 
Genauigkeit und Auflösung.

> Ich glaube ich werde am Wochende mal
> einen Prototypen mit Zahnrad und normalen Potentiometer bauen und die
> größere Ausdehnung erstmal tolerieren.

: Bearbeitet durch Moderator
von Dustin L. (weeky)


Lesenswert?

Chris D. schrieb:
> Dustin L. schrieb:
>> Absolut Encoder, magnetische Encoder etc. hab ich mir angeguckt aber
>> leider nichts passendes gefunden.
>
> Dann hast Du aber nicht gut gesucht.
>
> Uwes Vorschlag mit den Magnetsensoren wäre mechanisch nämlich sicherlich
> die einfachste und gleichzeitig auch eine sehr genaue Methode: einen
> kleinen Scheibenmagneten auf die Schraube kleben, Platine mit IC darüber
> positionieren - fertig ist ein absolut und mit hoher Auflösung messender
> Drehgeber.

Hi,
also mit einem Sensor dieser Art, wie bereits gepostet 
(https://www.digikey.de/product-detail/de/infineon-technologies/TLV493DA1B6HTSA2/TLV493DA1B6HTSA2CT-ND/5891933)
und einem kleinen Scheibenmagneten auf meinem rotierenden Teil kann ich 
absolut die Position auf wenige Grad genau bestimmen? Na das wär ja 
natürlich grandios, entschuldigt, da stand ich auf dem Schlauch.

Sobald die Motoren laufen, sollte die Messung jedoch wahrscheinlich 
verfälscht werden durch das magnetische Feld? Aber mir reicht 
prinzipiell die Messung im ausgeschalteten Zustand.

von Frank K. (fchk)


Lesenswert?

Dustin L. schrieb:

> also mit einem Sensor dieser Art, wie bereits gepostet
> 
(https://www.digikey.de/product-detail/de/infineon-technologies/TLV493DA1B6HTSA2/TLV493DA1B6HTSA2CT-ND/5891933)
> und einem kleinen Scheibenmagneten auf meinem rotierenden Teil kann ich
> absolut die Position auf wenige Grad genau bestimmen? Na das wär ja
> natürlich grandios, entschuldigt, da stand ich auf dem Schlauch.

Ich würde da eher den hier

https://www.monolithicpower.com/pub/media/document/datasheet_MA300_rev1.3.pdf

(1589-1443-1-ND) nehmen, dann bekommst Du direkt den Winkel mit einer 
Auflösung von 10 Bit (1024 Schritte pro 360°) geliefert.

fchk

von Dustin L. (weeky)


Lesenswert?

Frank K. schrieb:
> Ich würde da eher den hier
>
> https://www.monolithicpower.com/pub/media/document/datasheet_MA300_rev1.3.pdf
>
> (1589-1443-1-ND) nehmen, dann bekommst Du direkt den Winkel mit einer
> Auflösung von 10 Bit (1024 Schritte pro 360°) geliefert.
>
> fchk

Sieht gut aus, leider weiß ich nicht ob ich das noch von Hand gelötet 
bekomme, wegen der Pads unter dem Chip und bei Mouser scheint es den 
nicht zu geben, da würde ich den Rest bestellen der Dinge die ich noch 
brauche.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Dustin L. schrieb:

> Sieht gut aus, leider weiß ich nicht ob ich das noch von Hand gelötet
> bekomme,

Oder das ähnliche Produkt, gleich fertig montiert mit Gehäuse und 
Stecker sowie einem mitgelieferten Gebermagnet: AEAT-6010-A06 
(Mouser-Nr.: 630-AEAT-6010-A06).

Grüßle
Volker.

von Markus F. (mfro)


Lesenswert?

Dustin L. schrieb:
> Sieht gut aus, leider weiß ich nicht ob ich das noch von Hand gelötet
> bekomme, wegen der Pads unter dem Chip und bei Mouser scheint es den
> nicht zu geben, da würde ich den Rest bestellen der Dinge die ich noch
> brauche.

Das Datenblatt sagt "... pad can be soldered ...". Muss also nicht.

: Bearbeitet durch User
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.