LINUX.ORG.RU

Прицепить 4 энкодера к компу и опрашивать их?

 ,


0

2

Сабж. Хочется сваять одну штуку, в ней должно быть 4 энкодера. Точность десятые доли градуса, приложение на компе (обычном) должно их опрашивать не реже 10 раз в секунду (лучше чаще).

Как это сделать проще всего на коленке? В таком я полный нуб (паяльник держать умею и все).

Какие энкодеры брать, как их подключать аппаратно, как писать код для опроса?

★★★★

Последнее исправление: AntonI (всего исправлений: 1)

не реже 10 раз в секунду (лучше чаще)

Промышленные контроллеры, бывают аналоговые, бывают для дискретных сигналов.

vvn_black ★★★★★
()

Если не хочешь много писать (кода для микроконтроллера и драйвера какого-нибудь) то посмотри в сторону FT232RL - там есть 5 GPIO которые могут опрашиваться стандартным драйвером. Пары микросхем тебе должно хватить по идее (или одной, посмотри на все семейство), главное чтобы со временами опроса подошло.

aiqu6Ait ★★★★
()
Ответ на: комментарий от aiqu6Ait

Я, в идеале, хочу

  1. прикрутить энкодеры к своей вундервафле отвёрткой
  2. воткнуть шнурки от них в коробочку
  3. от коробочки воткнуть шнурок в usb на компе
  4. читать какой нить pipe в который валятся данные

Как то так.

AntonI ★★★★
() автор топика

Как это сделать проще всего на коленке?

4-х канальный индуктивный абсолютный «наколенноэнкодинг» ©.

Какие энкодеры брать, как их подключать аппаратно, как писать код для опроса?

Выбор энкодера по параметрам ©, там для каждого типа есть документация (PDF).

quickquest ★★★★★
()
Ответ на: комментарий от quickquest

Ага, я погуглил уже. Интересно, сколько такое стоит и какая у них ошибка. Я на алишке нашел на 5000 точек за 150 баксов, но это инкрементный.

thesis ★★★★★
()
Ответ на: комментарий от quickquest

Дык у меня пока вопрос не в выборе энкодера а в общей программно-аппаратной архитектуре…

AntonI ★★★★
() автор топика
Ответ на: комментарий от AntonI

пока вопрос не в выборе энкодера а в общей программно-аппаратной архитектуре…

Дык, пока энкодер по параметрам не выбрал, архитектура и софт под него тоже не выберется, ибо у них даже в даташитах разные интерфейсы ©.
Глянь, как пример, подключение абсолютного энкодера EP50S8 Autonics к микроконтроллеру STM32 ©.

quickquest ★★★★★
()
Ответ на: комментарий от quickquest

Ну архитектура, наверное, выберется... Наверное, можно найти и перепилить какую-нибудь открытую HID-железяку.

thesis ★★★★★
()
Ответ на: комментарий от thesis

перепилить какую-нибудь открытую HID-железяку

Прагматичнее поискать готовый промышленный модуль со всеми потрохами.
Но для самодельщиков, в первой ссылке – открытый проект, пущай перепиливает :)

quickquest ★★★★★
()

Все зависит сколько импульсов они будут валить в секунду. То есть скорость поворота, а не эти «отсчеты». Отсчеты будут с регистра который импульсы квадратурные в себе складывает. ПЛИС короче для мало мальски быстрых вращений что бы не терял показания.

psv1967 ★★★★★
()
Ответ на: комментарий от AntonI

Rpi pico. Стоит 300 руб, тебе нужна ТОЛЬКО она. На ней напишешь код опроса (могу я написать, чтоб тебе не разбираться) там обычная сишка, вывод в printf, соединяется шнуром mimiusb с компом, на компе появится как /dev/ACM0 и читай как из пайпа. Купить легко, кода минимум, только датчики Припять - то что тебе надо

pihter ★★★★★
()
Ответ на: комментарий от thesis

Точность десятые доли градуса

Нифига себе. А такое бывает вообще?

Достаточно большого диска с прорезями. Размеры же нам не ограничивали?

pihter ★★★★★
()
Ответ на: комментарий от AntonI

Мее бы какое нить готовое решение в идеале, шоб воткнул и работает

бери Rpi Pico – только вставить в корпус и припаять датчики. Кода 100 строчек, у меня есть готовый. Собирается GCC-шкой для арма, шьется по этому же миниюсб, даже программатор не надо (ни аппаратный, ни софтовый)

pihter ★★★★★
()
Ответ на: комментарий от AntonI

буду не оригинален, есп? пишем на сях на крестах на мюпитухоне, как душе угодно

организуем очереди сверху снизу, наслаждаемся

собственно в тз не указанно насколько критично лаги, данные с метками времени в очередях вроде не проблема. что в итоге делаем-то?

Morin ★★★★
()
Ответ на: комментарий от pihter

Спасибо. Плата симпатичная, только я до конца пока не понимаю все равно.

У неё гнездо под USB, шнуром цепляем к компу.

Энкодер (какой то, любой) припаиваем к её выводам (каким то).

Пишем для неё код, который опрашивает её выводы. Код зависит от энкодера и от того к каким выводам припаялись.

Так?

А сколько энкодеррв можно повесить на одну плату?

AntonI ★★★★
() автор топика
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от AntonI

Так?

Да, все верно. Отмечу что код – предельно простой

А сколько энкодеррв можно повесить на одну плату?

26 GPIO входов, по два на энкодер – 13 штук без дополнительной схематехники

pihter ★★★★★
()
Ответ на: комментарий от pihter

Офигенно! Спасибо большое, я сейчас уеду кататься, а через неделю к этому вопросу вернусь:-)

AntonI ★★★★
() автор топика
Ответ на: комментарий от AntonI

Ну зови, если че. Я вот буквально перед праздниками себе собрал паяльную станцию самодельную на этой плате (знаю, знаю, оверкилл, но мне хотелось) так вот там есть механический энкодер для управления и я себе библиотечку накидал простенкую, мож пригодится – глянешь как оно устроено, там 5 мин и все поймешь

ЗЫ удачно покататься!

pihter ★★★★★
()
Последнее исправление: pihter (всего исправлений: 1)
Ответ на: комментарий от pihter

Достаточно большого диска с прорезями. Размеры же нам не ограничивали?

Выглядит так, будто ты предлагаешь сделать его самостоятельно.
А промышленные, в общем, небольшие, как выяснилось.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Выглядит так, будто ты предлагаешь сделать его самостоятельно.

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

А промышленные, в общем, небольшие, как выяснилось.

Это, кстати, клево. Я тоже не знал что такие бывают

pihter ★★★★★
()

Лучше всего само считывание энкодеров реализовать на каком-нибудь микроконтроллере типа хотя бы банальной ардуины, потому что если будешь опрашивать их в режиме bitbang через какую-нибудь FR232RL, то будешь зря грузить CPU и потенциально всё равно пропускать шаги при быстроом вращении.

А дальше уже пусть микроконтроллер шлёт по USB или RS232 количество шагов за единицу времени.

Выбор контроллера зависит от точности и ожидаемой скорости вращения. Например, при точности в десятую долю градуса и скорости 1 оборот в секунду получается 3600 импульсов в секунду. С этим справится ардуина, если использовать специализированные библиотеки или писать код на чистом Си. А вот если оборотов в секунду будет 10, то уже лучше STM32. Если 100, то лучше ПЛИС какая-нибудь. Только нафига такая точность на такой скорости вопрос очень открытый...

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

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)
Ответ на: комментарий от thesis

Выглядит так, будто ты предлагаешь сделать его самостоятельно.

Я думаю, его главный пойнт был в том, что даже при отсутствии высокоточного оборудования для изготовления энкодера, можно компенсировать это увеличением его размеров, таким образом даже на коленке можно получить десятые доли градуса, если захотеть (а если очень сильно захотеть, то и более высокую точность).

А вот имея промышленное оборудование можно сделать его ещё и компактным.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 4)
Ответ на: комментарий от KivApple

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

thesis ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)