Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Энкодер инкрементный как замыкатель цепи 5 вольт.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Kaiten
Энкодеры используются либо для подсчёта кол-ва оборотов, либо для определения угла.
Возможно ли использовать их как переключатель?

Имеется устройство устройство с более чем 20 кнопками (5V). Логика использования такова, что для большинства функций управления были бы более удобны\логичны "крутилки", чем "кнопки". При этом полная замена контроллера устройства крайне не желательна.

Идея в том, чтобы используя инкрементные энкодеры с небольшим кол-ом отсчётов на оборот, тактильно ощутимыми "щелчками" и функцией нажатия, отрабатывать отсчёты как нажатия кнопок. Т.о. сократится втрое кол-во органов управления и само управление станет более логичным. Какими минималистичными способами это можно реализовать? Можно ли обойтись без программируемых микроконтроллеров?
XVR
Цитата(Kaiten @ Mar 22 2016, 03:29) *
Идея в том, чтобы используя инкрементные энкодеры с небольшим кол-ом отсчётов на оборот, тактильно ощутимыми "щелчками" и функцией нажатия, отрабатывать отсчёты как нажатия кнопок.
Как вы (точнее пользователь вашего прибора) будете определять какая именно кнопка нажмется при данном положении энкодера? Нужна какая то визуальная обратная связь. Привязаться к абсолютному положению ручки энкодера не получится, он потому и инкрементальный, что не выдает абсолютную позицию rolleyes.gif

Цитата
Какими минималистичными способами это можно реализовать?
Микроконтролер
Цитата
Можно ли обойтись без программируемых микроконтроллеров?
Можно, но явно не нужно - будет чемодан рассыпухи laughing.gif
Kaiten
Цитата(XVR @ Mar 22 2016, 17:54) *
Как вы (точнее пользователь вашего прибора) будете определять какая именно кнопка нажмется при данном положении энкодера? Нужна какая то визуальная обратная связь. Привязаться к абсолютному положению ручки энкодера не получится, он потому и инкрементальный, что не выдает абсолютную позицию rolleyes.gif

К абсолютному не нужно. На каждый энкодер вешаем три кнопки (в данном случае видимо таки реле). Вращаем в одну сторону - кликается кнопка n1 (сколько "щелчков" - столько и "нажатий"), вращаем в другую - n2, нажимаем на сам энкодер - n3.
В итоге вместо 24 разбросанных по панели кнопок получаем восемь компактно расположенных энкодеров. Так как большинство кнопок имеют логику применения "больше" - "меньше" - "сброс значения", то кроме компактности имеем ещё и эргономику.

Цитата
Можно, но явно не нужно - будет чемодан рассыпухи

Меня несколько смущает как оправданность применения, так и перспектива выуживания из памяти навыков программирования благополучно забытых более 20 лет назад вместе с проданным ZX Spectrum XD
Herz
Цитата(Kaiten @ Mar 22 2016, 02:29) *
Энкодеры используются либо для подсчёта кол-ва оборотов, либо для определения угла.
Возможно ли использовать их как переключатель?

Не только возможно, но и давно используются. Например, в CRT мониторах MAG .
Цитата
Какими минималистичными способами это можно реализовать? Можно ли обойтись без программируемых микроконтроллеров?

Можно, но и в самом деле громоздко получится.

Цитата(Kaiten @ Mar 22 2016, 17:14) *
На каждый энкодер вешаем три кнопки (в данном случае видимо таки реле). Вращаем в одну сторону - кликается кнопка n1 (сколько "щелчков" - столько и "нажатий"), вращаем в другую - n2, нажимаем на сам энкодер - n3.

Нет, ну до смешного-то не доводите... biggrin.gif Достаточно счётчика, например, реверсивного. Перед ним можно поставить защиту от дребезга и схему на ИСКЛЮЧАЮЩИХ ИЛИ для определения направления.
Цитата
В итоге вместо 24 разбросанных по панели кнопок получаем восемь компактно расположенных энкодеров. Так как большинство кнопок имеют логику применения "больше" - "меньше" - "сброс значения", то кроме компактности имеем ещё и эргономику.

Ну какая же это эргономика? Энкодер, как переключатель на три положения? Такое применение и вправду неоправданно. sm.gif
Цитата
Меня несколько смущает как оправданность применения, так и перспектива выуживания из памяти навыков программирования благополучно забытых более 20 лет назад вместе с проданным ZX Spectrum XD

Вот это напрасно. Эти навыки следовало бы беречь и развивать. Иначе от реле никогда не оторваться.
И завтра это уже не нужно никому. Да и сегодня, пожалуй.
Kaiten
Цитата(Herz @ Mar 22 2016, 22:32) *
Не только возможно, но и давно используются. Например, в CRT мониторах MAG .

Хех. А ведь когда-то стоял у меня такой на столе...

Цитата
Достаточно счётчика, например, реверсивного. Перед ним можно поставить защиту от дребезга и схему на ИСКЛЮЧАЮЩИХ ИЛИ для определения направления.

Про RC фильтр нагуглил ещё на этапе постановки задачи. Про остальное можно чуть более развёрнуто для совсем деревянных? =)

Цитата
Ну какая же это эргономика? Энкодер, как переключатель на три положения? Такое применение и вправду неоправданно. sm.gif

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

Цитата
Вот это напрасно. Эти навыки следовало бы беречь и развивать. Иначе от реле никогда не оторваться.
И завтра это уже не нужно никому. Да и сегодня, пожалуй.

Ну, честно говоря это не мой хлеб. Балбес как в программировании (хотя древний Бейсик это как на велосипеде кататься - незабудеш), так и в электротехнике, но с какой стороны паяльник держать ещё худо-бедно помню. Задача же возникла из персональных потребностей для некоммерческого применения.
Если совсем честно, то можно найти готовые решения на рынке, но есть желание поковырятся самому. Дело даже не в цене (опыт показывает, что кастомные решения в итоге гораздо дороже заводских и даже мелкосерийных на заказ), хотя в текущей ситуации и она роляет, а в подгонке устройства "под себя" и конечного удовольствия от вещи сделанной\подогнанной своими руками.
Herz
Я тоже не программист. Но в какой-то момент понял, что для именно таких приложений (упрощение схемотехники, в особенности, когда нужны единичные несложные приборы, где программиста ждать неоткуда rolleyes.gif ), нужно освоить МК и приподняться над "жёсткой логикой". Это не требует перепрофилирования, но развязывает руки существенно.
rx3apf
Цитата(Kaiten @ Mar 22 2016, 19:20) *
Если совсем честно, то можно найти готовые решения на рынке, но есть желание поковырятся самому. Дело даже не в цене (опыт показывает, что кастомные решения в итоге гораздо дороже заводских и даже мелкосерийных на заказ), хотя в текущей ситуации и она роляет, а в подгонке устройства "под себя" и конечного удовольствия от вещи сделанной\подогнанной своими руками.


Примите как данность - без освоения микроконтроллеров задача нерешаема с разумными затратами. Так что или нанимайте исполнителя, или самостоятельно, "ножками" wink.gif Ничего сложного в этом нет, был бы стимул. Желание что-то сделать "для себя" - вполне годный стимул.

Но что до конкретной реализации: вот так просто "пять щелчков влево" - не выйдет. Это более-менее хорошо получается с жесткой трещоткой, ручкой малого диаметра и максимум 12..20 щелчков на оборот. Если мягко и мелко - обязательно нужна хоть какая-то обратная связь, какой-то индикатор, изменяющий свое состояние по мере вращения энкодера, или движение строк-курсора на экране, или что-то еще. Иначе управление станет крайне неудобным.
Kaiten
Цитата(rx3apf @ Mar 23 2016, 02:51) *
Примите как данность - без освоения микроконтроллеров задача нерешаема с разумными затратами. Так что или нанимайте исполнителя, или самостоятельно, "ножками" wink.gif Ничего сложного в этом нет, был бы стимул. Желание что-то сделать "для себя" - вполне годный стимул.
Ножками весь путь самостоятельно пройти несколько затруднительно. В моём случае это означает если не ВУЗовский, то как минимум ПТУшный курс с факультативом по школьному курсу физики (из которого я на данный момент разве что закон Ома помню) XD
Так что как минимум необходимы товарищеские\менторские пинки в нужном направлении...
Найм исполнителя для разработки решения в принципе допустим, но цена вопроса непонятна так как (для меня) неочевиден обьём работ и неизвестны расценки.
Цитата(rx3apf @ Mar 23 2016, 02:51) *
Но что до конкретной реализации: вот так просто "пять щелчков влево" - не выйдет. Это более-менее хорошо получается с жесткой трещоткой, ручкой малого диаметра и максимум 12..20 щелчков на оборот. Если мягко и мелко - обязательно нужна хоть какая-то обратная связь, какой-то индикатор, изменяющий свое состояние по мере вращения энкодера, или движение строк-курсора на экране, или что-то еще. Иначе управление станет крайне неудобным.
Индикация результата (при необходимости) есть. Вот как раз в случае с кнопками придётся сначала зыркать на панель "куда тут ткнуть?", потом тыцкать кнопку, контролируя результат на экране, а затем снова на панель в поисках очередной кнопки...

Цитата(Herz @ Mar 22 2016, 22:32) *
Нет, ну до смешного-то не доводите... biggrin.gif Достаточно счётчика, например, реверсивного. Перед ним можно поставить защиту от дребезга и схему на ИСКЛЮЧАЮЩИХ ИЛИ для определения направления.

Угу. Тем более, что как выяснилось, кнопки на имеющейся панели собраны не на матрице а на регистрах 4021. К контроллеру идёт пять проводов. Насколько я понимаю это зело упрощает задачу?
Plain
Например, такой энкодер с такой ручкой и такой ИС включить по такой схеме.
Kaiten
Цитата(Plain @ Mar 23 2016, 04:24) *
...включить по такой схеме.

Секундочку, а что у нас на выходах 6 и 7? Замыкание на питающую цепь? Т.е., грубо говоря, если мы включаем пару ламп таким образом, то при вращении энкодера будет последовательно включаться одна или другая в зависимости от направления вращения?

.
esaulenka
Что-то типа того.
Только ещё делители нужны на выходах. Энкодер, который предложил Plain, будет выдавать импульсы каждые 15 градусов. Точная настройка прибора будет довольно неудобной (это +/- 20 единиц легко накрутить; +/- 1 придётся делать очень аккуратно).

В общем, самое время освоить какую-нибудь ардуину. На входе - энкодеры (статей "подключаем энкодер к ардуино" в сети десятки), на выходе - эмулятор 74hc4021 в лице SPI.
Alexashka
Цитата(Kaiten @ Mar 23 2016, 03:00) *
Секундочку, а что у нас на выходах 6 и 7? З

Дык осциллограммы же дадены -импульсы там будут на каждый тик, на том выводе, который соответствует направлению вращения
Plain
Цитата(esaulenka @ Mar 23 2016, 11:05) *
ещё делители нужны на выходах. Энкодер, который предложил Plain, будет выдавать импульсы каждые 15 градусов. Точная настройка прибора будет довольно неудобной

Он там был один, наверное жутко популярный, других просто нет. Делители — разве что максимум на 2, например на таких сдвоенных счётчиках и RC-цепочках.
Kaiten
Цитата(esaulenka @ Mar 23 2016, 15:05) *
Что-то типа того.

"Типа"... Т.е. таки напрямую включить этот кусок к имеющейся разводке от сдвиговых регистров 4021 вместо кнопок не получится? Имеющийся контроллер не будет воспринимать это как нажатия кнопок?



(сори за курецелапную схему - пианист рисует как умеет)

Цитата(Alexashka @ Mar 23 2016, 15:34) *
Дык осциллограммы же дадены -импульсы там будут на каждый тик, на том выводе, который соответствует направлению вращения
Это для меня уже сложно XD. Принципиальную схему советского лампового телевизора я ещё с горем пополам читаю, но на даташиты микросхем смотрю как баран на новые ворота. =(
Мне непонятно - импульсы равнозначны замыканию цепи питания 5 вольт или это сигналы логики, которые ещё каким-то образом обработать нужно?

Цитата(esaulenka @ Mar 23 2016, 15:05) *
Энкодер, который предложил Plain, будет выдавать импульсы каждые 15 градусов. Точная настройка прибора будет довольно неудобной (это +/- 20 единиц легко накрутить; +/- 1 придётся делать очень аккуратно).
Согласен. Энкодеры вообще нужно будет подбирать не только по кол-ву отсчётов на оборот, но и щупать на предмет тактильного восприятия "щелчков"...
Kaiten
Цитата(Plain @ Mar 23 2016, 04:24) *
Например, такой энкодер с такой ручкой и такой ИС включить по такой схеме.

Идут реплики с мест, что данная схема рассчитана на оптические энкодеры на кодах Грея и с механическими может не взлететь.
К тому же импульсы очень короткие - около 35мкС тогда как имеющийся контроллер хотит 30-50мС. Можно ли их вытянуть подбором R1C1 и R2C2?
Alexashka
Цитата(Kaiten @ Mar 23 2016, 17:06) *
Мне непонятно - импульсы равнозначны замыканию цепи питания 5 вольт или это сигналы логики, которые ещё каким-то образом обработать нужно?

Да, это замыкания на цепь 5В, но они достаточно короткие (зависит от скорости вращения), если частота опроса регистра 4021 не достаточно высокая могут быть пропуски импульсов.
Kaiten
Цитата(Alexashka @ Mar 24 2016, 06:40) *
Да, это замыкания на цепь 5В

Спасибо, Дэвид Блэйн! wink.gif С пропусками, видимо, придётся бороться уже на макете с подстроечниками... В принципе не думаю, что вращаемый вручную энкодер с небольшим кол-ом "щелчков" на оборот будет давать очень уж частые импульсы...
Plain
Цитата(Kaiten @ Mar 24 2016, 01:22) *
Идут реплики с мест, что данная схема ... с механическими может не взлететь

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

Нажмите для просмотра прикрепленного файла
Kaiten
Так в том-то и дело, что готовой схемы у мну нет... А сам я, увы, весьма далёк от тематики и мой скил "схемотехнического инженеринга" удручающе низок и близок к sub zero =( Из-за, возможно тривиальной (для большинства присутствующих, как мне представляется), задачи мну по этой причине приходится лопатить гору информации, начиная с школьного курса элементарной физики, чтобы просто понять WTF. Одним из следствий моего ламеризма является невозможность корректно (технически грамотно) сформулировать задачу, сори...

Предложенная мной к рассмотрению "схема" продукт поступивших рекомендаци, в том числе и Ваших =)

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

Повторюсь - необходимо заменить часть кнопок на имеющемся контроллере на энкодеры. Сам контроллер энкодеры не воспринимает (т.е. нужно чтобы он подмены не заметил). Менять контроллер крайне нежелательно. Имеющийся блок кнопок собран на трёх сдвиговых регистрах, аналогичных 4021. Частота опроса контроллером 30-50мс. Питание - 5в. Схемы самого контроллера нет.
XVR
Цитата
Но вопрос про слишком короткие импульсы был не столько о паразитном дребезге ложных срабатываний, а о том сможет ли предложенная схема корректно работать с истинными отсчётами энкодера ввиду краткости их импульса (35мкС при том, что контроллер работает с частотой опроса 30мс - разница на три порядка всё таки...)
Нет, не сможет. Ваш контролер скорее всего не просто опрашивает кнопки с частотой опроса 30ms, но еще и осуществляет подавление их дребезга. В таком случае он ваши 30mks импульсы воспримет за помеху. Более того, скорость, с которой энкодер выдает импульсы, тоже не похожа на нажатия кнопок человеком (она почти на порядок больше). Контролер их тоже отфильтрует (посчитает дребезгом).
Так что без дополнительного МК не обойтись rolleyes.gif
Kaiten
Ок. Убедили. Теперь бы ещё пинок в сторону подходящего контроллера (а в идеале готового схемотехнического решения и прошивки XD). С поправкой на мой нубизм и скромные познания в англицкой мове...
Herz
Цитата(XVR @ Mar 24 2016, 13:54) *
Так что без дополнительного МК не обойтись rolleyes.gif
Не факт. Возможно, достаточно переписать кусок программы или даже всю, но кардинально менять железо из-за использования энкодеров вместо кнопок - это чересчур.

Цитата(Kaiten @ Mar 24 2016, 15:30) *
Ок. Убедили. Теперь бы ещё пинок в сторону подходящего контроллера (а в идеале готового схемотехнического решения и прошивки XD). С поправкой на мой нубизм и скромные познания в англицкой мове...

Ну, и про блюдечко Вы забыли упомянуть. Может, в раздел "Предлагаю работу" обратиться, раз уж так дело запущено...
Kaiten
Цитата(Herz @ Mar 24 2016, 21:18) *
Не факт. Возможно, достаточно переписать кусок программы или даже всю, но кардинально менять железо из-за использования энкодеров вместо кнопок - это чересчур.

В родной контроллер (в том числе и програмно) лезть нежелательно. Да и сомневаюсь, что возможно. Ко всему прочему он довольно таки древний.

Цитата(Herz @ Mar 24 2016, 21:18) *
Ну, и про блюдечко Вы забыли упомянуть. Может, в раздел "Предлагаю работу" обратиться, раз уж так дело запущено...
Так не интересно =) С тем же успехом можно купить\заказать готовое решение с аналогичным функционалом и поддержкой в том числе энкодеров, но по ряду причин (и цена не одна из них - я понимаю, что только на эксперименты у меня, вероятно, уйдёт сумма, сравнимая со стоимостью десятка готовых решений, имеющихся на рынке) не хотелось бы...

Если Вы имеете ввиду платную консультацию... Ну, по аналогии с знакомыми мне сферами я х.з. во сколько можно оценить ответ на вопрос "как сделать лакированый письменный стол из массива вишни?" "возьми Хусварну и ищи в лесу вишню..." sm.gif Хотя судя по тональности некоторых ответов консультация ближе к уровню "как забить гвоздь?" XD

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

(я не скандалю - я просто действительно сомневаюсь, что вопрос достоин размещения в разделе "job"...)
Ga_ry
Цитата(Kaiten @ Mar 24 2016, 17:02) *
...для ковыряния длинными зимними (а зима у нас тут ещё не скоро кончится) вечерами. Возможно, конечно, что я...

Единственное что могу посоветовать - отрисовать полную принципиальную эл. схему и снять диаграммы с помощью логического анализатора.
Гадать я думаю никто не будет что у Вас там с чем соединяется и какие сигналы куда бегают.
Onkel
Цитата(Kaiten @ Mar 24 2016, 18:02) *
... Но в данном случае это просто проявление зуда в руках (или ещё каком месте) для ковыряния длинными зимними (а зима у нас тут ещё не скоро кончится) вечерами.....

купите ардуину нано (100 руб в Китае 300 руб в Москве), скачайте ардуино ide, там есть уже готовая библиотека и даже готовый скетч (ардуинщики так называют свои программы0 подавления дребезга (путь примерно файл- примеры- подавление кнопок), все кроме железяки ардуины бесплатно. По опыту - дешевые энкодеры дребезжат огого как. Я обычно побеждаю конденсатором 0.1 uF, но можно и помучаться.
XVR
Выбирайте по количеству портов ввода/вывода (что бы все ваши энкодеры уместились) и наличию аппаратного SPI (для замены цепочки 4021). Еще лучше если это будет в виде отладочной платы. Потом смотрите у продавцов вокруг, что они смогут предложить.

Arduino nano может не пройти по количеству портов (8 энкодеров это не мало sm.gif )
Herz
Цитата(Kaiten @ Mar 24 2016, 17:02) *
Если Вы имеете ввиду платную консультацию...

Нет, я не имею в виду платную консультацию. Здесь охотно помогают безвозмездно. Но Вы же хотите всё готовое. И схемное решение, и перечень элементов, и прошивку для контроллера... Да и разжевать на доступном языке.
Цитата
Но в данном случае это просто проявление зуда в руках (или ещё каком месте) для ковыряния длинными зимними (а зима у нас тут ещё не скоро кончится) вечерами.

Если Вы ищете себе занятие, то логично настроится на бОльшую часть самостоятельной работы. Океан информации перед Вами. Гугл Транслейт тоже. Возьмите любой мелкий МК от Микрочипа, например. Или уж Ардуино, как советовали. Освойте потихоньку. Это будет весьма полезный опыт. Пригодится на будущее.
Ждать же, что кому-то нечем заняться долгими зимними вечерами и он будет для Вас искать решение, писать и компилировать программу, переводить даташиты и руководить монтажными работами... rolleyes.gif
esaulenka
Цитата(XVR @ Mar 24 2016, 14:54) *
Более того, скорость, с которой энкодер выдает импульсы, тоже не похожа на нажатия кнопок человеком (она почти на порядок больше). Контролер их тоже отфильтрует (посчитает дребезгом).


С чего бы это? Растянуть импульсы с триггера, и готово. Другой вопрос, что придётся вешать табличку на энкодер "быстро не крутить" :-) (будет "проглатывать" импульсы).
Plain
Цитата(Kaiten @ Mar 24 2016, 13:53) *
4021. Частота опроса контроллером 30-50мс

Это весьма медленно. И при отсутствии автоповтора, о чём до сих пор информации тоже не поступало, единственный выход — попытаться сунуть ему минимально прореженный сигнал:

Нажмите для просмотра прикрепленного файла
Kaiten
Цитата(Ga_ry @ Mar 24 2016, 23:20) *
Единственное что могу посоветовать - отрисовать полную принципиальную эл. схему и снять диаграммы с помощью логического анализатора.
Гадать я думаю никто не будет что у Вас там с чем соединяется и какие сигналы куда бегают.

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

Цитата(Herz @ Mar 25 2016, 16:42) *
Нет, я не имею в виду платную консультацию. Здесь охотно помогают безвозмездно. Но Вы же хотите всё готовое. И схемное решение, и перечень элементов, и прошивку для контроллера... Да и разжевать на доступном языке.
Я не просил писать прошивку и рассчитывать схему, подразумевал, что кто-то с таким уже сталкивался и возможно у него сохранилось решение. Я предполагал, что задача всё же достаточно типовая.
Опять же - основное отличие специалиста от дилетанта в том, что даже не зная чего-то в своей области он знает что и где искать (и да - именно за это знание специалисту в основном и платят - тут Вы полностью правы). Т.е. была вероятность, что в поисках, скажем картинки\схемы для иллюстрации совета кто-то наткнётся на готовое решение в сети (и в отличии от меня поймёт что оно и есть подходящее =)).

Цитата(Herz @ Mar 25 2016, 16:42) *
Если Вы ищете себе занятие, то логично настроится на бОльшую часть самостоятельной работы. Океан информации перед Вами. Гугл Транслейт тоже. Возьмите любой мелкий МК от Микрочипа, например. Или уж Ардуино, как советовали. Освойте потихоньку. Это будет весьма полезный опыт. Пригодится на будущее.
Ждать же, что кому-то нечем заняться долгими зимними вечерами и он будет для Вас искать решение, писать и компилировать программу, переводить даташиты и руководить монтажными работами... rolleyes.gif
Да, по ардуинкам довольно много информации в сети в том числе на русском. Есть и примеры подключения энкодеров как выяснилось (мне, правда, пока не совсем понятно как передавать результат обработки дальше - с ардуинки к моему контроллеру... ну да ладно...) с разобранными примерами прошивок.

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

Ушёл курить гайды по ардуинкам и формировать корзину заказа для экспериментов. На несколько месяцев я вас, видимо, покину =)
Спасибо всем пытавшимся =)))
Iptash
Если работать с энкодерами, то мне кажется на много проще применить CPLD например от Altera. И всю логику строить на нем. Но энкодер дорогой прибор и в основном не абсолютный датчик. Я так и не понял, что вы творите, может лучше в качестве датчиков применить потенциометр подключенные к аналоговым входам микроконтроллера, например Amega16. У него 8 аналоговых входов, очень просты в освоении. И датчик получается абсолютным.
Herz
Я бы ещё обратил внимание автора на морду какого-нибудь анализатора спектра. Где и энкодер, и куча кнопок. Часть функций дублируется: их можно хоть энкодером задавать, хоть кнопками. Это к тому, что одно другим заменять - не значит сделать удобнее.
Onkel
Цитата(XVR @ Mar 25 2016, 11:42) *
Выбирайте по количеству портов ввода/вывода (что бы все ваши энкодеры уместились) и наличию аппаратного SPI (для замены цепочки 4021). Еще лучше если это будет в виде отладочной платы. Потом смотрите у продавцов вокруг, что они смогут предложить.

Arduino nano может не пройти по количеству портов (8 энкодеров это не мало sm.gif )

16 портов - пройдет. В atmega324 (в мелких ардуинах они стоят) прерывание можно вызвать изменением любого порта.
rx3apf
Цитата(Iptash @ Mar 26 2016, 10:00) *
может лучше в качестве датчиков применить потенциометр подключенные к аналоговым входам микроконтроллера, например Amega16. У него 8 аналоговых входов, очень просты в освоении. И датчик получается абсолютным.

Недостаток потенциометров - малый ресурс. В данном ("дискретном") применении - еще и отсутствие фиксатора-"трещетки".

Цитата(Onkel @ Mar 26 2016, 18:38) *
. В atmega324 (в мелких ардуинах они стоят) прерывание можно вызвать изменением любого порта.

Прерывание по изменению уровня для обработки энкодеров совершенно не обязательно. По опросу лучше и более предсказуемо в растактовке.
Iptash
Цитата(rx3apf @ Mar 26 2016, 20:26) *
Недостаток потенциометров - малый ресурс. В данном ("дискретном") применении - еще и отсутствие фиксатора-"трещетки".

Можно применить галетный переключатель. Есть потенциометры с трещетками.
rx3apf
Даже у галетного переключателя ресурс типично меньше, чем у энкодера, а стоимость выше. Потенциометры с трещотками - не встречал никогда. Максимум с фиксацией в среднем положении ("трекинг" в VCR). В любом случае, это экзотика со всеми вытекающими. И, опять же, ресурс.

Но если позиций не больше 12 (ну, к примеру) - "галетный" вариант да, хорошо. И наглядно, и энергонезависимо. И вообще удобно. А если позиций сотня ? Тут уже и потенциометр не поможет (кроме дорогущих многооборотных).
Короче, опять от специфика задачи зависит. Ну и эргономика, конечно, должна быть не на последнем месте.
Onkel
Цитата(rx3apf @ Mar 26 2016, 20:26) *
Прерывание по изменению уровня для обработки энкодеров совершенно не обязательно. По опросу лучше и более предсказуемо в растактовке.

а для чего тогда внешние прерывания придумали? Как раз для того, чтобы не заниматься постоянно "опросами".
rx3apf
Лишняя сущность для процессора, занимающегося только обработкой панели управления. Да, работа по прерываниям занимает меньше времени, но обработка 8 энкодеров на, скажем, AVR с тактовой частотой 8 MHz сожрет не более 20% времени при частоте опроса 4 kHz. И если к тому же надо по результату обработки имитировать нажатие кнопок (с определенным периодом, чтобы не конфликтовать с подавлением дребезга в хосте), то проще все это сделать в четко предсказуемом по времени цикле, а не плодить кучу прерываний.

Kaiten
Цитата(rx3apf @ Mar 27 2016, 21:06) *
Потенциометры с трещотками - не встречал никогда.
Я тоже. Возможно автором имеются ввиду применяющиеся в аудиотехнике резисторные сборки на регуляторах аудиоусилителей.

Цитата(rx3apf @ Mar 27 2016, 21:06) *
Но если позиций не больше 12 (ну, к примеру) - "галетный" вариант да, хорошо. И наглядно, и энергонезависимо. И вообще удобно. А если позиций сотня ? Тут уже и потенциометр не поможет (кроме дорогущих многооборотных).
Короче, опять от специфика задачи зависит. Ну и эргономика, конечно, должна быть не на последнем месте.
Кажется имеется недопонимание. Я не собираюсь вешать весь функционал из более чем 20 кнопок на один энкодер (это в принципе возможно, конечно чисто теоритически, но в моём случае не нужно). Каждый энкодер должен имитировать нажатие трёх кнопок - вращением в одну сторону, вращением в другую и нажатием (т.е энкодеры должны быть с нажатием, да). Предполагаю, что всего энкодеров будет пять или шесть (т.е. 15 или 18 линий, из которых в "обработке" нуждаются соответственно 10 или 12 линий собственно пар сигналов с энкодеров). Остальное будет решено тумблерами или кнопками и собственно нажатиями на сами энкодеры (окончательная эргономика ещё так сказать в проработке).
muravei
Цитата(Kaiten @ Mar 28 2016, 01:31) *
Я тоже.

А я встречал, в каком-то советском усилителе для "закашивания" под дискретные.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.