Analoger Encoder

Ersatz- und Fremdteile, Modifikationen, etc.
Special Hints - Spare- & foreign parts, Modifications, etc.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
atzensepp
Beiträge: 883
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Analoger Encoder

Beitrag von atzensepp » 05 Mai 2025, 16:07

Nachdem ich gemerkt habe, dass ich den tollen Thread "1986er Trainingsroboter-meine Version" mit meinen Versuchen zu Analog-Encodern gehijackt habe (sorry for that), hier nun ein Break-Out, um das Encoder-Thema separat weiterzuführen. Sobald ich doch mal es schaffen sollte, das in ein eigenes Modell des Trainingroboters einzubauen, werde ich es in dem anderen Thread posten.

Also hier ein Rotations-Encoder mit Abstandsmessung über eine IR-Reflex-Lichtschranke vom Typ CNY70. Die Stufenscheibe hat einen Hub von 5mm.
Wegen der 0.2mm-Stufung des 3D-Drucks habe ich den Gewindegang mit Papier "tapeziert". Zudem erhöht das Papier den Reflexionsgrad. Durch Verwendung von IR-Licht ist der Encoder sehr unempfindlich gegenüber Umgebungslicht.
CNY70.JPG
CNY70.JPG (56.12 KiB) 2168 mal betrachtet
Ich erreiche mit 4.7k Ohm Emitter gegen Masse, Kollektor: 5V und AnlaogRead-Messung mit Arduino-ADC einen Kontrast von 612 :167 - also etwas mehr als 8 Bit für eine Umdrehung, was i.A. ausreichen sollte.

Die Stufenscheibe kann man vielleicht auch direkt aus Papier basteln, wenn kein 3D-Drucker zur Hand.

Benutzeravatar
PHabermehl
Beiträge: 2557
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Analoger Encoder

Beitrag von PHabermehl » 05 Mai 2025, 16:30

Die würde ich doch glatt mal mit 0,07mm Schichtstärke und einem Hub von 10mm auf eine Umdrehung drucken...
Das sollte für Auflösung verdoppeln..

Eiert die Scheibe eigentlich? Dann könnte man noch einen flachen Rand außen herum drucken und als Referenz mit einem zweiten Sensor erfassen...

Gruß peter
https://www.MINTronics.de -- der ftDuino & TX-Pi & 3D-Druck Shop!

viele Grüße
Peter

juh
Beiträge: 1084
Registriert: 23 Jan 2012, 13:48

Re: Analoger Encoder

Beitrag von juh » 05 Mai 2025, 21:09

Schönes F+E-Projekt mal wieder von dir, Florian, ich sehe du bleibst deinem Thema Dreh- und Linersensor treu. Ich hätte nicht gedacht, dass man mit so wenig Hub schon diese Genauigkeit hinbekommt. Da kommt man ja fast schon auf den Gedanken, direkt an einem Schneckenende zu messen.

Hast du die Linearität schon angesehen? Ich hätte ja vermutet, dass das aufgeklebte Papier hier zusätzliche Ungenauigkeiten bewirkt und auch die Vibrationsanfälligkeit erhöhen könnte.

@Peter Wie kommst du auf die 0,07? Ich kenne immer nur 0,08 als Minimum und dann noch diese alte Legende (habe es nie überprüft), dass man immer Vielfache von 0,04 nehmen sollte, weil das dem technisch minimalen Z-Hub entspricht und man sonst durch Interpolation Interferenzen in Z-Richtung bekommt.

Benutzeravatar
fishfriend
Beiträge: 2168
Registriert: 26 Nov 2010, 11:45

Re: Analoger Encoder

Beitrag von fishfriend » 05 Mai 2025, 21:22

Hallo...
Ist schon lange her, das ich was mit der CNY70 was gemacht habe.
Mal so ein paar Fragen am Rande:
Mit wieviel mA betreibst du die IR Diode?

Die Kruve vom Empfänger ist ja nicht linear. Könnte man das nicht bei der Steigung ausnutzen oder ist es besser, wenn man das dann umrechnet?

Ob man einen Time of Flight distance Sensor, wie z.B. den Adafruit VL6180X nehmen könnte?

Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

atzensepp
Beiträge: 883
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Analoger Encoder

Beitrag von atzensepp » 05 Mai 2025, 22:20

Hallo Peter,

Deinen Vorschlag habe ich teilweise umgesetzt. Nicht fein gedruckt. Denn das hätte bei mir 3 Stunden gedauert.
Aber jetzt hat die Schnecke eine Steigung von 10mm und der Kontrast ist jetzt: 1000 : 120
cny70_2.JPG
cny70_2.JPG (60.37 KiB) 2065 mal betrachtet
Hallo Holger,

Di IR-Diode betreibe ich mit 100 Ohm Vorwiderstand an 5V also grenzwertig 50mA.
Zur Linearität: Die Kurve müsste man vermutlich ohnehin linarisieren oder das Schneckenprofil entsprechend designen.
Einen VL6180X könnte man wohl auch verwenden, wobei ich nicht weiß, welche Auflösung der hat. Der ist ja für einen Abstand bis 100mm optimiert.
Ein Vorteil vom CNY70 ist, dass man ihn wie einen Spannungsteiler mit Poti mit analogRead auslesen kann.

Hallo Jan:
Die Response ist tatsächlich nichtlinear, was aber nicht stört, da man sie linearisieren kann. Ich werde das noch mal quantifizieren.
Und das Papier kann zusätzliche Ungenauigkeiten (z.B. Wellen) einbringen. Notfalls muss man für jeden Sensor eine Eichkurve messen.
Aber im Prinzip funktioniert es.
Der kritische Winkel ist bei dem Sprung, weil da das Signal verschmiert und nicht scharf ist. Aber bei einem Potentiometer hat man normalerweise auch einen Totbereich.
Vielleicht probiere ich auch mal eine Encoder-Schnecke auf einer Klopapier-Rolle. Das wäre dann interessant für die, die keinen 3D-Drucker haben.

Florian

PS 1: Wegen des unterschiedlichen Abstandes wird die Auflösung vermutlich auch vom Winkel abhängen.
PS 2: Hier die Reflexionswerte gegen Winkel gemessen mit einem AS5600-Winkel-Encoder (Die Achse mit dem Magneten eiert noch etwas :-)). Man erkennt hier die Nichtlinearität. Sieht fast quadratisch aus.
necki.png
necki.png (42.92 KiB) 2044 mal betrachtet

atzensepp
Beiträge: 883
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Analoger Encoder

Beitrag von atzensepp » 07 Mai 2025, 17:13

Es muss nicht immer 3D-Druck sein:
Habe mal schnell einen Analog-Encoder aus Pappdeckel (Edelkarton von MINI PENNE RIGATE No 66) und einer Küchenrolle zusammengeklebt.
Kuerode.JPG
Kuerode.JPG (60.12 KiB) 1840 mal betrachtet
Der funktioniert sogar sehr gut und ist schneller angefertigt als ein 3D-Druck.
Sollte nur nicht feucht werden :lol:

XG BC
Beiträge: 34
Registriert: 30 Aug 2020, 21:25

Re: Analoger Encoder

Beitrag von XG BC » 08 Mai 2025, 10:03

atzensepp hat geschrieben:
05 Mai 2025, 16:07
Nachdem ich gemerkt habe, dass ich den tollen Thread "1986er Trainingsroboter-meine Version" mit meinen Versuchen zu Analog-Encodern gehijackt habe (sorry for that), hier nun ein Break-Out, um das Encoder-Thema separat weiterzuführen. Sobald ich doch mal es schaffen sollte, das in ein eigenes Modell des Trainingroboters einzubauen, werde ich es in dem anderen Thread posten.
alles gut, ich fands selbst durchaus spannend verschiedenes auszutesten, die idee mit der schnecke ist schon cool, da wäre ich nicht drauf gekommen. hat den vorteil das es nie verschleißt, wie gesagt ich werde die potis dranlassen, das funktioniert für meine zwecke gut genug. am einfachsten wäre es wahrscheinlich die nichtlinearität mit einem anderen schneckenprofil auszugleichen. bin gespannt auf deine version des roboters!

Grüße,
XG BC

atzensepp
Beiträge: 883
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Analoger Encoder

Beitrag von atzensepp » 10 Mai 2025, 23:22

Die Kurven lassen sich in ungefähr mit einer exponentiellen Formel fitten:
Neckiplot.PNG
Neckiplot.PNG (40.46 KiB) 606 mal betrachtet
Der Übergangsbereich ist nicht nutzbar und in der Nähe des Übergangsbereichs ist der Fehler der Winkelermittlung größer.
Aber das kann wahrscheinlich man noch besser hinbekommen. Blöd ist halt, dass die Faktoren vom jeweiligen Aufbau abhängen, was den Einsatz etwas schwieriger macht. Evtl. ADC-Werte an 3 Referenzpositionen (z.B. 0, 90, 180 Grad) messen und die Kurvenparameter bestimmen. Parameter müsste man dann irgendwie ins Eprom speichern, sonst muss man immer neu einmessen oder das Programm mit den bestimmten Parameterwerten versehen, kompilieren und hochladen.

Um den CNY70-Reflex-Sensor für ft besser handhabbarer zu machen habe ich eine entsprechende passgenaue Halterung gedruckt:
CNY70-Gehaeuse.JPG
CNY70-Gehaeuse.JPG (29.24 KiB) 606 mal betrachtet
Die Löcher sind für die Anschlusslitzen und dienen gewissermaßen der Zugentlastung.

atzensepp
Beiträge: 883
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Analoger Encoder

Beitrag von atzensepp » 11 Mai 2025, 23:09

Hier zwei CNY70 auf "Abwegen": in ihren neuen Gehäusen für einen 2D Flex-Kraftsensor.
XYFlex.JPG
XYFlex.JPG (72.38 KiB) 438 mal betrachtet
Die Idee: Über das Nutrad will ich mal Seilkräfte in 2 Richtungen messen können.

Das Flexure entkoppelt die X- und Y-Auslenkung, die dann von den Abstandssensoren gemessen werden.
Es ist noch etwas starr für die Minikräfte, die bei meinen Fischertechnikmodellen anfallen.

PS: Die "Nasen" links und unten sind für Gabellichtschranken, die noch kleinere Hübe auflösen können.

juh
Beiträge: 1084
Registriert: 23 Jan 2012, 13:48

Re: Analoger Encoder

Beitrag von juh » 12 Mai 2025, 13:00

:o :o :o

XG BC
Beiträge: 34
Registriert: 30 Aug 2020, 21:25

Re: Analoger Encoder

Beitrag von XG BC » 12 Mai 2025, 15:14

sehr cool! :o :o :o

Antworten