¿Cómo detecta una rueda de desplazamiento Logitech el movimiento?

81

Acabo de reemplazar mi rueda de desplazamiento en mi mouse, una reparación de un minuto. Pero ahora he visto algo que no se puede ver.

Las ruedas de desplazamiento de Logitech aparentemente funcionan usando magia .

Se apoya libremente en tres botones que detectan las presiones izquierda, derecha y hacia abajo. Pero la rueda en sí no está conectada eléctricamente a nada. Es plástico descansando sobre un resorte.

¿Cómo sabe el mouse cuando me desplazo? ¿Y por qué se vio afectado por el polvo y la mugre?

Editar: ¿y cómo detecta en qué dirección te estás desplazando?

ingrese la descripción de la imagen aquí

Steve Hanov
fuente
No sé si esto es lo mismo para este mouse, pero en el pasado, era un láser que brilla a través de la rueda, y dentro de la rueda había chispas (o lo que sea que sea la palabra, tiene áreas que están abiertas y áreas que están cerrados) Si el láser fue interceptado, podría sentir que se desplazó y en qué dirección.
LPChip
2
Mira aquí . La configuración de cada mouse es diferente, pero en función del hecho de que la imagen que ha publicado muestra monturas claras en la rueda implica que hay un codificador óptico en juego.
JakeGould
55
Esto puede sorprenderlo, pero el viejo mouse de bola (no el mouse láser moderno) funciona exactamente de la misma manera, excepto que tiene 2 ruedas, para las direcciones X e Y. Si logras encontrar y abrir uno, verás que la pelota no está unida a nada. Aquí hay una foto: 38.media.tumblr.com/7d0bb30a71fba01f9c191fc48ca457f5/…
dr01
2
Las respuestas cubren la forma en que realmente se hace; Otra posibilidad sería utilizar un sensor de efecto Hall , que básicamente cuenta los pulsos eléctricos generados por un imán en la rueda que pasa por una bobina. A menudo se usan en herramientas eléctricas, motores de automóviles y otras cosas que giran rápidamente.
David Richerby el

Respuestas:

100

Hay un diodo (probablemente infrarrojo) y un receptor, uno a cada lado de la rueda, soldado directamente a la PCB verde. La rueda se HABLA, y al girarla interrumpe la luz que viaja del diodo al sensor. No hay magia allí.

Ah, y el polvo que se encuentra allí puede bloquear permanentemente el sensor de cualquier luz proveniente del diodo, por lo que no hay forma de que registre interrupciones, es por eso que la rueda parece no funcionar.

ubicación del transmisor y receptor de luz, no sé cuál es cuál

Kitet
fuente
19
ahora solo necesita explicar cómo detecta en qué dirección se desplaza
Sampo Sarrala
116
Dos receptores, separados 1.5 radios para que sus patrones de interrupción estén desfasados ​​90 grados entre sí. El término técnico para esto es quadrature encodersi desea googlearlo. La combinación de estas dos señales de encendido / apagado da 4 "símbolos" únicos que aparecen en un orden específico para una dirección y en orden inverso para la dirección opuesta.
AaronD
8
Si echas de menos los buenos viejos tiempos de limpiar tus bolas de ratón, limpiar estos radios cuando el desplazamiento se vuelve resbaladizo es un buen reemplazo.
Doug Kavendek
10
Como se indicó, esta respuesta es incorrecta, ya que establece específicamente que hay un par singular de componentes ópticos, cuando, de hecho, como AaronD señala, se requieren dos. La edición para repararlo sería simple, pero como un cambio de hecho solo Kitet debería hacerlo.
Chris Stratton el
3
@ChrisStratton Esa es una objeción bastante menor. Un codificador de cuadratura se vende indudablemente como un solo componente integrado. Ejemplo 1 , Ejemplo 2
Mike Ounsworth
40

Para responder a su edición y ampliar el excelente comentario de AAronD , la dirección es detectada por un microcontrolador por la secuencia de los códigos cuando se gira la rueda.

Por ejemplo, los dos diodos, al girar la rueda, digamos, en sentido antihorario se traducirán a la siguiente secuencia:

    A B
    0 0 
    0 1 
    1 1 
    1 0 

Para la dirección de las agujas del reloj, las entradas se desplazarán en la dirección opuesta.

Una excelente ilustración gráfica también está disponible aquí: http://www.creative-robotics.com/quadrature-intro

Alex C
fuente
5

Investigué un poco y descubrí que hay muchos tipos de ruedas de desplazamiento. No se trata solo de Logitech, sino que casi todos los fabricantes de mouse usan este tipo de rueda de desplazamiento. La de aquí es la rueda de desplazamiento óptico. Utiliza una luz que brilla sobre un fotodiodo a través de rendijas en un disco de metal o vidrio. También existen versiones reflectantes. Esta es una de las tecnologías más comunes. Los codificadores ópticos son muy sensibles al polvo.

El disco del codificador óptico está hecho de vidrio o plástico con áreas transparentes y opacas. Una matriz de fuente de luz y detector de fotos lee el patrón óptico que resulta de la posición del disco en cualquier momento. El código gris se usa a menudo. Este código puede ser leído por un dispositivo de control, como un microprocesador o microcontrolador para determinar el ángulo del eje.

El tipo analógico absoluto produce un código analógico dual único que puede traducirse en un ángulo absoluto del eje

Vedant
fuente
Logitec no usa un código Gray, usa una modulación de cuadratura simple. Esto solo da velocidad angular, no posición.
Mark
@Mark: la cuadratura es un código gris de 2 bits, pero sí, dado que solo hay dos bits y muchos ciclos alrededor de la rueda, tiene razón en que solo da un resultado incremental y no un ángulo como se afirma.
Chris Stratton
@ Mark gracias, estudiaré el asunto y alteraré la respuesta. Gracias de nuevo
Vedant