Hi. Wahrscheinlch stell ich mich grade nur ein bisschen dumm an, aber in ermangelung eines Oszis (heute grade raus zum Update), kann ich mir die Signale leider nicht mehr anschauen. Wir haben hier eine Logitech B110. Bei der wollen wir die Lichtschranke vom Mausrad nutzen. Die Frage ist nun, was sitzt da für ein Sensor drauf? Und vor allem wie schließe ich ihm an, um ihn wie auszulesen. Besten dank
ja soweit komm ich auch noch, aber es muss ja ein optischer Drehgeber sein. Soweit ich das nachvollziehen kann, möchte ich behaupten, dass der eine Pin Sensors an Masse liegt, einer an Vdd und einer geht zum Mauschip.
Nimm anstelle des Mausrads ein Hamsterrad. Das hab ich auch so gemacht. Geht viel besser!
Marco Schulze schrieb: > ja soweit komm ich auch noch, aber es muss ja ein optischer Drehgeber > sein. Soweit ich das nachvollziehen kann, möchte ich behaupten, dass der > eine Pin Sensors an Masse liegt, einer an Vdd und einer geht zum > Mauschip. so einfach auch wieder nicht! auf der einen Seite hat du zwei Pin's für die Lichtquelle (IR-LED), auf der anderen Seite drei Pin's für zwei Fototransistoren -> ein gemeinsamer (meist Emitter) und für jeden Fototransistor einen (Kollektor) Sascha
ah ok, dann macht die welt langsam wieder einen sinn, dann ist der doch nicht direkt auf masse gelegt. Ok, dann ahne ich langsam warum es nicht geht
Sorry, dass ich den Thread jetzt nochmal ausgrabe, hoffe das ist gerade noch im Rahmen. Ich stehe vor der selben Frage, hier mit einer Logitech M-BT58. Und von dem dreibeinigen Empfänger sind definitiv eins auf GND und eins auf +5V (na gut, +5V nach 1,5Ω). Am dritten Pin, der zum Controller geht, scheinen bei Drehung Impulse gegeben zu werden, die sich möglicherweise je nach Richtung in der Länge unterscheiden? Leider kann ich das Signal bei "Abwärts"drehung mit meinem 1956er Oszi nicht auflösen, in der anderen Richtung sind die Impulse sehr deutlich. Vielleich hilft es ja auch jetzt noch oder andersrum kannst Du vielleicht dieses Verhalten bestätigen. Evtl. handelt es sich ja um den selben/einen ähnlichen Sensor.
...Quatsch...man sollte sich nur die Hände frei machen und das Entfernen der Einrastfeder ist auch praktisch, eine kontinuierliche Drehung hilft... Bild #1 ist im Ruhezustand. Die Spitzen entsprechen den Pulsen, mit denen die LED angesteuert wird. Müsste ca. 4kHz sein, wenn mich nicht alles täuscht. Bild #2 zeigt eine "Aufwärts"drehung mit Langen Impulsen am Sensorausgang, die jeweils einen Taktzyklus überdauern. Bild #3 ist entsprechend die "Abwärtsdrehung" mit mäßig erkennbaren kurzen Impulsen auf dem gleichen Pegel wie die längeren in Bild #2. Vielleicht könnte man einen Interrupt triggern lassen und im ISR den Pegel abfragen? Werde das bei Gelegenheit mal antesten.
Hach, dann antworte ich mir nochmal selbst, und wenn es nur der Dokumentation dient. Ich hoffe, es hilft jemandem, da die Informationen zu diesen Teilen im Netz echt spärlich zu sein scheinen, besonders im deutschsprachigen Raum. Schade eigentlich, die Dinger sind sehr zuverlässig und kompakt, verbrauchen nur einen GPIO-Pin. In den optischen Logitech-Mäusen befindet sich einer davon am Mausrad, in den Kugelmäusen kommen noch zwei für X/Y dazu, sind also auch in größeren Mengen sehr leicht zu beschaffen. Nach anfänglicher Skepsis kam mir ein Verdacht, der sich dann hier bestätigt hat: http://forums.hackaday.com/viewtopic.php?f=4&t=2091 bzw. in der üblich blumigen Art beschrieben in dieser Patentschrift: http://www.google.com/patents/US6552716.pdf Es handelt sich in der Tat nicht um einen einfachen doppel-Phototransistor, sondern um ein IC aus (vermutlich) vier Photodioden, Komparatoren, Flip-Flops und serieller I/O-Logik. Ein Puls an der IRED synchronisiert den Sensor, wenn dann der µC einen Takt am I/O-Pin liefert und anschließend hochohmig schaltet, liefert der Sensor die Bewegungsrichtung. In einem Test war ich denn auch mit dieser Sequenz erfolgreich: Zeit Aktion 0 IRED an 1 IRED aus 2 Sensor als Ausgang auf 1 3 Sensor als Ausgang auf 0 4 Sensor als Eingang mit Pull-Up 5 Sensor auslesen, er liefert den Wert "B" 6 Sensor als Ausgang auf 1 7 Sensor als Ausgang auf 0 8 Sensor als Eingang mit Pull-Up 9 Sensor auslesen, er liefert den Wert "A" 20 goto 0 Es gilt: A B Bedeutung 0 0 Stillstand 1 0 Bewegung in Richtung A 0 1 Bewegung in Richtung B 1 1 schnelle Bewegung (soll wohl heißen in der zuletzt gemeldeten) ein Zeitschritt = 12,5µS, so dass der Gesamtzyklus mit 4 kHz läuft. Timing etc. sind sicherlich optimierungsfähig, aber das hebe ich mir für später auf.
Den HaD-Thread, den Du da ausgegraben hast, hatte ich seinerzeit mal gestartet. Habe das ganze irgendwann einmal mangels Zeit aufgegeben. Würde mich sehr freuen, wenn Du diese Arbeit fortführen und ggf. sogar in brauchbaren Sourcen zusammenfassen würdest. Erst mal toi, toi toi ! Gruss, Martin
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.