Главная Новости

Валкодер из оптической мышки

Опубликовано: 05.09.2018

видео Валкодер из оптической мышки

Сенсорный датчик оптической мыши

Валкодер из оптической мышки.

Вначале была неисправная мышка с неработающим контроллером интерфейса и исправной микросхемой оптического позиционера ADNS-2610. После ознакомления с Data Sheet фирмы Agilent http://cp.literature.agilent.com/litweb/pdf/5988-9774EN.pdf , стало понятно, как сделать простой валкодер с очень мелким шагом и с укрупнением шага при увеличении скорости вращения валкодера. Эта микросхема применяется совместно с линзой HDNS-2100 и светодиодным осветителем.



.

Не мудрствуя лукаво, я просто обрезал печатку мышки, оставив все необходимое. Питание (VDD) +5 вольт а SDIO и SCK к контроллеру синтезатора. Для исключения коллизий, между SDIO и контроллером можно включить резистор около 1 ком. На диск валкодера наклеил серую бумагу и расположил платку, с небольшим зазором, линзой напротив диска.


ИГРОВАЯ МЫШЬ! ЧТО ВНУТРИ? КАК РАБОТАЕТ? ОПТИЧЕСКАЯ ИЛИ ЛАЗЕРНАЯ?

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

энкодер от мыши.3gp

Тактовые импульсы SCK всегда генерируются контроллером синтезатора, а линия данных SDIO двунаправленная и направление передачи данных по ней, после передачи адреса, определяется старшим битом адреса (передаваемым первым). Если “0”, то следующий байт будем считывать.

Вначале передаем адрес регистра из которого будем считывать информацию (Y-00000010, X-00000011), а затем считываем байт данных, при этом считываемый регистр обнуляется.

Период SCK должен быть не менее 500 наносекунд. Считываются и записываются данные по фронту SCK (перепад из низкого в высокий уровень). Пауза между последним битом первого передаваемого байта и первым битом второго считываемого байта должна быть не менее 100 микросекунд (время необходимое для обработки информации внутренним DSP позиционера).

Считанный байт имеет следующий формат:

Число (от +127 до –128 (минус в дополнительном коде)) показывает на сколько переместился диск валкодера относительно последнего считывания. Направление перемещения определяется старшим байтом. Дальнейшее зависит от фантазии программиста. Точность перемещения 400 отсчетов на дюйм а максимальная скорость движения 12 дюймов в секунду.

На фото диск валкодера диаметром 4 см расположен между индикатором и обрезанной платой мышки. У меня шаг перестройки при очень медленном вращении валкодера равен 1гц и плавно нарастает до 1 Кгц при увеличении скорости вращения валкодера.

Эта статейка не есть реклама а информация к размышлению если это кому-нибудь интересно.

Александр UR5FJZ

Карта
rss