Проблема со чтением данных с энкодера с помощью arduino

Здравствуйте, ребята, я пытаюсь подсчитать количество шагов шагового двигателя с помощью энкодера (Avago heds).

Я нашел скетч Arduino для подсчета этих шагов и отображения их на консоли, а также нашел в Интернете схему подключения этого кодировщика к Arduino.

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

Это скетч Arduino

Вот несколько изображений подключений Arduino-энкодера. arduino1 arduino2 arduino3

schema1 schema2

PS Мотор работает, потому что я пробовал его раньше

Спасибо за помощь

, 👍2

Обсуждение

В чем смысл шагового двигателя с энкодером? Когда вы делаете 100 шагов с помощью шагового двигателя, он сделал 100 шагов., @Jot

@Jot он может пропустить или что-то может превысить удерживающий момент, он также позволяет выполнять калибровку при запуске без обнаруживаемого исходного положения или концевых выключателей., @ratchet freak

@ratchet Freak ты прав, @Stefano Zanella

1. Я думаю, что энкодер @zzan выводит только информацию об относительном положении. Таким образом, аргумент использования этого энкодера для определения исходного положения может не сработать. 2. Большинство шаговых двигателей имеют более чем достаточный крутящий момент для приложения, поэтому обнаружение проскальзывания не требуется. 3. Есть гораздо более простые способы определения исходного положения, такие как концевые выключатели на 3D-принтерах и станках с ЧПУ., @st2000

Дополнительная мысль, вы уверены, что вал вращает колесо энкодера?, @st2000

Да, энкодер вращается. Я создаю манипулятор, и мне нужен энкодер, чтобы определить шаги для перехода в положение с выключенными двигателями., @Stefano Zanella

Кодировщик это? https://www.robotdigg.com/product/893/1000-line-rotary-incremental-encoder-kit, @sa_leinad

да вы хоть представляете? @sa_leinad, @Stefano Zanella

попробуйте использовать осциллограф, чтобы визуализировать выходы каналов A и B, @Zeshan Ahmed Sipra


1 ответ


Лучший ответ:

2

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

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

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

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

Если радости по-прежнему нет, скорее всего кодировщик неисправен.

,