AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maus als Sensor am PC

Ein Thema von laube53 · begonnen am 8. Dez 2011 · letzter Beitrag vom 16. Dez 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#11

AW: Maus als Sensor am PC

  Alt 10. Dez 2011, 11:25
Man kann doch die Zeitdifferenz zwischen 2 Reed-Kontakt-Schliessungen durch 360 teilen und erhält zu jedem Zeitpunkt den Winkel.
Das ist dem TE wohl zu ungenau. Man erfasst ja nicht die Momentangeschwinigkeit (die äuerst schwer zu messen ist) sondern mittelt über eine Radumdrehung. Beschleunigen und Abbremsen des Rads kann man so nur sehr unpräzise erfassen.

Der Sensor einer optischen Maus ist da schon eine sehr gute Idee. Eine andere Möglichkeit wäre, einen Drehimpulsgeber zu verwenden. Den kannst du mit an die Achse hängen und (je nach Preisklasse) Bekommst du den aktuellen Winkel des Rads sehr genau. (Laut Wikipedia bis zu 10000 Impulse pro Umdrehung)
==> http://de.wikipedia.org/wiki/Inkrementalgeber

Ich empfehle allerdings, dich in das Thema Mikrocontroller einzuarbeiten. (Oder jemanden zu suchen, der dir das machen kann) Weil solche Sachen brauchen oft eine Echtzeitfähige Ansteuerung und das ist mit einem PC halt nicht gegeben.

Geändert von jfheins (10. Dez 2011 um 11:33 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#12

AW: Maus als Sensor am PC

  Alt 10. Dez 2011, 12:12
Peiselerrad

.
Entfernungsmessung
  Mit Zitat antworten Zitat
laube53

Registriert seit: 10. Feb 2011
Ort: Berlin
10 Beiträge
 
#13

AW: Maus als Sensor am PC

  Alt 14. Dez 2011, 15:27
Wenn nur alle 360° ein Impuls gesendet wird, mus man interpolieren. Das wäre in Ordnung, wenn man die Geschwindigkeit genau genug konstant halten könnte.
Das wird in der Realität nicht gehen.

Meine ursprüngliche Idee lässt sich wohl nicht verwirklichen.
Auch Leute, denen ich mehr Ahnung unterstelle, winken da ab (vgl. SpriteMods).
Es ist wohl unvermeidlich, zum Lötkolben zu greifen, und die serielle Schnittstelle eines Maussensors zu beutzen, wie es die Roboterbauer tun (z.B. mit dem ADNS-2610 von Avago).
Dann kann man auch gleich einen Mikrocontroller einsetzen.

Ich danke nochmals für die Beiträge (auch Peiseler Messsysteme).

Thomas Lauer.
Thomas Lauer
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#14

AW: Maus als Sensor am PC

  Alt 14. Dez 2011, 19:41
Es gibt Plattenspieler mit Direktantrieb, die haben einen kreisrunden Magneten, der auf dem Plattenteller klebt. Dieser Magnet enthält sehr viele radiale Erhebungen, die in einem Hall-Generator Schwankungen verursachen und zur Drehzahlerfassung dienen.
Ein anderes Beispiel: Pedelecs enthalten am Tretkurbelgehäuse mehrere Magneten, die beim Treten an einem Reedschalter vorbeibewegt werden. Es können 4 oder mehr sein, die der Elektronik eine Tretbewegung signalisieren. Nur dann darf der E-Motor im Bereich von 6-25 km/h mit Strom versorgt werden. Unterhalb dieser Geschwindigkeit darf beim Schieben (z.B. bergauf) der E-Motor auch ohne Tretbewegung Strom erhalten.
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#15

AW: Maus als Sensor am PC

  Alt 14. Dez 2011, 21:36
Optische Maus-Sensoren haben meistens eine 3-wire SPI-Schnittstelle, die relativ einfach auszulesen ist und hier oft schon fertig benutzbaren Gray-Code ausgibt, da optische Maus-Sensoren oft "One-Chip-Lösungen" sind, die für das Processing des Bildes keinen externen DSP brauchen.
Somit zapfst du am Besten diese Schnittstelle am Chip direkt an, ohne über den USB-Weg der Maus zu gehen.

Wenn du nicht selbst zum Lötkolben für eine eigene MCU-Schaltung greifen willst, kannst du dir so etwas wie das PICkit Serial Analyzer Board holen. (ca. 50 Euro)
Das ist ein Testboard für serielle Protokolle (SPI, I2C, Microwire, RS232 etc.), an das du einen solchen Maus-Sensor dann anschliessen kannst.
Das Board bringt dabei schon alles mit, was du brauchst: Kommunikationsmöglichkeit mit dem PC über USB, hat bereits einen Microcontroller inkl. Steckanschlüsse drauf, eine komplette Entwicklungs-IDE, entsprechende Windowstreiber zum Ansteuern des Boards, eine DLL, die du sicher auch in Delphi ansteuern kannst, wenn du die VB-Header übersetzt und haufenweise Code-Beispiele, wie man die Protokolle über die API in der DLL verwendet.

Du brauchst dazu natürlich eine Maus, bei der du weisst, welcher genaue Sensor verbaut ist und der am Besten bis auf die drei SPI-Leitungen nur noch die Stromversorgung braucht.
Das ist der schwierigste Teil des Projektes, einen einfachen Sensor zu finden, allerdings gibt es afaik solche von Analog Devices, die weit verbreitet in Mäusen verbaut werden.
Notfalls, wenn du keinen solchen Sensor findest, schaust du halt, welche externen Komponenten er noch benötigt (Quartz etc.) und ob das oben genannte Testboard eventuell diese Anschlüsse auch schon hat.
Zuletzt holst dir noch das Datenblatt des Sensors, schliesst den Sensor an das PICKit an und wurschtelst los

Gut, um den Sensor anzuschliessen brauchst du dann doch minimal für die Drähtle den Lötkolben, aber das lässt sich eigentlich kaum vermeiden, wenn du den Sensor nativ auslesen willst.
Allerdings sind die meisten dieser Sensoren noch sehr "Lötanfänger-freundlich" im 2,54er DIP-Raster und zum Glück nicht im fiesen BGA-Formfaktor, der sich daheim eh kaum ohne Dampfphase oder umgebauten Pizzaofen löten lässt.
Zur Not gehts dann doch auch ganz ohne Löten, wenn du dir ein Experimentier-Steckboard holst und der Chip das besagte 2,54mm Raster hat.
Hier muss man allerdings darauf achten, dass das Steckboard nicht hinderlich ist, was die Linse der CMOS-Camera angeht und ob die Schaltfrequenzen des Chips einen Aufbau auf einem Steckboard vertragen.
(Wobei nach aussen ja eh nur per SPI kommuniziert wird und das ist bezüglich Leitungslängen und Einstreuungen sehr robust, sofern man den Bus nicht zu sehr kapazitiv belastet).

Auf jedenfall ist der Versuch mit einem solchen PICKit-Testboard (oder vergleichbarem) wesentlich zeit- und nervenschonender, als die gesamte MCU-Schaltung inkl. SPI-Protokoll als Microcontroller-Anfänger von 0 an selbst zu bauen und die dementsprechende Firmware in ASM oder C zu schreiben.

Ein Problem könnte jedoch werden, dass du den Maussensor wirklich wackelfrei und nahe am Rad verbauen musst, um eine ausreichende Genauigkeit und Datenstabilität zu erhalten, aber das wäre eh dann die nächste Geschichte, wenn man die Schaltung und die generelle Funktion schon einmal hat

Geändert von blackfin (15. Dez 2011 um 00:52 Uhr)
  Mit Zitat antworten Zitat
laube53

Registriert seit: 10. Feb 2011
Ort: Berlin
10 Beiträge
 
#16

AW: Maus als Sensor am PC

  Alt 16. Dez 2011, 19:54
So langsam wird mir klarer, was zu tun ist.
Ich habe noch ein STK500-Entwicklungsboard mit einem ATMega32, damit müsste das eigentlich gehen.
Das hätte den Vorteil, dass ich Code aus dem ct-Bot-Projekt (das auch eine Maussensor verwendet) benutzen kann.
Außerdem gibts dafür auch einen PASCAL-Compiler; und auch PASCAL-Quellcode aus dem ctLab-Projekt.
Da muss ich vielleicht gar nicht C lernen.

Hilfreich fand ich auch die Informationen im RoboterNETZ http://www.rn-wissen.de/index.php/Maussensor und
Mikrocontroller.nethttp://www.mikrocontroller.net/articles/Maussensor.

Die Mausoptik kann man auch in der Brennweite manipulieren, um nicht auf präzise Einhaltung des Abstands angewiesen zu sein.
Spannend ist auch die Aussicht, höher auflösende Sensoren aus Gamer-Mäusen einzusetzen.

Löten tu ich eigentlich gerne, solange es nicht SMD-Teile sind.
Thomas Lauer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz