PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : optischer Codierer



e1
01.05.2005, 20:03
Hallo,

zur Messung des Lenkeinschlags von einem Roboterauto soll nicht unbedingt ein Poti eingesetzt werden, darum wollte ich mich nach optischen Codierern umsehen, also eine Scheibe auf der man für verschiedene Winkel verschiedene Codes (Grey oder Binärcode) hat, die man dann mit einer Lichtschranke abtastet. Bisher habe ich aber noch keine gefunden (Datenblatt, Hersteller..) , vielleicht verwende ich ja die falschen Suchbegriffe. :-k
Weiß jemand von euch wo ich da mal nachsehen kann? Wo bekommt ihr eure Sensoren her?
Danke!

e1

Tobiaur
01.05.2005, 20:14
Hi
muss es so was sein oder tuts auch ein normaler ikerementalgeber
(drehimpulsgeber)?
Da müsstest Du dann halt die signale zählen. Kannst mal bei Pollin gucken die hatten mal so was. Weiss aber nicht ob das immer noch im Angebot ist

e1
01.05.2005, 20:24
einen normalen Inkrementierer will ich gerade nicht nehmen, da bekomme ich Probleme wenn ich die Drehrichtung herausbekommen will ; und selbst wenn ich einen mehrspurigen nehme müsste ich beim einschalten immer genau die startposition der räder einstellen.
Hab bei Pollin gerade geschaut aber nicht mal nen inkrementellen Codierer gefunden. :-(

RCO
02.05.2005, 18:57
Bei http://www.micromaus.de/ findest du unter Sensoren was passendes. Warum ist denn die Startposition so entscheident?

cauboy
02.05.2005, 19:36
keine direkte antwort auf deine frage, aber vllt ne möglichkeit dieser aus den wegzugehen.
ist es vllt möglich einen servo zu benutzen, der kann ja immer auf eine spezielle position fahren und somit ein poti ja evt. unnütz machen.

RCO
02.05.2005, 20:15
ist es vllt möglich einen servo zu benutzen

Das Rad soll vermutlich durchdrehen, da wirds schwiereig mit Servo und Poti. vielleicht könntest du was mit Licht machen. Du könntest z.B. eine Scheibe mit weiß-Schwarz-Übergang. Je nach intensität des zurückgeworfenen Lichts kennst du die Position. Es gint nur eine Schwierigkeit, das ist der Übergang zwischen Schwarz zurück auf weiß, das könntes falsch interpretiert werden. Das ganze sollte natürlich möglichst gut gegen Fremdlich geschützt werden.

e1
02.05.2005, 22:39
Danke erstmal für die Antworten!

Ja dachte auch erst dran direkt am Rad zu messen und da vielleicht was mit Entfernungssensoren zu machen. Hat sich aber erledigt, weil nun nicht die einzelnen Winkel der beiden Räder gemessen werden sollen, sondern der Fahrwinkel (also die Drehung an der Lenkung).
Poti ist übrigens jetzt doch wieder ne Option.
Servos hat das mobil noch nicht, die baut jemand anderes dran, Radwinkelsensor soll erstmal unabhängig davon geplant werden.

Rad dreht sich aus Geradestellung ca 15 bis 20 Grad in jede Richtung, muss jetzt mal nach Poti oder vielleicht Drehkondensator suchen.
Weitere Vorschläge gerne erwünscht :-) .

RCO
03.05.2005, 21:37
Du könntest eine Art Bitcode auf der Scheibe anbringen, der dann von mehreren sensoren abgetastet wird.

So: http://www.peg.si/electro/angle.html in der Art nur halt für 40°, das wird dann um einiges genauer!

e1
06.05.2005, 12:08
Ja, das hatte ich auch überlegt, wird aber ganz schön tricky einen mindestens 6bit Code auf ca sagen wir 50 bis 60° unterzubringen, bin doch so zittrig, oder wie könnte man das maschinell machen? Ausserdem bräuchte ich dann ne ziemlich genaue Lichtschranke mit 6 Sensoren, schätze mal das bekommt man nicht günstig zu kaufen, und beim selbst balteln wird es bestimmt nicht genau genug, es ist nämlich leider nicht so besonders viel Platz, so dass die Scheibe höchstens nen Radius v. 2 cm haben kann, eher weniger..
:?

wozzi
06.05.2005, 12:29
Wie wäre es mit einem Ausdruck auf Folie? Man könnte die Folie dann auf etwas spannen (Ring aus Pappe?).

e1
06.05.2005, 13:06
ausdruck ist gut, aber was mache ich mit den lichtschranken? :?:

PicNick
06.05.2005, 15:30
Hi, die Lichtschranken kannst du ja auf den ganzen 360 Grad verteilen, du mußt halt die Scheibe ein bißchen anders ausdrucken.

RCO
06.05.2005, 17:18
2 cm sind natürlich nicht viel. Ich würde Reflexkoppler nehmen. Die Sensoren um das ganze Rad anzuordnen ist sicher eine gute Idee, denn es werden ja sonst nur 60° genutzt. Über die sinnvollste Anordnung muss man aber wirklich nochmal nachdenken, dass dürfte wohl das schwierigste werden. denn einfach 30 striche auf 60 Grad zu verteilen dürfte schwer werden.

PicNick
06.05.2005, 18:26
Du könntest auch analog u. digital kombinieren.
d.h. Mit einem Keil auf einen opt.sensor und ADC die ungefähre Position
und mit 2 digital-Spuren die Feineinteilung.
(zwei Schranken findest du in jeder Kugelmaus)
Ich weiß nicht, ob das verständlich war ?

RCO
07.05.2005, 11:47
Mit einem Keil auf einen opt.sensor und ADC die ungefähre Position

Meinst du, sowas wie das Zeichen für Lautstärkte um das Rad gewickelt bzw. 60 Grad? (Auch nicht besser ausgedrückt!) Also die KObination aus beidem ist ne gute Idee! Statt des Keils könnte man ja zur not auch einen Schwarz-Weiß-Übergang nehmen.
Das Schwierige wird wohl die digitale feineinstellung, da muss man sich mal ein günstiges Muster zur Abtastung überlegen. OK, jetzt hab ich mal eins gezeichnet:

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=498
(Die vier Streifen sind natürlich nicht übereinander sondern Zeitversetzt.)

Dadurch ist der Abstand der Bitstreifen zueinander relativ groß und das gesamt Muster Passe auf den äuseren Rand des Rades. Allerdings müssen die REflexkoppler schon recht genau plaziert werden. Das System leifert immerhin 6 veschiedene Positionen bei 3 Reflexkopplen zurück. Welchen Rflexkoppler man nehmen könnte, da muss ich nochmal überlegen, aber es gibt entsprechend kleine.
Jetzt könnte man überlgegen dieses System mit einem analogen zu mischen.

Manf
07.05.2005, 12:58
Allerdings müssen die REflexkoppler schon recht genau plaziert werden.
Da müßte mit Interferenzmustern die aus den gleichen Drucker kommen etwas zu machen sein. Ich muß mal sehen wie man das verdeutlichen kann.
Manfred

So vielleicht

Wolferl
07.05.2005, 17:35
Evtl. lässt sich auch ein magnetoresistiver Winkelsensor einsetzten. Ist ebenfalls berührungslos und kann absolut ausgewertet werden. Der Platzbedarf ist auch geringer.

Wolfgang

e1
07.05.2005, 21:22
Gute ideen mit den verteilten Lichtschranken, das mit den Interferenzen bzw. dem analogen Teil hab ich jetzt nicht ganz verstanden, oder soll das das gleiche in klein sein??
So ein magnetoresistiver Winkelsensor ist sicher ganz schön teuer oder? Wo bekommt man so ein Ding?

RCO
07.05.2005, 22:18
das mit [...] dem analogen Teil hab ich jetzt nicht ganz verstanden,

Also, das war so gedacht:
du hast z.B. in den 60 Grad einen schwarz weiß-übergang und wertest diesen über einen Reflexkoppler oder ldr aus. da hast du dann einen analogen wert, den du über einen AD in digital umsetzen könntest. Damit das ganze aber noch genauer wird, setzt du zusätzlich das ein-bit-Streifen-muster ein (Bild oben von mir). die liefern dir 6, 8, oder 10 verschiedene Werte, drehst du weiter, gehts wieder von vorne los. Sagen wir mal das ganze könnte in den 60 Grad 5 mal durchlaufen, dann müsstest du mit dem analogen Reflexkoppler (schwarz-weiß-übergang) nur noch feststellen in welchem Teil der du dich befindest. Hm... war das verständlich? Ich fürchte nicht :mrgreen:
Vielleicht reicht ja auch nur so ein schwarz weiß übergang. Du musst ja nicht zwangsläufig ein ganzes Rad nehmen, es würde ja reichen, wenn du die 60° auf einem großen Rad hast und den Rest quasi wegschneidest, also wie ein fächer, der nur 60° geöffnet ist.

e1
09.05.2005, 00:00
Ja, doch , ist schon auch verständlich, Danke ihr seid alle so nett hier! :P
Ich könnte euch ja noch so viel mit Fragen löchern, aber davor sollte ich mir glaube ich besser nochmal klarmachen, wie ich das ganze jetzt überhaupt anbringen kann bzw. wieviel Platz ich habe. In ein paar Tagen weiß ich hoffentlich ein bisschen mehr. Bis dahin ne Gute Nacht! (d.h. wenn ihr überhaupt schlaft :cheesy: )

Wolferl
09.05.2005, 09:20
Ein magnetoresistiver Sensor liegt bei ca. 5€. Dann brauchst du noch einen OP und einen kleinen Stabmagneten.
Zur Auswertung muß eine arcsin Funktion berechnet werden.

Wolfgang

PicNick
09.05.2005, 10:32
Da sind ja lauter wundervolle Ideen entwickelt worden, aber in Summe, glaub ich, wird er froh sein, wenn er mit alledem die effektive Genauigkeit von einem stinknormalen Poti in einem Servo erreicht.
Da gibt's Lenkgestänge mit Spiel, Schlupf der Reifen und was weiß ich noch alles.

09.05.2005, 22:53
..ja wegen der genauigkeit macht er sich tatsächlich gedanken, aber wie gesagt das muss man halt mal testen..

e1
12.05.2005, 13:04
Wo bekommt man denn so einen magnetoresistiven Sensor für 5 Euro?
Habe auch Hersteller gefunden, die tolle Sensoren mit Graycodemessung anbieten, aber wo kann man die direkt kaufen? Bei den Herstellermenschen stehen nie Preise dabei und auf Mails scheinen die nicht so gerne zu antworten.. :?:

bexter
14.05.2005, 20:49
Du könntest eine Reflexlichtschrnke nehmen, und eine selbstgebastelte codierscheibe. So in der schnelle fällt mir zu beispiel ein, eine Scheibe wo sich im Nullpunt der Lenkung die Punkte eng beieinander liegen, und gegen Endanschlag immer weiter auseinander! Wenn du jetzt einen Timer laufen lässt, und den Zählvorgang beim eintreffen eines Impulses ausliest bekommst du proportional zum Abstand des Codes einen kleinen der großen wert, und damit den ausschlag des Rades. ist nur so eine idee müsste noch refined werden... Die scheibe kannst Du ja mit einen Drucker auf schwarzes papier machen , und die löcher ausstanzen

RCO
15.05.2005, 18:24
Die Idee ist echt interessant, allerdings kann man dann die Position nur während des drehens messen (Also nicht abslout.) Außerdem müsste man dann noch nachrechnen, wenn sich der Motor mal schneller dreht. Das Problem, der sehr kleinen scheibe bleibt.

15.05.2005, 18:45
Richtig der Wert müsste beim Drehen gespeichert werden, und es gibt auch keinen aufschluß über die Drehrichtung, dazu müsste ein zweiter Code benutzt werden, aber ich glaube die Anzahl der codierer lässt sich trotzdem im gegensatz zu einem Greycode reduzieren, und so eventuell auch die grösse der scheibe! Gruß bexter

RCO
15.05.2005, 23:13
Ja, das stimmt. Mich würde immeroch interessieren, ob es den möglich ist für diese 60 Grad, die ja nur gemmessen werden sollen, den Radius zu vergrößern, denn im Grunde werden ja nur diese und nicht die vollen 360 Grad benötigt.

e1
17.05.2005, 13:01
Ja, hab ein paar Zahnrädchen, die mir eine 1:6 Übersetzung liefern würden, und bei einer 120er Einteilung wäre das dann auf 0.5 Grad genau messbar.
Also mein Hauptproblem bei dem ganzen Kram ist im Moment gar nicht mehr unbedingt WIE ich das mache sonder WOHER ich die Teile bekomme.
Für einen Inkrementalgeber hab ich alles da , bzw. weiß woher ich das Zeug bekomme (also Strichscheibe bzw. einfache Lichtschranke).
Gray Scheibe könnte man wie gesagt irgendwie vielleicht selbst machen, aber dann hab ich keine Ahnung wo ich eine gescheite Lichtschrabke herbekomme in der Größe, bzw. wenn ich mehrere versetzt anordne könnte es auch gehen, würde aber sehr knapp werden.
So, wenn ich das mit Grayscheibe mache, dann muss ich halt noch sowas wie ein Gehäuse drumbasteln (damit kein Dreck auf die Scheibe kommt).
Simplerere Variante wäre ich benutze einen Winkelaufnehmer, aber WOHER BEKOMMT MAN SO WAS? ich find mich im Dschungel der Elektronikshops anscheinend noch nicht ausreichend zurecht....

bexter
17.05.2005, 19:09
Hast du schon an die Möglichkeit gedacht einen Hall-Magnetsensor zu verwenden?
da gibt es welche, die ohne Magneten auskommen, und einfach durch metall geschaltet werden, ein Metallzahnrad würde ausreichen!

e1
17.05.2005, 22:14
..zum Zählen ist es sicher ne tolle Idee, aber ich brauch doch auch die Richtung und den absolutwert. Gut, die Richtung würde ich ja mit nem zweiten Hallsensor ausmachen können, aber der Nullpunkt.... hm, obwohl man dafür an ne andere Stell einfach ne Aussparung ans Zahnrad machen könnte. Bräuchte also nur 3 Hallsensoren und ein Metallzahnrad. Son Metallrad wird man ja sicher irgendwoher bekommen, nicht wahr?
Trotzdem wäre mir ne Variante , wo ich von vornherein einen Absolutwert bekomme lieber.. 8-[

Thoralf
18.05.2005, 10:46
wie wärs mit nem außermittig gelagertem Rad. Auf die Außenfläche guckt ein Reflexkoppler oder Magnetsensor o.ä. und stellt den Abstand zur Oberfläche fest. Da sich das Rad "unrund" dreht, ändert sich der Abstand winkelproportional, natürlich nicht linear. Das kann man aber leicht ausgleichen. Da du nur 60° brauchst, reicht ja ein kleiner Abschnitt des Vollkreises aus.
Damit kannst dir die ganze Codierung sparen, hast einen Absolutwert, der auch nur einen Analogport belegt.
Ich weiß nicht, ob du auf einer Digitallösung bestehen mußt....

18.05.2005, 13:21
Das ist auch eine ziemlich gute Idee wenn man es irgendwo unterbringen könnte (mal kucken, aber es wird schwierig)! Könnte man mit dieser Variante genauer messen als mit einem Poti?
-e1

Thoralf
18.05.2005, 14:18
ich würde es als ähnlich genau ansehen, ist schwer abzuschätzen.
Potis haben Fehler durch Abnutzung und Kontaktprobleme.
Außerdem wird ein Poti bei 60° nie voll ausgenutzt. Einen Vollkreis kann man eh nicht beschreiben.
Der von mir beschrieben Winkelsensor hat seine Probleme mehr durch Temperaturabhängigkeit und Nichtlinearität.
Mit 2 um 90° versetzten derartigen Aufnehmern kann man die Drehrichtung und den Quadranten feststellen und damit volle Umdrehungen ausführen.
Ich kann mir vorstellen, daß man in bestimmten Winkelbereichen die Auflösung hoch treiben kann. Den empfindlichsten Bereich kann man leicht durch probieren feststellen.