Tratar síndrome do clique duplo
Era uma vez um mouse e seu nome era Defender MM-525. Ela persistentemente puxou a alça do mouse - clicou em links, rolou páginas, moveu o cursor. Mas uma vez que um infortúnio aconteceu - em vez de um clique, ela começou a fazer dois, ou até mais. Às vezes, você deseja pausar um vídeo no YouTube, mas ele é aberto em tela cheia. Ou você seleciona o texto - e no último momento a seleção é redefinida. É claro que isso não poderia continuar mais.
O que fazer? A Internet oferece as seguintes opções:- . , , Windows, .
- .
- - . — .
- . , .
Mas minha alegria durou pouco - alguns dias depois, um clique duplo retornou. Porakinin cérebro, eu decidi que era uma questão de vibrações mecânicas, e coloquei uma fita grossa sob o botão. E, novamente, ajudou apenas por alguns dias. Tornou-se claro que uma solução radical deve ser buscada. E para isso, você deve primeiro entender o que está acontecendo.Como os botões são geralmente fabricados em eletrônica digital? Algo assim: Acima está a energia, abaixo o solo, à direita está um fio à entrada do processador. E na entrada ele tem um portão de um transistor de efeito de campo. No nosso caso, podemos assumir que este é simplesmente um medidor de tensão ideal. A voltagem é maior que a especificada - isso significa que o processador faz uma conclusão, é uma na entrada e, se for menor, então zero.
Mas se a entrada do processador for perfeita, o comutador não poderá ser considerado como tal, com todo o respeito. Quando a chave fecha, isso significa que um pedaço de metal está em contato com outro pedaço de metal. Mas entre os estados "desligado" e "ligado", há um momento estranho em que essas duas peças mal se tocam. E se houver contato agora, em um microssegundo ele pode desaparecer e depois se recuperar novamente. E às vezes até um contato bate em outro e, de acordo com as leis de Newton, ricocheteia nele, ou até várias vezes. O que o processador mãe vai pensar ? Isso mesmo - ele pensará que o interruptor foi ligado, desligado, ligado, desligado, ligado, desligado, etc. Embora "de fato" ele tenha sido ligado apenas uma vez. Esse fenômeno ainda tem seu nome - rejeição de contatos .Espere, isso não lembra de nada? Ah, sim, um incidente semelhante aconteceu ao nosso mouse! Portanto, nossa hipótese de trabalho será que os desenvolvedores do mouse não se lembraram da possibilidade de saltar ou que seus esforços para combatê-lo foram em vão. E teremos que lutar contra esse inimigo por eles.Notamos duas coisas. Em primeiro lugar, nossa velocidade de clique é limitada. É improvável que clicemos no mouse mais de dez vezes por segundo. Em segundo lugar, os switches estão tentando fazer com que o momento do salto passe o mais rápido possível, e certamente em um décimo de segundo o botão do mouse terá tempo para se acalmar. Assim, nossa tarefa é separar os cliques de alta frequência dos de baixa frequência, ou seja, precisamos de um filtro passa-baixo. A maneira mais fácil de fazer isso é soldar o capacitor:
é isso que faremos.Aqui está - nosso botão:
e é o mesmo, mas sem a capa:
Assinamos os números de contato por conveniência:
o princípio da operação é óbvio - em repouso, os contatos 1 e 3 são fechados; quando você pressiona o botão por um tempo, todos os contatos são abertos e, em seguida, os contatos 1 e 2. Ao apertar, a mesma coisa acontece na ordem inversa.Abrimos o botão não para dobrar algo, mas para ver em primeira mão como ele funciona e, se tivermos sorte, observe o salto. E a câmera Samsung WB2000 e a lente I96U nos ajudarão nisso. O dispositivo mencionado pode gravar vídeo a uma frequência de 1000 quadros por segundo. É verdade que não é tão quente quanto, mas, como se costuma dizer, que rico.A configuração mais difícil para fotografar em alta velocidade:
e, de fato, o filme:Como você pode ver, o contato consegue percorrer toda a distância prescrita em cinco quadros (ou seja, 5 milissegundos), e nenhum salto visível é observado. Talvez o salto pudesse ser visto no oscilograma, mas, infelizmente, lembrei-me de que só tinha um osciloscópio quando o mouse já estava montado. Mas, de uma maneira ou de outra, fica claro que o tempo de rejeição da característica é claramente menor que o tempo mínimo de clique e que a borda entre elas é de aproximadamente cinco milissegundos.Digressão lírica. Como eu faria um mouse se eu tivesse uma opção do design acima? Mas assim:
Barato e animador. A entrada do processador não é apenas um voltímetro ideal, é também um capacitor de vários picofarad. Portanto, nesses milissegundos, até que um contato voe do segundo para o terceiro, a tensão não terá tempo para mudar visivelmente e, quando chegar, o capacitor carregará e, mesmo que o contato salte, ele não será capaz de descarregar, portanto não haverá ressalto. Bem, a menos que ele pule para o contato oposto, mas, como vimos, esta é uma situação extremamente improvável.Mas os desenvolvedores valentes de mouse, como veremos, não estão procurando maneiras fáceis.Medimos nosso interruptor com um multímetro. Em primeiro lugar, descobrimos que nenhum dos contatos está com curto-circuito. De qualquer forma. Em repouso, no segundo contato, 2,5 volts de potência, no restante - zero. No estado pressionado, todos os contatos têm zero. Isso sugere que os desenvolvedores não seguiram o meu caminho, e o segundo contato aparentemente serve como entrada para o processador, e o terceiro contato não é usado. Mas o engraçado é que, depois de pressionar o botão, o zero no segundo contato permanece por mais cinco segundos! Infelizmente, o mecanismo de trabalho e as vantagens de tal solução e a motivação dos desenvolvedores continuam sendo um mistério para mim. Espero que alguém de pessoas com conhecimento me ilumine.Assim, todo o nosso esquema coerente de lidar com o salto está quebrando uma parede em branco de incompreensão das soluções modernas de circuitos. Mas, de fato, não pare quando a coisa estiver quase pronta. Então, vamos soldar sem entender.Soldaremos o capacitor entre os contatos 1 e 2. E para medir o efeito, usaremos um script como este , corrigindo-o levemente para que ele responda ao pressionar e pressionar um botão e remova limites de tempo artificiais.Um capacitor de 0,1 μF fornece um tempo de clique de 600 ms. Ou seja, não importa a rapidez com que picarmos, o botão será "pressionado" não antes de 0,6 segundos. Isso é um pouco demais. Usando o método de extrapolação linear, assumimos que 3,3 nF fornecerá um tempo de 20 ms. Soldamos - e vemos um tempo de cerca de 100 ms. Mas esse tempo também inclui o tempo de movimento do próprio dedo e, sem um capacitor, não é muito menor. Depois de tentar mais algumas denominações, decidi parar em 3,3 nF.Como não havia capacitores SMD, tive que soldar um de grandes pernas:
na verdade, é tudo. O mouse foi montado com sucesso e continua seu serviço simples, mas responsável. Espero que a receita acima seja útil não apenas para o mouse.UPD:Eu esqueci completamente. Há outro flagelo de botões do mouse que não apareceu na discussão até que me lembrei. Parece que você tem que apertar o botão com mais força, o clique não está tão claro como antes e, às vezes, o botão envia um sinal para liberar enquanto está pressionado. Mas existe apenas uma solução - o plástico que pressiona o botão pode ser apagado ao longo do tempo; então, uma depressão tão bonita se forma nele que não permite que o botão seja pressionado completamente. É tratado de maneira simples: é necessário modificar este plástico com uma lima para que ele se torne plano e paralelo ao botão ou cole plástico plano fino para o mesmo objetivo.Também pode parecer que sou contra métodos "alternativos" aos descritos no artigo, mas não é assim. Mas cada método tem seu próprio escopo. Se o mouse for feito para que o menor salto seja percebido como um clique - você limpará seus contatos e / ou mudará a chave toda semana.UPD2: Verificou-se que nem tudo é tão simples. Leia a continuação da história! Source: https://habr.com/ru/post/pt383229/
All Articles