Зачем роботу энкодер на колесе или моторе?
Встретил слово «энкодер» — его ставят на мотор или колесо робота. Что он измеряет и чем отличается от обычного мотора без энкодера? Зачем он вообще нужен?
2 ответа
Энкодер — это датчик, который измеряет угол поворота вала (и по нему — обороты, скорость, пройденный путь). Без него мотор крутится «вслепую»: ты подал напряжение, но не знаешь, на сколько именно повернулся вал и с какой скоростью.
Как работает (самый частый тип — инкрементальный): на валу диск с метками (прорезями или магнитными полюсами), а датчик считает, сколько меток прошло. Чем больше меток на оборот — тем выше разрешение (точность угла). Часто метки в двух каналах сдвинуты, и по их порядку энкодер понимает ещё и направление вращения.
Зачем нужен:
- Одометрия — посчитать, сколько проехал робот: число тиков × длину, приходящуюся на тик.
- Точная скорость — обратная связь, чтобы держать заданную скорость колеса (с ПИД), даже если нагрузка меняется (например, в горку).
- Позиционирование — повернуть вал ровно на нужный угол и проверить, что доехал.
Чем отличается «мотор с энкодером»: это обычный мотор + встроенный или прикрученный энкодер. Сам мотор крутит так же, но теперь у тебя есть обратная связь о его движении. Без энкодера ты задаёшь «газ» и надеешься; с энкодером — задаёшь «скорость/путь» и контролируешь результат.
Есть и абсолютные энкодеры — они сразу знают точный угол даже после выключения питания (важно для манипуляторов).
Аналогия: мотор без энкодера — это машина без спидометра и одометра, ты только давишь на газ. Энкодер — это и есть спидометр + счётчик пробега для вала: знаешь скорость, направление и сколько накрутилось. Это нужно, чтобы держать заданную скорость (ПИД), считать пройденный путь (одометрия) и поворачивать на точный угол. Без него робот не знает, что реально сделали его колёса.