roboforum.ru

Технический форум по робототехнике.

Мышка, энкодеры и датчики

Re: Мышка, энкодеры и датчики

Myp » 30 мар 2010, 16:31

блин
ну неужели так сложно взять и один раз прочитать как устроена обычная компьютерная мышка?
2 страницы какогото гундёжа невнятного. :bad:

шариковая мыша крутит шариком колёсики с прорезями
прорези закрывают и открывают датчик, получаются импульсы

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

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

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

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

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

Re: Мышка, энкодеры и датчики

vadinator » 30 мар 2010, 17:06

blindman писал(а):Нафига оптоизоляторы добавлять туда где они уже есть? :)

на входах микроконтроллера? :crazy: в каких МК это есть? поподробнее пожалуйста...

Re: Мышка, энкодеры и датчики

blindman » 30 мар 2010, 17:28

В мышках они есть

Re: Мышка, энкодеры и датчики

vadinator » 30 мар 2010, 17:47

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

Re: Мышка, энкодеры и датчики

boez » 31 мар 2010, 12:10

S-T-A-L-K-E-R, ты не прав насчет +Y, -Y и т.п. Почитай http://en.wikipedia.org/wiki/Rotary_encoder , раздел Incremental rotary encoder (к сожалению в русском варианте на вики этого раздела нет). Ну или вот DiHalt пару слов про энкодеры написал в первом абзаце http://easyelectronics.ru/enkoder-iz-pe ... stora.html.

В общем, на каждую координату нужно 2 сигнала, но они оба используются при движении в обоих направлениях. Только последовательность меняется - или 00,01,11,10 - "вперед", или 00,10,11,01 - "назад".

А еще подумай внимательно - а точно ли тебе нужно эмулировать именно мышь? Дело в том, что сама по себе мышь не имеет ограничений на перемещение, а вот при ее подключению к ПК такие ограничения появляются, рабочий стол имеет конечный размер, и если мышка попытается за него выехать, программы на ПК перестанут получать информацию об изменениях, хотя реально мышь будет продолжать двигаться. Еще в драйверах мыши есть алгоритмы ускорения, когда при увеличении скорости перемещения увеличивается коэффициент "пиксели экрана/тики мыши".

Короче, если мне нужно было бы иметь информацию о перемещении моей механической системы, я бы слал ее через последовательный канал в свою программу, минуя такого "посредника", как GUI-подсистема ОС.

Re: Мышка, энкодеры и датчики

vadinator » 31 мар 2010, 13:18

boez, абсолютно правильно :) неоднократно нарывался на информацию о "мышинных" ошибках, которые для управления ПК несущественны...а вот для управления CNC машинами... приводят к потере положения однозначно. ИМХО надо юзать МК и на нём обрабатывать выходы энкодера...скорость (частоту) только надо представлять чётко.


Rambler\'s Top100 Mail.ru counter