Оптический датчик уровня из мышки. Датчик из компьютерной мышки

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

Подготовка и немного теории

В подробности принципа работы современной оптической мыши я вдаваться не буду, очень подробно об этом написано вот тут (рекомендую прочитать для общего развития).

Погуглив информацию по этой теме и разобрав старую PS/2 мышку Logitech, я увидел знакомую по статьям из интернета картину.

Не очень сложная схема «мышей первого поколения», оптический сенсор по центру и чип интерфейса PS/2 чуть выше. Попавшийся мне оптический сенсор является аналогом «популярных» моделей ADNS2610/ADNS2620/PAN3101. Я думаю, они и их...

1 0

Оптические мыши: многообразие технологий

Сергей Асмаков

«Классическая» оптика

Лазер вместо светодиода

Лучше, чем лазер

«Синеглазые» мыши, версия Microsoft

В темном поле

Строго по вертикали

«Синеглазые» мыши, версия Genius

Заключение

В подавляющем большинстве ныне выпускаемых манипуляторов типа «мышь» используются оптические датчики регистрации перемещений. Однако не все они устроены одинаково: в настоящее время получили распространение несколько технологий, каждая из которых имеет свои особенности. Их мы и рассмотрим в данном обзоре.

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

0 0

Оптические датчики для компьютерных мышей Avago Technologies

Avago Technologies - новое имя на мировом рынке полупроводниковых компонентов. Сегодня это крупнейшая в мире независимая частная полупроводниковая компания. Она образовалась в конце 2005 года. Тогда состоялась сделка по продаже подразделения полупроводниковых компонентов компании Agilent Technologies частным инвестиционным компаниям - Kohlberg Kravis Roberts & Co. и Silver Lake Partners. В 2005 финансовом году штат Avago Technologies насчитывал 6500 сотрудников, а чистый годовой доход компании составил $1,8 млрд.

Оптоэлектронные компоненты - это та область, где ранее Hewlett-Packard и Agilent Technologies были признанными лидерами. А теперь Avago по праву считается № 1 в мире по разработке и производству оптических сенсоров для компьютерных мышей, красных и янтарных светодиодов для электронных знаков и сигнальных табло, оптических датчиков-кодеров перемещения для струйных, лазерных и...

0 0

Схема

В простой компьютерной мышке имеется пара оптических датчиков, их можно применить в других целях. Такие же датчики используются например, чтобы определять положение какого то предмета, заперта ли дверь, или считывать количество оборотов вала. Самый оптимальный и удобный вариант, это использование уже готовой платы и микросхемы, особенно тогда, когда в системе нужно использование микроконтроллера, в них как правило уже есть входы поддержки интерфейса RS - 232. В случае если у вас нет такой возможности, то можете использовать схему, которая указана выше.

Этот датчик поделен на две части: принимающая (VD2) и передающая (VD1). Передающей является светодиод, который работает в ИК диапазоне, а принимающая часть, это пара фотодиодов в одном корпусе. Два - нужны для того, чтобы была возможность определять в какую сторону вращается колёсеко мышки (вверх или вниз).

R1 - даёт ток на светодиод. R2 нужен, чтобы преобразовывать ток...

0 0

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

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

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

Мышка всем хороша, однако, со временем может, как и любая техника, ломаться... К счастью, стандартные мышки имеют довольно простую конструкцию и могут быть отремонтированы в домашних условиях даже людьми, далёкими от электроники! Если у Вас в последнее время стала...

0 0

Оптические мыши первого поколения

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

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

Недостатками таких датчиков обычно называют:
необходимость использования специального коврика и невозможность его замены другим. Кроме всего прочего, коврики разных оптических...

0 0

Самый популярный компьютерный аксессуар в мире – это компьютерная мышка. Действительно, без нее точно не обойдется ни один настольный компьютер, довольно трудной и неудобной покажется работа на Вашем любимом лэптопе, а если Вы пользуетесь нетбуком, не снабженным сенсорным экраном, Вам просто не обойтись без компьютерной мыши! От начала «компьютерного века» люди приручили более 350 миллионов экземпляров во всем мире, – самых разных поколений. Начиналось все с оптико-механической мыши, внутри которой вращался металлический шарик, покрытый слоем резины. В условиях пользовательского плоскостолья она «обитала» исключительно на коврике и присоединялась к системному блоку выходом PS/2. При перемещении ее шарик мог цепляться только за шероховатую поверхность. Разумеется, ни о какой точности передачи движений речи быть не могло. Сегодня на смену им пришли настоящие беспроводные кибер-монстры с оптическим или лазерным детектором движения, высочайшей точностью перемещения и молниеносной...

0 0

Компьютерная мышь - пожалуй, самый массовый и распространенный компьютерный девайс. Со времени ее изобретения в 1963 году, конструкция манипуятора претерпела основательные технологические изменения. Уже забыты мыши с прямым приводом из двух перпендикулярных металлических колес. Ныне актуальны оптические и лазерные устройства. Какая компьютерная мышь лучше - лазерная или оптическая? Попробуем разобраться в различиях этих двух типов мышек.

Конструкция

Современный манипулятор-мышь имеет встроенную видеокамеру, которая с невероятной скоростью (более тысячи раз в секунду) делает снимки поверхности и передает информацию на свой процессор, который, сравнивая снимки, определяет координаты и величину смещения манипулятора. Чтобы снимки были качественнее, поверхность следует подсветить. Для этой цели используются разные технологии:

Оптическая мышь

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

0 0

15/03/2006 16:30

Очень часто летят оптические мыши.Если провода целые то дело ква.Вроде вся электроника в норме Может кто нибудь знает в чем дело?Тема интересная. MICHAIL

15/03/2006 16:34

Slav1969, а про устройство почитай чего-нить, вот тема и отпадет, как неактуальная.Стоимость новой мыши - 150 руб.И ты будешь за 50 р в ней копаться? vovsed

15/03/2006 19:42

У меня такая-же бодяга,встанет колом и не здвинеш. Odisee

15/03/2006 19:57

Куда и как они летят? И в каком количестве?

Иногда бывало что для оптики не хватало ps/2 питания, ноэто было на старых матерях типа виа694 и пр. (из личног опыта).

16/03/2006 10:19

Если шнурок впорядке, то ремонту обычно не подлежат! ...(где брать оптосборки?) ...проще купить новую! Konstantin

16/03/2006 10:36


И дешевле, чем з/ч + работа. Slayer

16/03/2006 10:52

Естессно... slav1969

16/03/2006 12:09

А если эти мышки летят пачками и про оптосборки...

0 0

10

Устройство компьютерной мыши

Устройство компьютерной мыши. Многие уже и представить не могут, как можно работать на компьютере без мышки. А ведь ещё недавно о компьютерной мыши и мечтать не могли. Зато те, кто работал на компьютере хорошо знали клавиатуру. А с приходом мышек многие даже не знают, как выйти из положения, если зависнет компьютер. А сейчас этих устройств такое разнообразие, что иногда не сразу и поймешь, что это компьютерная мышка. Но, несмотря на это, внутреннее устройство таких мышей мало чем отличается. Я не думаю, что кто-то задумывается о внутреннем устройстве компьютерной мышки, но для общего развития это все-таки надо знать.

Каково же устройство компьютерной мыши?

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

Важно то, что это название хорошо...

0 0

11

«Кровавый грызун»: Обзор геймерской мышки Bloody T7

На обзор попала мышка для геймеров от компании A4Tech - Bloody T7.

Компания A4Tech специализируется на выпуске клавиатур и мышек, гарнитур, джойстиков, рулей, наушников и прочей компьютерной периферией. На обзор в редакцию bigmir)net пришла игровая мышка с кровавым названием - Bloody T7. Что она собой представляет - читай в нашем обзоре. И мы благодарим компанию A4Tech за предоставленную на тестирование мышку.

Игровая серия Bloody включает в себя 42 наименования. В серию входят как мышки, так и клавиатуры, гарнитуры и коврики. Отличительная особенность Bloody - «кровавый» дизайн. Все продукты серии имеют логотип в виде красного отпечатка ладони.

Характеристика

Сначала сухие цифры.

Тип сенсора: Оптический Разрешение DPI/CPI: 4000 Dpi Частота опроса: 1000 Гц Акселерация (максимальное ускорение): 23 G Количество кнопок: 9 Подсветка: Да Внутренняя память: 160 Кb ...

0 0

12

Чем отличается лазерная мышь от оптической мыши?

Компьютерные технологии стремительно развиваются. Инновационные процессы не прошли стороной и механические манипуляторы, привычно именуемые нами «мышь». Прошло то время, когда верхом дизайнерской мысли было присутствие третьей клавиши на шариковой мышке. Сейчас предлагается огромный выбор мышей различных размеров и окрасок, проводных и беспроводных, оптических и лазерных. Конечно, выбрать мышку, исходя из ее дизайна, не составит ни каких проблем, но вот объяснить разницу между оптической мышью и лазерной сможет далеко не каждый пользователь. Основным отличием для многих людей будет тот факт, что лазерные мыши более современные, а значит и лучшие. Это, конечно, не оспоримо, однако различия между ними гораздо существеннее.

Оптическая мышь представляет собой манипулятор, оснащенный очень маленькой видеокамерой. Она делает приблизительно тысячу фотоснимков за секунду. Эти данные, полученные с...

0 0



Задача: быстро сделать датчик линейного перемещения из компьютерной мышки.

В обычных мышках прячется высокочувствительный оптический датчик. Там скрывается своя маленькая «камера» и процессор обработки, который отслеживает передвижения малейших точек на поверхности. В топовых мышках разрешающая способность составляет всего 3 мкм!

С какими подмышиными камнями мы столкнулись, плюс техническая часть, расскажем дальше!

Следующее ТЗ дал заказчик: сделать как можно скорее, с любой мышкой (возможно беспроводной), выводить на 7 сегментный индикатор, обнулять по кнопке, компьютер не подходит, нужна разрешающая способность 0.01 мм, максимальное расстояние 1000 мм.

Для начала как все это делалось:

Считывание координат xy с мышки: Реализовать считывание данных можно несколькими способами: а) Непосредственно с микросхемы оптического сенсора + Можно обойтись простым контроллером - Про универсальность можно забыть совсем б) Подключить мышку по USB к простым контроллерам (например к ардуино) + Простота и дешивизна - Надо паять - Под рукой была только arduino, а к ней можно подключить мышки совместимые с PS/2, а они обычно очень неточные. Можно было на stm32, но отладочные платы сильно подорожали, самому паять не было времени. (но если интересно, то несколько лет назад был такой похожий проект именно на stm32f4discovery) в) Взять какой нибудь простой одно платный компьютер. Под рукой был как раз Raspberri pi. + Подходит для любых USB мышек + Хорошая производительность - Дорого, но может избыточная мощность потребуется потом
В итоге, под нож хирурга легла Малина пи 3. Четыре 64 битных ядра A-53 по 1GHz, 512 МБ оперативки и много других космических для этой задачи циферок.

Задачка: Индикация должна быть на выданных 7-сегментных индикаторах. Получается нам необходимо по 6 цифр на одну координату, итого 12 индикаторов. Каждый индикатор имеет 7 ножек на цифры+ ножка на светодиод точки (dp), общий провод не считаем. Итого после простых расчетов получаем, что мы должны управлять 96 проводниками плюс нужна кнопка. 96 резисторов не очень хотелось тратить.

Послушайте!
Ведь, если светодиод зажигают - значит - это нужно один резистор?

Управлять сразу таким массивом ножек нету возможности. Выход есть! И даже несколько!

1) Использовать дополнительные микросхемы по типу max7219, или сдвиговые регистры, мультплексоры, и т.д.

Можно почти бесконечно наращивать количество индикаторов
- Max7219 оказалась с рабочим напряжением 5 В
- Не было под рукой ничего подходящего.

2) Можно сделать динамическую индикацию. В один момент времени зажигать только один светодиодный индикатор. Если индикаторы переключать очень быстро, то человеческий глаз не заметит подставы.
+ Нужно только 8 проводов и резисторов на один индикатор и 12 на переключение индикаторов. Плюс не забываем кнопку. Итого: всего 21 ножка против 96. Берем!
- Так как мы пытаемся управлять целым индикатором через один пин распберри, то максимальный ток у нас ограничен 50 мА. Всегда берем запас, и берем 35 мА на все 8 светодиодов (что не шибко). Еще к этому добавим быстрое переключение индикаторов. В итоге у нас каждый светит в 12 раз меньше положенного. Доработать можно 12 транзисторами, но оставил я это на потом, т.к. яркости в конечном счете хватило.

Теперь начинается софт:

На распберри пи надо поставить linux. Я поставил минимальный дистрибутив
RASPBIAN JESSIE LITE .

Далее через программу putty подключился к IP малинки, и дальше все через командную строку.
Чтобы было проще работать с GPIO(портами ввода и вывода) есть замечательная библиотека WiringPi .

Как устанавливать её и управлять портами, вы сможете найти много информации в сети, поэтому не буду подробно останавливать на этом.

Cd /home/pi sudo mkdir mouse cd /home/pi/mouse
Дальше открываем редактор и вставляем код с гита. ВАЖНО! Код писал на очень скорую руку!

Sudo nano
для выхода из редактора надо нажать Alt+x и сохранить файл с названием blinker.c. Дальше надо обязательно скомпилировать с указанием wiring pi:

Gcc -o mouse mouse.c -l wiringPi
Все! Теперь подключаем мышку, вставляем провода и запускаем!

Подключение проводов


// pin number declarations. We"re using the Broadcom chip pin numbers.

Const int p21pin = 2;
const int p22pin = 3;
const int p23pin = 4;
const int p24pin = 17;
const int p25pin = 27;
const int p26pin = 22;
const int p11pin = 10;
const int p12pin = 9;
const int p13pin = 11;
const int p14pin = 5;
const int p15pin = 6;
const int p16pin = 13;
const int papin = 8;
const int pbpin = 23;
const int pcpin = 12;
const int pdpin = 20;
const int pepin = 21;
const int pfpin = 24;
const int pgpin = 18;
const int pdppin = 16;

Const int butpin = 26;


sudo ./mouse
Автозапуск при загрузке:

Sudo nano /etc/rc.local и перед exit 0 дописать две строчки cd /home/pi/mouse sudo ./mouse &
Работать с этой прогой очень просто. по нажатию кнопки мыши или просто кнопки на плате идет обнуление. При долгом нажатии кнопки переходим в режим регулировки DPI. Это важный параметр который задается мышкой и показывает сколько отсчетов мы получим при движении на один дюйм. Соответственно копка на плате и на мышке прибавляет и убавляет DPI. Долго нажимаем, наше значение записалось в файл и надежно хранится до следующей загрузки системы. Для чистоты эксперимента в программе, индикация, получение информации с мышки и кнопка обрабатываются а параллельных процессах.

1. Оси X и Y на моей мышке были не параллельны боковым граням, приходилось для высчитывания реального расстояния пользоваться «пифагоровыми штанами».

2. Разрешающая способность не равно погрешность!

Простым языком - разрешающая способность действительно показывает минимальное перемещение, которое увидит мышка, (отсчеты в компьютере должны быть дискретны минимальной разрешающей способности). А вот что мышка ничего не пропустит, ничем не гарантируется. Можно уменьшить эту величину используя хорошие поверхности (чтобы оптический сенсор мог отслеживать перемещения), использовать небольшие скорости. Но пропуски будут всегда! Для пользователя это означает постоянный уход нуля и непрогнозируемую погрешность измерения.

3. USB HID по которому работает мышь не гарантирует доставку информации в компьютер! То есть неизвестно пропустил ли компьютер какую нибудь информацию с мышки или нет. Вероятность пропажи информации малая, но все же есть.

4. Настройки чувствительности(разрешающей способности) иногда хранятся не в мышке, а в программе для мышки.

5. Тут я сильно зол! Дело в том, что мышку я брал самую крутую из ассортимента Logitech, это самая продвинутая была на тот день модель logitech performance mx. Но какого было мое удивление, когда мышь давала разные погрешности при движении вперед и назад. ЭТО КАК? Поясню для пользователя. Если постоянно двигать мышку назад и вперед, то курсор ощутимо так все снижается и снижается. Это на любых платформах. Приходится периодически поднимать мышку и ставить на новое место. После того, как я заметил это, моя жизнь превратилась в кошмар! #Logitech

В подавляющем большинстве ныне выпускаемых манипуляторов типа «мышь» используются оптические датчики регистрации перемещений. Однако не все они устроены одинаково: в настоящее время получили распространение несколько технологий, каждая из которых имеет свои особенности. Их мы и рассмотрим в данном обзоре.

Массовое внедрение оптических сенсоров в серийно выпускаемых моделях началось в конце 90-х годов и произвело поистине революционные изменения в сфере компьютерных манипуляторов. Поначалу оптические мыши были заметно дороже моделей с катающимся шариком и оптомеханическими датчиками, но, даже несмотря на это, новая конструкция быстро завоевала симпатии пользователей благодаря целому ряду важных достоинств. Во­первых, благодаря отсутствию движущихся частей оптический датчик значительно надежнее оптомеханического и к тому же не нуждается в регулярной чистке. Во­вторых, оптические сенсоры обеспечивают более высокую точность: даже у первых моделей величина этого показателя составляла не менее 400 cpi (counts per inch - отсчетов на дюйм). Если оперировать более привычными единицами измерения, то это означает, что манипулятор способен зафиксировать перемещение всего на 0,06 мм. В-третьих, оптические датчики стабильно работают на самых разных поверхностях. Во многих случаях это позволило отказаться от специальных ковриков, которые были неизменным атрибутом рабочего места пользователя ПК в эпоху мышей с оптомеханическими датчиками.

Напомним принцип работы оптического датчика регистрации перемещений. Независимо от варианта реализации он включает три основных компонента: источник света, миниатюрную видеокамеру и специализированный микропроцессор (DSP). Миниатюрная видеокамера в течение всего одной секунды способна запечатлеть до нескольких тысяч снимков поверхности, по которой перемещается манипулятор. Для получения достаточно контрастных изображений с такой частотой необходимо яркое освещение. Обычно в качестве источника света используется светодиод с фокусирующей линзой или маломощный полупроводниковый лазер. Снятые камерой изображения преобразуются в цифровой вид и непрерывным потоком передаются в DSP, который в режиме реального времени обрабатывает эти данные, рассчитывая направление и скорость перемещения манипулятора.

Миниатюрная видеокамера, АЦП и специализированный процессор объединены в одной микросхеме (рис. 1), благодаря чему мыши с оптическими датчиками отличаются простотой конструкции и могут быть выполнены в очень компактном и легком корпусе (причем не всегда напоминающем привычную мышь - взять, к примеру, надевающуюся на палец модель Genius Ring Mouse, показанную на рис. 2).

Рис. 1. Главный «орган чувств» оптической мыши -
микросхема микропроцессора со встроенной видеокамерой.
Справа от нее находятся светодиод и фокусирующая линза

Рис. 2. Оригинальная мышь
Genius Ring Mouse столь мала,
что ее можно надеть на палец наподобие перстня

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

Технологии, применяемые в оптических датчиках регистрации перемещений, постоянно развиваются. Разработчики многих компаний занимаются усовершенствованием существующих конструкций, а также создают и внедряют принципиально новые решения. Разумеется, в рамках этого обзора мы не будем рассматривать все технические нюансы, в том числе и потому, что многие из них представляют собой ноу­хау производителей и информация о них держится в строжайшем секрете. Впрочем, для наших целей это и не требуется. Чтобы понять принципиальные различия оптических датчиков регистрации перемещения разных конструкций, достаточно обратить внимание на следующие особенности:

  • тип и длину волны используемого источника света;
  • угол наклона излучаемого источником света луча (светового пучка) относительно плоскости рабочей поверхности;
  • угол наклона оптической оси объектива видеокамеры сенсора относительно плоскости рабочей поверхности;
  • и наконец, на то, какой свет попадает в объектив камеры - рассеянный либо отраженный от рабочей поверхности.

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

«Классическая» оптика

Конструкция оптического датчика регистрации перемещений, который в конце 90-х - начале 2000-х годов пришел на смену оптомеханической системе с катающимся шариком (и, кстати, широко применяется до сих пор), была разработана инженерами компании Agilent Technologies. Схема его устройства показана на рис. 3, а внешний вид - на рис. 4.

Рис. 3. Схема устройства оптического датчика
традиционной конструкции

Рис. 4. Внешний вид оптического сенсора с красным светодиодом.
С левой стороны виден объектив видеокамеры

Рассмотрим отличительные особенности описанного варианта оптического датчика, который для ясности мы далее будем называть оптическим датчиком (или сенсором) традиционной конструкции.

Как видно на приведенной схеме, источником света служит красный светодиод. Поскольку этот полупроводниковый прибор формирует достаточно широкий световой пучок, а освещать требуется небольшую площадь (менее 100 мм 2), то для повышения эффективности использования световой энергии применяется фокусирующая линза. Сфокусированный этой линзой световой пучок освещает рабочую поверхность под довольно острым углом - примерно 25°. Это сделано специально для того, чтобы получать отчетливый свето­теневой рисунок даже на поверхностях с незначительным микрорельефом. Оптическая ось объектива камеры такого сенсора перпендикулярна плоскости рабочей поверхности и, таким образом, считывает рассеянный свет.

Сегодня мыши с оптическими сенсорами традиционной конструкции составляют основу парка компьютерных манипуляторов, причем эксплуатируемых как с настольными, так и с портативными системами. В продаже представлен широчайший ассортимент таких моделей как с проводным, так и с беспроводным подключением, что позволяет без труда подобрать подходящий вариант на любой вкус и кошелек. Благодаря большим объемам производства цена этих устройств значительно снизилась: младшие модели манипуляторов с проводным подключением сейчас можно приобрести всего за 100 руб. И даже такая мышь вполне способна прослужить своему владельцу несколько лет, практически не требуя обслуживания.

Конечно, наряду с упомянутыми выше достоинствами у мышей, оснащенных оптическими сенсорами традиционной конструкции, есть определенные недостатки. В первую очередь это касается «вездеходных» качеств: есть немало поверхностей, на которых они работают нестабильно (при равномерном движении мыши курсор перемещается рывками, а при остановке начинает «плясать»), а на некоторых (таких как прозрачное стекло, зеркало, полированное дерево и т.д.) оптический датчик и вовсе отказывается функционировать.

Лазер вместо светодиода

Важной вехой эволюции оптических мышей стало создание так называемых лазерных сенсоров. Первый лазерный датчик, предназначенный для использования в мыши, был создан сотрудниками компании Agilent Technologies. Если посмотреть на схему его устройства, приведенную на рис. 5, то нетрудно заметить несколько принципиальных отличий его от традиционного оптического.

Рис. 5. Схема устройства лазерного сенсора

Во­первых, как явствует из названия, источником света служит не светодиод, а полупроводниковый лазер. Работает он в невидимом для нашего глаза инфракрасном диапазоне (длина волны - 832-852 нм), так что привычного свечения под корпусом работающего манипулятора в данном случае нет. Чем же лазер лучше светодиода? Основное преимущество лазера заключается в том, что излучаемый им свет имеет когерентную природу - это позволяет получить гораздо более контрастное и детальное изображение поверхности (рис. 6). Во­вторых, значительно (примерно до 45°) увеличен угол падения луча. И в­третьих, оптическая ось объектива видеокамеры расположена под таким же углом, под каким свет от источника падает на рабочую поверхность. Таким образом, видеокамера лазерного сенсора считывает не рассеянный, а отраженный от поверхности свет.

Рис. 6. На гладкой поверхности обычный оптический сенсор
считывает слишком нечеткое изображение (слева). Лазерный сенсор позволяет
получить более контрастную и детальную картинку

Чего же удалось достичь благодаря описанным изменениям? Во­первых, обеспечить стабильную работу датчика на гладких поверхностях, имеющих очень слабо выраженный микрорельеф - то есть там, где оптические датчики традиционной конструкции ведут себя нестабильно или вовсе перестают функционировать. Во­вторых, удалось значительно повысить разрешающую способность сенсора (и соответственно, точность регистрации перемещений).

Увы, не обошлось без побочных эффектов, обусловленных одной из конструктивных особенностей лазерного сенсора, а именно считывания отраженного от рабочей поверхности луча. От поверхности, изготовленной из прозрачного материала (стекла, пластика и т.д.), отражается совсем незначительное количество попавшего на нее света, и в этом случае интенсивности светового потока попросту не хватает для того, чтобы сенсор был способен считать достаточно контрастное изображение. Схожая проблема возникает на неровных поверхностях, в частности на тканях с выраженной фактурой. При попадании на выступ или углубление луч рассеивается либо отражается под другим углом - в обоих случаях в объектив видеокамеры попадает слишком мало света.

При работе на непрозрачных материалах с полированной и глянцевой поверхностью возникает обратная ситуация: отраженного света слишком много и яркие блики «ослепляют» светочувствительный сенсор. Естественно, что в обеих ситуациях стабильная работа датчика становится невозможной.

Первые прототипы манипуляторов с лазерным сенсором конструкции Agilent Technologies были представлены публике в начале 2004 года. В сентябре того же года компания Logitech начала выпуск мыши MX-1000 - первого в мире серийного манипулятора, оснащенного лазерным сенсором.

В середине 2005 года компания Agilent Technologies начала поставки готовых модулей датчиков перемещения на базе сенсоров LaserStream всем заинтересованным производителям, и вскоре лазерные мыши появились в ассортименте многих компаний. Некоторые производители (в частности, Microsoft) пошли собственным путем, самостоятельно разработав лазерные сенсоры для своих манипуляторов. В настоящее время мыши с лазерными сенсорами представлены в линейках многих компаний.

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

Лучше, чем лазер

В 2006 году компания A4Tech внедрила усовершенствованный вариант оптического сенсора, который получил название G-laser (сокр. от Greater than laser - лучше, чем лазерный). Обратим внимание на две отличительные особенности такого датчика. Во­первых, это система двойной фокусировки отраженного луча, обеспечивающая стабильную работу сенсора на глянцевых и пестрых поверхностях (ноу­хау компании A4Tech). Во­вторых, для подсветки рабочей поверхности используется не один, а два источника света. Аналогично лазерному сенсору датчик G-laser считывает отраженный от поверхности свет.

В серийно выпускаемых манипуляторах получили распространение два варианта датчика G-laser, различающиеся типом источника света. В одном случае это два светодиода, а в другом - светодиод и полупроводниковый лазер, работающие в инфракрасном диапазоне. Первый вариант датчика G-laser устанавливался в манипуляторах A4Tech серии Х5 (ныне снятых с производства), второй используется и по сей день в моделях A4Tech серии Х6 (одна из них представлена на рис. 7), а также в устройствах ряда других производителей (в частности, Canyon).

На многих типах поверхности манипуляторы с датчиком G-laser действительно работают гораздо стабильнее своих лазерных собратьев, в полной мере оправдывая слоган Greater than laser. В частности, это относится к прозрачному и глянцевому пластику, а также к некоторым видам тканей. Однако и мышам с датчиком G-laser подвластны не все поверхности: на зеркале и чистом прозрачном стекле они не работают.

Рис. 7. A4Tech Glaser Mouse X6-90D - одна из ныне выпускаемых мышей,
оснащенных датчиком G-laser Х6

Важным конкурентным преимуществом моделей с датчиком G-laser является доступная цена: стоимость младших моделей ниже по сравнению с аналогами, оснащенными лазерными сенсорами.

«Синеглазые» мыши, версия Microsoft

В сентябре 2008 года компания Microsoft представила первые серийные модели мышей, оснащенные оптическим сенсором BlueTrack (одна из них показана на рис. 8). Как и в оптическом датчике традиционной конструкции, источником света служит светодиод. Правда, не привычный красный, а модный синий (отсюда, собственно, и название BlueTrack). Теоретически это позволяет получить определенное преимущество, поскольку длина волны синего света примерно в полтора раза короче по сравнению с красным (и почти вдвое - по сравнению с инфракрасными источниками). Таким образом, синее освещение позволяет камере зафиксировать более мелкие детали микрорельефа рабочей поверхности. Однако стоит учитывать, что в данном случае речь идет о деталях размером в десятые доли микрона, и сложно утверждать наверняка, позволяют ли параметры оптического тракта и светочувствительного сенсора реализовать это преимущество на практике.

Рис. 8. Microsoft Explorer Mouse - один из первых манипуляторов,
оснащенных сенсором BlueTrack

Есть немало скептиков, полагающих, что на использовании именно синего светодиода настояли вовсе не инженеры, а маркетологи. Ведь отличить цвет свечения под «брюшком» мыши сможет даже технически неграмотный пользователь (разумеется, если он не дальтоник). Остается лишь придумать и запустить в массы красивый миф о преимуществах синей подсветки над красной - благо с решением подобных задач опытные маркетологи справляются без труда.

Но вернемся к технике. Площадь пятна, изображение которого считывает камера сенсора BlueTrack, в 4 раза больше по сравнению с оптическим датчиком традиционной конструкции. Благодаря этому в «поле зрения» камеры попадает гораздо больше деталей, что, в свою очередь, обеспечивает более стабильную работу датчика на гладких поверхностях. Есть у BlueTrack и кое­что общее с лазерным сенсором: в объектив камеры попадает отраженный от рабочей поверхности луч.

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

В настоящее время сенсоры BlueTrack используются в ряде проводных и беспроводных мышей, выпускаемых компанией Microsoft, например в Comfort Mouse 3000/4500/6000, Wireless Mouse 2000/5000, Wireless Mobile Mouse 3500/4000/6000 и др. Несмотря на относительно широкий ассортимент представленных моделей, массовыми подобные манипуляторы пока не стали. Отчасти это объясняется их довольно высокой ценой: модель с сенсором BlueTrack обойдется дороже аналогов, оснащенных оптическим или лазерным датчиком.

В темном поле

В августе 2009 года швейцарская компания Logitech анонсировала беспроводные мыши Performance Mouse MX и Anywhere Mouse MX. Главной новинкой, внедренной в этих моделях, стал сенсор на базе технологии Darkfield Laser Tracking.

В отличие от своих коллег из Microsoft, разработчики Logitech предпочли взять за основу конструкцию лазерного сенсора. А принципиальным новшеством стало использование метода микроскопии в темном поле (отсюда и название технологии - Darkfield) вместо считывания отраженного от рабочей поверхности изображения.

Как видно на рис. 9, оптическая ось объектива видеокамеры этого сенсора перпендикулярна плоскости рабочей поверхности. Поскольку источник света установлен под углом к поверхности, то лучи от ее ровных участков отражаются под тем же углом и в объектив камеры не попадают. Таким образом, камера фиксирует только те объекты, которые рассеивают падающий на них свет, - микроскопические царапины, неровности, пылинки и т.п. В результате сенсор считывает изображение своеобразной «карты дефектов» поверхности, которая напоминает вид звездного неба (рис. 10).

Рис. 9. Благодаря применению метода микроскопии
в темном поле лазерный датчик Darkfield способен работать
на гладких и прозрачных поверхностях

Рис. 10. Так выглядит изображение,
считываемое светочувствительным сенсором
датчика Darkfield на гладкой поверхности,
изготовленной из прозрачного материала

В реальных условиях эксплуатации даже на чистой и идеально гладкой (как нам кажется) поверхности найдется достаточно много объектов, которые сумеет «разглядеть» камера сенсора. Это невидимые невооруженным глазом микроскопические трещины и царапины, частички пыли, ворсинки, отпечатки пальцев, остатки моющих средств и т.д. Благодаря этому сенсор на базе технологии Darkfield Laser Tracking способен работать даже на прозрачных и гладких поверхностях, не имеющих явно выраженного микрорельефа. Данное решение обеспечивает стабильную работу манипулятора на множестве разнообразных поверхностей, включая прозрачное стекло толщиной 4 мм и более.

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

В настоящее время в продаже представлены лишь два манипулятора, оснащенные сенсорами Darkfield Laser Tracking, - Logitech Performance Mouse MX (рис. 11) и Anywhere Mouse MX.

Рис. 11. Беспроводная мышь Logitech Performance Mouse MX,
оснащенная сенсором на базе технологии Darkfield Laser Tracking

Строго по вертикали

В начале нынешнего года компания A4Tech представила первые серийные модели манипуляторов, оснащенные оптическими сенсорами V-Track Optic 2.0 (из соображений удобочитаемости далее по тексту мы будем называть их просто V-Track). Как и в обычном оптическом датчике, источником света в них служит красный светодиод. Однако в остальном конструкция этого сенсора имеет ряд принципиальных отличий.

Луч сфокусирован в узкий пучок (площадь отверстия в нижней панели корпуса мыши - всего 5 мм 2) и направлен строго перпендикулярно к плоскости рабочей поверхности. Камера датчика V-Track считывает отраженный луч; оптическая ось ее объектива перпендикулярна плоскости рабочей поверхности (рис. 12).

Рис. 12. Схема работы датчика V-Track Optic 2.0

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

Дополнительным преимуществом сенсора V-Track является низкий уровень энергопотребления (на 20-30% ниже по сравнению с оптическим датчиком традиционной конструкции), что позволяет увеличить время автономной работы беспроводных манипуляторов.

В настоящее время сенсоры V-Track применяются в целом ряде мышей компании A4Tech, включая как проводные (N-770FX, N-551FX, OP-530NU, OP-560NU и т.д.), так и беспроводные модели (G9-500F, G10-770F, G10-810F и др.). Эти манипуляторы представлены в низшем и среднем ценовых сегментах. Цены на младшие модели с датчиками V-Track вполне сопоставимы со стоимостью мышей аналогичного класса, оборудованных оптическими сенсорами традиционной конструкции.

«Синеглазые» мыши, версия Genius

Еще одна новинка нынешнего года - оптический сенсор BlueEye Tracking. Его разработали инженеры компании Kye Systems, которая хорошо известна российским пользователям по широкому спектру продуктов, выпускаемых под торговой маркой Genius.

Конструкция датчика BlueEye Tracking, по сути, представляет собой усовершенствованную версию традиционного оптического сенсора, но есть пара принципиальных отличий. Первое заключается в том, что вместо красного используется синий светодиод. Второе касается измененной схемы оптического тракта (рис. 13). Дополнительная линза обеспечивает фокусировку светового пучка, за счет чего площадь светового пятна, формируемого датчиком BlueEye Tracking, меньше, чем у оптического сенсора традиционной конструкции.

Рис. 13. Схема устройства сенсора BlueEye Tracking

Датчик BlueEye Tracking обеспечивает более высокую (по сравнению с оптическим сенсором традиционной конструкции) точность регистрации перемещений манипулятора и стабильно работает на большинстве поверхностей, потребляя при этом меньше электроэнергии.

В настоящее время сенсоры BlueEye Tracking применяются в беспроводных мышах Genius Navigator 905, Mini Navigator 900, Traveler 8000/9000, Ergo 9000 и др. Кроме того, недавно компания выпустила проводной манипулятор DX-220, также оснащенный датчиком BlueEye Tracking. Все перечисленные модели относятся к средней ценовой категории. Учитывая розничные цены, их прямыми конкурентами являются мыши, оснащенные лазерными сенсорами.

Заключение

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

Мы надеемся, что данная публикация окажется полезной нашим читателям, а изложенная в ней информация позволит им лучше ориентироваться в многообразии существующих технологий. Кроме того, рекомендуем прочитать статью «Мышиный тест-драйв». В ней вы найдете подробную информацию о том, насколько хорошо манипуляторы с сенсорами различных типов работают на разных поверхностях.

В этой статье мы рассмотрим принципы работы сенсоров оптических мышей, прольем свет на историю их технологического развития, а также развенчаем некоторые мифы, связанные с оптическими «грызунами».

Кто тебя выдумал…

Привычные для нас сегодня оптические мыши ведут свою родословную с 1999 года, когда в массовой продаже появились первые экземпляры таких манипуляторов от Microsoft, а через некоторое время и от других производителей. До появления этих мышей, да и еще долго после этого, большинство массовых компьютерных «грызунов» были оптомеханическими (перемещения манипулятора отслеживались оптической системой, связанной с механической частью - двумя роликами, отвечавшими за отслеживание перемещения мыши вдоль осей × и Y; эти ролики, в свою очередь, вращались от шарика, перекатывающегося при перемещении мыши пользователем). Хотя встречались и чисто оптические модели мышей, требовавшие для своей работы специального коврика. Впрочем, такие устройства встречались не часто, да и сама идея развития подобных манипуляторов постепенно сошла на нет.

«Вид» знакомых нам нынче массовых оптических мышек, базирующихся на общих принципах работы, был «выведен» в исследовательских лабораториях всемирно известной корпорации Hewlett-Packard. Точнее, в ее подразделении Agilent Technologies, которое только сравнительно недавно полностью выделилось в структуре корпорации НР в отдельную компанию. На сегодняшний день Agilent Technologies, Inc. - монополист на рынке оптических сенсоров для мышей, никакие другие компании такие сенсоры не разрабатывают, кто бы и что не говорил вам об эксклюзивных технологиях IntelliEye или MX Optical Engine . Впрочем, предприимчивые китайцы уже научились «клонировать» сенсоры Agilent Technologies, поэтому, покупая недорогую оптическую мышь, вы вполне можете стать владельцем «левого» сенсора.

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

Как «видят» компьютерные мыши

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

Итак, «зрение» оптическая компьютерная мышь получает благодаря следующему процессу. С помощью светодиода, и системы фокусирующих его свет линз, под мышью подсвечивается участок поверхности. Отраженный от этой поверхности свет, в свою очередь, собирается другой линзой и попадает на приемный сенсор микросхемы - процессора обработки изображений. Этот чип, в свою очередь, делает снимки поверхности под мышью с высокой частотой (кГц). Причем микросхема (назовем ее оптический сенсор) не только делает снимки, но сама же их и обрабатывает, так как содержит две ключевых части: систему получения изображения Image Acquisition System (IAS) и интегрированный DSP процессор обработки снимков.

На основании анализа череды последовательных снимков (представляющих собой квадратную матрицу из пикселей разной яркости), интегрированный DSP процессор высчитывает результирующие показатели, свидетельствующие о направлении перемещения мыши вдоль осей × и Y, и передает результаты своей работы вовне по последовательному порту.

Если мы посмотрим на блок-схему одного из оптических сенсоров, то увидим, что микросхема состоит из нескольких блоков, а именно:

  • основной блок, это, конечно же, Image Processor - процессор обработки изображений (DSP) со встроенным приемником светового сигнала (IAS);
  • Voltage Regulator And Power Control - блок регулировки вольтажа и контроля энергопотребления (в этот блок подается питание и к нему же подсоединен дополнительный внешний фильтр напряжения);
  • Oscillator - на этот блок чипа подается внешний сигнал с задающего кварцевого генератора, частота входящего сигнала порядка пары десятков МГц;
  • Led Cоntrоl - это блок управления светодиодом, с помощью которого подсвечивается поверхность под мышью;
  • Serial Port - блок передающий данные о направлении перемещения мыши вовне микросхемы.

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

Нужно уточнить, что информацию о перемещении мыши микросхема оптического сенсора передает через Serial Port не напрямую в компьютер. Данные поступают к еще одной микросхеме-контроллеру, установленной в мыши. Эта вторая «главная» микросхема в устройстве отвечает за реакцию на нажатие кнопок мыши, вращение колеса прокрутки и т.д. Данный чип, в том числе, уже непосредственно передает в ПК информацию о направлении перемещения мыши, конвертируя данные, поступающие с оптического сенсора, в передаваемые по интерфейсам PS/2 или USB сигналы. А уже компьютер, используя драйвер мыши, на основании поступившей по этим интерфейсам информации, перемещает курсор-указатель по экрану монитора.

Именно по причине наличия этой «второй» микросхемы-контроллера, точнее благодаря разным типам таких микросхем, довольно заметно отличались между собой уже первые модели оптических мышей. Если о дорогих устройствах от Microsoft и Logitech слишком плохо отозваться я не могу (хотя и они не были вовсе «безгрешны»), то масса появившихся вслед за ними недорогих манипуляторов вела себя не вполне адекватно. При движении этих мышей по обычным коврикам курсоры на экране совершали странные кульбиты, скакали чуть ли не на пол Рабочего стола, а иногда… иногда они даже отправлялись в самостоятельное путешествие по экрану, когда пользователь совершенно не трогал мышь. Доходило и до того, что мышь могла запросто выводить компьютер из режима ожидания, ошибочно регистрируя перемещение, когда манипулятор на самом деле никто не трогал.

Кстати, если вы до сих пор боретесь с подобной проблемой, то она решается одним махом вот так: выбираем Мой Компьютер > Свойства > Оборудование > Диспетчер устройств > выбираем установленную мышь > заходим в ее «Свойства» > в появившемся окне переходим на закладку «Управление электропитанием» и снимаем галочку с пункта «Разрешить устройству вывод компьютера из ждущего режима» (рис. 4). После этого мышь уже не сможет вывести компьютер из режима ожидания ни под каким предлогом, даже если вы будете пинать ее ногами:)

Итак, причина столь разительного отличия в поведении оптических мышей была вовсе не в «плохих» или «хороших» установленных сенсорах, как до сих пор думают многие. Не верьте, это не более чем бытующий миф. Или фантастика, если вам так больше нравится:) В ведущие себя совершенно по-разному мыши часто устанавливались совершенно одинаковые микросхемы оптических сенсоров (благо, моделей этих чипов было не так уж много, как мы увидим далее). Однако вот, благодаря несовершенным чипам контроллеров, устанавливаемых в оптические мыши, мы имели возможность сильно поругать первые поколения оптических грызунов.

Однако, мы несколько отвлеклись от темы. Возвращаемся. В целом система оптического слежения мышей, помимо микросхемы-сенсора, включает еще несколько базовых элементов. Конструкция включает держатель (Clip) в который устанавливаются светодиод (LED) и непосредственно сама микросхема сенсора (Sensor). Эта система элементов крепится на печатную плату (PCB), между которой и нижней поверхностью мыши (Base Plate) закрепляется пластиковый элемент (Lens), содержащий две линзы (о назначении которых было написано выше).

В собранном виде оптический элемент слежения выглядит как показано выше. Схема работы оптики этой системы представлена ниже.

Оптимальное расстояние от элемента Lens до отражающей поверхности под мышью должно попадать в диапазон от 2.3 до 2.5 мм. Это рекомендации производителя сенсоров. Вот вам и первая причина, почему оптические мыши плохо себя чувствуют «ползая» по оргстеклу на столе, всевозможным «полупрозрачным» коврикам и т. п. И не стоит клеить на оптические мыши «толстые» ножки, когда отваливаются или стираются старые. Мышь из-за чрезмерного «возвышения» над поверхностью может впадать в состояние ступора, когда «расшевелить» курсор после пребывания мыши в состоянии покоя становится довольно проблематично. Это не теоретические измышления, это личный опыт:)

Кстати, о проблеме долговечности оптических мышей. Помниться, некоторые их производители утверждали что, дескать «они будут служить вечно». Да надежность оптической системы слежения высока, она не идет ни в какое сравнение с оптомеханической. В то же время в оптических мышах остается много чисто механических элементов, подверженных износу точно так же, как и при господстве старой доброй «оптомеханики». Например, у моей старой оптической мыши стерлись и поотваливались ножки, сломалось колесо прокрутки (дважды, в последний раз безвозвратно:(), перетерся провод в соединительном кабеле, с манипулятора слезло покрытие корпуса… зато вот оптический сенсор нормально работает, как ни в чем не бывало. Исходя из этого, мы смело можем констатировать, что слухи о якобы впечатляющей долговечности оптических мышей не нашли своего подтверждения на практике. Да и зачем, скажите на милость, оптическим мышам «жить» слишком долго? Ведь на рынке постоянно появляются новые, более совершенные модели, созданные на новой элементной базе. Они заведомо совершеннее и удобнее в использовании. Прогресс, знаете ли, штука непрерывная. Каким он был в области эволюции интересующих нас оптических сенсоров, давайте сейчас и посмотрим.

Из истории мышиного зрения

Инженеры-разработчики компании Agilent Technologies, Inc. не зря едят свой хлеб. За пять лет оптические сенсоры этой компании претерпели существенные технологические усовершенствования и последние их модели обладают весьма впечатляющими характеристиками.

Но давайте обо всем по порядку. Первыми массово выпускаемыми оптическими сенсорами стали микросхемы HDNS-2000 (рис. 8). Эти сенсоры имели разрешение 400 cpi (counts per inch), то бишь точек (пикселей) на дюйм, и были рассчитаны на максимальную скорость перемещения мыши в 12 дюймов/с (около 30 см/с) при частоте осуществления снимков оптическим сенсором в 1500 кадров за секунду. Допустимое (с сохранением стабильной работы сенсора) ускорение при перемещении мыши «в рывке» для чипа HDNS-2000 - не более 0.15 g (примерно 1.5 м/с 2).

Затем на рынке появились микросхемы оптических сенсоров ADNS-2610 и ADNS-2620 . Оптический сенсор ADNS-2620 уже поддерживал программируемую частоту «съемки» поверхности под мышью, с частотой в 1500 либо 2300 снимков/с. Каждый снимок делался с разрешением 18х18 пикселей. Для сенсора максимальная рабочая скорость перемещения по прежнему была ограничена 12 дюймами в секунду, зато ограничение по допустимому ускорению возросло до 0.25 g, при частоте «фотографирования» поверхности в 1500 кадров/с. Данный чип (ADNS-2620) также имел всего 8 ножек, что позволило существенно сократить его размеры по сравнению с микросхемой ADNS-2610 (16 контактов), внешне похожей на HDNS-2000. В Agilent Technologies, Inc. задались целью «минимизировать» свои микросхемы, желая сделать последние компактнее, экономнее в энергопотреблении, а потому и удобнее для установки в «мобильные» и беспроводные манипуляторы.

Микросхема ADNS-2610 хотя и являлась «большим» аналогом 2620-й, но была лишена поддержки «продвинутого» режима 2300 снимков/с. Кроме того, этот вариант требовал 5В питания, тогда как чип ADNS-2620 обходился всего 3.3 В.

Вышедший вскоре чип ADNS-2051 представлял собой гораздо более мощное решение, чем микросхемы HDNS-2000 или ADNS-2610, хотя внешне (упаковкой) был также на них похож. Этот сенсор уже позволял программируемо управлять «разрешением» оптического датчика, изменяя таковое с 400 до 800 сpi. Вариант микросхемы также допускал регулировку частоты снимков поверхности, причем позволял менять ее в очень широком диапазоне: 500, 1000,1500, 2000 или 2300 снимков/с. А вот величина этих самых снимков составляла всего 16х16 пикселей. При 1500 снимках/с предельно допустимое ускорение мыши при «рывке» составляло по прежнему 0.15 g, максимально возможная скорость перемещения - 14 дюймов/с (т. е. 35.5 см/с). Данный чип был рассчитан на напряжение питания 5 В.

Сенсор ADNS-2030 разрабатывался для беспроводных устройств, а потому имел малое энергопотребление, требуя всего 3.3 В питания. Чип также поддерживал энергосберегающие функции, например функцию снижения потребления энергии при нахождении мыши в состоянии покоя (power conservation mode during times of no movement), переход в режим «сна», в том числе при подключении мыши по USB интерфейсу, и т.д.. Мышь, впрочем, могла работать и не в энергосберегающем режиме: значение «1» в бите Sleep одного из регистров чипа заставляло сенсор «всегда бодрствовать», а значение по умолчанию «0» соответствовало режиму работы микросхемы, когда по прошествии одной секунды, если мышь не перемещалась (точнее после получения 1500 совершенно одинаковых снимков поверхности) сенсор, напару с мышью, переходил в режим энергосбережения. Что касается остальных ключевых характеристик сенсора, то они не отличались от таковых у ADNS-2051: тот же 16-и контактный корпус, скорость перемещения до 14 дюймов/с при максимальном ускорении 0.15 g, программируемое разрешение 400 и 800 cpi соответственно, частоты осуществления снимков могли быть точно такими же, как и у вышерассмотренного варианта микросхемы.

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

В итоге и курсор на экране перемещался не так, как требовалось. Указатель на экране даже становился способен на экспромт:) - на непредсказуемые перемещения в произвольном направлении. Кроме того, легко догадаться, что при слишком быстром перемещении мыши сенсор мог вообще утратить всякую «связь» между несколькими последующими снимками поверхности. Что порождало еще одну проблему: курсор при слишком резком перемещении мыши либо дергался на одном месте, либо происходили вообще «сверхъестественные»:) явления, например, с быстрым вращением окружающего мира в игрушках. Было совершенно ясно, что для человеческой руки ограничений в 12-14 дюймов/с по предельной скорости перемещения мыши явно мало. Также не вызывало сомнений, что 0.24 с (почти четверть секунды), отведенные для разгона мыши от 0 до 35.5 см/с (14 дюймов/с - предельная скорость) это очень большой промежуток времени, человек способен двигать кистью значительно быстрее. И потому при резких движениях мыши в динамичных игровых приложениях с оптическим манипулятором может придтись несладко…

Понимали это и в Agilent Technologies. Разработчики осознавали, что характеристики сенсоров надо кардинально улучшать. В своих изысканиях они придерживались простой, но правильной аксиомы: чем больше снимков в секунду сделает сенсор, тем меньше вероятность того, что он потеряет «след» перемещения мыши во время совершения пользователем компьютера резких телодвижений:)

Хотя, как мы видим из вышеизложенного, оптические сенсоры и развивались, постоянно выпускались новые решения, однако развитие в этой области можно смело назвать «очень постепенным». По большому счету, кардинальных изменений в свойствах сенсоров так и не происходило. Но техническому прогрессу в любой области порой свойственны резкие скачки. Случился такой «прорыв» и в области создания оптических сенсоров для мышей. Появление оптического сенсора ADNS-3060 можно считать действительно революционным!

Лучший из

Оптический сенсор ADNS-3060 , по сравнению со своими «предками», обладает поистине впечатляющим набором характеристик. Использование этой микросхемы, упакованной в корпус с 20-ю контактами, обеспечивает оптическим мышам невиданные ранее возможности. Допустимая максимальная скорость перемещения манипулятора выросла до 40 дюймов/с (то есть почти в 3 раза!), т.е. достигла «знаковой» скорости в 1 м/с. Это уже очень хорошо - вряд ли хоть один пользователь двигает мышь с превышающей данное ограничение скоростью столь часто, чтобы постоянно чувствовать дискомфорт от использования оптического манипулятора, в том числе это касается и игровых приложений. Допустимое же ускорение выросло, страшно сказать, во сто раз (!), и достигло величины 15 g (почти 150 м/с 2). Теперь на разгон мыши с 0 до предельных 1 м/с пользователю отводится 7 сотых секунды - думаю, теперь очень немногие сумеют превзойти это ограничение, да и то, вероятно, в мечтах:) Программируемая скорость осуществления снимков поверхности оптическим сенсором у новой модели чипа превышает 6400 кадров/с, т.е. «бьет» предыдущий «рекорд» почти в три раза. Причем чип ADNS-3060 может сам осуществлять подстройку частоты следования снимков для достижения наиболее оптимальных параметров работы, в зависимости от поверхности, над которой перемещается мышь. «Разрешение» оптического сенсора по прежнему может составлять 400 или 800 cpi. Давайте на примере микросхемы ADNS-3060 рассмотрим общие принципы работы именно чипов оптических сенсоров.

Общая схема анализа перемещений мыши не изменилась по сравнению с более ранними моделями - полученные блоком IAS сенсора микроснимки поверхности под мышью обрабатываются затем интегрированным в этой же микросхеме DSP (процессором), который определяет направление и дистанцию перемещения манипулятора. DSP вычисляет относительные величины смещения по координатам × и Y, относительно исходной позиции мыши. Затем внешняя микросхема контролера мыши (для чего он нужен, мы говорили ранее) считывает информацию о перемещении манипулятора с последовательного порта микросхемы оптического сенсора. Затем уже этот внешний контроллер транслирует полученные данные о направлении и скорости перемещения мыши в передаваемые по стандартным интерфейсам PS/2 или USB сигналы, которые уже от него поступают к компьютеру.

Но вникнем чуть глубже в особенности работы сенсора. Блок-схема чипа ADNS-3060 представлена выше. Как видим, принципиально его структура не изменилась, по сравнению с далекими «предками». 3.3 В питание к сенсору поступает через блок Voltage Regulator And Power Control, на этот же блок возложена функции фильтрации напряжения, для чего используется подключение к внешнему конденсатору. Поступающий с внешнего кварцевого резонатора в блок Oscillator сигнал(номинальная частота которого 24 МГц, для предыдущих моделей микросхем использовались более низкочастотные задающие генераторы) служит для синхронизации всех вычислительных процессов, протекающих внутри микросхемы оптического сенсора. Например, частота снимков оптического сенсора привязана к частоте этого внешнего генератора (кстати, на последний наложены не весьма жесткие ограничения по допустимым отклонениям от номинальной частоты - до +/- 1 МГц). В зависимости от значения, занесенного по определенному адресу (регистру) памяти чипа, возможны следующие рабочие частоты осуществления снимков сенсором ADNS-3060.

Значение регистра, шестнадцатеричное Десятичное значение Частота снимков сенсора, кадров/с
OE7E 3710 6469
12C0 4800 5000
1F40 8000 3000
2EE0 12000 2000
3E80 16000 1500
BB80 48000 500

Как нетрудно догадаться, исходя из данных в таблице, определение частоты снимков сенсора осуществляется по простой формуле: Частота кадров = (Задающая частота генератора (24 МГц)/Значение регистра отвечающего за частоту кадров).

Осуществляемые сенсором ADNS-3060 снимки поверхности (кадры) имеют разрешение 30х30 и представляют собой все ту же матрицу пикселей, цвет каждого из которых закодирован 8-ю битами, т.е. одним байтом (соответствует 256 градациям серого для каждого пикселя). Таким образом, каждый поступающий в DSP процессор кадр (фрейм) представляет собой последовательность из 900 байт данных. Но «хитрый» процессор не обрабатывает эти 900 байт кадра сразу по поступлении, он ждет, пока в соответствующем буфере (памяти) накопится 1536 байт сведений о пикселях (то есть добавится информация еще о 2/3 последующего кадра). И только после этого чип приступает к анализу информации о перемещении манипулятора, путем сравнения изменений в последовательных снимках поверхности.

С разрешением 400 или 800 пикселей на дюйм их осуществлять, указывается в бите RES регистров памяти микроконтроллера. Нулевое значение этого бита соответствует 400 cpi, а логическая единица в RES переводит сенсор в режим 800 cpi.

После того как интегрированный DSP процессор обработает данные снимков, он вычисляет относительные значения смещения манипулятора вдоль осей × и Y, занося конкретные данные об этом в память микросхемы ADNS-3060. В свою очередь микросхема внешнего контроллера (мыши) через Serial Port может «черпать» эти сведения из памяти оптического сенсора с частой примерно раз в миллисекунду. Заметьте, только внешний микроконтроллер может инициализировать передачу таких данных, сам оптический сенсор никогда не инициирует такую передачу. Поэтому вопрос оперативности (частоты) слежения за перемещением мыши во многом лежит на «плечах» микросхемы внешнего контроллера. Данные от оптического сенсора передаются пакетами по 56 бит.

Ну а блок Led Cотtrоl, которым оборудован сенсор, ответственен за управление диодом подсветки - путем изменения значения бита 6 (LED_MODE) по адресу 0x0a микропроцессор оптосенсора может переводить светодиод в два режима работы: логический «0» соответствует состоянию «диод всегда включен», логическая «1» переводит диод в режим «включен только при необходимости». Это важно, скажем, при работе беспроводных мышей, так как позволяет экономить заряд их автономных источников питания. Кроме того, сам диод может иметь несколько режимов яркости свечения.

На этом, собственно, все с базовыми принципами работы оптического сенсора. Что еще можно добавить? Рекомендуемая рабочая температура микросхемы ADNS-3060, впрочем как и всех остальных чипов этого рода, - от 0 0С до +40 0С. Хотя сохранение рабочих свойств своих чипов Agilent Technologies гарантирует в диапазоне температур от -40 до +85 °С.

Лазерное будущее?

Недавно сеть наполнили хвалебные статьи о мыши Logitech MX1000 Laser Cordless Mouse, в которой для подсветки поверхности под мышью использовался инфракрасный лазер. Обещалась чуть ли не революция в сфере оптических мышей. Увы, лично попользовавшись этой мышью, я убедился, что революции не произошло. Но речь не об этом.

Я не разбирал мышь Logitech MX1000 (не имел возможности), но уверен, что за «новой революционной лазерной технологией» стоит наш старый знакомый - сенсор ADNS-3060. Ибо, по имеющимся у меня сведениям, характеристики сенсора этой мыши ничем не отличаются от таковых у, скажем, модели Logitech МХ510 . Вся «шумиха» возникла вокруг утверждения на сайте компании Logitech о том, что с помощью лазерной системы оптического слежения выявляется в двадцать раз (!) больше деталей, чем с помощью светодиодной технологии. На этой почве даже некоторые уважаемые сайты опубликовали фотографии неких поверхностей, дескать, как видят их обычные светодиодные и лазерные мыши:)

Конечно, эти фото (и на том спасибо) были не теми разноцветными яркими цветочками, с помощью которых нас пыталась убедить на сайте Logitech в превосходстве лазерной подсветки системы оптического слежения. Нет, конечно же, оптические мыши не стали «видеть» ничего подобного на приведенные цветные фотографии с разной степенью детализации - сенсоры по-прежнему «фотографируют» не более чем квадратную матрицу серых пикселей, отличающихся между собой лишь разной яркостью (обработка информации о расширенной цветовой палитре пикселей непомерным грузом легла бы на DSP).

Давайте прикинем, для получения в 20 раз более детализированной картинки, нужно, извините за тавтологию, в двадцать раз больше деталей, передать которые могут только дополнительные пиксели изображения, и ни что иное. Известно, что Logitech MX 1000 Laser Cordless Mouse делает снимки 30х30 пикселей и имеет предельное разрешение 800 cpi. Следовательно, ни о каком двадцатикратном росте детализации снимков речи быть не может. Где же собака порылась:), и не являются ли подобные утверждения вообще голословными? Давайте попробуем разобраться, что послужило причиной появления подобного рода информации.

Как известно, лазер излучает узконаправленный (с малым расхождением) пучок света. Следовательно, освещенность поверхности под мышью при применении лазера гораздо лучше, чем при использовании светодиода. Лазер, работающий в инфракрасном диапазоне, был выбран, вероятно, чтобы не слепить глаза возможным все-таки отражением света из-под мыши в видимом спектре. То, что оптический сенсор нормально работает в инфракрасном диапазоне не должно удивлять - от красного диапазона спектра, в котором работает большинство светодиодных оптических мышей, до инфракрасного -«рукой подать», и вряд ли для сенсора переход на новый оптический диапазон был труден. Например, в манипуляторе Logitech MediaPlay используется светодиод, однако также дающий инфракрасную подсветку. Нынешние сенсоры без проблем работают даже с голубым светом (существуют манипуляторы и с такой подсветкой), так что спектр области освещения - для сенсоров не проблема. Так вот, благодаря более сильной освещенности поверхности под мышью, мы вправе предположить, что разница между местами, поглощающими излучение (темными) и отражающими лучи (светлыми) будет более значительной, чем при использовании обычного светодиода - т.е. изображение будет более контрастными.

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

Какими будут оптические сенсоры ближайшего будущего? Сказать трудно. Вероятно, они перейдут таки на лазерную подсветку, а в Сети уже ходят слухи о разрабатываемом сенсоре с «разрешением» 1600 cpi. Нам остается только ждать.

Задача: быстро сделать датчик линейного перемещения из компьютерной мышки.

В обычных мышках прячется высокочувствительный оптический датчик. Там скрывается своя маленькая «камера» и процессор обработки, который отслеживает передвижения малейших точек на поверхности. В топовых мышках разрешающая способность составляет всего 3 мкм!

С какими подмышиными камнями мы столкнулись, плюс техническая часть, расскажем дальше!

Следующее ТЗ дал заказчик: сделать как можно скорее, с любой мышкой (возможно беспроводной), выводить на 7 сегментный индикатор, обнулять по кнопке, компьютер не подходит, нужна разрешающая способность 0.01 мм, максимальное расстояние 1000 мм.

Для начала как все это делалось:

Считывание координат xy с мышки: Реализовать считывание данных можно несколькими способами: а) Непосредственно с микросхемы оптического сенсора + Можно обойтись простым контроллером - Про универсальность можно забыть совсем б) Подключить мышку по USB к простым контроллерам (например к ардуино) + Простота и дешивизна - Надо паять - Под рукой была только arduino, а к ней можно подключить мышки совместимые с PS/2, а они обычно очень неточные. Можно было на stm32, но отладочные платы сильно подорожали, самому паять не было времени. (но если интересно, то несколько лет назад был такой похожий проект именно на stm32f4discovery) в) Взять какой нибудь простой одно платный компьютер. Под рукой был как раз Raspberri pi. + Подходит для любых USB мышек + Хорошая производительность - Дорого, но может избыточная мощность потребуется потом
В итоге, под нож хирурга легла Малина пи 3. Четыре 64 битных ядра A-53 по 1GHz, 512 МБ оперативки и много других космических для этой задачи циферок.

Задачка: Индикация должна быть на выданных 7-сегментных индикаторах. Получается нам необходимо по 6 цифр на одну координату, итого 12 индикаторов. Каждый индикатор имеет 7 ножек на цифры+ ножка на светодиод точки (dp), общий провод не считаем. Итого после простых расчетов получаем, что мы должны управлять 96 проводниками плюс нужна кнопка. 96 резисторов не очень хотелось тратить.

Послушайте!
Ведь, если светодиод зажигают - значит - это нужно один резистор?

Управлять сразу таким массивом ножек нету возможности. Выход есть! И даже несколько!

1) Использовать дополнительные микросхемы по типу max7219, или сдвиговые регистры, мультплексоры, и т.д.

Можно почти бесконечно наращивать количество индикаторов
- Max7219 оказалась с рабочим напряжением 5 В
- Не было под рукой ничего подходящего.

2) Можно сделать динамическую индикацию. В один момент времени зажигать только один светодиодный индикатор. Если индикаторы переключать очень быстро, то человеческий глаз не заметит подставы.
+ Нужно только 8 проводов и резисторов на один индикатор и 12 на переключение индикаторов. Плюс не забываем кнопку. Итого: всего 21 ножка против 96. Берем!
- Так как мы пытаемся управлять целым индикатором через один пин распберри, то максимальный ток у нас ограничен 50 мА. Всегда берем запас, и берем 35 мА на все 8 светодиодов (что не шибко). Еще к этому добавим быстрое переключение индикаторов. В итоге у нас каждый светит в 12 раз меньше положенного. Доработать можно 12 транзисторами, но оставил я это на потом, т.к. яркости в конечном счете хватило.

Теперь начинается софт:

На распберри пи надо поставить linux. Я поставил минимальный дистрибутив
RASPBIAN JESSIE LITE .

Далее через программу putty подключился к IP малинки, и дальше все через командную строку.
Чтобы было проще работать с GPIO(портами ввода и вывода) есть замечательная библиотека WiringPi .

Как устанавливать её и управлять портами, вы сможете найти много информации в сети, поэтому не буду подробно останавливать на этом.

Cd /home/pi sudo mkdir mouse cd /home/pi/mouse
Дальше открываем редактор и вставляем код с гита. ВАЖНО! Код писал на очень скорую руку!

Sudo nano
для выхода из редактора надо нажать Alt+x и сохранить файл с названием blinker.c. Дальше надо обязательно скомпилировать с указанием wiring pi:

Gcc -o mouse mouse.c -l wiringPi
Все! Теперь подключаем мышку, вставляем провода и запускаем!

Подключение проводов


// pin number declarations. We"re using the Broadcom chip pin numbers.

Const int p21pin = 2;
const int p22pin = 3;
const int p23pin = 4;
const int p24pin = 17;
const int p25pin = 27;
const int p26pin = 22;
const int p11pin = 10;
const int p12pin = 9;
const int p13pin = 11;
const int p14pin = 5;
const int p15pin = 6;
const int p16pin = 13;
const int papin = 8;
const int pbpin = 23;
const int pcpin = 12;
const int pdpin = 20;
const int pepin = 21;
const int pfpin = 24;
const int pgpin = 18;
const int pdppin = 16;

Const int butpin = 26;


sudo ./mouse
Автозапуск при загрузке:

Sudo nano /etc/rc.local и перед exit 0 дописать две строчки cd /home/pi/mouse sudo ./mouse &
Работать с этой прогой очень просто. по нажатию кнопки мыши или просто кнопки на плате идет обнуление. При долгом нажатии кнопки переходим в режим регулировки DPI. Это важный параметр который задается мышкой и показывает сколько отсчетов мы получим при движении на один дюйм. Соответственно копка на плате и на мышке прибавляет и убавляет DPI. Долго нажимаем, наше значение записалось в файл и надежно хранится до следующей загрузки системы. Для чистоты эксперимента в программе, индикация, получение информации с мышки и кнопка обрабатываются а параллельных процессах.

1. Оси X и Y на моей мышке были не параллельны боковым граням, приходилось для высчитывания реального расстояния пользоваться «пифагоровыми штанами».

2. Разрешающая способность не равно погрешность!

Простым языком - разрешающая способность действительно показывает минимальное перемещение, которое увидит мышка, (отсчеты в компьютере должны быть дискретны минимальной разрешающей способности). А вот что мышка ничего не пропустит, ничем не гарантируется. Можно уменьшить эту величину используя хорошие поверхности (чтобы оптический сенсор мог отслеживать перемещения), использовать небольшие скорости. Но пропуски будут всегда! Для пользователя это означает постоянный уход нуля и непрогнозируемую погрешность измерения.

3. USB HID по которому работает мышь не гарантирует доставку информации в компьютер! То есть неизвестно пропустил ли компьютер какую нибудь информацию с мышки или нет. Вероятность пропажи информации малая, но все же есть.

4. Настройки чувствительности(разрешающей способности) иногда хранятся не в мышке, а в программе для мышки.

5. Тут я сильно зол! Дело в том, что мышку я брал самую крутую из ассортимента Logitech, это самая продвинутая была на тот день модель logitech performance mx. Но какого было мое удивление, когда мышь давала разные погрешности при движении вперед и назад. ЭТО КАК? Поясню для пользователя. Если постоянно двигать мышку назад и вперед, то курсор ощутимо так все снижается и снижается. Это на любых платформах. Приходится периодически поднимать мышку и ставить на новое место. После того, как я заметил это, моя жизнь превратилась в кошмар! #Logitech