Мыши: оптический датчик

2 октября 2009, пятница 10:40
для раздела Лаборатория

Оглавление

Вступление

Сегодня речь пойдет о мышках, но пока начнем с ковриков.

Нормальные герои всегда идут в обход (из к/ф 'Айболит 66').

Коврики

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

Для тестов использовались обычные коврики Nova MicrOptic+ и Defender Ergo opti-laser. Внешний вид у них примерно одинаковый:

По заверениям обоих производителей эти коврики оптимизированы для работы с лазерными мышками. Проверим.

Для начала снимки поверхности с увеличением:





Кое-какие отличия есть, но не особенно заметные. У коврика Nova зерна меньше и не так явно выражены. Значит он хуже?

Теперь посмотрим на коврики глазами оптического датчика:

Согласитесь, что отличие есть и весьма кардинальные. На коврике Nova отчетливо видна высококонтрастная структура, а вот Defender дал какое-то 'мыло'. Скорее всего, это связано с размерами 'гранул'. У лазерных датчиков, в отличие от оптических, видимый размер окна уменьшен . Похоже, на коврике Defender размер гранул больше окна и датчик захватывает только их часть, постоянно переключаясь между монотонно светлыми и темными участками. Для сравнения, приведу фотографии поверхности пластика обратной стороны термосалфетки.

Правый рисунок получен из левого повышением контрастности. Мышка эту поверхность видит так:

На такой поверхности 'офисные' оптические мышки совсем не работают, а вот лазерные как-то умудряются работать и весьма успешно.

Высота отрыва

Что Вы делаете, когда мышка доходит до края коврика? Вы поднимаете мышку и переставляете на новое место, в центр коврика. Оптический датчик обладает высокой чувствительностью и при подъеме пытается сохранить нормальное функционирование, постоянно подстраивая параметры аппаратуры. Как следствие, при подъеме мышки над поверхностью снижается скорость. Точнее, скорость то не снижается, а довольно резко падает качество и достоверность определения движения. Теоретически, при снижении качества поверхности ниже разумного, оптический датчик должен перестать выдавать движение. То есть, при некотором подъеме мышки он должен бы не замечать, что мышь подняли, а если ее еще хоть чуть поднять, то просто перестать передавать движение. Это в идеале, но в реальных мышках при ухудшении поверхности происходит деградация качества движения, передаваемого мышью. Причем, этот вредный эффект зависит от скорости перемещения, из-за чего к такой мышке труднее привыкнуть.





Высота отрыва светодиодных мышек 1.5-2 мм, для лазерных версий цифра больше и составляет уже 2.5-4 мм. Это все цифры, а в реальности такой мышкой неудобно пользоваться даже для офисных приложений, очень уж высоко приходится поднимать ее над ковриком. По моим личным впечатлениям, высота срыва в 1.5-2 мм довольно комфортна. А что же делать с лазерными мышками и их высотой срыва 4 мм?

Давайте возьмем одну за хвост и посмотрим на внутренности. Сейчас распространены мышки на датчике Avago(ссылка на http://www.avagotech.com) ADNS-6010

Чтоб особо не умничать, взял картинку из документации.

Пояснения:

  • Sensor - микросхема ADNS-6010, которая и является датчиком, считывающем движение
  • Sensor PCB - печатная плата мышки
  • VCSEL - лазерный излучатель. Просто небольшой полупроводниковый лазер с посредственным углом расхода луча.
  • VCSEL PCB - небольшая печатная платка, на которой смонтирован лазер.
  • VCSEL Clip - пластиковая защелка, фиксирует лазер в оптической системе. На картинке светло желтого цвета.
  • Lens - оптическая система из прозрачного пластика, блекло-желтого цвета.
  • Surface - поверхность, по которой движется мышь.
  • На этом рисунке указана цифра 2.4 мм - это оптимальное расстояние от дна оптической системы до поверхности. Один момент - дно мышки имеет какую-то толщину, поэтому расстояние от поверхности до дна мышки будет меньше на толщину этого дна.

    А от чего же зависит высота отрыва и почему на оптических мышках эта высота меньше? Посмотрим другую картинку:

    Позволил себе проявить самодеятельность раскрасить некоторые важные элементы конструкции.





    Желтым цветом выделены линзы оптической системы, серым - световой поток лазера. Зеленый - зона видимости оптического датчика. Зона 'видимости' датчика определяется только его фокусом и способностью работать с расфокусированным изображением. Чем выше скорость перемещения картинки, тем должна-бы быть хуже устойчивость для несфокучированных объектов. Если посмотреть данные тестирования, то так и выходит. Высота срыва в 4 мм не функциональна, я попробовал уменьшить эту величину несколько изменив принцип работы - потеря изображения датчиком может быть получена не за счет ухудшения фокусировки, а из-за ухода светового пятна из зоны видимости датчика. Примерно так работают светодиодные мышки. Для этого я увеличил угол луча подсветки с 21 градусов до, примерно, 50 градусов от вертикали.

    При подъеме мышки пятно подсветки (серый луч) выходит из видимого окна датчика (зеленая зона).

    Методика доработки не особо трудна - надо распилить оптический блок по вертикальной черте и не задеть линзы. В крайнем случае, можно чуть-чуть повредить линзу подсветки, она не столь важна. Скрепить две составные части можно термоплавким клеем, на рисунке отмечено коричневым.

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

    К сожалению, блок подсветки надо не только наклонить, но и сдвинуть вниз, из-за чего линза подсветки окажется ниже уровня оптики. Это плохо, в дне мышки придется выплавлять небольшую вмятину под выступ. Впрочем, это не сложно и не мешает, ведь линза выходит за габариты совсем чуть-чуть. Лазерный модуль закреплялся на оптике с помощью защелки VCSEL Clip. Сейчас ее придется убрать и закрепить каплей клея или герметика. Хотя, он и так там неплохо держится. У такого построения есть одна особенность - луч подсветки падает на поверхность с другим углом, чем угол зрения датчика. В результате, между плоскостью поверхности и плоскостью отражения образуется угол около 15 градусов.

    Черный - луч на не доработанной оптической системе, зеленый - после доработки. Поверхность для доработанного случая условно поднята, чтобы она не сливалась с нормальным режимом. Датчик смотрит как бы сбоку на поверхность и четче видит все неровности на ней. Дополнительный наклон подсветки дает дополнительную модуляцию яркости при прохождении объемных областей под объективом. Хорошо сие или плохо - зависит от коврика, фактуры его поверхности. К слову, если снять картинки поверхности коврика Nova на этой, доработанной, мышке, то на фото не будет таких четких граней. И, скорее всего, дело не в фокусировке. Просто изменился угол зрения и четкие структуры коврика исчезли. На этой мышке коврик Nova и Defender выглядят почти одинаково. Впрочем, мышка хорошо ходит по обеим поверхностям. Увы, есть и явный недостаток - из-за того, что поверхность отражения наклонена относительно поверхности коврика, уменьшается общий уровнь освещенности и возникает необходимость увеличения тока лазера подсветки. Обычно он составляет цифру в районе восьми миллиампер. После доработки пришлось повысить ток до 12 миллиампер. Это уже многовато, но в пределах доступного.

    Если Вы дорабатывается обычную, серийную мышь, то хорошо бы несколько помочь схеме автоматического управления током лазера. В документации на датчик ADNS-6010 упоминается резистор Rbin с 13 вывода микросхемы. Обычно, его номинал 12.7 ком. Для того, чтобы подправить ток, надо уменьшить его номинал. Для моего случая хорошо-бы увеличить ток в 1.5 раза, что означает припаивание параллельно этому резистору еще одного с номиналом в 2 раза больше, т.е. 24-27-30KOm. И еще пара поверхностей - тканевая и лист алюминия. Довольно часто слышно рекомендации применять эти поверхности, они дают весьма неплохие результаты.





    Вначале на мышке с не модифицированной оптикой (W-Mouse 730). Ткань:

    Лист алюминия:

    И мышка после модификации оптического блока (W-Mouse 750).

    Ткань:

    Лист алюминия:

    На поверхности с объемным рельефом модификация оптики приводит к большей заметности этого рельефа. А вот картинка с листа алюминия выглядит скорее хуже, но не столь существенно. Бесплатно ничего не бывает. Тронули оптику - получили проблемы с фокусировкой.

    Рекомендация - при повторении подобной доработки не увлекайтесь! Вряд ли стоит настолько сильно увеличивать угол блока подсветки, ведь высота срыва получается слишком малой и появляются неприятные проблемы с упихиванием в корпус и увеличением тока лазера.

    Есть и более простой способ уменьшить высоту срыва - поставить кнопку на дно мышки и при ее подъеме отключать, блокировать датчик. Средств воздействия много, вначале я пробовал отключать лазер, но контроллер в А4 умный и, если просто размыкать ток лазера, контроллер очень быстро это замечает и отключает мышь. Увы, отключает совсем, приходится перетыкать разъем USB, придется поступать не столь прямолинейно. Есть предложение при отключении лазера подсоединять вместо него пару кремниевых диодов, но это потребует установку дополнительных компонентов. Я поступил иначе - воздействовал на резистор Rbin (смотрите документацию на датчик ADNS-6010), при увеличении его номинала система авторегулирования пытается выставить такой ток. Если Rbin отсоединять или делать очень большим, то лазер фактически отключится, но это не вызовет каких-то проблем внутри системы регулирования.

    Саму 'кнопку' я взял из дисковода 3.5" с датчика наличия дискеты. Усилие небольшое, но и его пришлось немного ослабить. Идея работала хорошо, высоту можно подобрать какую заблагорассудится, вот только пластмассовый штифт кнопки быстро стачивается.

    Страницы материала
    Страница 1 из 2
    Оценитe материал

    Теги

    Комментарии 78 Правила

    Возможно вас заинтересует

    Популярные новости

    Сейчас обсуждают