Калибровка шагов экструдера Marlin


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


1 - Нагрейте хитблок до рабочей температуры, отведите пластик от сопла, выкрутите сопло и убедитесь что пластика внутри не осталось.

M109 S240 //Греем сопло до 240 градусов (замените значение на нужное вам)
G91 //Переходим в относительную систему координат
G1 E-100 F1000 //Отводим пруток на 100 мм от сопла


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

M109 S0 //Отключаем нагрев экструдера (ДОЖДАТЬСЯ ОХЛАЖДЕНИЯ)
M302 P1 //Отключаем проверку минимальной температуры экструдера
G91 //Переходим в относительную систему координат
G1 E150 F1000 //Выдавливаем 150 мм пластика что бы пруток торчал из сопла

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


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

G91 //Переходим в относительную систему координат
G1 E200 F100 //Даем команду экструдеру выдавить 200мм пластика на медленной скорости

В результате простого теста явно видна переэкструзия пластика.


4 - Результаты нашего теста показали неутешительный результат, шаги выставлены неверно (слишком много) и количество пластика которое выходит из экструдера не соответствует заявленному (заданная длинна - 200 мм., реальная длинна - 229 мм.). Что бы получить необходимое количество шагов можно воспользоваться простой формулой.

Image 3

steps/mm - Текущее количество шагов установленное в прошивке
length - Длинна экструзии заданная командой (мм)
real lenght - Длинна прутка получившегося после экструзии (на самом деле) (мм)
X - правильное количество шагов/мм

Для того что бы узнать текущее количество шагов (заданное в прошивке) используйте команду :

M501 // Вывести информацию о принтере
*найти в выдаче строку:
echo: Steps per unit:
echo: M92 X80.00 Y80.00 Z1600.00 E160.00
E160 - количество шагов/мм для экструдера установленное в данный момент.

Так как все переменные нам известны давайте посчитаем необходимое количество шагов в нашем случае:

Необходимое количество шагов/мм для моего экструдера - 139,737

*Дополнительный метод. Если вы не любите математику или хотите проверить себя вы можете воспользоваться калькулятором для вычисления шагов. Он расположен по ссылке - https://3daddict.com/3d-printer-extruder-calibration-steps/


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

Сохранение шагов в EEPRom
M92 E140 // Установить 140 шагов/мм для экструдера, заменить на нужное вам значение
M500 // Сохранение данных в EEPRom

Сохранение шагов в прошивку (предпочтительнее):
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 140 }
/* Данная строка в прошивке устанавливает количество шагов по XYZ и E нам необходимо заменить последнее значение после чего прошить принтер новой прошивкой. */


Поздравляю !
Теперь ваш экструдер будет работать точно и позволит добиться еще больших успехов в печати !

@LiS92

3 Симпатий