Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Доработка (разработка) компьютерной мыши
Форум разработчиков электроники ELECTRONIX.ru > Дополнительные разделы - Additional sections > Предлагаю работу
Уголев Антон
Для задачи управления технологическим оборудованием требуется дооснастить имеющуюся 8-кнопочную компьютерную мышь двумя прецизионными колёсиками: основным (заменить) и боковым. Разрешение колёс требуется порядка 2000 точек на оборот.

Таких мышей требуется 100 шт.

Буду рад любым советам, идеям и предложениям, как решить такую задачу.
kovigor
Цитата(Уголев Антон @ Jun 29 2018, 23:00) *
Буду рад любым советам, идеям и предложениям, как решить такую задачу.

Задача распадается на две. Первая - сделать USB HID устройство (USB - предоложительно, т.к. вы ни слова не сказали об интерфейсе вашей мыши), и написать для него ПО. Это не так дорого и вполне реализуемо, один человек справится, ИМХО, довольно быстро. И вторая - разработать и сделать точную механику такого устройства. А вот это уже подороже, особенно для такой маленькой серии. Сколько денег вам отпускают на решение задачи ? И какие сроки ? И еще, что это за оборудование такое, что производитель выпустил его в сыром виде и его нужно интенсивно дорабатывать потребителю ? Может, стоит начать с обращения именно к производителю ?
jcxz
Цитата(kovigor @ Jun 30 2018, 00:27) *
Задача распадается на две. Первая - сделать USB HID устройство (USB - предоложительно, т.к. вы ни слова не сказали об интерфейсе вашей мыши), и написать для него ПО. Это не так дорого и вполне реализуемо, один человек справится, ИМХО, довольно быстро.

С водой выплеснули и ребёнка.... smile3046.gif
За деталями (USB HID-ом) забыли о главном - об алгоритме распознавания движения (и направления его) по отражению ИК-луча от поверхности.
Или Вы предлагаете вспомнить молодость и сделать на резиновом шарике, двух колёсиках с дырочками и 4-х оптопарах? biggrin.gif
x736C
Возможно, не очень понял суть требуемого. Но как вариант взять оптический датчик и все сделать на нем (плюс МК). Механическое обрамление (кронштейн) напечатать на 3д принтере и внедрить в штатную конструкцию или вместо неё.

Типа такого:
1. На Aliexpress датчик ADNS-3000
2. Оптическая часть к нему
3. Datasheet
Wild
интересно что этим управляется.....
Уголев Антон
Цитата(kovigor @ Jun 30 2018, 00:27) *
Задача распадается на две. Первая - сделать USB HID устройство (USB - предоложительно, т.к. вы ни слова не сказали об интерфейсе вашей мыши), и написать для него ПО. Это не так дорого и вполне реализуемо, один человек справится, ИМХО, довольно быстро. И вторая - разработать и сделать точную механику такого устройства. А вот это уже подороже, особенно для такой маленькой серии. Сколько денег вам отпускают на решение задачи ? И какие сроки ? И еще, что это за оборудование такое, что производитель выпустил его в сыром виде и его нужно интенсивно дорабатывать потребителю ? Может, стоит начать с обращения именно к производителю ?


Мы сами и производители sm.gif http://eastbond.ru

Планируем делать новую модель с моторизированным X-Y-R координатным столом, мышь нужна для прецизионного ручного управления по четырём координатам: X-Y-R-Z

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

Либо оставить USB интерфейс мыши как есть, а тянуть два провода от мыши к оборудованию, и по второму передавать отдельным интерфейсом сигналы с колёс.
mantech
Цитата(Уголев Антон @ Jun 30 2018, 09:33) *
Планируем делать новую модель с моторизированным X-Y-R координатным столом, мышь нужна для прецизионного ручного управления по четырём координатам: X-Y-R-Z


Может тут джойстик прецизионный лучше или трекбол?
Уголев Антон
Цитата(mantech @ Jun 30 2018, 09:40) *
Может тут джойстик прецизионный лучше или трекбол?

Мышь здесь лучше всего.
toshas
ИМХО сделайте отдельное usb устройство, аля Griffin PowerMate USB.
Будет и проще в реализации и удобнее для оператора.
Еще посмотрите на 3Dconnexion 3DX, может их идея понравится.

Цитата(Уголев Антон @ Jun 30 2018, 09:33) *
Либо оставить USB интерфейс мыши как есть, а тянуть два провода от мыши к оборудованию, и по второму передавать отдельным интерфейсом сигналы с колёс.


Зачем тянуть, в мышке поставить bt передатчик и usb bt в пк.
Vitality
Увеличить разрешающую способность основного колеса вполне возможно без изменения схемы мыши, а вот подключение ещё одного колеса, это приведёт к полной разработке нового манипулятора.
Тут объем работы человек на 10.
gosha-z
Цитата(mantech @ Jun 30 2018, 09:40) *
Может тут джойстик прецизионный лучше или трекбол?

Вот я тоже за джойстик, необязательно прецизионный, лучше пошаговый, плюс кнопка/тумблер переключения функционала pitch/yaw-position. IMHO, разумеется
designer78
Цитата(Уголев Антон @ Jun 29 2018, 20:00) *
Разрешение колёс требуется порядка 2000 точек на оборот.

Можно уточнить кто принимает мышиные сигналы?
Насколько можно понять с той стороны стоит вовсе не писи с мелкософтом, а что-то другое. И каким-то образом уже получилось прицепить некую A4TECH.
И еще как понять требование почему именно 2000 точек на оборот. Интересно а сколько дает текущее колесо?
Это понятно что хочется точно регулировать. Но насколько слышал во всяких извращенных геймерских мышах есть кнопочка которая нажимается когда нужно точно навести прицел и колесо начинает давать плавную настройку.
А так-то колесики походу построены достаточно тупо (причем даже отдельно от основной схемы сенсора). С одной стороны колеса излучающий диод, с другой два фотодиода. У колеса спицы, которые перекрывают сначала один фотодиод потом второй. Вот те и сигнал от энкодера. Который всасывается контроллером и пуляется дальше по USB. А сколько там уж dpi насчитать на один сигнал (хоть 1dpi) решает драйвер.
Пример из пиксаровско даташита www.pixart.com/upload/PMS0058-PMW3360DM-T2QU-NNDS-R1.30-06042016_20160902201411.pdf страница 12
Нажмите для просмотра прикрепленного файла
Кстати мышей с двумя колесами не то чтобы много но хватает (и два сверху и одно сверху другое сбоку) так что фрезеровать что-то там как-то не кажется разумным.
Я бы купил бы для начала двухколесную мышь и попробовал бы разобраться что она передает от второго колеса по USB, ведь как-то A4TECH вы уже зацепили.
Очень вероятно что сигналы идут просто штатно их разбирает отдельный виндовый драйвер.
А потом просто останется правильно их интерпретировать в нужном вам режиме повышенной точности.
aaarrr
Цитата(designer78 @ Jun 30 2018, 13:14) *
Интересно а сколько дает текущее колесо?

Градусов 5 на шаг sm.gif Но требование 2000 точек на оборот тоже представляется, мягко говоря, избыточным: диаметр колеса миллиметров 20, как пальцами выбирать сотые доли мм?
Mikle Klinkovsky
Хотел бы я посмотреть на того оператора, который пальцем может одно из 2000 положений колеса мыши выбрать.

Ваше ТЗ говорит о не продуманности интерфейса. Не даром раньше на технике были регулировки "грубо" и "точно". А сейчас это можно реализовать программно, переключая режим работы, с любой стандартной мышью. И даже мыши с двумя колёсами есть готовые.
jcxz
Цитата(designer78 @ Jun 30 2018, 13:14) *
Но насколько слышал во всяких извращенных геймерских мышах есть кнопочка которая нажимается когда нужно точно навести прицел и колесо начинает давать плавную настройку.

У меня сейчас такая в руке rolleyes.gif
MX Master M­-R0052: http://support.logitech.com/en_us/product/mx-master/specs
Только почему "извращённая"? Отличная мышка и очень удобная!
Да - жмёшь кнопку сверху и колесо переключается с дискретного хода на плавный и наоборот. Может работать как со своим RF-приёмником так и по BT (есть переключатель). Имеет литиевый аккум. Очень эргономичная - по моей мужской руке, а не маленькая ерундовина под детскую руку.
И сбоку тоже колёсико есть. Оно всегда плавно крутится.

PS: Может ТС-у и не надо ничего фрезеровать, а просто купить такую мышку как у меня? rolleyes.gif
Да, дорогая, но она того стоит!
Wild
яхты круче, на мой взгляд, где вы коммерческих директоров берете?
Vitality
Я посмотрел ваше оборудование, мне кажется проще добавить слева кнопку которая бы позволяла точное позиционирование и можно добавочно колесо там же рядом добавить, тогда не надо никакой возни с мышками.

А если уже надо заморочиться, возьмите сенсорную мышь типа Apple Magic Mouse или подобную от Micro$oft.

Опишите подробно алгоритм работы с установкой, тогда смогу более подробно подсказать.
bzx
Цитата(aaarrr @ Jun 30 2018, 13:34) *
Градусов 5 на шаг sm.gif Но требование 2000 точек на оборот тоже представляется, мягко говоря, избыточным: диаметр колеса миллиметров 20, как пальцами выбирать сотые доли мм?

Более точно, радиус колеса должен быть не менее 80 мм для обеспечения 2000 точек на оборот при шаге апертур 250мкм (зазор/окно): 0,25/tg(360/2000). Не колесо, а колёсище!!! Меньше делать шаг не имеет смысла - забьётся пылью, или же надо делать паленепроницаемый корпус.

Цитата(Mikle Klinkovsky @ Jun 30 2018, 13:35) *
...Не даром раньше на технике были регулировки "грубо" и "точно". А сейчас это можно реализовать программно, переключая режим работы, с любой стандартной мышью. И даже мыши с двумя колёсами есть готовые.

Полностью согласент с таки подходом.
Правильно было отмечено, что для оператора точность позиционирования 2000 точек очень избыточна, рукой не возвозможно выставить 1/2000!
Уголев Антон
Цитата(bzx @ Jun 30 2018, 16:04) *
Более точно, радиус колеса должен быть не менее 80 мм для обеспечения 2000 точек на оборот при шаге апертур 250мкм (зазор/окно): 0,25/tg(360/2000). Не колесо, а колёсище!!! Меньше делать шаг не имеет смысла - забьётся пылью, или же надо делать паленепроницаемый корпус.


Полностью согласент с таки подходом.
Правильно было отмечено, что для оператора точность позиционирования 2000 точек очень избыточна, рукой не возвозможно выставить 1/2000!


Число 2000 точек взято из того соображения, что этим колесом будет осуществляться поворот координатного стола. Разрешение поворотного механизма планируется такое же или больше, поэтому я предположил такую же точность колеса в расчете на то, что режим ""грубо" можно всегда включить программно. Если же эта точность окажется труднодостижима, то можно порассуждать.

То, что в стандартных мышах есть режим более высокого разрешения колеса, для меня новость: оно ведь механически имеет ярко выраженные дискретные положения, которых там не более 20 на оборот. Было бы интересно узнать конкретные цифры, какое там физически разрешение энкодера.

Вы правы, на приёмной стороне стоит AT90USB64, работающий в режиме USB Host на LUFA.
jcxz
Цитата(Уголев Антон @ Jun 30 2018, 17:04) *
оно ведь механически имеет ярко выраженные дискретные положения, которых там не более 20 на оборот.

Я уже писал выше - читайте внимательнее: при нажатии кнопки на моей мыше, эти "ярко выраженные дискретные положения" исчезают. А при повторном нажатии - появляются вновь.
Слышно как при таком нажатии что-то внутри мыша передвигается, какой-то механизм и мыша вздрагивает. rolleyes.gif
RobFPGA
Приветствую!
Цитата(jcxz @ Jun 30 2018, 17:09) *
Я уже писал выше - читайте внимательнее: при нажатии кнопки на моей мыше, эти "ярко выраженные дискретные положения" исчезают. А при повторном нажатии - появляются вновь.
Слышно как при таком нажатии что-то внутри мыша передвигается, какой-то механизм и мыша вздрагивает. rolleyes.gif
В таких мышах просто механически (или эл. магнитом) убирают трещотку на колесе - само разрешение (не очень высокое) колеса при этом не меняется. Зато колесо начинает крутится свободно.

Удачи! Rob.


designer78
Цитата(Уголев Антон @ Jun 30 2018, 15:04) *
Вы правы, на приёмной стороне стоит AT90USB64, работающий в режиме USB Host на LUFA.

Ну значит мое предположение оказалось верным.
И всетаки совет не пытаться изобрести колесо с нереальным разрешением а попытаться сесть на готовые решения.
Действительно помню когда чистил свою лотитечь от грязи обратил внимание что там на внутренем радиусе колеса есть насечка за которую цепляется пружинка и от этого движения колеса более дискретны.
Теоретически если эту пружинку вынуть колесо будет крутиться плавнее, а спиц там точно побольше 20. Только нужно ли это.
Я по прежнему предлагаю найти готовую мышь и разобраться что там кидает по USB экодер второго колеса.
Ну и что что только 20 положений. Вполне нормально в грубом режиме реализовать шаг 100 в точном 1.
Да и вообще колесо у мыша это ж не резюк переменный однооборотный, а тупо энкодер.
В точном режиме его теоретически можно сопоставить с разрешением вашего оборудования по углу поворота и сиди накручивай там доли градуса скока влезет.
Уголев Антон
Цитата(designer78 @ Jun 30 2018, 18:17) *
Ну значит мое предположение оказалось верным.
И всетаки совет не пытаться изобрести колесо с нереальным разрешением а попытаться сесть на готовые решения.
Действительно помню когда чистил свою лотитечь от грязи обратил внимание что там на внутренем радиусе колеса есть насечка за которую цепляется пружинка и от этого движения колеса более дискретны.
Теоретически если эту пружинку вынуть колесо будет крутиться плавнее, а спиц там точно побольше 20. Только нужно ли это.
Я по прежнему предлагаю найти готовую мышь и разобраться что там кидает по USB экодер второго колеса.
Ну и что что только 20 положений. Вполне нормально в грубом режиме реализовать шаг 100 в точном 1.
Да и вообще колесо у мыша это ж не резюк переменный однооборотный, а тупо энкодер.
В точном режиме его теоретически можно сопоставить с разрешением вашего оборудования по углу поворота и сиди накручивай там доли градуса скока влезет.


Смысл в том, чтобы одним точным натренированным движением большого пальца сразу поворачивать на нужный градус. Поэтому накручивать сколько влезет не очень хотелось бы. Расчёт на работу операторов в серийном ручном производстве.

Если бы была мышь на два колеса с 8 кнопками, можно было бы попробовать обмануть колеса в мыши, поставив свой энкодер. Но я такой пока не видел.
designer78
Цитата(Уголев Антон @ Jun 30 2018, 16:25) *
Смысл в том, чтобы одним точным натренированным движением большого пальца сразу поворачивать на нужный градус. Поэтому накручивать сколько влезет не очень хотелось бы. Расчёт на работу операторов в серийном ручном производстве.

Если бы была мышь на два колеса с 8 кнопками, можно было бы попробовать обмануть колеса в мыши, поставив свой энкодер. Но я такой пока не видел.

Желание обойтись без переключателя грубо/точно понятно.
Ну тут как говориться хозяин барин.
RobFPGA
Приветствую!
Цитата(Уголев Антон @ Jun 30 2018, 18:25) *
Смысл в том, чтобы одним точным натренированным движением большого пальца сразу поворачивать на нужный градус. Поэтому накручивать сколько влезет не очень хотелось бы. Расчёт на работу операторов в серийном ручном производстве.

Если бы была мышь на два колеса с 8 кнопками, можно было бы попробовать обмануть колеса в мыши, поставив свой энкодер. Но я такой пока не видел.
Тогда ищите мышь с trackball - там разрешение на шарике может быть 200-1000 dpi.
Ну или хороший trackball скомбинировать с оптикой мыши думаю проще будет чем ваять свой сенсор на 2000 точек в колесо.

Удачи! Rob.
designer78
Цитата(Уголев Антон @ Jun 30 2018, 15:25) *
Смысл в том, чтобы одним точным натренированным движением большого пальца сразу поворачивать на нужный градус. Поэтому накручивать сколько влезет не очень хотелось бы. Расчёт на работу операторов в серийном ручном производстве.

Если бы была мышь на два колеса с 8 кнопками, можно было бы попробовать обмануть колеса в мыши, поставив свой энкодер. Но я такой пока не видел.

Чисто случайно уяндекс увидел, так что придется пробовать ставить свой энкодер.
https://www.speedlink.ru/catalog/item/392
Для чего 8 кнопок даже не спрашиваю.
Карлсон
Можно сделать колесо хоть на 4096 меток. При некотором ухищрении - в 4 раза больше. Только, как вам тут уже написали, смысл?
Диаметр самого колеса - где-то от 8мм и до сколько угодно.

Приколхоживать к готовой мышке будет неудобно, ну или мышь надо реверсить.

Делать свою мышь с нуля - а какой еше функционал от неё требуется? Какая точность позиционирования?
Wild
Антоха вы молодец, склоняйтесь к яхтингу))
Уголев Антон
Цитата(designer78 @ Jun 30 2018, 19:11) *
Чисто случайно уяндекс увидел, так что придется пробовать ставить свой энкодер.
https://www.speedlink.ru/catalog/item/392
Для чего 8 кнопок даже не спрашиваю.


Благодарю за ссылку!

8 кнопок для оперативного переключения режимов и "пресетов". Режимов много, в некоторых ситуациях может быть настроен арсенал не хуже, чем у геймеров.

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

Шаг позиционирования моторизированной платформы ожидается 5мкм. Думаю, разрешение мыши необходимо не менее 1000dpi. При этом соотношение перемещений мышь:платформа будет 5:1, а быстрые перемещения можно будет ускорить.

Цитата(Wild @ Jun 30 2018, 19:49) *
Антоха вы молодец, склоняйтесь к яхтингу))


Я умудрился дожить до 35 и значения этого слова так и не узнать. Ликбез, пож., в личку, чтобы не отвлекаться от темы тут.
Fat Robot
можно скомбинировать 2 мыши в одном корпусе:

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

если нужно 2 точных колеса, то можно сделать гибрид из 3х мышей

А так, вот многофункциональные манипуляторы для CAD:
https://www.3dconnexion.co.uk/products/spacemouse.html
Vitality
Цитата(Уголев Антон @ Jun 30 2018, 17:04) *
То, что в стандартных мышах есть режим более высокого разрешения колеса, для меня новость: оно ведь механически имеет ярко выраженные дискретные положения, которых там не более 20 на оборот. Было бы интересно узнать конкретные цифры, какое там физически разрешение энкодера.

Есть разные мышки, с механическим энкодером, с оптическим и оптическим с высоким разрешением.
У тех же Logitech те что я разбирал очень высокое разрешение на колесе.
Strannik_78
В качестве идеи.
Сделать точность позиционирования зависимой от скорости вращения колеса мыши. На большой скорости точность позиционирования маленькая, а на низкой высокая.
Можно сделать и с кнопками несколько функций на одной, например:
Одинарное нажатие - функция №1 или отмена предыдущей функции на этой кнопке
Двойное нажатие - функция №2
Тройное нажатие - функция №3
Удержание - выполнение какого-то процесса.
Тут только надо будет составить карту какие процессы могут быть запущены в зависимости от текущего режима, а какие нет.
И глядишь можно будет обойтись более простой мышью например A4Tech X6-005D
Весь вопрос в обучении оператора (нужно будет сделать, что-то типа клавиатурного тренажера), но вроде с этим проблем нет. Раз ТС рассчитывает "одним натренированным движением пальца" задавать точные координаты.
designer78
Цитата(Strannik_78 @ Jul 1 2018, 05:32) *
В качестве идеи.
Сделать точность позиционирования зависимой от скорости вращения колеса мыши. На большой скорости точность позиционирования маленькая, а на низкой высокая.

Вы прям угадали ту же саму мыслю которая мне приходила. Это вроде типичное решение когда одним регулятором нужно и грубо и точно подстраивать.
Уголев Антон
Цитата(designer78 @ Jul 1 2018, 18:39) *
Вы прям угадали ту же саму мыслю которая мне приходила. Это вроде типичное решение когда одним регулятором нужно и грубо и точно подстраивать.


Эта идея даже уже реализована в этой установке как раз именно на колесе, когда оно подстраивает высоту ). Это существенно сокращает количество прокруток, но прицельно работать при этом невозможно, т.к. когда быстро крутишь, не знаешь, куда попадешь. Думаю, что если поднять прецизионность до максимума, а этот эффект свести к минимуму, то оперативность и прицельность движений значительно повысится.
jcxz
А что - колесо нужно крутить одновременно с движением мыши? Если нет, но может стоит обойтись без колеса, а сделать так, что при нажатой какой-то кнопке (на той же мыше например), движение мыши по столу вызывает то же действие, которое требуется от колеса. А уж мышкой возюкать по столу можно одновременно и быстро и точно.
Тогда и мышь пилить не надо будет, а можно будет взять готовую, только многокнопочную.
ikm
Цитата(aaarrr @ Jun 30 2018, 13:34) *
Градусов 5 на шаг sm.gif Но требование 2000 точек на оборот тоже представляется, мягко говоря, избыточным: диаметр колеса миллиметров 20, как пальцами выбирать сотые доли мм?

Есть такая штука: редуктор, вот с ней можно извратится по полной. А если еще включить фантазию и использовать не одну пару излучатель-приёмник и задавать независимыми колесиками кодовую комбинацию.
Как пример механизмы микрометров.
Strannik_78
Цитата(Уголев Антон @ Jul 2 2018, 11:25) *
Эта идея даже уже реализована в этой установке как раз именно на колесе, когда оно подстраивает высоту ). Это существенно сокращает количество прокруток, но прицельно работать при этом невозможно, т.к. когда быстро крутишь, не знаешь, куда попадешь. Думаю, что если поднять прецизионность до максимума, а этот эффект свести к минимуму, то оперативность и прицельность движений значительно повысится.

Это типичная ошибка нехватки диапазона. Используйте логарифмическую шкалу. И поиграйте с основание логарифма, временем дискретизации и ограничениями минимума и максимума. А если ввести еще и фильтрацию это даст вам плавность регулировки.
Atridies
Я не понимаю тут другого: зачем вручную-то всё подстраивать? Может быть стОит сделать автоматическую сварку ? Тогда и мышка не нужна будет.
Сварка в автомате - это 1-2 секунды на контакт. Вручную: 10-20...
khach
Если поставить колесо высокого разрешения, то и оптопары менять надо будет. Проще купить готовую геймерскую мышь вместо офисной. Кстати, конструкторы ПП и CAD -вцы тоже предпочитают геймерские мыши.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.