mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionsweise optische Maus


Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jemand einen Tipp, wo man etwas mehr ueber die Funktionsweise 
optische Mäuse erfährt?

Mir ist klar, dass dort Bilder aufgenommen werden und durch Vergleich 
eine Bewegung detektiert werden kann. Mich interessieren Algorithmen und 
technische Details. Beim Googeln habe ich nichts brauchbares gefunden.

Danke und ade,

Thomas H.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man bei google nach "Funktionsweise optische Maus" sucht, dann 
stößt man u.a. auf diesen Artikel,
http://www.de.tomshardware.com/consumer/20030131/l...
in dem u.a. Auflösung und Geschwindigkeit der Bildsensoren erwähnt 
werden. Außerdem wird da als Chiphersteller Agilent erwähnt. Suche bei 
Agilent nach "optical mice" ergibt u.a. das Whitepaper 
http://literature.agilent.com/litweb/pdf/5988-4554EN.pdf
und außerdem ein Datenblatt zu so einem Sensor: 
http://literature.agilent.com/litweb/pdf/5988-9164EN.pdf

bye
  Markus

Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

das ist so eine Sache mit dem "richtigen" Suchen. Du hast mir auf jeden 
Fall sehr weitergeholfen.

Thomas H.

Autor: Silverscene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und mir grad auch...vielen dank!


btw: thread found with yahoo...bei google war nur werbung

Autor: Matte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und mir auch - endlich mal jemand, der nicht immer nur dumm schreibt:
"Such doch in google".
Vielen Dank!

Autor: Florian Scharf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi .. ich hab mal in ner Projektarbeit an der Uni mit solchen Chips
rumgespielt. Die von Agilent haben je zwei x/y Ausgänge, bei denen ein
inkrementelles Signal anliegt, je nachdem wohin geschoben wird. Also ne
integrierte Standalone Lösung zum fertigen verbasteln. Anders wirds in
den Mäusen auch nicht mehr gemacht, das passiert alles auf dem Chip.

der Flo

Autor: Thomas Winkel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach die Damen!
Wenn du dich für die Algorithmen interessierst solltest du dich mal mit
der "Kreuzkorrelation" beschäftigen:
http://de.wikipedia.org/wiki/Korrelation
Sehr interessantes Thema!

Gute Nacht,
Thomas

Autor: Stefan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab mir so nen Algorithmus mal rein theoretisch überlegt:
Gegeben ist ein ständig aktualisiertes Bild der "Kamera" von z.B.
16x16 Pixel, wobei jedes Pixel z.B. 8Bit-genau gespeichert wird
(Helligkeit).
Wir nehmen an, dass durch eine genügend hohe Abtastfrequenz das
jeweilige Folgebild nur max. 2 Pixel nach rechts/links/oben/unten
verschoben werden kann.
Wir speichern immer das letzte Bild als Referenz.
Wir vergleichen bei jeder Abstastung das Bild mit der Referenz, mit der
Referenz um 1 Pixel nach links verschoben, mit der Referenz um 2 Pixel
nach links verschoben, mit der Referenz um 1 Pixel nach links und 1
Pixel nach oben usw (bei einer maximalen Verschiebung um 2 Pixel in
alle möglichen Richtungen sind das dann insgesamt 16 Vergleiche).
Für den Vergleich wird einfach pixelweise der Betrag der
Helligkeitsdifferenz genommen und dieser aufaddiert.
Der Vergleich mit der kleinsten Summe ist dann der
"wahrscheinlichste". Nun muss nur noch ein X/Y-Zähler entsprechend
inkrementiert/dekrementiert werden und das Signal ausgegeben werden.

Stefan

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gratulation, du hast soeben die Kreuzkorrelation erfunden ;)

Autor: Patrick Brinkers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!!
ich habe ein problem, mit der maus! D.h. eigentlich.
ich Arbeite in einer firma die kunstoff rohre herstellt.
so weit so gut! nur wir messen die länge bzw. die geschwindigkeit
mit einem inkrementengeber. jetzt sind mein meister und ich (wegen der
genauichkeit) auf die idee gekommen eine optische maus auf das rohr
zulegen! hört sich dumm an ist aber wen es klappt gut und günstigt! wir
müssten nur wissen wie das signal für die bewegung aus der maus kommt,
d.h. bis ins kable!
ich würde mich sehr über eine andwort freuen!
Danke schon mal an jeden der mir (und) helfen kann!

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

dieses System wird übrigens auch in der Formel 1 eingesetzt, hier wird
der Querversatz, Beschleunigung, Verzögerung und vieles mehr mit
gemessen. Habe mal auf ner Messe das System begutachtet und mal in so
nem Fahrzeug mitgefahren das damit ausgerüstet war.Als Leuchtmittel kam
da eine normale Autoglühbirne zum Einsatz allerdings mit einer Optik die
das Licht etwas gebündelt auf die Straße warf, gab also nen Lichtkegel
mit ca. 15cm Durchmesser. Auflösung laut Mitarbeiter geringe 300x300
Punkte aber eien sehr hohe Abtastrate.
http://people.freenet.de/Thomasoly/Korrelation/Kor...
http://people.freenet.de/Thomasoly/Korrelation/Kor...

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, Patrick,

die Mäuse haben doch meist einen Adapter auf PS/2 dabei. Das Protokoll
dafür wirst Du sicher leicht im Netz finden! Die Funktionsweise der
Maus ist dafür vollkommen egal...

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na da werd ich mir doch an mein Auto gleich mal eine Maus dran schrauben
als "Pfadfinder". Dann noch im Navi, das Ziel einprogrammiert, und
schon kann ich mich auf die Rückbank setzen, udn der Wagen fährt
alleine sonstewo hin

Ne, aber mal im Ernst: kann man das irgendwie in der "Robotik"
verwursten mit den Chips bzw. dem Grundprinzip der optischen Mäuse?

Autor: Patrick Brinkers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
re. johannea raschke?
???? ich weis mit deine antwort leider nichts anzufangen, vieleicht
hast du (die anderen) mich ja falsch verstanden. also die maus soll den
weg messen. da stellt sich die frage, wen sich die maus bewegt, was
kommt für ein signal aus dem kable! das heist ich bräuchte ein
getaktetes signal bzw impulse die ich auf eine sbs legen kann, und über
mein programm in der sbs erechne ich mir dann die länge und
geschwindigeit!

ich stelle mir das halt so vor das die maus 3 anschlüsse bzw. 3 adern
hat 5V + ; 0V - ; und halt den für die impulse wen es über haubt
impulse sind?!?!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, so einfach ist das von einer Maus gelieferte Signal nicht. Die
"PS/2-Schnittstelle" ist eine synchrone serielle Schnittstelle
(besteht aus einer Takt- und einer Datenleitung) und auf dieser
Schnittstelle wird ein -je nach Maushersteller- unterschiedliches
Protokoll ausgegeben. Das sind mehrere Bytes, die einerseits relative
Bewegungsinformationen in X- und Y-Richtung enthalten und andererseits
den Zustand der Maustasten beschreiben. Wenn die Maus ein Mausrad hat,
wird auch dessen relative Bewegung ausgegeben. Die relative
Bewegungsinformation bezieht sich immer auf den vorhergehenden
Datensatz (wie weit hat sie sich seitdem bewegt), und die Maus erzeugt
immer dann einen Datensatz, wenn etwas geschieht, also eine Taste
gedrückt wird oder die Maus bewegt wird.

Für Deine Anwendung benötigst Du einen Microcontroller, der die
"PS/2-Schnittstelle" zur Verfügung stellt und das serielle Protokoll
der Maus auswertet, die für Dich unnötigen Informationen verwirft und
die anderen Daten für Dein Steuergerät aufbereitet beispielsweise an
einer seriellen Schnittstelle ausgibt.

Betr. "Adapter auf PS/2": Einige verkaufte Mäuse sind "bilingual",
sie können sowohl an einer USB-Schnittstelle betrieben werden als auch
mit einem einfachen Adapter an einer "PS/2"-Schnittstelle. Das
bedeutet aber nicht, daß das mit beliebigen USB-Mäusen funktioniert!
Besorge Dir daher besser eine Maus, die von vornherein nur eine
"PS/2"-Maus und keine USB-Maus ist.

Es ist zwar theoretisch möglich, mit einem Microcontroller auch eine
USB-Maus anszusteuern (Forensuche: "verrückter Japaner"), das aber
ist extrem aufwendig ...

Wie auch immer: Viel Erfolg!

Autor: Sssssss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Du könntest aber auch die Signale direkt in der Maus abgreifen.
Da ist quasi nur ein IC drin das die otpische auswertung macht.
Das liefert direkt X und Y QEP (?) Signal.

Sollte einfach auszuwerten sein ;)

Meist sind Sensoren von Agilent drin, evtl findest nen datasheet.
Sonst einfach messen, sollten leicht zu erkennen sein mit nem Oszi ;)

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rufus
Schöner hätte ich es auch nicht ausdrücken können. Vielleicht hilft
Patrick auch dieser Thread weiter:
http://www.mikrocontroller.net/forum/read-1-83132.html

Gruß

Johannes

Autor: Patrick Brinkers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke alle die sich um infos bemüht haben. ein wunder bares forum wo mal
echte kenner einem helfen, und nicht müll gepostet wird!!!!!
DAnke noch mal an alle!!!!!!!

Autor: Dman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick
Aber vergiss nicht, dass die Mäuse (durch die Funktionsweise des
Vergleichsalgorithmus) eine bedingte maximale Geschwindigkeit haben,
die Du messen kannst. Du müsstest anhand eines Datasheets bestimmen,
wie schnell das Rohr denn überhaupt sein darf, damit die Maus überhaupt
Werte aufnimmt, ausserdem wirst Du wahrscheinlich die Maus nicht 100%
positionieren können, so dass u.U. nicht 100% der Bewegung in X oder Y
Richtung des Maussensors stattfinden, sondern verteilt, also z.B. 95% X
und 5% Y richtung. In dem Fall sollte Dein MC ein wenig Vektorrechnung
drauf haben ;) Weisst ja, Wurzel aus VX² + VY².
Grüße

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.