PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auswertelogik für Analogencoder



Time Bandit
04.01.2013, 14:14
Hallo zusammen,

ich hoffe mal ich bin mit dieser Frage hier im richtigen Unterforum gelandet.
Ich bin derzeit mal wieder am Basteln und möchte diesen Encoder als Absolutwertgeber benutzen.

http://www.alps.com/products/WebObjects/catalog.woa/E/HTML/Sensor/Position/RDC80/RDC803001A.html

Vorteil an dem Ding ist, dass es ein unschlagbar günstiger Absolutencoder ist Preis ca. 0,35€ in der elektronischen Bucht.
Die Position soll über einen ATMega über eine analoge Spannungsmessung ADC ausgelesen werden. Referenzspannung sind die 5V der Versorgung des µC.

Problem an dem Teil wie bei glaube ich allen 360° Potis ist, dass nicht der komplette Drehbereich nutzbar ist, in diesem Fall auf einer Spur nur ca. 340° (Die 330° aus dem Datenblatt stimmen nur bedingt ;)).
In den verbleibenden 20° zeigt ADC keinen sinnvollen Wert an, die Spannung springt bei jedem Auslesen zwischen 0 und 5V wild hin-und her.

Die zweite Spur ist um 180° versetzt angeordnet, man könnte also eine entsprechende Logik vorausgesetzt, diesen Umstand nutzen um die 20° der "Nichtauslesbarkeit" elegant zu umschiffen.

Aber genau hier liegt mein Problem, mir fehlt eine zündende Idee ;-)
Eine einfache If Bedingung anhand der ausgelesenen Spannung wird nicht funktionieren, da im "Übergangsbereich" völlig wilde Spannungen ausgelesen werden.
Vermutlich ist es ganz einfach und ich bin derzeit einfach auf den Kopf gefallen und komm nicht drauf.

Hat jemand ne Idee?
Alternativ würde ich mich auch über Vorschläge zu alternativen Encodern (kann auch inkrementell sein) in zumindest ähnlichen Preisregionen freuen. Auflösung sollte so genau sein, dass man zumindest in 3-5°-Schritten positionieren kann.


Grüße
Tobias

ranke
04.01.2013, 14:33
Der Verdacht liegt nahe, dass der Potischleifer im nicht nutzbaren Bereich über einen Isolator geführt wird. Die Ausgangsspannung wäre somit nicht klar definiert. Man könnte den Ausgang durch einen Pulldown oder Pullup auf eine definierte Spannung ziehen. Das ergäbe dann einen eindeutigen Spannungswert. Der Widerstandswert des Pullup sollte wesentlich größer sein als der der Schleifbahn, damit die Verfälschung der Linearität klein bleibt.

Time Bandit
04.01.2013, 15:08
Der hochohmige Pulldown ist das richtige Stichwort gewesen, danke!

Nun funktioniert natürlich eine einfach IF-Logik nach dem Motto
Wenn ADC0 in einem gewissen Bereich dann benutze ADC0 sonst ADC1

Besserwessi
04.01.2013, 21:46
Mit der einfachen IF abfrage bleibt immer noch der Übergang zwischen den beiden Teilsensoren - da kann ggf. schon eine kleine Abweichung drin sein. Den Fehler könnte man reduzieren, indem man im Übergangsbereich ein gewichtetes Mittel zwischen den beiden Signalen nutzt.