Шаговый двигатель как энкодер
Шаговый двигатель как энкодер
Серводопровод или шаговый двигатель
Мы разберемся в нашей статье, что выбрать сервопривод или шаговый двигатель, что они собой представляют, для чего предназначаются, а также ответим на вопрос, сервопривод или шаговый двигатель разница.
Что представляет собой шаговой двигатель
Такие механизмы отлично подходят для превращения электрической энергии в точные механические перемещения. Любой импульс, который поступает на драйвер мотора, позволяет осуществлять движения ротора, что полностью соответствует заданным настройкам. Можно навести простой пример, если на полношаговый привод будет послано 100 импульсов, при том, что шаг двигателя составляет 1.8 градусов, это позволит получить поворот на 180 0 .
Разница между сервоприводом и шаговым двигателем в том, что каждый из них имеет как свои преимущества, так и недостатки. Сильная сторона последнего заключается в том, что он может выполнять свои функции даже без обратной связи, ему не требуется коррекция положения, при которой используются энкодеры или другие аналогичные датчики. Это связано с тем, что вал по архитектуре шагового двигателя перемещается только при получении импульсов. Такая возможность доступна только тогда, когда шаговые двигатели не перегружены, а также не впадают в резонанс. Но вот в реальной жизни очень редко бывает, что эти два фактора отсутствуют.
Чтобы получить уверенность, что такой двигатель не будет пропускать шаги, производители решают эту проблему очень просто, когда происходит выбор мощности, они делают серьезный запас мощности. Другими словами, отличие сервопривода от шагового двигателя заключается в том, что последний устанавливается на станок с большой мощностью, которой намного больше, чем это требуется.
Появление резонанса возможно на тех же самых частотах вращения, которые в данном приложении используются как основные, поэтому избежать это явление становится очень сложным.
Но существует и возможность избежать последствия непродолжительных перегрузок в его работе, а также не допустить пропуска шагов. В данном случае можно использовать энкодер, который такой же, как и установлен на вал вентильного серводвигателя. В этом также ответ, чем отличается сервопривод от шагового двигателя.
Энкодер – это информация о том, в каком положении находится ротор контроллеру. Он сравнивает его с заданной координатор, в результате чего полученное рассогласование используется, чтобы выполнить шаги так, чтобы разница компенсировалась. Но такой способ малоэффективен, если необходимо ликвидировать проблемы, связанные с резонансом. Тем не менее, все же есть возможность устранить последствия. Для этого требуется провести комбинирование по положению, другими словами, компенсировать количество импульсов, а также одновременно управлять ориентацией поля статора. При этом нужно придерживаться такого же принципа, как векторное управление электродвигателями с тремя фазами.
Сравнение сервопривода и шагового двигателя – вопрос достаточно сложный. Это связано с тем, что энкодер шагового двигателя предоставляет информацию о том, в каком положении вала можно сориентировать магнитное поле статора так, что потокозацепление будет иметь максимальную эффективность. К тому же такая схема не нуждается в преобразованиях Кларка, что, как правило, применяется для того, чтобы спроектировать трехфазную систему токов и получить две фазы. Это требуется потому, что биполярные моторы разработаны с двумя обмотками. Такой способ управления характеризуется тем, что ток в обмотках изменяется синусоидально, на этот процесс не влияет то, что используется – шаг или микрошаг.
Также если сравнивать шаговый двигатель и сервопривод, то преимущество первого также в том, что он практически не ощущает резких перемен напряжения. Благодаря наличию векторного типа управления, есть возможность очень быстро регулировать момент приводы. Тем не менее, такая возможность также доступна и сервоприводам. Это касается только типа PMSM.
Немного о сервоприводах
Здесь мы не только охарактеризуем, но и проведем сравнение сервопривод и шаговый двигатель. Когда прочитаете информацию, сможете сделать вывод, что лучше шаговый двигатель или сервопривод.
Наверняка Вы знаете, что сервопривод используется уже достаточно давно. Также у нас можно купить сервопривод высокого качества и по доступной стоимости.
Существует такие, которые используют по позиции обратную связь. Они имеют возможность считать количество шагов, а также добавлять в процессе или вычитать шаги, чтобы не допустить ошибку. Но они не могут вносить коррективы в угол поворота вала, когда делается шаг. Это принципиальная разница, если делать сравнение сервопривода и шагового двигателя.
Компенсировать ошибки может синусоидальная коммутация, если работает совместно с управлением ориентацией. Она устраняет ошибки, которые возникают по причине неправильной геометрии деталей или при серьезной нагрузке.
Векторное управление гарантирует, что статорное поле всегда будет перпендикулярным роторному полю, а также то, что насыщенность поля будет полностью соответствовать нужному моменту. Это улучшает динамику, а в дальнейшем и делает более эффективной работу, уменьшает флуктуацию крутящего момента. Благодаря такому управлению есть возможность составить конкуренцию шаговым двигателям с вентильным сервоприводом, если речь идет о скоростях, не превышающих 2 тыс. оборотов/мин.
Мы привели аргументы, если сравнивать шаговый двигатель или сервопривод, что лучше – определять Вам. Каждый человек выбирает, что ему подойдет лучше – сервопривод или шаговый двигатель. Мы же рассказали об основных моментах того и другого типа, навели некоторые примеры и особенности.
Вы можете у нас купить серводвигатель по выгодной стоимости. Мы гарантируем качество товара. Наши сотрудники с удовольствием ответят на интересующие вопросы, предоставят дополнительную информацию.
Шаговый двигатель как энкодер
Энкодер из шагового двигателя.
Автор: Александр Кленин
Опубликовано 26.08.2009
Использование шаговых двигателей (ШД) в качестве энкодера по-прежнему остается привлекательным решением, т.к. промышленные энкодеры, при всех своих достоинствах, имеют существенные недостатки — цена и сложности при покупке единичных экземпляров. Если контактные энкодеры еще с трудом можно приобрести, то цена бесконтактных энкодеров совершенно неподъемная.
В моем случае исключалось применение контактного энкодера, т.к. не допускались пропуски и генерация паразитного (из-за дребезга) сигнала при вращении. Мне не удалось получить удовлетворительных результатов при испытаниях контактных инкрементального и абсолютного энкодеров. Марки называть не буду.
В итоге, склонился к применению ШД от старого 5-дюймового дисковода. За основу взял https://ru3ga.qrz.ru/UZLY/encod.htm, но большое число элементов совсем не радовало.
В результате, схема была приведена к виду, показанному на Рис.1. Для подавления паразитных колебаний у обоих каналов закорочена одна из полуобмоток, что обеспечило достаточное демпфирование, резко снизило скорость нарастания сигнала при больших скоростях вращения и позволило использовать ШД с внутренним соединением средних выводов обмоток.
Также введен гистерезис порядка 50. 100 мВ (зависит от напряжения питания 4. 5В).
После изменений работа схемы при напряжении питания 5В меня устроила, но хотелось, чтобы она работала от 3В. Большое число элементов и сравнительно большой потребляемый ток, привели к схеме Рис.2.
Подключение обмоток двигателя осталось таким же, а в качестве формирователя сигнала использована микросхема HEF4069 (можно заменить CD4069, MC14069). Ввод схемы в линейную область сделан на одном инверторе, выход которого соединен с входом. Такое соединение позволяет превратить инвертор в повторитель напряжения, примерно равного половине напряжения питания без использования дополнительного резистивного делителя.
При 3В схема на LM358 отказалась работать из-за недостаточно хороших выходных уровней компаратора.
Качество работы обеих схем при 5В питании получилось примерно одинаковое. При монотонном пошаговом повороте вала двигателя наблюдалась четкая последовательность 2-битного кода Грея. Но! При смене направления вращения первый шаг нарушал эту последовательность.
Например:
Вращение по часовой
Вращение против часовой
Видно, что при смене направления происходило изменение состояния обоих каналов, что противоречило правилу кодирования. Последующие шаги соответствовали правильной последовательности нового направления.
Эта особенность поведения ШД (смена состояния в обоих каналах) учитывалась программно. Для примера приведены ассемблерные программы обработки сигналов ШД в качестве энкодера для AVR и MSP430.
На Рис.3 приведены диаграммы сигналов, генерируемых ШД при включении обмоток в соответствии со схемами. Алгоритм обработки сигналов энкодера показан на двух нижних диаграммах Рис.3
-при поступлении прерывания от активного фронта канала А анализируется уровень и флаг требования прерывания канала B. Если флаг установлен, что говорит о смене направления вращения, дополнительно анализируется состояние внутреннего рабочего флага, который сигнализирует о предыдущем направлении вращения и идет соответствующее изменение значения счетчика шагов. Это сделано для исключения неоднозначности определения кодовой последовательности, возникающей при смене направления вращения. Если флаг сброшен, что говорит об отсутствии смены направления вращения, идет простое изменение значения счетчика шагов.
-совершенно аналогично идет обработка прерывания от активного фронта канала В.
В итоге получается обработка каждого шага двигателя.
Шаговый двигатель, в качестве энкодера, был встроен в конструкцию ленточной пилорамы для повышения точности изготовления пиломатериалов.
Комплектующие для станков с ЧПУ и систем автоматизации
Шаговые двигатели с энкодером
Purelogic R&D предлагает шаговые двигатели с энкодером (сервошаговые двигатели). В отличии от сервопривода с применением щеточного DC или бесщеточного PMSM электродвигателя, сервопривод на базе ШД обладает более скоростным откликом на команду и отсутствуем эффекта колебания ротора в точке останова (ротор не «рыскает»). В отличии от обычного привода с ШД без обратной связи, сервопривод на базе ШД исключает пропуск шагов и на высоких скоростях осуществляет прирост момента на 30%.
Обращаем Ваше внимание, что для построения комплектного сервопривода, кроме серводрайвера, необходимо приобрести серводвигатель и соединительные кабели (или разъемы и изготовить кабели самостоятельно). Наши менеджеры всегда готовы ответить на любые Ваши вопросы по нашей продукции и помочь с выбором.
Если Вы не нашли в нашем ассортименте необходимый товар — обязательно свяжитесь с нами. Возможно товар находится в пути или мы доставим Вам его под заказ в кратчайшие сроки.
ШД с энкодером Purelogic
Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Purelogic. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.
- Документация
- Чертеж
- Эксплуатация
- Информация
Шаговые двигатели с энкодером Hyperdrive
Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Hyperdrive моделей HDS42, HDS57, HDS60 и HDS86. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.
- Документация
- Эксплуатация
Шаговые двигатели с энкодером Leadshine, серия CS
Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Leadshine серии CS. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.
- Документация
- Эксплуатация
- Информация
ШД с энкодером Leadshine, серия ES
Шаговые двигатели с энкодером Leadshine серии ES снимаются с производства, замена серия CS. Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Leadshine моделей ES-D508, ES-D808 и ES-D1008. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.
- Документация
- Чертеж
- Эксплуатация
- Информация
Шаговые двигатели с энкодером Yako
Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Yako моделей SSD2505M, SSD2608H, MS-S3 и MS-L3. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.
Сага о абсолютном энкодере и шаговом двигателе
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Давно я тут не писал постов про принтеры и электронику, но тут назрела тема использования абсолютного энкодера и попытке сделать вменяемое упралвение шаговым двигателем с рассчётом на точность позиционирования (не путать с повторяемостью).
В качестве подопытного было приобретено несколько разных магнитных энкодеров наподобие тех, что используются в таких проектах как mechaduino (или его китайская инкарнация как MSK Servo42) или же в системах стабилизации камер (внезапно там используются те же магнитные энкодеры). В итоге у меня оказалось два их от разных производителей:
- AS5048A с разрешением 12bit (если пересчитать в угол по нехитрой формуле 360/2**12
0.08789 градуса)
TLE5012b с разрешением 15bit (опять же если пересчитать в угол то 360/2**15
В итоге я остановился на втором варианте, так как его разрешения хватает что бы легко ловить повороты даже для двигателя в 400 шагов на оборот при 32 микрошаге (а это получится примерно так 360/(400*32)
0.028125 градуса), хотя это уже и экстремальный вариант.
На макетке была собрана конструкция из stm32f103c8t6 aka bluepill энкодера и драйвера шагового двигателя tmc2130 (взял то что было под руками). Всё это счастье было запрограммировано на довольно простые действия:
- stm32 имеет прерывания на трех пинах которые подключены к Step/Dir/Enable на плате управления принтером
- при получении сигналов на Step/Dir/Enable производится stm32 делает шаг через tmc2130
- после завершения шага (если успевает) считывает положение двигателя через энкодер tle5012b (на валу двигателя помещён магнит)
- stm32 печатает в UART инфу о количестве шагов, микрошаге, количесве оборотов и текущем угле поворота двигателя (энкодер таки абсолютный и умеет считать обороты)
Дальше у меня возникла идея проверить насколько точно шаговик встаёт по шагам. Для этого в управляющей плате принтера (которая тоже stm32 но пожирнее) были выставлены виртуальные 80 steps/mm для оси X (в принципе это значение стандартное для 20 зубой шпули для GT2) а драйвер двигателя был выставлен в 16 микрошаг (двигатель у меня 1.8 градуса, 200 шагов на оборот, и как следствия с 16 микрошагом каждый шаг соответсвует 360/(200*16) = 0.1125 градуса, запомним эту цифру). Я решил посмотреть как у нас зависит точность выставления угла поворота от скорости принтера (а как следствие и точность).
Как происходило тестирование:
- Был выбран набор скоростей: 10, 25, 50, 75, 100, 125, 150, 200, 250 мм/с
- Для каждой скорости передвижение с X0 до X160 и обратно и ожидание в крайних положения по 2 секунды (это 4 оборота движка в одну строну и в другую) повторялось по 25 раз
- Данные с энкодера писались в лог (скриптик с сериал консоли всё писал в файлики)
В итоге получилось довольно занятная картинка:
1.875 оборота в секунду) ошибка повторяемости позиционирования шаговика становится сравнимой с одним микрошагом
0.7 градусов (что примерно 7 шагов при дроблении 1/16, или если пересчитать в мм то это будет
0.1 мм в среднем)
Но это если речь идёт о повторяемости а не о точности. А это разные понятия. Так что теперь поговрим про точность. Будем считать, как это далают прошивки большниства принтеров, что перемещение на один микрошаг у нас всегда одианково (в данном случае это 0.1125 градуса или 0.0125 мм если у нас 80 шагов на мм). Посмотрим насколько это так.
То что мы видим при скорости 10мм/с (да довольно медленно)
На картинках нарисовано чтение с датчика и счётчик шагов (данные датчика это синяя линия) а так же идеальные значения углов для данного номера шага (хе хе, довольно просто посчитать) а так же вертикальными черточками различия реально измеренного от идеального. Какие выводы можно сделать по этой картинке:
- Шаги у нас не равномерны (что в целом понятно, исходя из физики двигателя)
- Какие то шаги у нас почти точно попадают в идеальные значения углов поворота (но не все. совсем не все. )
- Хотя точность позиционирования у нас не очень высокая, но повторяемость хорошая (синяя линия на картинке это статистика по 25 повторам
Теперь посмотрим что будет если шаговик пойдёт немного быстрее 25 мм/с
Картинка в целом не поменялась, но ошибка позиционирования возросла (разница между реальным и идеальным положением)
Теперь 50 мм/с
Видно что позиционирование стало ещё хуже.
Теперь 75 мм/с
Всё поплыло ещё дальше.
Ошибка осталась на прежнем уровне (tmc2130 перешел в другой режим работы)
Картинка похожа на первую. Опять же зеленая линия это среднее. Оражневая медиана. Какие выводы можно сделать?
- Что приятно средняя ошибка позиционирования примерно 0. Что означает что шаговик с одинаковой вероятность как проскакивает положение, так и недоходит до него (по этому среднее и есть 0).
- А вот медиана уже становится большой. На уровне 0.5-0.8 градуса.
- Разброс ошибок довольно большой, он растёт с примерно 0.2 градусов при 10мм/с до 4 градусов при 250мм/с, что соответсвует разбросу хода от 0.02 до 0.5 мм (хе хе.. кто там хвастался что печатает на скорости 200+мм/с. )
- Ещё замечу, что всё это измерялось на свободном шаговике без нагрузки. С нагрузкой будет все печальнее (и я это проверю в следующей части)
Что из всего этого следует?
Если хочется повышать качество печати, то надо слегка поменять подход к позиционирования шаговика в прошивках (позицоинирование у него не линейное, и это надо учитывать). По идее надо сделать умный closed-loop шаговик, которые будет в состоянии корректировать нелинейности при перемещении.
Продолжение следует.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.