Linear Advance / Pressure Advance
Linear Advance (Marlin) и Pressure Advance (Klipper) убирают наплывы на углах: учитывают давление в hotend и заранее тормозят экструзию перед остановкой. Калибруется отдельным тестом — паттерн с разными K/PA, выбираем самые гладкие переходы.
Цель:
Настроить тайминг экструзии, чтобы уменьшить раздувшиеся углы и более тонкие стенки. Это даёт более стабильную экструзию и снижает поверхностные дефекты.
Когда необходимо:
Первичная калибровка, при замене экструдера/хотэнда (особенно при переходе с боуден на директ-драйв), при пробе новых филаментов.
Инструменты:
Marlin Linear Advance Pattern Generator
В 3D-принтере из-за давления, необходимого для проталкивания расплавленного филамента через маленькое отверстие сопла, существует небольшая задержка между моментом, когда экструдер толкает филамент, и моментом, когда он реально выходит из сопла. Традиционно движение экструдера согласовано с XY-перемещениями принтера, поэтому начало линии оказывается недоэкструдированным, а конец — переэкструдированным. Linear advance рассинхронизирует движения экструдера и XY-движения, изменяя тайминг экструдера так, чтобы тонкие и толстые участки значительно уменьшались.
Концепция и способ настройки linear advance подробно объясняется здесь:
Особые замечания:
Linear advance часто называют pressure advance. Это одно и то же.
Linear advance обычно не включён по умолчанию в прошивке Marlin. Поэтому прошивку нужно перекомпилировать с включённым linear advance. Это рассматривается в видео выше.
Linear advance несовместим с некоторыми драйверами шаговых двигателей. Самый известный пример — TMC2208 при подключении в устаревшем режиме (как на тихих платах Creality). При подключении в режиме «smart» через UART проблем нет.
Linear advance в настоящее время несовместим с S-curve acceleration (ещё одной функцией Marlin), хотя в качестве обходного пути можно раскомментировать #define EXPERIMENTAL_SCURVE при добавлении linear advance.
Linear advance требует агрессивного ускорения экструдера и сильнее нагружает двигатель. Для драйвера E может потребоваться более высокий ток, из-за чего он будет сильнее греться.
Linear advance зависит от филамента. Для каждого филамента нужно своё значение, чтобы получить лучший результат.
Тестирование linear advance основано на визуальном осмотре одного слоя, поэтому важно, чтобы выравнивание стола и первый слой были надёжными и повторяемыми.
Linear Advance Pattern Generator
У Marlin есть превосходная документация по linear advance и уже готовый генератор тестового G-code, поэтому нет смысла создавать здесь конкурента. Пример его использования показан в видео выше, а сам инструмент находится здесь: Marlin Linear Advance Pattern Generator
Параметр, который мы настраиваем для linear advance, называется K-фактор. K-фактор связан с величиной прогиба или сжатия филамента и длиной пути между экструдером и хотэндом.
Более высокое значение K подходит для боудена и/или гибких филаментов. Это потому, что филамент может изгибаться вбок в трубке между экструдером и хотэндом, увеличивая задержку экструзии. Хорошая отправная точка для боуден-экструдера — значение K 1.0.
Более низкое значение K подходит для директ-драйв экструдера и более жёстких филаментов. При таких характеристиках передача филамента между экструдером и хотэндом более прямая, с меньшей задержкой. Хорошая отправная точка для директ-драйв экструдера — 0.2.
Видео выше показывает, как пользоваться генератором паттернов: по сути нужно ввести параметры принтера и слайсера, после чего нажать для скачивания файла G-code.
Используя предложенные выше стартовые значения K, выберите верхний и нижний предел по обе стороны от них для предварительного теста.
Интерпретация результатов:
Печать G-code, сгенерированного генератором паттернов, даст результат вроде этого:
На некоторых горизонтальных линиях должны быть явные толстые и тонкие участки, а на некоторых даже большие пропуски. Вы ищете линию с наиболее стабильной шириной экструзии слева направо. Значение K для этой линии будет напечатано справа от неё. На этом этапе, как показано в видео, можно повторить тест с более узким диапазоном значений по обе стороны от лучшего значения K. Это поможет точнее определить оптимальное значение с «более высоким разрешением».
Сохранение K-фактора
Многие параметры, которые мы настраивали до этого, можно постоянно сохранить либо в прошивку, либо в EEPROM. Поскольку K-фактор linear advance зависит от филамента, это может быть не лучшим решением, если вы печатаете разными филаментами; вместо этого вы можете предпочесть сохранять его в профиле слайсера. Все способы описаны ниже.
K-фактор можно установить с помощью G-code M900:
M900 K0.11
Его можно сохранить в EEPROM, отправив следом:
M500
Установку и сохранение K-фактора также можно выполнить через LCD-меню.
Возможно, вы предпочтёте использовать команду M900 в стартовом G-code, особенно если ваш слайсер поддерживает разные стартовые G-code для разных материалов. Если вы используете стартовый G-code, без последующего M500 установка K-фактора будет временной. При следующем перезапуске принтера будет восстановлено значение из EEPROM. При начале новой печати значение в её стартовом G-code перезапишет ранее установленное.
Linear advance можно временно отключить, установив K-фактор в 0:
M900 K0
Частые вопросы
Чем Linear Advance в Marlin отличается от Pressure Advance в Klipper?
С каких значений K-фактора начать калибровку?
Нужно ли подбирать K-фактор под каждый филамент?
Как сохранить K-фактор навсегда?
Почему Linear Advance не работает или даёт странные результаты?
Что делать, если на тесте ни одна линия не выглядит идеальной?
Частые вопросы
Чем отличаются Linear Advance и Pressure Advance?
По сути это одно и то же: Linear Advance в Marlin (K-фактор), Pressure Advance в Klipper. Оба компенсируют давление в хотенде на разгонах и торможениях.
Что даёт калибровка LA/PA?
Убирает наплывы (bulge) на углах и нехватку пластика после них — углы становятся чёткими.
Какими командами задать значение?
M900 K<значение> в Marlin, SET_PRESSURE_ADVANCE ADVANCE=<значение> в Klipper, затем сохранить в профиль.
Раздел основан на Teaching Tech 3D Printer Calibration, автор Michael Laws (Teaching Tech), под CC-BY-SA-4.0. Все расчёты выполняются у вас в браузере.