mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Absolute Winkelmessung Gelenk


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Dustin L. (weeky)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (b_spitzer)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Dustin L. (weeky)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Minimalist (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Dann zapf doch das im servo verbaute Poti an...

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dustin L. schrieb:
> +- 3-5° völlig

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

Autor: Dustin L. (weeky)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gerhard O. (gerhard_)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: M. K. (sylaina)
Datum:

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

Autor: Andre R. (ltisystem)
Datum:

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

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uwe N. (ulegan)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Dustin L. (weeky)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Kolja L. (kolja82)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Andre R. (ltisystem)
Datum:

Bewertung
0 lesenswert
nicht 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 
(Ebay-Artikel Nr. 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).

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andre R. (ltisystem)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Chris D. (myfairtux) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht 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
Autor: Dustin L. (weeky)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dustin L. (weeky)
Datum:

Bewertung
0 lesenswert
nicht 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.

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

Bewertung
0 lesenswert
nicht 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.

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.