Жила-была мышка, и звали ее Defender MM-525. Она стойко тянула ремешок мыши – кликала по ссылкам, листала страницы, перемещала курсор.
Но однажды случилась проблема – вместо одного щелчка она стала делать два, а то и больше.
Иногда вы хотите поставить видео на паузу на YouTube, но вместо этого оно открывается на весь экран.
Или вы выделяете текст, но в последний момент выделение сбрасывается.
Понятно, что так продолжаться не могло.
Что делать? Интернет предлагает следующие возможности:
- Использовать программное обеспечение средства фильтрации ненужных кликов.
Но это не решение проблемы, а лишь борьба с симптомами, и притом только под Windows, поэтому этот вариант я отверг.
- Складывать весна микропереключатель .
- Некоторые люди даже грешат клавиатура .
Я даже проверил для приличия - результат ожидаемо отрицательный.
- Большинство людей советуют просто заменить микровыключатель.
Я так и сделал, установив кнопку от старой мышки.
Поразмыслив, я решил, что проблема в механических вибрациях, и приклеил под кнопку толстый скотч.
Опять же, это помогло только на несколько дней.
Стало ясно, что нужно искать радикальное решение.
А для этого нужно сначала понять, что происходит.
Как обычно изготавливают кнопки цифровой электроники? Что-то вроде этого:
Вверху — питание, внизу — земля, справа провод на вход процессора.
А на его входе находится затвор полевого транзистора.
В нашем случае можно считать, что это просто идеальный измеритель напряжения.
Напряжение больше заданного, значит на выходе процессора, на входе единица, а если меньше, то ноль.
Но если вход в процессор идеален, то при всем уважении коммутатор таковым считаться не может. Когда переключатель замыкается, это означает, что один кусок металла касается другого куска металла.
Но между состояниями «выключено» и «включено» возникает тот неловкий момент, когда эти две части едва соприкасаются.
А если контакт есть сейчас, то через микросекунду он может исчезнуть, а потом снова восстановиться.
А иногда один контакт ударяется о другой и, по законам Ньютона, отскакивает от него, а то и несколько раз.
Что подумает материнский процессор? Правильно – он будет думать, что выключатель включили, выключили, включили, выключили, включили, выключили и т. д. Хотя «на самом деле» его включили только один раз.
У этого явления даже есть свое название – отскок контакта .
Подождите, вам это ничего не напоминает? О да, аналогичный случай только что случился с нашей мышкой! Это означает, что нашей рабочей гипотезой будет то, что разработчики мыши либо вообще не помнили о возможности дребезжания, либо их усилия по борьбе с ним оказались напрасными.
И нам придется сражаться за них с этим врагом.
Обратим внимание на две вещи.
Во-первых, наша скорость кликов ограничена.
Вряд ли мы будем кликать мышкой чаще десяти раз в секунду.
Во-вторых, переключатели стараются, чтобы момент дребезжания прошел как можно быстрее, и уж точно за одну десятую долю секунды кнопка мыши успеет успокоиться.
Таким образом, наша задача сводится к тому, чтобы отделить высокочастотные щелчки от низкочастотных, то есть нам понадобится ФНЧ.
Самый простой способ это сделать — припаять конденсатор:
Именно это мы и сделаем.
Вот она — наша кнопка:
А это то же самое, но без крышки:
Подпишем контактные телефоны для удобства:
Принцип работы очевиден – в состоянии покоя контакты 1 и 3 замкнуты, при кратковременном нажатии на кнопку все контакты размыкаются, а затем замыкаются контакты 1 и 2. При нажатии происходит то же самое в обратном порядке.
Мы открывали кнопку не для того, чтобы что-то погнуть, а чтобы своими глазами увидеть, как она работает, и, если повезет, посмотреть на дребезжание.
А поможет нам в этом камера Samsung WB2000 и объектив I96U. Упомянутое устройство может снимать видео с частотой 1000 кадров в секунду.
Правда, не ахти, но, как говорится, чем они богаты?
Самая сложная установка для скоростной съёмки:
И, собственно, фильм:
Как видите, контакт успевает пролететь всю необходимую дистанцию за пять кадров (то есть за 5 миллисекунд), и никакого видимого дребезга не наблюдается.
Возможно, на осциллограмме был виден дребезг, но, к сожалению, я вспомнил о наличии осциллографа только тогда, когда мышь была уже собрана.
Но так или иначе видно, что характерное время отскока явно меньше минимального времени щелчка, а граница между ними составляет примерно пять миллисекунд. Лирическое отступление.
Как бы я сделал мышь, если бы у меня был переключатель, подобный показанному выше? А вот так:
Дешево и сердито.
Вход процессора — это не только идеальный вольтметр, это еще и конденсатор емкостью в несколько пикофарад. Так что за те миллисекунды, пока один контакт перелетит со второго на третий, напряжение не успеет заметно измениться, а когда оно придет, конденсатор зарядится, а даже если контакт перескочит, то разрядиться все равно не сможет. , так что болтовни не будет. Ну, разве что он подскочит вплотную к противоположному контакту, но это, как мы видели, крайне маловероятная ситуация.
Но доблестные разработчики мышек, как мы сейчас увидим, легких путей не ищут. Давайте измерим наш переключатель мультиметром.
Сначала мы обнаруживаем, что ни один из контактов не закорочен на питание.
В любом случае.
В состоянии покоя на втором контакте напряжение 2,5 Вольта, на остальных ноль.
При нажатии все контакты в нуле.
Это говорит о том, что разработчики не пошли по моему пути, и вход процессора, судя по всему, является вторым контактом, а третий контакт вообще не используется.
Но самое смешное, что после нажатия кнопки нуля ноль на втором контакте сохраняется еще пять секунд! К сожалению, механизм работы и преимущества такого решения и мотивация разработчиков остаются для меня загадкой.
Надеюсь, кто-нибудь из знающих меня просветит. Таким образом, вся наша стройная схема борьбы с болтовней разбивается о глухую стену непонимания современных схемотехнических решений.
Но на самом деле не останавливайтесь, когда работа почти завершена.
Вот и будем паять не разбираясь.
Припаиваем конденсатор между контактами 1 и 2. А для измерения эффекта воспользуемся скриптом типа так , слегка изменив его, чтобы он реагировал как на отпускание, так и на нажатие кнопок, а также убрав искусственные ограничения по времени.
Конденсатор емкостью 0,1 мкФ дает время щелчка 600 мс.
То есть, как бы быстро мы не нажимали, кнопка «отклеится» не раньше, чем через 0,6 секунды.
Это слишком много.
Используя линейную экстраполяцию, предположим, что 3,3 нФ дадут время 20 мс.
Паяем - и видим время около 100 мс.
Но в это время входит и время собственно перемещения пальца, а без конденсатора оно не намного меньше.
Попробовав еще несколько значений, я решил остановиться на 3,3 нФ.
Так как SMD конденсаторов не было, пришлось припаивать ножку:
Вот и все, собственно.
Мышь успешно собрана и продолжает свою простую, но ответственную службу.
Надеюсь, приведенный выше рецепт будет полезен не только моей мышке.
УПД: Я совсем забыл.
Есть еще одна беда, связанная с кнопками мыши, которая никогда не упоминалась в обсуждении, пока я не вспомнил.
Ощущение такое - кнопку приходится нажимать с большей силой, щелчок уже не такой четкий, как раньше, а иногда кнопка подает сигнал об отпускании, пока она нажата.
И решение одно – та пластиковая деталь, которая давит на переключатель, со временем может стереться, тогда в ней образуется такое красивое углубление, которое не позволяет нажать кнопку до конца.
Решение простое - нужно либо этот кусок пластика доработать напильником, чтобы он снова стал плоским и параллельным кнопке, либо приклеить к нему тонкий плоский кусок пластика для тех же целей.
Также может показаться, что я против методов, «альтернативных» описанному в статье, но это не так.
Но каждый метод имеет свою сферу применения.
Если мышь сделана таким образом, что малейший шорох воспринимается как щелчок, вы и дальше будете чистить контакты и/или менять переключатель каждую неделю.
УПД2: Оказалось, что не все так просто.
Читайте продолжение истории! Теги: #Компьютерное железо #Сделай сам или Сделай сам #Электроника для начинающих #ремонт #мышь #лайфхак #кнопка #планируемое устаревание #конденсатор #отскок #рассуждения #меня интересуют только мыши #их стоимость и как купить
-
Во Время Работы У Вас Играет Фоновая Музыка?
19 Oct, 24 -
Кто Такой Программист?
19 Oct, 24 -
Инструменты Больших Данных 1.0
19 Oct, 24