Добрый день.
Я не понял про питание - что именно и куда подключаете?
Хочу обратить внимание на то что входы модуля срабатывают при протекании тока из них на iGnd. Ток - порядка 1,5-2мА.
Какие напряжения и токи предполагались при подключении этого устройства? Чем фактические (измеренные) отличаются от ожидаемых?
Как настроен сам WB-MCM8? Если используете наш контроллер - то покажите состояния его входов.
Если состояние не меняется - то измерьте напряжения/токи на входах.
Какин напряжения предполагались? Перефразирую, какого типа выходы у устройства? Какие параметры у выходов?
К сожалению, в электронике я не силен (особенно порожденной сумрачным китайским гением).
Все, что удалось на него найти, это страница на али. Про него известно, что он работает по принципу “Открытый коллектор”. Если я правильно это интерпретировал, то он должен замыкать выходы на землю, то есть с точки зрения контроллера быть эквивалентом “сухому контакту”, однако как я не пытался измерить изменение сопротивления на парах выход-земля, так ничего измерить и не смог.
Итого выходит, что либо я что-то не так понимаю (что скорее всего), либо не хватает разрешающей способности бытового мультиметра, либо энкодер неисправен (что тоже вряд ли, так как их два и оба ведут себя одинаково).
При подключении питания ток он начинает потреблять, то есть схема как-то да работает.
При заказе энкодера беглый обзор доступных показал, что они все одинаковые по электронной схеме (NPN). На странице модуля также в качестве примера изображен энкодер такого типа, поэтому мне подумалось, что раз они все одинаковые и стандартные, то и подключатся одинаково и стандартно, и кто-то это уже да делал.
Да, так и есть. Активное состояние – замыкание на Gnd. Пассивное - отсутствие замыкания.
Соответсвенно наприяжение на входе модуля WB-MCM8 должно меняться от ~12 до ~1 вольта.
Вряд ли, наприяжение точно должно измеряться. Как оно меняется?
Ну, без документации - сложно сказать…
Только измерить. Даже проще всего взять резисторна 10кОм, например, подтянуть выход энкодера к пеитанию (отключив от входа WB-MCM89 и измерить на резисторе. Сразу понятно будет.
Напряжение, разумеется есть, но в том-то и дело, что оно не изменялось. Пробовал также измерять сопротивление между отключенными от модуля выходами энкодера.
Эмпирическим путем было установлено, что выходы А и В замыкаются не на выход GND, а на выход собственного нуля питания энкодера. А GND энкодера, судя по всему заземление.
Не знаю, на сколько можно так делать, но если соединить GND входа модуля (он вроде гальванически развязан) и общий ноль, то модуль начинает регистрировать “импульсы”, только регистрирует их на обоих входах “на глаз” синхронно (точно измерить синхронность нечем) вне зависимости от направления вращения. Напряжение на обоих парах (А-0V и B-0V) меняется также вне зависимости от направления вращения.
Да, я предположил, что если есть отдельный GND, значит он и должен быть “нулем” транзистора, и именно его соединил с iGND модуля. Не имел раньше опыта с электроникой.
Антидребезг сейчас вообще отключен. Вечером попробую включить и выставить 0.
Энкодер всего на 50 импульсов на оборот и при этом как бы я не старался крутить его медленно, все равно рассинхрон увидеть не смог, но тут видимо задержка интерфейса. Замерить напряжение на обоих каналах одновременно я не могу.
Счетчики менялись, но положение энкодера нет. Точнее менялось, но очень мало (±3-4) на оборот и изменения не соответствовали направлению и имели случайный характер.
Однако, при включении опции “Антидребезг” и установки значения в 0 принудительно все заработало нормально.
В любом случаи спасибо большое за наводки и помощь. С вашей помощью разобрался и с работой энкодеров и с работой модулей.
Специально для таких же дилетантов как я, кто найдет этот пост в поисковике в поисках инструкции по подключению энкодеров с внешним питанием.
Резюме:
Vcc → питание от БП
A+ и B+ → на входы модуля MCM8.
0V → минус питания.
GND → минус питания или отдельная земля (PE).
Выход iGND модуля MCM8 надо соединить с минусом тракта питания энкодера. Если АВ энкодер подключается на входы 7 и 8, достаточно подключить только 1 iGND.
В настройках модуля обязательно снять “галочку” режим работы, включить антидребезг и установить значение 0.
Модуль считает каждый фронт, поэтому значение показателя положения энкодера в 4 раза больше его разрешения.