3. Кожемяко. Как из оптической компьютерной мыши сделать датчик перемещения?

Автор Ko_Dee, Среда, марта 30, 2016, 07:33:24

« предыдущая тема - следующая тема »
Вниз

Ko_Dee

Среда, марта 30, 2016, 07:33:24 Последнее редактирование: Суббота, апреля 16, 2016, 05:31:30 от Ko_Dee
Доклад - исследование на тему:

КАК ИЗ ОПТИЧЕСКОЙ КОМПЬЮТЕРНОЙ МЫШИ СДЕЛАТЬ ДАТЧИК ПЕРЕМЕЩЕНИЯ?

автор: Кожемяко Дмитрий Геннадьевич, группа 341.
Научный руководитель: доцент Рыбалев А.Н.



Тема интересная, и вполне реализуема так сказать на коленке, главное желание, время и материалы. А пока раскидаем теорию.

Поехали!

1. Немного про грызунов. (!!!НЕ ЗАБЫВАЕМ, ЧТО РЕЧЬ ИДЕТ ИМЕННО ОБ ОПТИЧЕСКИХ!!!)



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



Говоря кAлхозным языком, камера быстро и часто фотКАЕТ поверхность стола(или где вы там юзаете мышь), и сравнивает фотки, смотрит куда сместилось изображение и по этим смещениям определяет положение курсора.



Кстати  не каждый знает почему в оптических мышах используется именно красный светодиод, а все дело в том что кремниевые фотоприемники(которые используются чаще всего)  более чувствительны именно к красному свету. Но встречаются и мыши с синим светодиодом, более того, люди от скуки своей сами перепаивают красный на синий и наоборот, и судя по среднему арифметическому из отзывов такого мода, ничего страшного не происходит, мышь как работала-так и работает.  Вот что нашел в одной из статей посвященным грызунам:
""В сентябре 2008 года компания Microsoft представила первые серийные модели мышей, оснащенные оптическим сенсором BlueTrack. Как и в оптическом датчике традиционной конструкции, источником света служит светодиод. Правда, не привычный красный, а модный синий (отсюда, собственно, и название BlueTrack). Теоретически это позволяет получить определенное преимущество, поскольку длина волны синего света примерно в полтора раза короче по сравнению с красным (и почти вдвое -- по сравнению с инфракрасными источниками). Таким образом, синее освещение позволяет камере зафиксировать более мелкие детали микрорельефа рабочей поверхности. Однако стоит учитывать, что в данном случае речь идет о деталях размером в десятые доли микрона, и сложно утверждать наверняка, позволяют ли параметры оптического тракта и светочувствительного сенсора реализовать это преимущество на практике.
Есть немало скептиков, полагающих, что на использовании именно синего светодиода настояли вовсе не инженеры, а маркетологи. Ведь отличить цвет свечения под «брюшком» мыши сможет даже технически неграмотный пользователь (разумеется, если он не дальтоник). Остается лишь придумать и запустить в массы красивый миф о преимуществах синей подсветки над красной -- благо с решением подобных задач опытные маркетологи справляются без труда."" (http://compress.ru/article.aspx?id=22578)
Получается что дело темное с этими красными и синими, лучше не заморачиваться.

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

2. Немного про датчики перемещения.


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



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

Оптический датчик перемещения на основе схему оптической триангуляции.

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

Оптический датчик перемещения на основе дифракционных решеток.

Основной вышеизложеный материал по датчикам отсюда - http://www.devicesearch.ru/article/3648

3. Непосредственно к теме.

Проанализировав теорию по датчикам, возникли некоторые сомнения, потому как аппаратура хоть и оптическая, но построена совсем на других законах оптики. Насколько мне известно, датчиков в которых применяется процедура фотографирования и дальнейшего сравнения сделанных кадров, дабы найти разницу по смещению - не существует(активная часть аудитории кинет в меня камень, если я не прав). И как оказалось так думаю не я один.
На форумах иногда активно "курится" эта тема. Видимо, вечная Руссссская смекалка и голь перекатная не отпускает головы русских разумников, и они ищут замены фабричным устройствам и применение вышедшим из строя гаджетам.
Копипастить все что было разжовано и не разжовано на форумах я не буду, просто не вижу смысла, все и так можно улицезреть, вот маленько ссылок на данную тему....
http://www.sci-lib.net/index.php?showtopic=6640
http://www.chipmaker.ru/topic/22680/
http://www.starlab.ru/showthread.php?t=979
http://myrobot.ru/forum/topic.php?forum=4&topic=300

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

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

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



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

Вот так.

В результате исследования вывод получился такой: получить необходимые характеристики датчика основанного на принципе действия сенсора перемещения мыши - проблематично(а с необходимой точностью, думаю почти невозможно).
НО. Ведь можно использовать и другие части умершей мыши, мне показалось довольно интересной идея использования механизма колесика, или говоря по научному - скролл. Там все намного проще чем с сенсором перемещения, весь механизм построен на фоточувствительных элементах и отверстиях в колесе, тоже оптика, но проще(НО ТАК НЕ НА ВСЕХ МЫШКАХ!!! СУЩЕСТВУЮТ И ДРУГИЕ ВАРИАНТЫ, которые рассматривать не будем).

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


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


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




 





ran

CoDee,
1) Добавьте, пожалуйста, к докладу заголовок с указанием автора на русском языке (ФИО), а то мне придется сделать это самому, а я могу и ошибиться.
2) Не во всех мышах используется красный светодиод, в некоторых, кажется, голубой. Если, можно, "просветите".

KudakIG

Добрый день, всем.

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

Ko_Dee

#3
Четверг, марта 31, 2016, 19:37:08 Последнее редактирование: Четверг, марта 31, 2016, 19:42:52 от Ko_Dee
KudakIG, читаем второй абзац второго пункта(по датчикам как раз). А по поводу ИК подсветки грызунов это уже к теме о лазерных, а их мы не рассматриваем.

KudakIG

Ko_Dee
Лазеры не относятся к оптике?
Ваш первый пример "Оптический датчик перемещения на основе схему оптической триангуляции." основан как раз таки на лазере.
Если взялись расписывать теорию, так пишите кратко но полно. (http://zadocs.ru/fizika/8556/index.html?page=3)

knoppix

А у меня у мышки вообще вообще ничего снизу не светится (мышка logitech), значит не видать мне датчика? Ну и собственно вопрос, что по факту дешевле, расковырять мышку, или просто купить датчик?
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

ran

Так датчик еще надо купить, а мышек дохлых или полудохлых полно.
Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет!

Ko_Dee

knoppix, хотелось бы сказать что паламаласяяяя :'(  Ваша мышь, но нет. Раз уж попался в эту мышеловку то включим в обсуждения и лазерные гаджеты, владельцем которго Вы являетесь(если конечно не шариковой) ;D  ;D  ;D


RVL

Дмитрий! Укажите руководителя в начале статьи!

Вверх