Linear Advance
Linear Advance — это технология, реализованная в прошивках 3D-принтеров (например, Marlin, Klipper), предназначенная для компенсации давления расплавленного пластика в сопле при изменении скорости печати. Основная цель Linear Advance — устранение дефектов, возникающих из-за упругости и сжимаемости филамента в хот-энде, что приводит к неравномерной экструзии при ускорениях и замедлениях движения печатающей головки. Технология позволяет синхронизировать скорость подачи филамента с изменением скорости перемещения сопла, обеспечивая более точное дозирование материала и повышая качество поверхности деталей.
История и предпосылки
Проблема неравномерной экструзии при переменной скорости печати была известна с первых лет развития FDM-печати (Fused Deposition Modeling). В классических прошивках, таких как ранние версии Marlin, экструдер подавал пластик с постоянной скоростью, пропорциональной заданной скорости печати. Однако при резком ускорении или замедлении головки давление в сопле не успевало выравниваться: при ускорении пластик выдавливался с задержкой, образуя недозаполненные участки, а при замедлении — избыточное давление приводило к вытеканию лишнего материала, вызывая наплывы и «шишки» на поверхности.
В 2015 году разработчик прошивки Marlin, Скотт ЛаХут (Scott LaHut), предложил алгоритм, названный Linear Advance, который учитывал упругость пластика и позволял динамически корректировать подачу филамента в зависимости от текущего ускорения или замедления головки. Первая реализация появилась в Marlin 1.1.0 в 2016 году. С тех пор технология была доработана: в Marlin 2.0 была введена версия Linear Advance 2.0, которая улучшила точность компенсации и снизила вычислительную нагрузку на микроконтроллер. Позднее аналогичные алгоритмы были реализованы в прошивках Klipper (под названием Pressure Advance) и RepRapFirmware.
Принцип работы
Физическая основа
При FDM-печати пластик в хот-энде находится в вязкотекучем состоянии. При подаче филамента экструдером материал сжимается, создавая давление, которое выталкивает пластик через сопло. Из-за упругости филамента и эластичности механизма подачи (например, пружины в экструдере) изменение скорости подачи не мгновенно приводит к изменению расхода на выходе из сопла. Это явление называется «реакцией на давление» (pressure response). Linear Advance моделирует эту задержку и вводит поправку в управляющий сигнал экструдера.
Алгоритм
В прошивке задаётся коэффициент Linear Advance (K-фактор), который определяет величину компенсации. Значение K зависит от типа пластика, температуры печати, диаметра сопла, скорости печати и других параметров. Алгоритм работает следующим образом:
- При ускорении головки (например, при начале перемещения по прямой) прошивка увеличивает скорость подачи филамента на величину, пропорциональную ускорению и K-фактору. Это создаёт дополнительное давление, которое компенсирует задержку выхода пластика.
- При замедлении головки (например, перед поворотом) скорость подачи уменьшается ниже номинальной, чтобы снизить давление в сопле и предотвратить вытекание лишнего материала.
- При остановке головки подача может быть полностью прекращена или даже выполнена ретракция (отвод филамента назад) в зависимости от настроек.
В версии Linear Advance 2.0 алгоритм был упрощён: вместо вычисления производной скорости используется прямое масштабирование подачи на основе текущего ускорения, что снижает вычислительную нагрузку и уменьшает шум в управляющих сигналах.
Параметры калибровки
Для корректной работы Linear Advance необходимо правильно подобрать K-фактор. Процедура калибровки включает печать тестовых моделей, таких как линейные паттерны или конусы, при разных значениях K. Оптимальный K-фактор определяется визуально: при слишком низком значении остаются дефекты (недоэкструзия на ускорениях, переэкструзия на замедлениях), при слишком высоком — появляются обратные эффекты (избыточная подача при ускорении, недостаточная при замедлении). Типичные значения K для PLA составляют от 0,05 до 0,2, для PETG — от 0,1 до 0,3, для ABS — от 0,2 до 0,5. Точные значения зависят от конкретного принтера, экструдера и настроек печати.
Реализация в прошивках
Marlin
В прошивке Marlin Linear Advance включается в конфигурационном файле Configuration_adv.h установкой параметра LIN_ADVANCE. Для версии 2.0 используется ADVANCED_PAUSE_FEATURE и LIN_ADVANCE_K для задания K-фактора. Marlin поддерживает как Linear Advance 1.0, так и 2.0, причём версия 2.0 рекомендуется из-за меньшей нагрузки на процессор. В прошивке также предусмотрена возможность динамического изменения K-фактора через G-код M900.
Klipper
В прошивке Klipper аналог Linear Advance называется Pressure Advance. Он реализован в модуле [extruder] с параметром pressure_advance. Klipper использует более сложный алгоритм, основанный на моделировании гидравлического сопротивления в хот-энде. Pressure Advance также требует калибровки, которая выполняется с помощью встроенных скриптов или тестовых моделей.
RepRapFirmware
В RepRapFirmware технология известна как Pressure Advance или Extrusion Advance. Реализация схожа с Marlin, но имеет дополнительные настройки для разных режимов экструдера (например, для Bowden и Direct Drive). В RepRapFirmware также поддерживается автоматическая калибровка с помощью датчика давления в сопле (например, Duet3D).
Применение и влияние на качество печати
Улучшение качества поверхности
Основное преимущество Linear Advance — устранение дефектов, связанных с перепадами скорости. Наиболее заметные улучшения наблюдаются при печати деталей с острыми углами, тонкими стенками и мелкими элементами. Без компенсации на углах часто возникают «шишки» (blobs) и «нити» (strings), а также неровности на поверхности. Linear Advance позволяет получить гладкие углы и равномерную толщину линий.
Снижение времени печати
Благодаря компенсации давления можно увеличить скорость печати без потери качества. Без Linear Advance при высоких скоростях дефекты становятся более выраженными, что вынуждает снижать скорость или использовать ретракцию. С включённой технологией принтер может работать на более высоких ускорениях (например, 3000–5000 мм/с²), что сокращает общее время печати на 10–30% в зависимости от геометрии детали.
Особенности для разных типов экструдеров
- Direct Drive (прямой привод): Экструдер расположен непосредственно над хот-эндом, что минимизирует упругость филамента. Для таких систем K-фактор обычно низкий (0,05–0,15), и эффект от Linear Advance менее выражен, но всё же заметен при высоких скоростях.
- Bowden (дистанционная подача): Филамент проходит через длинную трубку (PTFE), что увеличивает его упругость и задержки. Для Bowden K-фактор может достигать 0,5–1,0, и Linear Advance даёт наибольший прирост качества, особенно при печати с высокими ускорениями.
Критика и ограничения
Linear Advance не лишена недостатков. Основные ограничения включают:
- Вычислительная нагрузка: Алгоритм требует дополнительных вычислений на микроконтроллере принтера. На слабых платах (например, 8-битных Arduino Mega) включение Linear Advance может приводить к пропуску шагов или заиканию движения. Версия 2.0 снизила эту нагрузку, но на старых платах проблемы могут сохраняться.
- Сложность калибровки: Правильный подбор K-фактора требует времени и тестовых моделей. Неправильная настройка может ухудшить качество печати, вызывая обратные дефекты.
- Совместимость с некоторыми материалами: Для гибких или низковязких пластиков (например, TPU) Linear Advance может работать нестабильно, так как их сжимаемость отличается от твёрдых пластиков.
- Влияние на ретракцию: При использовании Linear Advance ретракция может потребовать корректировки, так как компенсация давления изменяет поведение филамента при отводе.
Сравнение с альтернативными методами
Помимо Linear Advance, существуют другие подходы к компенсации неравномерной экструзии:
- Ramming (дозирование): Метод, при котором скорость подачи пластика увеличивается перед остановкой для заполнения зазора. Однако он не учитывает динамику ускорений и замедлений.
- S-Curve Acceleration: Профилирование ускорения с плавным нарастанием и снижением скорости, что уменьшает резкие перепады давления. Этот метод может использоваться совместно с Linear Advance для дополнительного улучшения.
- Adaptive Layer Height: Изменение высоты слоя в зависимости от геометрии, что косвенно влияет на экструзию, но не решает проблему динамического давления.
Linear Advance считается наиболее эффективным методом для компенсации давления в FDM-печати, особенно при высоких скоростях и сложной геометрии деталей.
Источники
- Marlin Firmware Documentation: «Linear Advance» (раздел официальной документации проекта Marlin).
- Klipper Documentation: «Pressure Advance» (документация прошивки Klipper).
- RepRap Firmware Wiki: «Pressure Advance» (описание технологии в RepRapFirmware).
- LaHut, S. (2016). «Linear Advance: A New Feature in Marlin» (блог разработчика).
- Обсуждения на форумах 3D-печати (например, Reddit r/3Dprinting, Prusa Forum) по калибровке и настройке Linear Advance.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →