Gibt es für den 2051 inzwischen eine Bibliothek in C?
@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
雅思特史特芬
开发及研究
Gibt es für den 2051 inzwischen eine Bibliothek in C?
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
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
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
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.
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
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
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
hier nochmal das posting der früheren diskussion:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=12579
Lesezeichen