PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zum optischen Maussensor von Agilent



robotxy
09.02.2005, 17:15
Hi!
Zur Positionsbestimmung möchte ich 2 ADNS-2051 im Quadrature Modus nutzen. Kann ich die Leitungen XA,XB,YA und YB einfach an einen Mega32 "hängen" und dann den TTL Pegel auslesen (datenblatt ab Seite 12)? Wo kann ich den Chip kaufen?
MfG
Rasmus
http://www.home.agilent.com/USeng/nav/-536893734.536883737/pd.html

jörn
09.02.2005, 17:30
Moin,

was für eine Optik möchtest Du denn verwenden? Ich habe versucht, mich bei agilent auf der Page anzumelden, um darüber nähere Informationen über Vertriebswege zu bekommen. Die haben meine (richtigen) Angaben drei Tage lang geprüft um mir dann eine schöne Mail mit dem Betreff "New User - Co Access Denied" zu schicken. Die auf der Seite angegebenen Vertriebspartner in Deutschland scheinen laut jeweiligem Katalog nur die "langweiligen" Halbleiter zu führen.

Gruß,

Jörn

Manf
09.02.2005, 17:38
Die kompletten Mäuse kosten bei Saturn noch 8,95 und bei Reichelt glaube ich habe ich eine für 5,90 gesehen.
Bevor man sich wegen 2 Stück lang rumärgert sollte man den Weg auch überlegen.
Manfred

09.02.2005, 18:12
@Manf welche Maus/Mäuse sind denn mit dem ADNS 2051 ausgestatten?

Kann ich dann die vier Pins trotzdem an dem AVR auslesen?
MfG
Rasmus

Wolferl
09.02.2005, 19:08
Ich hab meine bei Farnell bestellt, incl. Linse und Lichtleiter.
Nur deswegen bestellen lohnt sich aber wirklich nicht.

Wolfgang

09.02.2005, 19:59
Komplette Maus ausschlachten ist wohl die beste Alternative. Hab ich
auch so gemacht. In den neueren ist teilweise der ADNS-2620 drin (8-PIN), der hat leider nicht mehr den Quadr.-Output. Muss man also über
synchron serielle Schnittstelle auslesen...
Der 8-PIN Chip in meiner letzten Maus scheint (entgegen 2620-Spez.)
800 dpi zu schaffen. Weiß jemand, welches Modell das ist / Datenblatt ?
MfG,
Mr.Maus

robotxy
10.02.2005, 13:50
Aber mit dem 2051er ist es dann ja einfacher -> Quadrature
Wie viel DPI hat denn der ADNS 2051?
Welche Maus ist denn mit dem ADNS 2051 ausgestatten?
Kann ich ihn ohne den Cypress XXXXX betreiben, bzw kann ich die vier Leitungen einfach an einen ATmega hängen?
MfG
Rasmus

Wolferl
10.02.2005, 15:23
Die Quads kannst du direkt an einen AVR hängen.
Der 2051 hat 400dpi wenn du ihn nicht auf 800 dpi umkonfigurierst (400 ist standard und umstellen geht nur über die serielle Schnittstelle).
In welcher Maus ein 2051 drin ist weiss ich leider auch nicht.

Wolfgang

robotxy
10.02.2005, 15:34
dann werde ich mir bei Farnell die 2051er kaufen(den Cypress brauche ich ja nicht).
Nochmals Vielen Dank,
MfG
Rasmus

Wolferl
10.02.2005, 15:40
Dann vergiss nicht dir auch die Linse und den Lichtleiter mitzubestellen. (Ich habe damals glaub ich so ein entwicklungsset bestellt =5 mal ADNS mit Linsen ...)
Aber wenn du sonst nix brauchst würd ich mir trotdem eine Maus kaufen und schlachten.

Wolfgang

robotxy
10.02.2005, 16:13
Bei der Linse und dem LED KLIP gibt es 2 Verschiedene, welche muss ich nehmen?
Welche LED eignet sich auch für größere Abstände vom Boden?
MfG
Rasmus

Wolferl
10.02.2005, 17:09
LEDs waren bei mir im Set dabei, aber ich denke es geht jede rote LED. Je heller um so besser, den shutter regelt der ADNS selbst.
CLIP: ist egal, glaub der einzige Unterschied ist, die Farbe (schwarz bzw. transparent)
Linse: Schau dir die Zeichnungen an. Bei der einen ist die Linse in eine runde (Durchmesser ca. 5cm) Kunststoffscheibe integriert und und bei der anderen ist es eine Rechteck (ca. 2 x 5 cm). Prinzipiell kannst du nehmen welche du mechanisch bevorzugst, ich glaub für den Anfang ist die runde Linse etwas handlicher.

Für unterschiedliche Abstände musst du dir selbst ein optisches System überlegen. Die Linsen zum mitbestellen sind nur für Abstände von 2,3 - 2,5 mm (Linsenunterkante - Oberfläche) zu gebrauchen. Ausserhalb von diesem Bereich lässt die Genauigkeit angeblich stark nach (Datenblatt).

Wolfgang

10.02.2005, 18:16
@robotxy: Den Cypress brauchst du nicht. Funktioniert auch so
LED mit 639nm (rot) soll mein ich (Datenblatt nich tim Kopf) am besten sein.
MfG,
Mr.Maus

robotxy
10.02.2005, 22:05
Nochmals Vielen Dank!
Aber kann ich da nicht eine beliebige LED nehmen, bzw. gibt es welche für Abstände bis ca 2 cm?
Kann ich den 2051er dann über die RS232 Schnittstelle auf 800dpi umstellen?
MfG
Rasmus

10.02.2005, 22:18
LED: Andere LEDs funktionieren auch, wie gesagt im besten Fall
rot. Mit dem Abstand wirst du wohl eher bei der Linse relativ
unflexibel sein, als bei der LED.

800dpi: Dazu müsstest du per Schreibzugriff auf die Konfigurations-
register des Sensorchips zugreifen. Das geht meines Wissens nur
über die synchron serielle Schnittstelle des Chips. Wenn du es schaffst,
mit der RS232 im geforderten Protokoll (2x je 8-Bit-Wert an Chip senden)
unter dem time-out zu bleiben (ca. 90ms/eine 8-Bit-Übertragung glaub
ich) klappt das, ansonsten -> uC !
Gruß,
Mr.Maus

Knirps
12.02.2005, 11:54
Hi,
könnt ihr mir die Bestellnummer für die Optik für den 2051er bei farnell sagen ?

mfg
Knirps

13.02.2005, 22:51
Such mal nach "HDNS", da findest du das Objekt.
Mr.Maus

Zotte
22.08.2006, 11:01
Wo genau finde ich bei Farnell das komplette Angebot für Linse, IC etc? Besten Dank!

sast
22.08.2006, 11:40
Falls jemand Interesse an den Datenblättern zu 2051 oder 2030 hat, kann mir ja bescheid geben.

Die Fragen die hier diskutiert werden, können nämlich dann ganz einfach beantwortet werden.

sast

Manf
22.08.2006, 12:26
Du meinst diese Datenblätter?
Welche Frage meinst Du? (nicht die preisgünstige Beschaffung)

http://pdf1.alldatasheet.co.kr/datasheet-pdf/view/102949/HP/ADNS2051.html

http://www.avagotech.com/products/product-detail.jsp?navId=H0,C1,C5231,C5233,C4939,C4996,P93 038

http://www.avagotech.com/assets/downloadDocument.do?id=409

sast
22.08.2006, 12:42
@manf
Die Fragen nach der Konfiguration und zu den Quadraturausgängen.

Zu den Preisen hab ich bisher noch keine Datenblätter gesehen.

War mir nur nicht sicher ob alle bereits darüber verfügen, und wollte deshalb meine Hilfe anbieten.

Hatte mich auch mal ein halbes Jahr mit den Dingern rumgequält.

sast

dark_flash01
02.09.2006, 23:15
Gibt es für den 2051 inzwischen eine Bibliothek in C?

scales
03.09.2006, 01:08
kann mir nicht vorstellen dass es mal eine halbwegs bekannte Library für so einen Chip geben wird,
dafür ist der viel zu wenig verbreitet

Google kennt jedenfalls auch keine solche Library

dark_flash01
03.09.2006, 07:24
Ich dachte auch, dass vllt jemand, der das schon mal gemahct hat seinen Quellcode posten könnte...
Damit ich nicht das Rad neu erfinden brauche...
Naja danke für deine Antwort :)

MfG Sebastian

RedBaron
03.09.2006, 10:19
Hi,

schau einmal bei heise (c't-Bot) nach (www.heise.de). Dort wurde solch ein Ding angeschlossen. Die verschiedenen Sensoren unterscheiden sich diesbzgl. nur unwesentlich. Die Artikel über den c't-Bot und sie Source-Codes sind frei zugänglich (Stichwort: Projekte).

Gruß Red Baron

teran42
08.09.2006, 19:00
Hi Zusammen,
bei Reichelt gibt es zur Zeit Mäuse für 3 Euro das Stück. Die haben den PAN101B von http://www.pixart.com.tw/ drin. Der kann seriell und quadratur. Da ich mir in den letzten Tagen einige Mäuse von innen angesehen habe :-), kann ich sagen man findet zu fast allen in den Billigmäusen verwendeten Chips die Datenblätter. Weiterhin sind diese Taiwan Dinger meistens kompatibel zu den ADNS.
Bis denne.

Ford
09.09.2006, 12:19
hi,
ich bastel grade auch mit dem adns 2051 rum...
ich verwende einfach die gesammte platine einer logitech maus und habe da vier kabel drann gelötet (VDD GND SCLK SDIO).
SCLK und SDIO habe ich an meinem atmega32 an die pins SCL und SDA gehängt.
jetzt habe ich ein problem beim programmieren des i2c bus:
im datenblatt steht auf seite 19 unte "Read Operation":

A read operation
is always initiated by
the micro-controller and consists
of two bytes. The first byte
contains the address, is written
by the micro-controller, and has a
“0” as its MSB to indicate data
direction.

1. was für eine slave adresse soll ich für den adns nehmen?
2. das erste byte, was ist das für eine adresse??? sind das die register von
seite 29 im datenblatt?
3. was heist "and has a "0" as its MSB"

kann vllt jemand ein codebeispiel posten falls schon mal jemand so einen adns über i2c ausgelesen hat? das wäre für mich wirklich die beste hilfe.
meine verkabelung müsste doch soweit stimmen oder?

ich hab auch schon bei dem c't-bot gesucht, hab aber keinen code gefunden.

danke für jede hilfe!

mfg Ford

Reinald
14.09.2006, 21:37
Hallo Zusammen,

So, ich habe mir jetzt auch zwei Billigmäuse geschlachtet.

Erkenntnisse:
Billig-Lasermouse (1600dpi, Office ) von Pearl: Chip ACX 1001, kennt keine Sau, gibts keine Datenblätter zu. Der Sensor hat keine Optik, er wertet also wohl die Speckle-Muster der Laserdiode aus. Mit ein bischen Hin und Her konnte ich nun aber doch die Quadratur-Outputs identifizieren, die zum USB-Chip rübergehen.

Zweite Billigmouse von Pearl hat einen OM02 Chip, auch hier das gleiche Spiel, Datenblätter sind nur auch chinesischen Seiten zu bekommen, Quadratur-Outputs sind Pin 2,3,4,5, der Chip soll aber mit ADNS-2051 compatible sein.

Da haben die Chinesen wohl mal wieder kopiert wie die Weltmeister ;-)

Jetzt die Spannende Frage - wie geht es weiter:
- habe ihr den Chip ausgelötet und auf ein anderes Board gesetzt?
- oder einfach auf die Beinchen ein Käbelchen draufgelötet und den USB-Chip einfach drangelassen?
- wo und wie an das RN-Board angeklemmt?
- hat vielleicht schon jemand ein bischen Beispielcode, um die Quadratur-Ausgänge auszuwerten?

Gruß und Danke,
Reinald

Ruppi
15.09.2006, 14:16
hallo,
ich habe mit manf schon früher einmal ähnliche diskussionen geführt. damals verwendete ich einen adns3060 in meiner diplomarbeit.
die ansteuerung kann man auch so machen, wie ford es 2 postings vorher beschrieben hat. man lasst die platine einfach so, wie sie ist und lötet die pins sclk, miso, mosi und am besten noch reset von der platine ab und steuert diese seperat an. nicht schön, aber ich habe das am anfang auch erst so gemacht. dann hat man vollen zugriff auf alle register und funktionen des sensors.
nochmal an Ford: die übertragung würde ich nicht per i2c versuchen! entweder verwendest du spi oder programmierst das protokoll selbst. letzteres habe ich bei meinen lösungen so gemacht. möchte man den wert eines registers lesen, muss bei der übertragung der addresse eine 0 im letzten bit (MSB) stehen. beim schreiben logischerweise eine 1. da es sich nicht um i2c handelt, ist natürlich auch keine slave-addresse verfügbar. mit addresse ist das jeweilige register gemeint (datenblatt).
nur mal so: die quadratur-ausgänge bieten im grunde keinen vorteil, im gegenteil: diese sensoren sind (glaube ich) alle langsamer, als die anderen varianten. der adns3080 schafft fast 7000bilder pro sekunde, mit ihm kann man auch schnell bewegende oder oszillierende oberflächen nachverfolgen und sich außerdem das kamerabild ausgeben lassen (siehe meine diskussion mit manf). der sensor gibt für die bewegung in beiden achsen (XY) ein einzelnes byte aus. werte kleiner 128 kennzeichnen relative bewegungen in positiver richtung, 128 bis 255 entsprechend für die negative richtung.
nochwas zu den led's: man sollte nicht einfach irgendeine led nehmen. im datenblatt ist die spektrale empfindlichkeit in einem diagrmm dargestellt. man sollte also led's oder lichtquellen verwenden, die möglichst im bereich der maximalen empfindlichkeit des sensors abstrahlen. in diesem fall sind das rote led's. grundsätzlich gilt: um so heller, desto besser. am besten pulst man die led's, da man sie dann um ein vielfaches überlasten kann, ohne sie zu beschädigen. die meisten sensoren haben dafür extra einen ausgang, der per register aktiviert werden kann.

ich hoffe, dass ich mich nicht zu kompliziert ausgedrückt habe und damit vielleicht einigen leuten helfen konnte.
ansonsten gutes gelingen...

Ruppi

Ruppi
15.09.2006, 14:51
hier nochmal das posting der früheren diskussion:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=12579

Reinald
15.09.2006, 15:39
Hallo Ruppi,

danke für den Hinweis, die anderen Threads zu den optischen Mäusen habe ich natürlich alle schon 3x vorwärts und rückwärts gelesen...

Vielleicht sollten wir mal einen Wiki-Eintrag zu den optischen Mäusen machen, damit man die Details nicht immer aus den unterschiedlichen Threads zusammensuchen muss.

Die Quadratur-Ausgänge sind so reizvoll, weil sie schon vorverarbeitet sind.
6000 oder 7000 fp/s kann der Atmel ja ohnehin nicht verarbeiten, oder?

In welchem Protokoll kommen das Bild aus dem seriellen Ausgang?

Gruß und Danke
Reinald

frank-findus
17.09.2006, 10:07
Die Quadratur-Ausgänge sind so reizvoll, weil sie schon vorverarbeitet sind.
6000 oder 7000 fp/s kann der Atmel ja ohnehin nicht verarbeiten, oder?


Die Quadratur-Ausgänge liefern die Signale so, wie sie den Default-Einstellungen des Mauschips entsprechen. Um den Chip irgendwie zu konfigurieren, muss man den seriellen Anschluß benutzen.

Die 7000 f/s liefert der Chip nicht aus, es ist die Anzahl der Bilder, die er intern analysiert, um daraus die Bewegungsdaten zu ermitteln.

Über einen speziellen Befehl kann man den Chip dazu bringen, statt der Bewegungsdaten ein Bild aus seiner Kamera auf die serielle Schnittstelle zu geben. Die Daten haben kein spezielles Format, es sind einfach aufeinanderfolgende Bytes (Anzahl=Spalten x Zeilen des Sensors). Die Zahlenwerte der Bytes repräsentieren Grauwerte. Um daraus ein Bild zu machen, muss man sie selber in der richtigen Reihenfolge auf den Bildschirm oder ein Display malen.

Frank

Ruppi
17.09.2006, 14:10
hallo,
frank hat ja gerade erklärt, wie die bilddaten aus dem sensor kommen. zu der anderen sache muss man sagen, dass ein atmel auf jeden fall 7000 fp/s verarbeiten kann, denn es ist nicht erforderlich, die daten wirklich 7000 mal pro sekunde aus dem sensor auszulesen, das würde wohl wirklich nicht gehen! der sensor hat einen kleinen zähler von je 8bit pro achse (siehe mein vorheriges posting). die einzelnen bewegungswerte werden mit diesem zähler zusammenaddiert. beim auslesen des zählerstandes wird dieser dann automatisch zurückgesetzt. es reicht also locker aus, die daten mit 500Hz zu lesen, man verliert dann trotzdem nichts. und falls ein überlauf stattfindet, man also bewegungsdaten verloren hat, wird dies am sog. overflow-bit angezeigt. alle diese vorteile hat man, wenn man das spi-interface des sensors nutzt.

ruppi

Reinald
20.09.2006, 21:24
Im Wiki habe ich einen Artikel

https://www.roboternetz.de/wissen/index.php/Maussensor

anefangen, um die Erkenntnisse zum Thema Maussensor zusammenzutragen.

Es wäre schön, wenn sich alle daran Beteiligen, da ein nachvollziehbares Howto draus zu bauen.

Einige habe das Ding wohl schon laufen, aber es sind noch einige Fragen offen, für Einsteiger wie mich...

Also alle mithelfen,
Reinald

Reinald
29.09.2006, 20:39
Erfolg und mißerfolg liegen so eng beieinander...

Also:
meinen ACX 1001 kann ich wohl jetzt auslesen -scheinbar. Das Gehäuse ist ein 20-Pin, es scheint mit dem PAN weitgehend übereinzustimmen. Das Problem ist jetzt - ich bekomme keine brauchbaren Daten.

Die Daten in allen Registern sind fixe Werte, außer in No. 3. Dieses Register "reagiert" auch auf Mausbewegung. Allerdings "zappelt" es immer etwas, und auch wenn das Ding ruhig liegt geht der Wert nicht auf 0. Ich vermute mal eher sowas wie "Bildqualität". Wenn ich die Laserdiode abklemme, ist er auf 128, ansonsten eher zwischen 160 und 175.

Aber alle anderen Register (ich habe mal 0-15 ausgelesen) sind wie festgenagelt!

Auch der Versuch, in das (vermeintliche) Config-Register zu schreiben ist fehlgeschlagen. Ich habe das Register ausgelesen, 1 draufaddiert, geschrieben, wieder ausgelesen, aber in keinem der 16 Register hat sich der Wert entsprechend geändert.

Hat da irgend jemand eine Idee, wie ich da weiterkommen kann?

Die andere Billigmaus mit OM02-Sensor ist leide noch vernagelter, da habe ich noch nicht das richtige Timing raus, die will noch gar nicht mit mir reden 8-(

Ich bin für jeden Tip dankbar,
Reinald

starkeeper
29.11.2007, 16:59
Erfolg und mißerfolg liegen so eng beieinander...

Also:
meinen ACX 1001 kann ich wohl jetzt auslesen -scheinbar. Das Gehäuse ist ein 20-Pin, es scheint mit dem PAN weitgehend übereinzustimmen. Das Problem ist jetzt - ich bekomme keine brauchbaren Daten.

Die Daten in allen Registern sind fixe Werte, außer in No. 3. Dieses Register "reagiert" auch auf Mausbewegung. Allerdings "zappelt" es immer etwas, und auch wenn das Ding ruhig liegt geht der Wert nicht auf 0. Ich vermute mal eher sowas wie "Bildqualität". Wenn ich die Laserdiode abklemme, ist er auf 128, ansonsten eher zwischen 160 und 175.

Aber alle anderen Register (ich habe mal 0-15 ausgelesen) sind wie festgenagelt!

Auch der Versuch, in das (vermeintliche) Config-Register zu schreiben ist fehlgeschlagen. Ich habe das Register ausgelesen, 1 draufaddiert, geschrieben, wieder ausgelesen, aber in keinem der 16 Register hat sich der Wert entsprechend geändert.

Hat da irgend jemand eine Idee, wie ich da weiterkommen kann?

Die andere Billigmaus mit OM02-Sensor ist leide noch vernagelter, da habe ich noch nicht das richtige Timing raus, die will noch gar nicht mit mir reden 8-(

Ich bin für jeden Tip dankbar,
Reinald

Ist zwar ein Uralter beitrag aber dennoch akutell, für mich. =P~
Gibt es mitlerweile eine Möglichkeit den ACX-1001 anzusteuern?