Для проекта, над которым я работаю, мне нужно вращение двигателя с очень малыми приращениями — мое желаемое разрешение составляет около ~ 0,15 градуса на минимальный шаг вращения.
Конечно, большинство двигателей по разумной цене не обеспечивают такой высокой точности, поэтому я пытаюсь понять, смогу ли я достичь своей цели, используя движение с обратной связью с недорогим двигателем.
Допустим, у меня есть доступ к выходным данным энкодера, который может измерять вращение с требуемым разрешением (т. е. с шагом приращения до 0,15 градуса).
Тогда мой вопрос: возможно ли подключить такой энкодер (его данные образуют петлю обратной связи) через микроконтроллер к двигателю и получить любое произвольное желаемое разрешение, или существуют ограничения достижимой точности, основанные на моторной механике?
С точки зрения выбора двигателя для этого конкретного метода:
Степперы: я полагаю, что степперы не вариант, поскольку они предназначены для перемещения с шагом определенного размера, и даже с моим датчиком обратной связи я не могу дать указание степперу останавливаться между шагами.
Стандартные двигатели постоянного тока: могу ли я использовать данные своего энкодера, а затем выполнять ПИД-контур, чтобы каждый раз перемещать двигатель и зону в целевом угловом положении? Я предполагаю, что время установления может быть слишком длинным?
Сервоприводы: Могу ли я добавить свое собственное управление с обратной связью, используя мой энкодер, в дополнение к дешевому сервоприводу с низким разрешением или вместо него? Таким образом, заставить его двигаться / шагать к моей цели, улучшенное разрешение. Или существуют конструктивные ограничения того, насколько точно может двигаться данный сервопривод, которые я не могу преодолеть?
Вы не указали, какая минимальная и максимальная скорость требуется. Я полагаю, вы не хотите идти на компромисс ни по одному параметру ;-)
С шаговым и микрошаговым драйвером вы можете достичь разрешения выше 0,15 градуса. Но что такое точность? Вероятно, это неправильно, потому что есть нелинейность двигателя и микрошага, а крутящий момент низкий, динамический диапазон низкий, и дополнительные проблемы возникают на очень низкой скорости.
Вы можете организовать его как двухконтурное управление с энкодером нагрузки на внешнем контуре. Это должно повысить точность. Допустим, 13-битный энкодер нагрузки и 32 или 64 микрошага с 400-шаговым двигателем могут обеспечить точность 0,15.
Коробка передач помогает с крутящим моментом и разрешением, но вам также нужно двойное управление контуром и отсутствие люфта, если вы хотите изменить направление. Есть дополнительная проблема, если в коробке передач есть пружина. Если да, то на выходе есть сила, вам нужен высокочастотный контур управления. Может быть даже невозможно управлять системой, когда вы должны учитывать эту силу. Так дорогой редуктор или обратно к прямому приводу.
Вы можете заменить шаговый двигатель бесщеточным трехфазным двигателем и энкодером с редуктором или без него и одним или двумя энкодерами. Динамический диапазон и цена растут. Крутящий момент??? Для высокой скорости вам нужен кодер/декодер с высокой пропускной способностью. И очень сложно отлаживать такую настройку в реальном времени, так как вы почти не можете использовать точки останова.
Как правило, при использовании энкодеров они должны удовлетворять ваши потребности в точности (а не только в разрешении).
РЕДАКТИРОВАТЬ (поскольку комментирование запрещено): Кодер AS5045/8: я думаю, вам нужно учитывать в основном нелинейные параметры INL в диапазоне градусов, которые влияют на точность (хуже 0,15 градуса). Также задержка распространения в диапазоне 100 мкс ограничивает скорость, 1RPS = 1/4096 = 244 мкс на такт позиции.
Можно микрошаговые шаговые двигатели. Если вы получите правильные драйверы, они могут интерполировать шаги на большое количество подразделений. Я видел драйверы, которые могут делать 256 микрошагов за шаг. При довольно стандартной цифре 1,4 градуса на шаг вам нужно всего ~ 10 микрошагов на шаг, чтобы получить 0,15 градуса на микрошаг. 8 микрошагов дадут вам 0,175 градуса на шаг, и вы можете получить микросхемы микрошагового драйвера «все в одном» от Allegro, которые могут выполнять до 8 микрошагов на шаг. Я использовал Allegro 3977 несколько лет назад для проекта. 16 или 32 микрошага на шаг дадут вам 0,0875 или 0,04375 градуса на шаг, чего должно быть более чем достаточно.
Одним из способов сделать это может быть коробка передач. Например, если на выходе этого мотора поставить редуктор 10:1, то 10 оборотов мотора дадут вам 1 оборот на выходе редуктора. Таким образом, если вы можете контролировать положение вашего двигателя только с точностью до 1 градуса, мощность редуктора теоретически можно будет позиционировать с точностью до 0,1 градуса.
Я говорю «теоретически», потому что у редукторов есть люфт, который обозначает люфт между зубьями шестерни. Это снижает точность выходного вала. В промышленных редукторах этот люфт указан как спецификация, которую вы можете учитывать при проектировании. Тем не менее, большинство коробок передач для любителей, которые я видел, не указывают люфт, поэтому у вас могут возникнуть проблемы с поиском недорогой коробки передач с достаточно маленьким люфтом для вашего применения.
Когда указано, люфт указан как величина изменчивости выходного вала. Например, один промышленный редуктор с сервоприводом 10:1 имеет выходной люфт 5 угловых минут или 0,083 градуса.
Вы смотрели на - мышь?
Не животное, точка и нажмите один. В частности, старый стиль с мячом.
Мяч лежит на катящемся стержне, который держит большое колесо. Колесо имеет прорези по внешнему краю, и оптическая установка обнаруживает (подсчитывает) отверстия по мере их прохождения.
Для вашей установки «мяч» станет небольшим электродвигателем. Как упоминалось другими, эта настройка страдает от «люфта»: в некоторой степени это преодолевается за счет установки оптического кодирования на последнем колесе, которое может иметь действительно большой диаметр (что дает вам желаемое разрешение).
Проблемы? В зависимости от размера и веса этой установки вы, возможно, заменили «люфт» на «инерцию»… отключите питание двигателя, большому тяжелому колесу может потребоваться некоторое время, чтобы остановиться. Он может даже пролететь мимо цели, а это значит, что вам придется переключить двигатель и вернуться на некоторое расстояние.
Это затухающий осциллятор . Чем жестче ваши требования к разрешению, тем больше вероятность того, что система обнаружит ошибку положения, что приведет к постоянным «исправлениям».
Требования:
Несколько вещей, которые следует учитывать:
Давайте посмотрим на возможности:
Если вы подсчитаете время, которое вы тратите на (возможно, не работающие) обходные пути, возможно, будет разумнее попытаться найти средства для соответствующей системы. Может быть, это будет даже не так дорого.
Как упомянул Бен Миллер, коробки передач могут помочь. Я бы посоветовал использовать высококачественную коробку передач с высоким передаточным числом. Посмотрите цены/даташиты, может что-то найдете.
Это очень высокоточный процесс, так почему бы не взглянуть на часовое дело. Посмотрите на этот рисунок из Википедии: спираль ressort . Если вы намотаете такую пружину на какую-то точку оси, вы можете точно отрегулировать положение, делая небольшие движения другого конца пружины. Это будет дополнительный инструмент для компенсации нагрузки и точной настройки. Я думаю, вам все равно понадобится степпер (или что-то еще) для начального позиционирования. Вероятно, это лучше всего подходит для процессов, в которых вам не нужны динамические изменения позиции. Конечно, с этим есть проблемы, но, возможно, вы сможете что-то из этого сделать.
Если у вас есть место, вы можете использовать очень длинный жесткий стержень, чтобы создать более высокий . Это означает, что вы получаете очень небольшие изменения угла при (сравнительно) больших (почти линейных) перемещениях конца стержня. Таким образом, вам практически нужно добавить этот длинный стержень на ось и прикрепить к его концу небольшой двигатель. Изгиб стержня, вероятно, будет значительным, но я думаю, что контур управления может помочь. Вы практически строите его на отношении: (для малых х). Вы можете отсоединить рычаг при больших изменениях угла.
Джордж Герольд
бордбит
Дэйв
бордбит
Майкл Фокс
бордбит
Майкл Фокс