E-шаги экструдера
E-steps — сколько шагов мотор экструдера делает на 1 мм филамента. Если значение неверное, всё остальное (flow, температура, ретракт) будет калиброваться от кривой базы. На странице — пошаговая методика и готовый калькулятор нового steps/mm.
Цель:
Определить корректное количество шагов, которое прошивка Marlin должна отправлять на шаговый двигатель экструдера для точного движения.
Когда требуется:
Базовая калибровка, а также любое время после изменений в экструдере/хотэнде.
Инструменты:
Линейка, перманентный маркер, терминальное ПО, такое как Pronterface или Octoprint.
Инструкции по настройке терминального ПО можно найти здесь.
Для осей X, Y и Z количество шагов на mm обычно одинаково у разных принтеров и редко меняется при модификациях. Пока ремни натянуты и выровнены, их редко нужно подстраивать.
Для экструдера, однако, разнообразие железа экструдера и филамента означает, что стоит правильно откалибровать шаги на mm для экструдера, то есть E-шаги.
Это можно сделать, отправляя простые команды G-code через терминал для выдавливания заданного количества филамента, а затем измеряя, сколько филамента фактически прошло через систему.
Особое замечание:
Эту калибровку лучше всего делать с отсоединённым от хотэнда экструдером, чтобы не было препятствий движению. Если удобно, можно частично разобрать принтер, чтобы выход экструдера был открыт и филамент выходил в свободный воздух. Если это неудобно, описанная ниже процедура минимизирует сопротивление за счёт очень медленного выдавливания и чуть более высокой температуры. Результаты при этом должны оставаться надёжными.
Сначала нам нужно узнать текущее значение E-шагов. Чтобы его найти, введите:
M92
Если в ответ вы получаете только сообщение ok, в качестве альтернативы можно поискать строку M92 после ввода:
M503
M92 используется для запроса или установки количества шагов на mm для каждой оси. M92 без параметров сообщит текущие значения. Нам нужно запомнить число после E, в примере ниже — 93.00:
Поднимите сопло вручную достаточно высоко над столом, чтобы было место для выдавливания филамента. Теперь прогрейте хотэнд до температуры, при которой вы обычно печатаете, плюс 10 градусов. Когда температура стабилизируется, введите:
G91
G91 переводит принтер в режим относительного движения. Это значит, что запрос на 100mm филамента добавит 100mm к текущему положению, вместо перемещения в конкретную позицию 100mm.
Для Klipper и RepRapFirmware вместо этого для выбора относительного движения экструдера используется M83.
Теперь возьмём перманентный маркер и сделаем отметку в 120mm от входа в экструдер:
Далее вводим:
G1 E100 F50
G1 отправляет принтеру команду движения, в данном случае запрашивая у экструдера подачу 100mm со скоростью 50mm/min.
Филамент затем будет очень медленно проходить через экструдер (и хотэнд). Когда выдавливание закончится, измерим расстояние между отметкой и входом в экструдер.
В идеале останется 20mm, что означает, что было выдавлено ровно 100mm. Если ваше расстояние отличается, заполните форму ниже, чтобы рассчитать правильные E-шаги:
Калькулятор E-шагов
Хотя запуск новой печати или перезагрузка принтера сделают это автоматически, безопаснее после завершения этой калибровки вернуть принтер в режим абсолютного позиционирования, отправив:
G90
Для Klipper и RepRapFirmware вместо этого для выбора абсолютного движения экструдера используется M82.
Сохранение обновлённых E-шагов
Когда вы определили правильное значение, его необходимо сохранить в прошивке, чтобы оно действовало для последующих печатей. Хотя его можно жёстко прописать в прошивке путём перекомпиляции Marlin, гораздо проще сделать это через G-code.
В терминале введите:
M92 E[ваше новое значение]
Очевидно, после E нужно подставить ваше значение E-шагов. Сохраните в EEPROM командой:
M500
Особое замечание: Prusa отключила сохранение M500 в EEPROM на некоторых принтерах (например, Mini). В таких случаях указанный выше G-code M92 нужно добавить в стартовый G-code в вашем слайсере, чтобы он считывался перед каждой печатью.
Также можно использовать меню Configuration на LCD-дисплее для внесения этого изменения, но при большом отклонении (например, при переходе на редукторный экструдер) может потребоваться значительное время на вращение энкодера, чтобы достичь нужного значения. Не забудьте Store Settings, чтобы сохранить в EEPROM.
Особое замечание для двойной/мульти-экструзии
По умолчанию Marlin ожидает, что E-шаги для каждого из ваших экструдеров одинаковы. Чтобы обойти это, нужно скомпилировать прошивку с раскомментированной/включённой опцией DISTINCT_E_FACTORS в configuration.h:
После этого вы сможете задать уникальное значение M92 для каждого экструдера.
Если перекомпиляция прошивки невозможна, команду M92 для каждого экструдера можно вставить в секцию смены инструмента (tool change) слайсера. Так корректные E-шаги будут устанавливаться непосредственно перед началом экструзии для соответствующего инструмента.
Частые вопросы
Как часто нужно калибровать E-шаги?
Можно ли калибровать E-шаги с установленным хотэндом?
Почему рекомендуется выдавливать именно 100 mm филамента?
Почему после M500 значения не сохраняются на Prusa Mini?
M92 E<ваше значение> в стартовый G-code слайсера (PrusaSlicer, OrcaSlicer, Cura, Bambu Studio), чтобы корректные E-шаги устанавливались перед каждой печатью.Чем калибровка E-шагов отличается от калибровки flow (потока)?
Какие команды использовать в Klipper и RepRapFirmware?
rotation_distance в секции [extruder] файла printer.cfg — M92 там не работает. В RepRapFirmware применяется M92 E<значение>, после чего значение прописывается в config.g вручную или сохраняется через M500. Относительный режим экструзии — M83, абсолютный — M82.Частые вопросы
Что такое E-steps?
Количество шагов мотора экструдера на 1 мм филамента. Неверное значение ломает поток, температуру и ретракт, поэтому калибруется одним из первых.
Как откалибровать E-steps?
Отметьте 120 мм прутка, выдавите 100 мм командой, замерьте остаток и пересчитайте steps/mm. Сохраните через M92 + M500 (Marlin) или rotation_distance (Klipper).
Почему лучше калибровать без сопла?
Чтобы исключить влияние сопротивления расплава: пруток продавливается свободно, и замер получается чище.
Раздел основан на Teaching Tech 3D Printer Calibration, автор Michael Laws (Teaching Tech), под CC-BY-SA-4.0. Все расчёты выполняются у вас в браузере.