Учитывают ли контроллеры принтеров инерцию при интерпретации G-кода в инструкции по перемещению?

Я никогда не строил 3D-принтер раньше, но я понимаю динамические системы и теорию управления, и я предполагаю, что много искажений/неточностей, которые происходят во время процесса FDM (особенно на высоких скоростях), связано с неточностями положения из-за инерции. Например, тяжелая печатающая головка, движущаяся достаточно быстро, может превысить свою целевую позицию, если система ожидает, что она немедленно остановится. Пытается ли какое-либо существующее программное обеспечение контроллера 3D-принтера измерить массу печатающей головки/узла перемещения, а затем использовать его для создания лучших инструкций по перемещению?

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

Не ошибаюсь ли я в том, что инерция имеет большое влияние? Неужели это теоретически невозможно по какой-то причине, о которой я не думаю?

, 👍1

Обсуждение

Что обычно получается у принтеров, так это колебания при повороте за угол, так что вы увидите волновой рисунок на отпечатках., @Perry Webb

Как бы то ни было, большинство принтеров очень стараются избегать "тяжелой печатающей головки", но движущийся стол (который есть у многих) в конечном итоге оказывается тем же самым. Однако машины CoreXY и delta, как правило, не имеют быстро движущихся деталей со значительной массой., @R.. GitHub STOP HELPING ICE


2 ответа


0

Инерция это не то о чем вы думаете

Технически говоря, инерция - это нечто такое, что в физике не является тем, что вы обычно понимаете под этим термином. Нет никакой таинственной "Силы инерции", которая замедляла бы ваши действия при установке. Инерция-это не то, что заставляет вас пропускать конечную точку печати.

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

Резюме по механике ньютоновского движения

Инерция-это тот факт, что предмет, находящийся в движении и не подвергающийся воздействию, просто ничего не делает, как предписывает первый закон Ньютона. То, что приложенная вами сила действует на тело только со временем (что обычно понимается под инерцией), следует непосредственно из описания 2-го закона ньютоновской механики:

Mutationem motus proportionalem esse vi motrici impressae, et fieri secundum lineam rectam qua vis illa imprimitur.

Изменение движения всегда пропорционально впечатленной движущей силе и совершается в направлении правильной линии, в которой эта сила запечатлена.

$$F=\frac{d}{dt} (m\times v)$$

Force на тело-это изменение во времени($\frac{d}{dt}$) mass и velocity. В классическом физическом случае с постоянной массой это становится гораздо более известной формулировкой: $$F=m\times \frac{d}{dt} v=m\times\dot v=m\times a$$

Теперь у нас есть элемент известной массы и известной начальной скорости $v_0$. Таким образом, скорость элемента в любой момент $$v(t)=v_0-(\frac F m\times t)=v_0-(a\times t)$$

Импульс

Еще одна вещь, которая часто смешивается с термической инерцией, на самом деле является импульсом предмета. Это прямо следует из текста Ньютона: сила пропорциональна изменению импульса. $$F=\frac{d}{dt}p=\frac{d}{dt}(m\times v)$$$$p=m\times v$$ импульса может быть лучше понято как сумма "энергия" (это не энергия $E_\text{kin}=m\times v^2$)

Принцип инерции рассматривается в слайсере

Большинство слайсеров устанавливают максимальное ускорение для машин и рывок для машин. Эти значения определяются исходя из массы печатающей головки: Максимальное ускорение, умноженное на массу печатающей головки, является максимальной силой. Рывок-это производная ускорения во времени, поэтому он втекает в механику движения обратно как $F(t)=m\times j\times t$. Таким образом, выбор рывка и Максимального ускорения действительно включает информацию о массе печатающей головки, но явно не указывает ее.

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

Платы управления принтером просто дросселируют

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

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

Что еще более важно, настройки ускорения и рывка очень сильно зависят от того, как установлена ваша печатающая головка, а не только от массы печатающей головки: есть ли у вас перо, установленное на линейных направляющих и перемещаемое винтом? Или у нас есть килограммовый кусок свинца, установленный на кресте из 2-миллиметровых алюминиевых стержневых рельсов, натянутых сверхмягкой резиновой закруткой?


,

Я думаю, что правильно использовал инерцию. Я имею в виду, например, что, как только печатающая головка движется, она может превысить свою цель позиционирования. Настройки придурка действительно говорят о том, о чем я говорю. У них просто есть точная оценка массы?, @ZECTBynmo

@ZECTBynmo "Промах" - это именно то, почему я сказал, что вы неправильно понимаете инерцию. Вам нужно просто уменьшить максимальное ускорение и рывок., @Trish

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

В любом случае спасибо, что указали мне направление пределов рывка/ускорения. Я посмотрю, смогу ли я найти проекты, которые помогут установить их динамически., @ZECTBynmo

@ZECTBynmo позвольте мне кое-что прояснить: чтобы рассчитать все эти значения (например, деформация рельсов и т. Д.), Влияющие на фактическую траекторию движения в *реальном времени*, вашей машине потребуется моделировать поведение всей машины в каждый момент. Это задача для суперкомпьютера. Я не знаю ни одной широко используемой прошивки, которая бы даже *позволяла* устанавливать значение mas для печатающей головки, не говоря уже о том, чтобы использовать это для расчета чего-либо., @Trish

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

Ладно, я думаю, мы говорим мимо друг друга. Спасибо за помощь!, @ZECTBynmo


2

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

Вопрос в том, говорит ли им прошивка двигаться/ускоряться/тормозить быстрее/сильнее, чем они могут? если да, то они не будут отставать (из-за инерции и многого другого), так что вы увидите артефакты. Если нет, то они будут точно выполнять приказы (ну, в основном, но сейчас это не важно), и никаких искажений не будет.

Будут ли они идти в ногу или нет, зависит от вас: вы устанавливаете их мощность (ток двигателя) и говорите им, как быстро/трудно двигаться/ускоряться/тормозить. Если вы будете давить на них слишком сильно, двигатели попытаются... и не успевают за ними угнаться. Вот почему у вас есть максимальное ускорение, скорость, рывок в прошивке и в слайсере.

Дополнительная информация: даже если двигатели сохраняют свое положение так, как им велят, они ничего не знают о том, что находится за ними: ремни, ходовые винты и так далее.

Представьте себе, что ремень оси X (который соединяет двигатель с печатающей головкой) сделан из эластичной ленты: двигатели будут находиться там, где вы им приказываете, но инерция печатающей головки растянет эластичную ленту, и печатающая головка окажется НЕ там, где вы ожидаете.

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

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

,

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

@Trish это может быть не совсем строго, но я думаю, что это достаточно ясно отвечает на вопрос для людей, не особенно разбирающихся в физике :), @FarO