Ich möchte eine optische USB-Maus als Drehzahlsensor einsetzen. Es stellt sich daher die Frage, wie man zwei Mäuse an einem System (Linux) betreiben kann, aber nur eine für das GUI benutzt wird. Kann man die Maus nach ID o.Ä. in die X-Konfiguration einbinden, oder ist die Zuordnung anderweitig möglich? Als nächstes wäre zu klären, wie und welche Mausdaten man bekommen kann. Welche Schnittstelle bietet der USB/Maustreiber? Gibt es evtl. auch die Information, dass die Maus den Untergrund nicht erkennen kann (Maus in der Luft)? Damit könnte eine weitere Aufgabe gelöst werden. Da die Maus lediglich eine Relativbewegung meldet, wäre außerdem noch ein zusätzlicher Impuls pro Umdrehung wünschenswert. Hat schonmal jemand versucht die IR-Sensoren des Mausrads als Reflextaster zu verwenden? Wenn nur einer der Sensoren benutzt wird sollte doch aus dem Quadratursignal bei einer Flanke abwechselnd ein "rauf" und "runter" gemeldet werden? Die Tasten der Maus ließen sich auch wunderbar in meiner Anwendung verwenden. Gibt es zufällig Mäuse, die auch Ausgänge haben, die zweckentfremded werden können (z.B. schaltbare LED Beleuchtung)?
ich benutze zwei HDNS2000 Chips von Agilent. Die sind schon etwas älter und wahrscheinlich nicht mehr in aktuellen Mäusen drin. Als Eingänge verwende ich eine I/O-Karte im IDE-Bus (Adidata, auch schon älter), bei der ein Treiber für Linux mitgeliefert wurde, den man sich anpassen konnte. Wenn der Sensor den Untergrund nicht erkennt, gibt's kein Signal. Es lohnt sich, ein wenig mit Linsen vor der Optik des Chips zu experimentieren, dann kann die Struktur, die du abtastest auch mal ein paar mm vom Chip entfernt sein und es geht trotzdem noch. Was du mit 'Relativbewegung', und mit dem 'Zusätzlichen Impuls pro Umdrehung' meinst, habe ich nicht ganz begriffen. Optische Mäuse haben kein Rad eingebaut, dementsprechend gibt es auch keine Umdrehung. Die Encodierung der Bewegung - inclusive der Richtung - erfolgt genau wie bei Kugelmäusen (die haben ein Rad, auf das die Kugelbewegung übertragen wird) - im Gray-Code. Wie das funktioniert, steht hier: http://www.mikrocontroller.net/articles/Drehgeber
... jetzt kapier' ich: Mit 'Drehzahl' meinst du die Achse, deren Umdrehungsgeschwindigkeit du messen willst ... sorry, bin eben völlig auf dem Schlauch gestanden. Ich schätze, diesen zusätzlichen Impuls kannst du dir nicht aus der Maus holen. Die Optik-Mäuse machen einen Pixelbasierten Bildvergleich in x- und y- Richtung, daher ist denen wurscht, ob sie auf eine rotierende Achse schauen oder auf eine Tischplatte ...
Hallo,
ich meinte
> die IR-Sensoren des *Mausrads*
Man kann natürlich über den Umfang und die zurückgegebenen Daten auch
eine Drehzahl berechnen, aber ein zusätzlicher Impuls pro Umdrehung wäre
wünschenswert.
Ansonsten muss ich mich wohl ins HID Protokoll einarbeiten. Aber
wahrscheinlich hast Du recht, die Information, dass keine Erkennung mehr
möglich ist (LED wird dunkler, wenn Maus nicht auf dem Tisch) wid wohl
über USB nicht zur Verfügung stehen.
Klar kann man die Sesoren auch direkt benutzen, aber so ist die IO-Karte
für 5 Euro schon dabei, wenn man einfach eine Maus benutzen könnte..
Ich glaube, das wird prinzipiell nichts. mach mal folgenden Versuch. nimm deine Tastatur als anschlagkante, leg deine Maus dran und merk dir die Cursorposition. bewege deine Maus von der kante weg und wieder ran (mehrmals) die Cursorposition kommt nicht mehr in die Ausgangsstellung zurück. es werden einfach viele Impulse verschluckt. Als Weg oder Drehzahlmesser vollig ungeeignet. mfg Thomas
Ist mir klar, daher auch der Wunsch nach dem zusätzlichen Impuls/U.
ein bekannter von mir hat einmal eine diplomarbeit zu dem thema geschrieben. es ging um die umdrehungsgeschwindigkeit von rotierenden scheiben (einfach gesagt) bei ihm hat es damals funktioniert, deshalb würde ich prinzipiell sagen: das müsste gehn! er hat damals die werte in labview ausgewertet. maussensoren arbeiten übrigens mit dem spi protokoll. µC anbingung wäre hier denkbar. gruß Christoph
thomas schrieb: > nimm deine Tastatur als anschlagkante, leg deine Maus dran und merk dir > die Cursorposition. bewege deine Maus von der kante weg und wieder ran > (mehrmals) > die Cursorposition kommt nicht mehr in die Ausgangsstellung zurück. es > werden einfach viele Impulse verschluckt. Als Weg oder Drehzahlmesser > vollig ungeeignet. Was einzig und alleine am 08/15 Maus Treiber liegt / Sensor Auslese Hardware in der Maus Liegt. Wichtigstes Stichworte wäre hier die "Maus Beschleunigung" Einstellungen des OS. Der nackte Sensor wie der a2610 machen 400CPI bis max. 12inch in der Sekunde und das zuverlässig. Du musst nur schnell genug die Daten auslesen.
thomas schrieb: > Ich glaube, das wird prinzipiell nichts. > mach mal folgenden Versuch. > > nimm deine Tastatur als anschlagkante, leg deine Maus dran und merk dir > die Cursorposition. bewege deine Maus von der kante weg und wieder ran > (mehrmals) > die Cursorposition kommt nicht mehr in die Ausgangsstellung zurück. Das liegt mitunter aber an dieser unsäglichen "Mausbeschleunigung", bei der die Empfindlichkeit abhängig von der Geschwindigkeit variiert wird. Ohne die sieht das schon anders aus.
Marc D. schrieb: > Der nackte Sensor wie der a2610 machen 400CPI bis max. 12inch in der > Sekunde und das zuverlässig. Damit misst man aber nur den zurückgelegten Weg, die Drehzahl muss man dann rechnen, und jeder Fehler bei der Wegmessung und beim Durchmesser geht in das Ergebnis ein. Ausserdem muss eine geignete Struktur vorliegen, mit einer spiegelblank polierten Achse geht das nicht. Darum muss man schon mal die Frage nach der Sinnhaftigkeit stellen: eine einfache Reflexlichtschranke und ein Strich auf der Achse lösen das Problem weitaus einfacher und zuverlässiger. BTW es dürfte nicht so einfach sein, bei einem Ausfall nach Jahren die gleiche Maus als Ersatz zu bekommen. Gruss Reinhard
Ist das hier noch das Mikrocontroller-Forum? Statt eine Maus zu vergewaltigen, koennte man einen kleinen Arduino nehmen, einen Drehgeber, ein paar LED und fertig. Ohne viele Probleme mit zweckentfremdeter Hard & Software...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.