[Из песочницы] Как скрестить мышку с компасом, или снова о Logitech

de57d6a939e444929b6e6e738f522c71.jpg

Доброго вам времени суток, уважаемые гики и сочувствующие!

В этой публикации я хочу поделиться своим способом преодоления последствий преждевременного износа микропереключателя кнопок компьютерных мышей Logitech. Как известно, способов решения проблемы двойного клика (или, что реже, пропуска кликов) было предложено множество (физические, схемотехнические и даже химические методы известны широкой общественности), но ни один из них не предполагает исключения из схемы самого ненадёжного и неточного узла — механического микропереключателя. Здесь я постараюсь последовательно изложить весь процесс нелёгкого лечения моего домашнего бесхвостого грызуна Logitech MX1100.
Причиной для начала процесса послужили постоянно учащающиеся случаи самопроизвольного двойного клика. Найти замену этой морально и технически устаревшей мыши не составило бы особого труда, если бы не её пухленькая спинка, так удобно лежащая в моей большой мозолистой руке. Как человек ленивый и скаредный, я отринул такие процедуры как регулярная замена микропереключателя, частая чистка контактов, применение WD-40 и т. д. без всяких раздумий.

Радикальное решение: микропереключатель должен исчезнуть, уступив место более высокоразвитому и надёжному (бесконтактному!) устройству. Итак, что же это будет? Озвучим основные требования: малые размеры, простота монтажа, низкое общее энергопотребление и работа при напряжении питания 2,85 В (именно такое напряжение я замерил на выходе преобразователя платы питания мыши). Рассмотрим отдельные типы устройств и их недостатки. Оптопара — потребление значительного тока, необходимость отдельной схемы управления питанием светодиода, необходимость точного монтажа шторки. Сенсорный (ёмкостный) датчик — дорого, возможность ложных срабатываний, неудобство использования (нужно следить за положением пальца). Индуктивный датчик — высокое энергопотребление, большие габариты.

Наконец-то определился фаворит: датчик магнитного поля, известный также как датчик Холла или Hall sensor. Производитель чипов Allegro имеет в портфолио замечательный чип под маркировкой A3212ELHLT–T, отличающийся умом и сообразительностью сверхнизким энергопотреблением (15 микроватт) и всеядностью (диапазон питания от 2,5 до 3,5 вольт). В миниатюрном корпусе SOT23W находятся: собственно датчик магнитного поля, усилитель сигнала, схема управления и цифровой триггер. Низкое энергопотребление организовано за счёт того, что устройство просыпается на 45 микросекунд каждые 45 миллисекунд, определяет наличие магнитного поля и устанавливает соответствующий уровень на выходе. Этот уровень сохраняется на выходе до следующего пробуждения устройства, когда снова будет определено наличие магнитного поля и установлен соответствующий уровень на выходе устройства. Нетрудно подсчитать, что максимальное количество срабатываний в секунду равняется двадцати двум. Много это или мало? Говорят, что существуют люди, способные произвести до 15–16 кликов в секунду. Не знаю, лично не знаком. Кстати, производитель механических микропереключателей Omron рекомендует максимальное количество срабатываний 200 в минуту, что составляет 3 клика в секунду. Возможно, в этом и кроется причина преждевременного износа.

Выход A3212 организован по принципу открытого стока, что делает необходимым наличие внешнего резистора и дополнительного устройства, эмулирующего переключающую группу контактов. Зачем это нужно? Дело в том, что микропереключатели в этих мышках опрашиваются динамически и имеют достаточно неудобную для модификаций схему подключения к микроконтроллеру. По этой причине намного проще обеспечить эмуляцию переключателя, чем пытаться приспособить существующую схему для обеспечения управления напрямую логическими уровнями. На роль эмулятора было выбрано миниатюрное твердотельное переключающее реле MAX4624EUT-T в корпусе SOT23–6. Эта микросхема потребляет примерно 18 микроватт и способна работать при напряжении питания от 1,8 до 5,5 вольт. Максимальное сопротивление ключей в открытом состоянии составляет 2 ом при напряжении питания 3 вольта. Это достаточно низкое сопротивление для надёжной работы цифровых входов и выходов микросхем.
Результатом многомесячных фундаментальных исследований пятнадцатиминутной возни в KiCAD возникла следующая схема:

69c74d7bb5764799a78194cea5109d25.png

Здесь VCC это напряжение 2,85 вольт с платы питания мыши, GND минусовый провод батареи питания. Линии 1,2 и 3 припаиваются к соответствующим контактам печатной платы (напрямую к ножкам микропереключателя). Монтаж выполняется тонким изолированным проводом с использованием SMD компонентов. К примеру, резистор типоразмера 0805 можно распаять непосредственно на ножках А3212, а конденсатор типоразмера 1206 приклеить сверху на МАХ4624. Как это принято говорить в радиолюбительских кругах, правильно собранная схема работает сразу и в налаживании не нуждается.

Крышечку микропереключателя мы используем как корпус-держатель для датчика Холла. Необходимо просто расширить отверстие, в котором находился белый пластиковый толкатель подвижного контакта, и вклеить туда датчик эпоксидной смолой. Этим мы обеспечим надёжную фиксацию и правильное позиционирование датчика под рычагом кнопки мыши.

9b1d320c304243e1a99446e87c0cec95.png

Следующим шагом будет удаление всех контактных шин из микропереключателя. Это нужно для предотвращения короткого замыкания на этих контактах при сборке узла с датчиком Холла, а также с целью освобождения места под этот датчик. Остов микропереключателя остаётся на плате, он нужен как держатель крышечки. На данном конкретном фото показан остов микропереключателя мышки MX Revolution, но это не принципиально, все они одинаковые (чёрт, какие знакомые слова!).

737872cb3e484062b3a3f0ceda8d275d.png

Переходим к верхней части корпуса мышки. Н-образные рёбра на торце рычага кнопки нужно сточить примерно на 1 мм и приклеить это место кусочек самоклеящейся магнитной резины толщиной 0,3 мм. Это — источник магнитного поля для работы датчика Холла.

На фото показано исходное состояние рычага (слева) и рычага с приклеенной магнитной резиной (соответственно, справа).

610e731102da4aa7ace774a09933ccaa.png

После сборки корпуса микропереключателя и пайки всех проводов внутренности мышки выглядят так:

f1c71bc26c5a411fa554e808fb315a49.png

74d851a1a15d48fd83465468d50a332f.png

Остаётся только собрать корпус многострадальной мышки и наслаждаться значительно возросшим ЧСВ непередаваемо прекрасным ощущением обладания уникальным устройством. В самом начале пользования магнитозависимой мышью очень не хватает ощущения щелчка и звука срабатывания микропереключателя, но через пару часов это проходит.

Правый микропереключатель переделывать смысла нет, так как используется он редко и посему живёт много дольше. Следующим шагом будет замена сменных никель-металлгидридных аккумуляторов на несменный литиевый с возможностью беспроводной зарядки.

Как говорится в кругах opensource: have fun!

P.S.: публикуется под лицензией WTFPL.

© Geektimes