Проблема со чтением данных с энкодера с помощью arduino
Здравствуйте, ребята, я пытаюсь подсчитать количество шагов шагового двигателя с помощью энкодера (Avago heds).
Я нашел скетч Arduino для подсчета этих шагов и отображения их на консоли, а также нашел в Интернете схему подключения этого кодировщика к Arduino.
Проблема в том, что энкодер возвращает на выходе только 0, даже если я вращаю мотор вручную. Я также пытался измерить напряжение энкодера с помощью вольтметра, но напряжение не меняется, даже если я вращаю двигатель.
Это скетч Arduino
Вот несколько изображений подключений Arduino-энкодера.
PS Мотор работает, потому что я пробовал его раньше
Спасибо за помощь
@Stefano Zanella, 👍2
Обсуждение1 ответ
Лучший ответ:
По моему опыту (промышленные энкодеры и ПЛК), когда выходной сигнал не меняется при вращении вала двигателя, обычно происходит одно из следующего:
- Установочный винт, соединяющий вал двигателя с энкодером, не затянут,
- обрыв провода (плохое соединение с энкодером) или
- плохой кодировщик.
На вашем изображении показано нечто похожее на крышку соединения энкодера с двигателем. Посмотрите и убедитесь, что энкодер действительно вращается вместе с двигателем.
Тогда проверьте соединения. Если цифровой мультиметр по-прежнему не показывает изменений напряжения (используйте диапазон переменного тока при вращении двигателя, чтобы показать, что выходной сигнал энкодера пульсирует).
Если радости по-прежнему нет, скорее всего кодировщик неисправен.
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Шаговый двигатель с концевыми выключателями
- Запустить два степпера одновременно
- Как контролировать скорость шагового двигателя 28BYJ-48 без использования библиотеки?
- Обратная связь по положению для шагового двигателя
- Библиотека AccelStepper: Как перейти на позицию, не замедляясь?
- Питание Arduino напрямую от драйвера двигателя (DRV8825) или внешнего источника питания?
- Можно ли использовать шаговый двигатель?
В чем смысл шагового двигателя с энкодером? Когда вы делаете 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