непрерывный контроль положения сервопривода

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

Можно ли добавить энкодер к непрерывному сервоприводу для управления его положением, и если да, то как?

Кроме того, могу ли я добавить что-то, чтобы блокировать движение сервопривода, как на картинке ниже, или это будет иметь такой эффект остановки и повредить сервопривод?

http://i.stack.imgur.com/WguAS.png

Я уже сделал ошибку и купил непрерывные сервоприводы, поэтому я пытаюсь найти решение.
Похоже, вам нужен обычный сервопривод, а не непрерывный сервопривод для этого приложения.
Вы также можете посмотреть на повторное подключение внутреннего потенциометра сервопривода, поскольку большинство сервоприводов с так называемой «непрерывной работой», о которых я знаю, просто отключают потенциометр, все остальное остается как есть.
@AnindoGhosh: я не думаю, что внутренний потенциометр существует в том, что я купил, но я попытаюсь открыть его, чтобы проверить это.
Поскольку вы ищете быстрый и дешевый хак для исправления ошибки, а не общие рекомендации по хорошей практике проектирования, этот вопрос необходимо закрыть как «слишком локализованный» для вашей конкретной ситуации.

Ответы (2)

Да, энкодер можно добавить к любому двигателю, включая сервопривод, модифицированный для непрерывного вращения и используемый для управления положением.

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

Как бы то ни было, обычный метод получения такого управления положением с помощью поворотного энкодера включает в себя привязку энкодера к валу двигателя, а затем ввод закодированных значений в микроконтроллер с использованием алгоритма PID в микроконтроллере, управляемого как Функция этой информации о положении для управления напряжением и полярностью двигателя для остановки двигателя в желаемом положении.

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


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

Решение в таком случае может быть одним из следующих:

  • Используйте код в микроконтроллере вместе с соответствующей схемой измерения тока, чтобы определить, когда ток двигателя превышает откалиброванное пороговое значение, т. е. двигатель останавливается до механического упора. В это время прекратите подачу питания на двигатель. Это сложно и нетривиально со стороны схемы из-за потерь мощности в резисторе, который вы используете. Для двигателей с большим током можно использовать датчики тока Холла или неинвазивные датчики, что снижает потери мощности.
  • Используйте концевой выключатель вместо механического жесткого останова и используйте сигнал закрытия выключателя в качестве цифрового входа для вашего микроконтроллера и используйте код для прекращения подачи питания на двигатель при срабатывании ограничения. Это самое простое и недорогое решение, к тому же безопасное для двигателя.

Единственные сервоприводы, которым «не хватает» движения или определения положения, — это дешевые сервоприводы для хобби. Это наихудший вид для любой надежной системы. Они не только считывают обратную связь только по частичной дуге (не 360 градусов), но и вообще не возвращают никакой обратной связи командиру.

Вы можете купить сервоприводы более высокого качества с датчиками реального положения, датчиками реального тока, ПИД-контроллерами для управления движением, последовательной связью RS-485 в обе стороны и многим другим. Эти сервоприводы могут «идти в точку» или «вращаться со скоростью» или делать любое другое движение, которое вы хотите.

Например, я помещаю этого парня в свой текущий проект:

http://support.robotis.com/en/product/dynamixel/mx_series/mx-64.htm

Это все еще сервопривод в стиле «хобби», но вполне способный и пока настоящий.

эти ПИД-контроллеры великолепны и именно то, что мне нужно, но если вы посмотрите на их цену на Amazon, они стоят около 219 долларов, а другие 499 долларов, так что они недешевы. но @Anindo-Ghosh предлагает добавить поворотный сервопривод и связать его с датчиком вала и использовать алгоритм PID на микроконтроллере для управления положением, я знаю, что это добавит накладные расходы, но это дешевое решение.
В общем, вы получите то, за что платите.