Page 1 of 1

Валкодер (энкодер) из компьютерной мыши

Posted: 03 Feb 2009 12:56
by hardlock
Во время создания Мега-генератора возникла идея использовать не готовые энкодеры, а изготовленные самостоятельно из компьютерной мышки. Статей на эту тему в интернете достаточно (например эта), но мне хотелось что-то своё - оригинальное. То, что у меня получилось, я и опишу тут.

1. Выбор мышки.
Долго выбирать не пришлось - мне надо было 2 валкодера и поэтому была разобрана мышь с двумя колёсиками прокрутки
Внешний вид
Внешний вид
Без крышки
Без крышки
Собственно колёсики
Собственно колёсики
2. За что крутить.

Здесь тоже выбор был не сложный - часть разобранного переменного резистора типа СП3-4АМ. Выбор в его пользу был сделан по той причине, что потом будет меньше проблем с креплением его на панели и поиском ручки. Затем к металлической части резистора припаиваем согнутую под 90° заглушку от компьютерного корпуса (можно использовать любую другую доступную металлическую полосу). Получилось нечто вроде:
Вид 1
Вид 1
Вид 2
Вид 2
Далее выпаиваем из платы мыши оптопары (светодиод и фототранзисторы), отпиливаем стойки, в которых крутились оси колёсиков и пытаемся разместить всё это на куске макетной платы. Потом макетную платы прикручиваем к ручке. Подпиливаем стойки до такой длины, чтобы ось колеса совпадала с осью резистора.
Размещение на макетной плате
Размещение на макетной плате
Щас будем прикручивать
Щас будем прикручивать
Проверяем соосность
Проверяем соосность
Приклеиваем стойки к плате суперклеем. На ось колёсика накручиваем гайку с напаянным на неё кольцом из проволоки ~1мм. Когда стойки приклеены и колесо стоит на плате, можно припаивать "кольцо" к валу резистора.
Почти готово
Почти готово
Уже с ручкой
Уже с ручкой
Аж две штуки
Аж две штуки
Собственно всё! Отличие от конструкций описанных в интернете - наличие приятных "щелчков" при вращении ручки. Правда конструкция немного сложновата, но зато своё, родное...

Данная конструкция с успехом испытана в составе Мега-генератора.

Re: Валкодер (энкодер) из компьютерной мыши

Posted: 29 Jan 2010 15:22
by IBIT
Доброго дня!
намагаюсь отримати сигнал із такого валкодера, але є "дрібіжання контаку".
задача зробити датчик скорості - спідометр, але так щоб датчик був 3 виводний(+12; 0; сигнал ) і мав мінімум деталей і був надійний сигнал із нього без "дрібіжання" при різних швидкостях обертання колеса миші.
пробував зробити на ОУ по схемі http://www.qrz.ru/schemes/contribute/comp/mouse.shtml (теоретично якраз те що і мені потрібно)
Image
але є дрібіжання, не можу зрозуміти як зробити гистиризис переходу мід "0" і "1" і навпаки .
якщо брати номінали із схеми тоді не працює взагалі.
але я використовував ОУ LM358, інакших у мене немає.
може у когось є ідеї як це робити?
у мене на фотодіоді міняється ток приблизно із 0,0001А у засвіченому стані і десь менше 0,00001А у затемненому, тому резистор R2 поставив 15кОм, а решту так на схемі.
раніше із ОУ взагалі не мав справи, і вже днів 5 не можу знайти підходящої схеми як це зробити.
інший варіант брати сигнал із двох фототранзисторів і на мікроконтроллері (приклад attiny13 обробляти його) але не хочеться для такої задачі використовувати мікроконтролер.

Re: Валкодер (энкодер) из компьютерной мыши

Posted: 04 Jul 2010 14:42
by Torero
а можно подробную схему подключения? на светодиод надо подавать напряжение меньше 1го вольта? боюсь сжечь. плюс не понятно какой вывод анод и какой катод.. хотелось бы пример кода как же его реализовать ну например чтобы в одну сторону крутился - один светодиод загорается а в другую - другой. читал в нете все равно ничего не понял(

Re: Валкодер (энкодер) из компьютерной мыши

Posted: 05 Jul 2010 16:46
by hardlock
Torero wrote:на светодиод надо подавать напряжение меньше 1го вольта?
напряжение не знаю, а ток около 5 мА. Вообще то номинал резистора я брал прямо из мышки.
Torero wrote:не понятно какой вывод анод и какой катод..
опять таки - разводка берётся из мышки.
Torero wrote:хотелось бы пример кода как же его реализовать ну например чтобы в одну сторону крутился - один светодиод загорается а в другую - другой. читал в нете все равно ничего не понял(
можно пользовать модуль scroll.c из моей программы.