Модификация мыши: хвостатой, оптической, вибрирующей
Эта работа была прислана на наш "бессрочный" конкурс статей. От предложенного приза (материнской платы под Р4) автор с негодованием отказался, поэтому пришлось специально искать подходящие призы. В итоге сошлись на том, что автору вручается сразу несколько наград:
- Видеокарта ATI Radeon 9500 64 MB – 1 шт. (неисправная, с выпаянными деталями)
- Процессоры AMD Athlon XP – 3 шт. (все нерабочие)
- Процессор AMD Duron – 1 шт. (дохлый).
Автор и редакция сайта полностью удовлетворены достигнутым соглашением. Идея награждать за статьи неисправными, некондиционными, сломанными, сгоревшими или новыми, но изначально неработоспособными призами, редакции понравилась. В будущем планируем расширить эту практику, если случайно попадётся работающий экземпляр – сломаем и подарим.
Мышку считают расходным материалом и не удостаивают вниманием. И очень даже напрасно – настоящие игроки тщательно выбирают и очень аккуратно обращаются с грызуном. Увы, фантазии пользователей хватает только на боевую раскраску мышки, но ведь можно и привнести нечто большее в функционирование устройства. Хорошая мышка доставит удовольствие, а плохая... плохая не только способна испортить настроение, но даже отрицательно повлиять на здоровье – заболевание рук не такая уж и редкая болезнь нашего компьютерного века. Моя доработка делается на обычной оптической мышке, что облегчает повторяемость конструкции.
1. Повышение скорости работы сенсора.
реклама
Схема оптической и опто-механической mouse одинакова, за одним исключением – оптико-механический узел перемещения заменен сенсором. Такое построение позволяет легко перейти индустрии устройств ввода (mouse) с механики на оптическую технологию. Вся хитрость сосредоточена в сенсоре, который "фотографирует" видимую поверхность, по последовательным кадрам считает перемещение и выдает соответствующее количество импульсов, эмулируя обычный оптико-механический узел.

Из этого построения следует, что скорость (и частота) работы сенсора не влияет на функционирование мыши в целом. Т.е., частота работы сенсора может быть изменена. Если бы сенсор и контроллер мыши были в одной микросхеме, то подобные "вольности" были крайне затруднены. Интересно, что некоторые оптические сенсоры могут выполнять функции контроллеров, но все равно переконфигурируются в режим простого сенсора – как правило, такие контроллеры не поддерживают уже стандартные функции третьей кнопки и колесо скроллинга.
Оптических сенсоров бывает множество, например Agilent Technologies и ее классическая H2000 . Скорость работы этого сенсора задается внешним кварцем в 12MHz и не может быть изменена программно, как на некоторых других моделях. Печально, остается только метод грубой силы – увеличение частоты. Мышка прекрасно работает на 40MHz, дальнейшее повышение частоты до 50MHz не нарушает работоспособность, но наблюдается снижение разрешения. В сенсоре изображение формируется на матрице ПЗС (прибор с переносом заряда) и информация считывается подачей попеременных уровней напряжения на фотоячейки, что вызывает перенос заряда, который формируется от засветки в микроячейках светочувствительной матрицы. Проблема в том, что при повышении частоты коммутации не весь заряд успевает переместиться в соседнюю ячейку и соседние точки немного смешиваются. Если еще больше повысить частоту работы сенсора, то произойдет смазывание изображения и процессор сенсора не сможет отслеживать перемещение.
Частота в 40MHz и так в 3 раза больше первоначальной и как-то мало смысла повышать ее еще больше в ущерб стабильности. Интересный момент – если просто заменить кварц с 12MHz на 40MHz, то ровным счетом ничего не произойдет, время засветки светодиода после движения останется прежним. Дело в том, что кварцы на частоту выше 25MHz изготавливаются на третью гармонику и без специальных средств возбуждаются только на первой гармонике. Вот и выходит 40/3=13MHz, что практически равно старому кварцу в 12MHz. Для перевода его на третью гармонику надо поставить LC цепочку:

Индуктивность в 3uH можно получить из резистора 0.125W с большим сопротивлением (>47KOm), намотав 50 витков тонким проводом диаметром 0.08–0.12mm. Таким способом было переделано три мышки разных производителей – Logitech, Arowana, A4Tech. Увы, везде стоял сенсор на H2000. Точнее сказать, я пересмотрел больше десятка разных оптических мышек и уже отчаялся увидеть что-либо отличное от H2000. Никаких отрицательных моментов за два года эксплуатации не возникало. Доработана мышка или нет, я замечал только по времени горения светодиода подсветки. Однако, как мне кажется, в доработанных мышках исчезли срывы и повысилась плавность при резких движениях. На Arowana иногда наблюдался очень неприятный дефект – при очень резком перемещении вдруг оказываешься смотрящим в пол. Очень неприятно, сильно дезориентирует. После доработки этот дефект пропал.
У предложенного метода разгона есть недостаток – в 3 раза сдвигается порог динамического ускорения. Динамическое ускорение в мышке означает удвоение (или утроение) количества импульсов при превышении некоторой скорости перемещения выше пороговой. Т.е., при медленном перемещении идет 1х, а при большей скорости – 2х. С другой стороны, этот порог удвоения выбирается для обычной работы, что совсем не пригодно для динамичных игр. Так что выходит, что эта доработка, скорее благо, чем зло.
реклама
2. Механическая обратная связь.
В терминологии Logitech это iFeel – выдача вибрации различной амплитуды и ритма. Как–то, начитавшись обзоров, купил Logitech iFeel MouseMan и попробовал играть – бОльшего разочарования трудно представить. Мышь тяжелая, неудобная, iFeel невыразительный. Через полчаса заболела кисть, чего никогда не случалось. Это было давно и я благополучно забыл этот страшный сон. Подробнее о технологиях "Feedback" можно почитать на сайте Immersion. Недавно мне попался на глаза виброзвонок от какого–то сотового телефона и появилась мысль – получить аналогичный эффект, но без жутких драйверов Immersion. Сделал схему, фильтрующую НЧ составляющие и отправляющую их на виброзвонок.

Схема состоит из двух частей – фильтр низких частот (ФНЧ) на первой половине LM358 и усилителя-выпрямителя на второй половине LM358. ФНЧ выполнен на C3, R3, C4, R4; цепь R1, R2, C1 задает смещение 1/2 питания для нормальной работы фильтра. Резистором R9 регулируется уровень сигнала. Конденсатор C2 снимает постоянную составляющую и на вход выпрямителя приходит переменное напряжение с нулем на земле. Это весьма удобно, т.к. надо получить на выходе не переменный, а выпрямленный сигнал. Выпрямитель берет обратную связь с выхода, что уменьшает вредоносное влияние виброзвонка. У меня применен виброзвонок с внутренним сопротивлением по постоянному току 30 Om, рабочее напряжение 3V. Выпрямленное напряжение не сглаживается конденсаторами и это сделано специально – так меньше инерционность и как–то сказывается ритм, форма и частота на характер вибрации.
Конденсаторы и резисторы могут быть любыми, только C3 должен быть с малым током утечки, т.е. не электролитический. Транзистор Q1 любой npn, Q2 любой pnp но с "средним" током коллектора (0.3–2A). Совсем слаботочный на Q2 лучше не ставить, ведь он обеспечивает ток виброзвонка. Сам виброзвонок на 3–5V с не очень большим током, ведь мощность USB не беспредельна. У меня вся схема размещена в самой мышке, регулятор уровня внизу слева и не мешает игре, что удобно для регулировки во время игры. Виброзвонок приклеен к внутренней стороне верхней крышки mouse, там же и схема. Прижим виброзвонка может не дать надежного механического соединения, ведь уровень вибрации весьма значителен. При добавлении схемы общий вес мышки практически не изменился.
Когда-то давно я удлинил кабель мышки плетеным поводом, теперь один из этих поводков использован под передачу audio-сигнала. Плетеный провод я делал потому, что так провод мягче и почти не заметен при игре. Для подключения к звуковой плате придется сделать переходник-удлинитель и с него снять сигнал в мышку. Можно взять с левого или правого канала, а можно с их полусумм – я поставил по резистору в 10K в каждый выход (левый и правый), а среднюю точку подключил к mouse. Провод от звуковой карты к мышке лучше вести экранированным кабелем, его экран заземлить на стороне звуковой карты и ни в коем случае не соединять с землей мышки! Если это не выполнить, то можно получить большой уровень шумов и помех в звуковой карте.

У приведенного способа масса недостатков:
- большое время до начала вибрации (механическая инерция виброзвонка)
- еще большее время послезвучания по окончанию звука.
- маленький диапазон уровней громкости вибрации.
- при включении питания издает вибрацию на 1–2 секунды. Можно устранить некоторым усложнением схемы.
Некоторые достоинства:
- очень легкая конструкция, практически не утяжеляет мышь
- достаточно простая схема
- отсутствие драйверов, patch'ей и прочего.
Есть игры, в которых эффект вибрации лучше, а есть те, где "неудачно". К первым я бы отнес UT и UT2003, остальные "по–разному". Рекомендация – делайте уровень громкости музыки в 2 раза тише эффектов, тогда музыка не будет вызывать вибрации. Кстати, попутно получился интересный эффект – когда в Хром'е я зашел в машинный зал с постоянно лязгающими агрегатами, то мышка начала вибрировать. Схема собрана несколько дней назад и когда у меня ее брали посмотреть, то явственно почувствовал, как "чего–то не хватает". Такой пустяк, а уже привык. Для дальнейшего развития надо попробовать заменить виброзвонок на вибродинамик. Это линеаризует уровни вибрации и сами вибрации станут "правильнее", но вызывает тревогу возможный вес конструкции.
По техническим вопросам прошу обращаться в эту тему конференции, а комментарии к статье прошу оставлять в этой теме.
Serj
Теги
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают