Страница 1 из 2

Подключение 2х абсолютных энкодеров

Добавлено: Чт июл 04, 2019 18:44:11
koctya1989
Всем добрый день!
Может кто подсказать по подключению 2х абсолютных энкодеров к atmega16. Набросал примерную схему, порты не принципиальны в данном случае, включена внутренняя подтяжка порта В к питанию. Задача схемы поочередно опрашивать энкодеры для определения положения. В даташите на энкодер указано, что земля может быть "активной", по схеме я в коде переключаю по очереди состояние пинов PD0 и PD1 c 1 на 0(включаю землю) и опрашиваю состояние порта B, и включаю обратно с 0 на1.
Энкодер EAW0J-B24-AE0128L (не нашел другого энкодера с таким количеством шагов на оборот по адекватной цене и размеру. Есть китайские (инкреметные) на 600 шагов на оборот, но они большие мне по размеру).
С одним энкодером все прекрасно работает, при подключении второго схема некорректно считывает значение. Как обычно, сначала все сделав, а потом подумав, понимаю, что лог. единица через землю энкодера вешает выходные пины другого энкодера.
Как можно переделать, или придется каждый энкодер вешать на свой порт?

Re: Подключение 2х абсолютных энкодеров

Добавлено: Чт июл 04, 2019 19:50:13
Ivanoff-iv
диодами развязать не пробовал?

Re: Подключение 2х абсолютных энкодеров

Добавлено: Чт июл 04, 2019 22:28:00
GoldenAndy
Есть некое подозрение, что энкодер внутри себя замыкает свой контакт С на нужную комбинацию выводов 1..8. И, соответственно, эти выводы между собой тоже получаются закорочены внутри через шину С.
И два энкодера по такой схеме будут друг другу мешать.
Тут или по 8 диодов на каждый энкодер ставить, или цеплять на два порта. Или еще как то мультиплексировать их...

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 03:32:40
Ivanoff-iv
ещё можно пару корпусов (8 элементов) И, ИЛИ, И-НЕ, ИЛИ-НЕ, в зависимости от наличия и лог. уровня активного сигнала на ножке С

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 06:40:29
koctya1989
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3661345#p3661345"]диодами развязать не пробовал?[/uquote]
диодами пробовал отвязать землю, не помогло..

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 06:46:23
Ivanoff-iv
надо развязывать не землю, а все сигнальные линии (понадобится 16 диодов)

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 06:49:07
koctya1989
[uquote="goldenandy",url="/forum/viewtopic.php?p=3661406#p3661406"]Есть некое подозрение, что энкодер внутри себя замыкает свой контакт С на нужную комбинацию выводов 1..8. И, соответственно, эти выводы между собой тоже получаются закорочены внутри через шину С.
И два энкодера по такой схеме будут друг другу мешать.
Тут или по 8 диодов на каждый энкодер ставить, или цеплять на два порта. Или еще как то мультиплексировать их...[/uquote]

Подозрение верное, при повороте закорачиваются контакты от 1 до 8 с контактом С.
По такой схеме? Рисунок набросал

Добавлено after 1 minute 13 seconds:
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3661433#p3661433"]ещё можно пару корпусов (8 элементов) И, ИЛИ, И-НЕ, ИЛИ-НЕ, в зависимости от наличия и лог. уровня активного сигнала на ножке С[/uquote]
Можете подробнее объяснить как схема будет выглядеть?

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:02:19
Ivanoff-iv
с диодами именно так. К стати, с микросхемами логики придется делать 16 подтягивающих резисторов... т.ч. схема проще не станет...

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:07:59
B@R5uk
А в чём вообще проблема? Используйте порт B как выход, а порт D как вход. Тогда для опроса энкодеров на пины порта B надо по очереди подавать 1 и смотреть в какой момент в 1 переходят пины порта D для каждого энкодера. Всё. Никаких развязок и дополнительных деталей. Или я что-то пропустил важное?

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:11:58
Jack_A
Если портов хватает, то просто один энкодер - на один порт, другой - на другой, без всяких "вход-выход". Если дефицит портов - простейший мультиплексор = решение вопроса.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:15:29
Ivanoff-iv
...или брать старые микросхемы с ТТЛ, они и сами неплохо к плюсу тянут.
берешь элемент И-НЕ (например из К155ЛА3 таких микросхем понадобится 2, т.к. в каждой по 4 элемента) с первого энкодера на первую ногу, со второго - на вторую...(так все 8 ног) пока хотя-бы на одной из ног элемента 0 - на выходе 1, значит сканируется тот энкодер, на С которого подан 0.

Добавлено after 2 minutes 7 seconds:
B@R5uk, пропустил то, что выходы, которые соединены со входом, также оказываются соединены и между собой.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:24:00
B@R5uk
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3661466#p3661466"]...выходы, которые соединены со входом, также оказываются соединены и между собой.[/uquote]
Не понял. Можно по-подробнее, какие выводы соединяются и в какой ситуации? Я правильно понимаю, что энкодер работает как обычный переключатель? Всё, понял. Там код Грея.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:26:30
Ivanoff-iv
это у обычных код... а тут, у абсолютных набор контактов, замыкающихся:
1й - 1 раз, на пол оборота
2й - 2 раза, на четверть
и т.д
таким образом по состоянию 8ми контактов можно определить положение ручки энкодера с точностью 1/256 оборота.

Добавлено after 2 minutes 7 seconds:
если первый энкодер стоит в положении 255 (замкнуты все контакты), то ко второму долбиться бесполезно, т.к. он по всем ногам повязан

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:28:50
B@R5uk
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3661471#p3661471"]...т.к. он по всем ногам повязан[/uquote]
Спасибо. Теперь понял проблему.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:37:49
Jack_A
[uquote="B@R5uk",url="/forum/viewtopic.php?p=3661468#p3661468"]Там код Грея.[/uquote]
В общем-то да, только не рефлексивный бинарный код Грея, который обычно сразу приходит на ум при этих словах.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:47:56
B@R5uk
Ну, что тут можно тогда посоветовать? Пара каких-нибудь 74HC155 (экономный CMOS-аналог К155ИД4) позволит сильно сэкономить на использовании выводов МК (5 вместо 10 с диодами) и уменьшит суммарную длину дорожек на плате.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 07:52:27
Ivanoff-iv
сдвиговые регистры? хорошая идея, всего 3 ноги потребуется... (вывод С теперь можно жестко на ноль садить)

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 08:14:12
Jack_A
Во время сдвига состояние выходов энк. может измениться, так что или добавить защелку, или повторное считывание и сравнение, как в программной защите от дребезга.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 08:17:16
GoldenAndy
Jack_A, Если считывать быстро - можно пренебречь. Или считывать быстро и три раза. Потом мажоритаркой определять состояние.

---
В порядке бреда. Повесить на выходы энкодеров R-2R матрицы. С - на питание, выходы R-2R на два входа АЦП.
Но это 16 резисторов на энкодер. Итого 32 резистора.
А диодов надо 8 на энкодер + подтяжка каждого из 8 каналов (если энкодеры рядом с МК - можно использовать внутреннюю подтяжку).
В принципе, R-2R легче развести, чуть тяжелее равзодить 16 диодов (особенно на одной стороне). А с мультиплексорами, как по мне, тяжелее всего разводить будет.

Re: Подключение 2х абсолютных энкодеров

Добавлено: Пт июл 05, 2019 09:10:24
Jack_A
[uquote="goldenandy",url="/forum/viewtopic.php?p=3661501#p3661501"]В порядке бреда.[/uquote]
Кто сказал, что с ума поодиночке сходят? :) Мне тоже похожий бред привиделся, только в моем попарно аналогово сопрягались одноименные выходы энк. - один, к примеру, с весом 2, другой - с весом 1. Но опять же - последовательная работа 8 каналов АЦП... "Время, товарищ, время! Цигиль, ай-лю-лю" © :evil: