Como uma roda de rolagem da Logitech detecta movimento?

80

Acabei de substituir minha roda de rolagem no mouse, um reparo de um minuto. Mas agora eu vi algo que não pode ser invisível.

As rodas de rolagem da Logitech aparentemente funcionam usando magia .

Ele repousa livremente em três botões que detectam pressionamentos esquerdo, direito e reto. Mas a roda em si não está eletricamente conectada a nada. É de plástico descansando em uma mola.

Como o mouse sabe quando estou rolando? E por que foi afetado por poeira e lamaçal?

Edit: e como ele detecta qual direção você está rolando?

insira a descrição da imagem aqui

Steve Hanov
fonte
Não sei se é o mesmo para este mouse, mas no passado, era um laser que brilha através da roda e dentro dela havia faíscas (ou seja o que for, tem áreas que estão abertas e áreas que estão fechados). Se o laser fosse interceptado, ele poderia sentir que estava rolado e em qual direção.
LPChip
2
Olha aqui . Cada configuração do mouse é diferente, mas com base no fato de a foto que você postou mostra montagens claras no volante, implica que há um codificador óptico em jogo.
JakeGould
5
Isso pode surpreendê-lo, mas o mouse antigo (não o mouse a laser moderno) funciona exatamente da mesma maneira, exceto que possui 2 rodas - para as direções X e Y. Se você conseguir encontrar e abrir uma, verá que a bola não está presa a nada. Aqui está uma foto: 38.media.tumblr.com/7d0bb30a71fba01f9c191fc48ca457f5/…
dr01
2
As respostas cobrem a maneira como é realmente feito; outra possibilidade seria usar um sensor de efeito Hall , que basicamente conta pulsos elétricos gerados por um ímã na roda que passa por uma bobina. Esses são frequentemente usados ​​em ferramentas elétricas, motores de carros e outras coisas que giram rapidamente.
David Richerby

Respostas:

100

Há um diodo (provavelmente infravermelho) e um receptor, um de cada lado da roda, soldado diretamente no PCB verde. A roda é FALADA e, girando-a, você interrompe a luz que viaja do diodo para o sensor. Não há mágica lá.

Ah, e a poeira lá dentro pode bloquear permanentemente o sensor de qualquer luz proveniente do diodo; portanto, não há como registrar interrupções, por isso a roda parece não funcionar.

localização do transmissor e receptor de luz, não sei qual é qual

Kitet
fonte
19
agora você só precisa explicar como ele detecta que direção você está rolando
Sampo Sarrala
116
Dois receptores, espaçados 1,5 raios, de modo que seus padrões de interrupção fiquem 90 graus fora de fase entre si. O termo técnico para isso é quadrature encoderse você quiser pesquisar no Google. A combinação desses dois sinais liga / desliga fornece 4 "símbolos" exclusivos que aparecem em uma ordem específica para uma direção e na ordem inversa para a direção oposta.
AaronD
8
Se você perder os bons e velhos tempos limpando as bolas do mouse, limpar esses raios quando a rolagem fica escorregadia é um bom substituto.
Doug Kavendek
10
Como afirmado, essa resposta está incorreta, pois afirma especificamente que há um par singular de componentes ópticos, quando, na verdade, como AaronD aponta, dois são necessários. A edição para repará-lo seria simples, mas como uma mudança factual, apenas o Kitet deveria fazer.
Chris Stratton
3
@ Chrishratton Isso é um pouco menor queixa. Um codificador de quadratura é, sem dúvida, vendido como um único componente integrado. Exemplo1 , Exemplo2
Mike Ounsworth 25/11
40

Para responder à sua edição e expandir o excelente comentário do AAronD , a direção é percebida por um microcontrolador pela sequência dos códigos quando a roda é girada.

Por exemplo, os dois diodos, ao girar a roda, digamos, no sentido anti-horário serão traduzidos para a seguinte sequência:

    A B
    0 0 
    0 1 
    1 1 
    1 0 

Para a direção horária, as entradas serão deslocadas na direção oposta.

Uma excelente ilustração gráfica também está disponível aqui: http://www.creative-robotics.com/quadrature-intro

Alex C
fonte
5

Eu fiz algumas pesquisas e descobri que existem muitos tipos de tipos de roda de rolagem. Não é apenas a Logitech, mas quase todos os fabricantes de mouse usam esse tipo de roda de rolagem. Isso usa uma luz que brilha sobre um fotodiodo através de fendas em um disco de metal ou vidro. Versões reflexivas também existem. Essa é uma das tecnologias mais comuns. Os codificadores ópticos são muito sensíveis ao pó.

O disco do codificador óptico é feito de vidro ou plástico com áreas transparentes e opacas. Um conjunto de fonte de luz e detector de foto lê o padrão óptico que resulta da posição do disco a qualquer momento. O código Gray é frequentemente usado. Esse código pode ser lido por um dispositivo de controle, como um microprocessador ou microcontrolador para determinar o ângulo do eixo.

O tipo analógico absoluto produz um código analógico duplo exclusivo que pode ser traduzido em um ângulo absoluto do eixo

Vedant
fonte
A Logitec não usa um código Gray, usa modulação simples em quadratura. Isso apenas fornece velocidade angular, não posição.
Mark
@ Mark - quadrature é um código cinza de 2 bits, mas sim, considerando que existem apenas dois bits e muitos ciclos ao redor da roda, você está certo de que ele fornece apenas um resultado incremental e não o ângulo, conforme reivindicado.
Chris Stratton
@ Mark obrigado, vou estudar o assunto e chatear a resposta. Obrigado novamente
Vedant