Реальная скорость степпера в жизни

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

Я знаю об основных свойствах шаговых двигателей, таких как отношение крутящего момента к скорости, которые я прочитал некоторое время назад из этого источника (для тех, кто столкнется с этим вопросом позже): https://www.geckodrive.com/gecko/images/cms_files/Step%20Motor%20Basics%20Guide.pdf

Пока что Википедия (https://en.wikipedia.org/wiki/Stepper_motor) легко находит следующие утверждения в отношении моего вопроса:

Таким образом, при управлении L/R приводом максимальная скорость шагового двигатель ограничен своей индуктивностью, так как при некоторой скорости напряжение U будет меняться быстрее, чем ток, который я могу поддерживать.

и для водителей вертолетов:

Это требует дополнительной электроники для определения токов обмоток и управления переключением, но это позволяет шаговым двигателям работать с более высоким крутящим моментом на более высоких скоростях, чем приводы L / R.

Очевидно, что количество шагов / откровений также изменит скорость

Однако все это не помогает мне определить, какой должна быть реальная жизненная скорость степпера. Дополнительные параметры прошивки еще больше загромождают мой (начинающий) мозг (и я еще не слишком глубоко погрузился в это). В общем, я понимаю, что частота, которую мы используем для отправки шагов на степпер, является основным определяющим фактором, также "уменьшенным" за счет микрошагов, если они применяются. Мы не можем поддерживать ток на должном уровне из-за временных / индуктивных / электронных свойств двигателей, поэтому мы теряем крутящий момент или, наконец, ступени. Более высокое напряжение помогает увеличить ток быстрее, поэтому крутизна увеличения тока также может ограничить максимально допустимую частоту. Сама частота передается с платы контроллера на драйвер двигателя, следовательно, устанавливается в прошивке.

В целом, помимо того, что имеет смысл использовать при настройке 3D-принтера, каковы определяющие факторы скорости шага, которые могут быть реализованы, и как их преобразовать в реальные значения для наших принтеров? Также мне было бы интересно узнать, как определяющие факторы влияют на надежность и качество печати, независимо от механических трудностей, возникающих при скорости печати.

/редактировать:
Я обнаружил, что они существуют в electroncs SE:
https://electronics.stackexchange.com/questions/71270/maximum-speed-of-stepper-motor
https://electronics.stackexchange.com/questions/129064/slow-down-stepper-motors-speed-using-stepper-driver-drv-8825

Тем не менее, я думаю, что этот вопрос здесь достаточно актуален и специфичен, чтобы 3D-печать существовала и здесь.

, 👍9


1 ответ


Лучший ответ:

13

Четырьмя основными ограничениями скорости двигателя в 3D-принтере являются:

  • Ограничения частоты генерации шага встроенного ПО
  • Эффекты встроенного планировщика движения
  • Потеря крутящего момента и точности из-за индуктивности катушки двигателя и эффектов обратной ЭДС
  • Среднечастотный резонанс

Ограничения скорости генерации шагов будут зависеть от используемого микропрограммного обеспечения и платы контроллера. Существует значительный диапазон, особенно когда 32-разрядные прошивки и платформы на базе RTOS, такие как MachineKit, сравниваются с 8-разрядными прошивками, работающими на Atmega AVR. Вот несколько примеров:

  • Marlin на 8-битной Atmega с частотой 16 МГц может запускать шаговое прерывание только на частоте 10 000 Гц, не перегружая процессор и не блокируя другие важные алгоритмы (например, планирование движения). Он может запускать ступенчатые частоты до 40 000 Гц, пульсируя ступенчатую линию два или четыре раза за прерывание, что эффективно снижает уровень микрошага в программном обеспечении и делает двигатели более грубыми / громкими.
  • Repetitier на том же Atmega может запускать шаговое прерывание с частотой 12 000 Гц, поскольку он больше оптимизирован для скорости выполнения, чем Marlin.
  • Repetitier на 32-битном ARM Cortex-M3 с частотой 84 МГц может запускать шаговое прерывание на частоте 80 000 Гц.

Эти ограничения обычно влияют только на фактическую скорость шагового устройства, когда используется относительно мелкий микрошаг. Рассмотрим пример, основанный на очень типичной конфигурации принтера Marlin. Настоятельно рекомендуется делать микрошаг не менее 1/4, чтобы избежать проблем с резонансом, поэтому давайте начнем с шага 1/16. Это позволяет четырехступенчатому шагу эффективно выводить 1/4 шага. Начиная с более мелкого микрошага, мы снизим нашу максимальную скорость, а более грубый микрошаг будет громче и может вызвать резонанс, так что это хорошая отправная точка. Затем установите обычный шкив диаметром 32 мм на оборот на шаговом двигателе с шагом 1,8 градуса (200 шагов/об). Эта система имеет разрешение 200*16/32 = 100 шагов/мм. При общей частоте шага 40 000 Гц (четырехступенчатый шаг при 10 000 Гц) мы теоретически можем двигаться со скоростью 400 мм / с, прежде чем упремся в жесткий колпачок Marlin. Вероятно, это будет более высокая частота вращения, чем мы хотим, чтобы двигатель работал в любом случае, так что это не очень эффективный предел.

Для сравнения, если бы мы начали с шага 1/128 (например, с чипом драйвера THB6128), наша максимальная скорость с 8-битным Marlin составила бы 50 мм / с. Это довольно медленно.

Встроенные планировщики движения могут дополнительно ограничивать скорость двигателя, увеличивая и уменьшая ее для прохождения поворотов и поворотов. Если геометрия модели имеет много крутых поворотов, целевые скорости, заданные gcode, скорее всего, никогда не будут достигнуты. Только длинные прямые траектории будут иметь достаточное время разгона, чтобы достичь цели по скорости. Вы можете убедиться в этом сами, напечатав очень маленькую модель с различными скоростями подачи и рассчитав фактическую продолжительность печати: в определенный момент увеличение заданной скорости не повлияет на фактическое время печати.

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

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

http://www.geckodrive.com/support/step-motor-basics.html

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

Здесь следует рассмотреть два отдельных эффекта:

  • Катушки двигателя являются индуктивностями, что означает, что между приложенным напряжением и током катушки существует запаздывание первого порядка. Стандартный биполярный шаговый двигатель с микрошаговым приводом должен повышать ток катушки от нуля до максимума или от максимума до нуля каждый полный шаг (например, каждые шестнадцать 1/16 микрошагов). При высоких скоростях шага недостаточно времени для полной зарядки катушки до максимального тока, прежде чем следующий шаг потребует снижения тока обратно. Без развития полного тока катушки на каждом шаге теряется крутящий момент.
  • Каждый двигатель также является генератором, и вращение ротора создает напряжение обратной ЭДС в катушках двигателя. Этот сигнал напряжения накладывается поверх сигнала напряжения возбуждения со сдвигом фазы, зависящим от положения ротора относительно положения включения катушки. Проще говоря, это напряжение пытается затормозить двигатель: оно всегда делает все, что может замедлить работу двигателя. Это означает, что он противодействует приложенному приводному напряжению, когда двигатель прикладывает прямой крутящий момент, или помогает приложенному приводному напряжению, когда двигатель прикладывает тормозной момент.

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

Вы можете поиграть с этими эффектами, используя различные конфигурации двигателей и скорости для нескольких популярных шаговых драйверов 3D-принтеров, используя my stepper driver simulator: https://github.com/rcarlyle/StepperSim

В системах с замкнутым контуром с обратной связью по положению и высокопроизводительными драйверами, которые могут гасить различные режимы нестабильности, может быть нормально запускать шаговый двигатель до конца кривой крутящего момента на очень высоких оборотах. В более типичных приложениях для 3D-принтеров с разомкнутым контуром, как правило, лучше придерживаться низкооборотной части кривой крутящего момента, прежде чем индуктивность и обратная ЭДС действительно начнут влиять на поведение двигателя. Потеря слишком большого крутящего момента может легко привести к пропуску шагов и потере положения, что приведет к повреждению печати.

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

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

http://www.geckodrive.com/support/step-motor-basics.html

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

Высококачественные драйверы могут автоматически обнаруживать и гасить среднечастотный резонанс, но типичные недорогие драйверы 3D-принтеров не имеют такой возможности.

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

В качестве конкретного примера рассмотрим популярный степпер Kysan 1124090 с блоком питания 24 В.

https://ultimachine.com/content/kysan-1124090-nema-17-stepper-motor

Чтобы поддерживать высокий крутящий момент и избежать резонанса в средней полосе, мы хотели бы поддерживать обороты примерно на уровне 400 или меньше. Для того же самого шкива с частотой вращения 32 мм на оборот, упомянутого выше, это ограничило бы скорость примерно до 200-240 мм / с. Возможны более высокие скорости, но могут возникнуть проблемы с надежностью.

Эта скорость, конечно, предполагает, что используется блок питания 24 В, чтобы соответствовать измеренной кривой крутящего момента: блок питания 12 В будет иметь значительно меньшую максимальную скорость, прежде чем индуктивность начнет ограничивать ток катушки, примерно в два раза быстрее. Более высокое напряжение питания значительно увеличивает максимальную эффективную скорость двигателя.

Опять же, вы можете легко смоделировать этот эффект (используя https://github.com/rcarlyle/StepperSim). На этой диаграмме выходных данных симулятора показано, как индуктивность и обратная ЭДС препятствуют достижению цели током катушки:

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

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

  • Линейные дельты, где каретки, возможно, должны двигаться в несколько раз быстрее, чем эффектор, для определенных направлений движения
  • Редукторные экструдеры с высоким коэффициентом сжатия (например, намного более 5:1) для высоких скоростей втягивания
  • Ходовые винты с коротким шагом (или цельнорезьбовые), требующие высоких скоростей вращения для достижения умеренных линейных скоростей

,

++ Спасибо, это помогло мне понять, что происходит, намного лучше, чем я делал раньше!, @TextGeek

Этот ответ просто эпичен. Ссылка на калькулятор XLSX также есть! Я собирался задать вопрос о перепрофилировании моего старого степпера, но после ввода значений в XLSX я уже получил свой ответ., @FarO