Миші оптичний датчик
Сьогодні мова піде про мишок, але поки почнемо з килимків.
Нормальні герої завжди йдуть в обхід (з к / ф 'Айболить 66').
Існує безліч типів і варіантів виконання килимків для мишок. Вони можуть мати робочу поверхнею з тканини, м'якого або твердого пластика, металу. Перший варіант найдешевший і, як не дивно, один з найкращих. Для м'якого пластику, та й для жорсткого теж, існують варіанти виконання під оптичні та лазерні мишки.
Для тестів використовувалися звичайні килимки Nova MicrOptic + і Defender Ergo opti-laser. Зовнішній вигляд у них приблизно однаковий:
За запевненням обох виробників ці килимки оптимізовані для роботи з лазерними пахвами. Перевіримо.
Для початку знімки поверхні зі збільшенням:
Деякі відмінності є, але не особливо помітні. У килимка Nova зерна менше і не так явно виражені. Значить він гірше?
Тепер подивимося на килимки очима оптичного датчика:
Погодьтеся, що відмінність є і вельми кардинальні. На килимку Nova чітко видна висококонтрастна структура, а ось Defender дав якийсь 'мило'. Швидше за все, це пов'язано з розмірами 'гранул'. У лазерних датчиків, на відміну від оптичних, видимий розмір вікна зменшений. Схоже, на килимку Defender розмір гранул більше вікна і датчик захоплює тільки їх частина, постійно перемикаючись між монотонно світлими і темними ділянками. Для порівняння, приведу фотографії поверхні пластика зворотного боку термосалфеткі.
Правий малюнок отриманий з лівого підвищенням контрастності. Мишка цю поверхню бачить так:
На такій поверхні 'офісні' оптичні мишки зовсім не працюють, а ось лазерні якось примудряються працювати і вельми успішно.
Що Ви робите, коли мишка доходить до краю килимка? Ви піднімаєте мишку і переставляєте на нове місце, в центр килимка. Оптичний датчик має високу чутливість і при підйомі намагається зберегти нормальне функціонування, постійно підлаштовуючи параметри апаратури. Як наслідок, при підйомі мишки над поверхнею знижується швидкість. Точніше, швидкість то не знижується, а досить різко падає якість і достовірність визначення руху. Теоретично, при зниженні якості поверхні нижче розумного, оптичний датчик повинен перестати видавати рух. Тобто, при деякому підйомі мишки він мав би не помічати, що миша підняли, а якщо її ще хоч трохи підняти, то просто перестати передавати рух. Це в ідеалі, але в реальних мишках при погіршенні поверхні відбувається деградація якості руху, переданого мишею. Причому, цей шкідливий ефект залежить від швидкості переміщення, через що до такої мишці важче звикнути.
Висота відриву світлодіодних мишок 1.5-2 мм, для лазерних версій цифра більша і становить вже 2.5-4 мм. Це все цифри, а в реальності такої мишкою незручно користуватися навіть для офісних додатків, дуже вже високо доводиться піднімати її над килимком. За моїми особистими враженнями, висота зриву в 1.5-2 мм досить комфортна. А що ж робити з лазерними пахвами і їх висотою зриву 4 мм?
Щоб особливо не мудрувати, взяв картинку з документації.
На цьому малюнку вказана цифра 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).
На поверхні з об'ємним рельєфом модифікація оптики призводить до більшої помітності цього рельєфу. А ось картинка з листа алюмінію виглядає скоріше гірше, але не настільки істотно. Безкоштовно нічого не буває. Чіпали оптику - отримали проблеми з фокусуванням.
Рекомендація - при повторенні подібної доопрацювання не захоплюйтеся! Навряд чи варто настільки сильно збільшувати кут блоку підсвічування, адже висота зриву виходить занадто малою і з'являються неприємні проблеми з упіхіваніем в корпус і збільшенням струму лазера.
Саму 'кнопку' я взяв з дисковода 3.5 "з датчика наявності дискети. Зусилля невелике, але і його довелося трохи послабити. Ідея працювала добре, висоту можна підібрати яку заманеться, ось тільки пластмасовий штифт кнопки швидко сточується.