PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Maussensor & PIC



Biometriker
18.01.2008, 08:42
Ich habe mir einige Artikel hier über Maussensoren durchgelesen.

Ich finde das Auslesen kompliziert. Ich nutze einen PIC über einen Basicdialekt(Picbasicpro).

Kann mir jemand eine kurze Anleitung geben, wie ich den Sensor anschließen muß und herausfinde, wie sich etwas relativ dazu bewegt?

Was ist denn ein Quadraturausgang ?

Biometriker
18.01.2008, 15:31
Wie kann ich bei diesem Problem weiterkommen?

wawa
18.01.2008, 16:42
bitte sei so nett und stoebere hier und du wirst VIELE deiner Fragen beantwortet bekommen.

Biometriker
18.01.2008, 17:47
Lieber wawa, du hast doch nicht etwa eine Leseschwäche?

the_Ghost666
18.01.2008, 18:22
Moin,
Eine Frage vorweg, was für einen Maussensor meinst du? Kugelmaus oder optisch, PS2 oder USB, oder direkt verkabelt?
also zuerst mal zum Quadraturausgang:
So ein Quadraturencoder hat 2 Pins auf dem ein Signal um 90° Phasenverschoben liegt. Stell dir ein gleichmäßiges Rechtecksignal vor, das die hälfte der Zeit an und die andere Hälfte aus ist. Jetzt nimmst du genau das gleiche Signal und verschiebst es um eine viertel Periode, also um ein halbes high oder low. So sehen die Signale aus. Der Trick ist nun, dass in die eine Richtung der eine Kanal zuerst von low auf high wechselt, gefolgt vom anderen, und dass bei umgedrehter Bewegungsrichung genau der andere Kanal vorauseilt.
Dh du kannt mit nem Quadraturausgang die Bewegungsrichtung erkennen

_werwurm_
18.01.2008, 21:07
http://helicron.net/avr/quadrature/quadrature.gif

http://helicron.net/avr/quadrature/

Biometriker
19.01.2008, 05:49
Eine Frage vorweg, was für einen Maussensor meinst du? Kugelmaus oder optisch, PS2 oder USB, oder direkt verkabelt?
Eine optische Maus, USB. Darauf steht: H2000 9924.

Ich sehe es so: Ich brauche vier I/O Anschlüsse vom PIC, die ich auf I einstelle. Diese verbinde ich mit XA,XB,YA und YB.
XA steht für X-Richtung Welle A
XB steht für X-Richtung Referenzwelle zu A
YA steht für Y-Richtung Welle A
YB steht für Y-Richtung Referenzwelle zu A

So kann ich also sehen, ob es sich in + oder -, Y oder X-Richtung bewegt.

Dann noch die Spannungsversorgung an Vdd und Ground und das war es - oder? Muß ich die Verbindung von XA,XB,YA und YB zu CY7C63000A-PC kappen?


So ein Quadraturencoder hat 2 Pins auf dem ein Signal um 90° Phasenverschoben liegt. Stell dir ein gleichmäßiges Rechtecksignal vor, das die hälfte der Zeit an und die andere Hälfte aus ist. Jetzt nimmst du genau das gleiche Signal und verschiebst es um eine viertel Periode, also um ein halbes high oder low. So sehen die Signale aus. Der Trick ist nun, dass in die eine Richtung der eine Kanal zuerst von low auf high wechselt, gefolgt vom anderen, und dass bei umgedrehter Bewegungsrichung genau der andere Kanal vorauseilt.
Dh du kannt mit nem Quadraturausgang die Bewegungsrichtung erkennen
Das klingt ja einfacher als ich dachte.

Biometriker
19.01.2008, 09:52
Und je schneller sich die Maus bewegt, desto höher die Frequenz?

the_Ghost666
19.01.2008, 14:15
Mh ich kenn das Datenblatt des IC nicht, aber es klingt plausibel, dass die Daten direkt die Quadraturencoder Ausgänge sind. Mit jedem Übergang, von dem es 4 pro Periode gibt, kannst du einen Tick in eine Richtung bestimmen. Wie groß ein Tick ist, weiß ich allerdings nicht. Manche Mäuse haben neben dem USB Anschluss immernoch ein PS2-Interface, das könntest du ach seriell auslesen und direkt fragen, wie weit sich das Ding seit dem letzten Auslesen bewegt hat.
Aber wenn du an die Leitungen dran kommst und einen Controller dabei hast, der schnell genug ist bzw nicht zu beschäftigt mit was anderem, solltest du alle Übergänge erwischen können.

Frank E.
20.01.2008, 10:46
Prinzipiell gibt es zwei Möglichkeiten, mit einem Mauschip zu kommunizieren:

A) die bereits erwähnten Quadaturausgänge. Die musst du selber auswerten, was aber ziemlich simpel ist. Bei dieser Methode hast du aber keinerlei Möglichkeiten, z.B. die Auflösung einzustellen oder (bei optischen Mäusen) an die Bilddaten der Kamera zu kommen ...

B) über das synchrone, bidirektionale serielle Interface des Chips (Takt und Daten). Das ist einigermaßen komplex, fast schon eine kleine Diplomarbeit. Dafür bekommtst du aber Zugriff auf sämtliche Möglichkeiten der Kamera und des DSP ...

Frank

Biometriker
20.01.2008, 12:09
Wo finde ich eine Anleitung für B) ?

Frank E.
20.01.2008, 18:46
Im Datenblatt des Maus-Chips. Dort sind das Protokoll, Timing und die Befehle aufgelistet. Setzt also voraus, dass du den Chiptyp ermitteln und das Datenblatt finden kannst.

Und dann musst du natürlich auch noch mit dem Microcontroller deiner Wahl umgehen können, um die Kommunikation zu programmieren ...

Frank

Biometriker
21.01.2008, 03:56
Das Datenblatt habe ich angehängt, es sind nur zwei Seiten, kein Protokoll, kein Timing, keine Befehle, nur ein Schaltplan und Werbung für den Chip.

Wonach suchst du in solchen Fällen im Internet?

Du gehst also davon aus, daß meine Fähigkeit, den Controller zu programmieren nicht gegeben ist, ohne meine Fähigkeiten zu kennen?

Biometriker
21.01.2008, 05:51
Ich habe hier jetzt ein besseres Datenblatt.

the_Ghost666
21.01.2008, 10:09
Das letzte Datenblatt sieht sehr vielversprechend aus. Ich würde dir raten, die PS/2 Ansteuerung zu verwenden, die an Pin1 und 16 möglich ist. Das Protokoll und die Befehle findest du ja auch im Datenblatt. Wenn du versuchen solltest, direkt den µC anzusprechen, der in der Maus verbaut ist, müsstest du dich erst mit dessen Firmware auseinander setzen, und die ist wohl nicht zu bekommen.
Die Ansteuerung von so nem Maussensor wir auch kurz in einem Buch beschrieben, Elektor-Verlag, Embedded Robotics- Das Praxisbuch.
http://www.amazon.de/Embedded-Robotics-Das-Praxisbuch-Das-Praxisbuch/dp/3895761559/ref=sr_1_3?ie=UTF8&s=gateway&qid=1200906500&sr=8-3
Vielleicht solltest du mal schauen, ob ne Bücherei in deiner Nähe das hat. Das Kapitel über den Maussensor ist nur sehr klein, kaufen lohnt sich wohl nicht bei dem Preis.

Und hier ging niemand von etwa aus, Frank.E hat nur gesagt, welche Schritte man zur Lösung machen müsste/könnte.

Biometriker
27.01.2008, 19:49
Hast du dafür ein Listing in PICBasisPro oder wenigstens Pseudocode?

Offtopic: Ich finde es gut, daß du für Frank eintrittst. Ich rate dir aber nur dann in eine Konversation einzusteigen, wenn sie etwas mit dir zu tun hat (!)

the_Ghost666
28.01.2008, 22:09
Ich habe dir eine Quelle genannt, ausserdem gibt es Suchmaschinen.
In deinem Sinne glaube ich, dass mir Nichts an einer Konversation mit dir liegt und beende sie deswegen.
Viel Erfolg mit deinen Projekten.

Manf
29.01.2008, 20:45
Ich rate dir aber nur dann in eine Konversation einzusteigen, wenn sie etwas mit dir zu tun hat (!)
In dem Stil wird es nicht lange gehen, die Beschwerden häufen sich, bitte unternimm selbst etwas dagegen.

Manfred (Moderator)