Input Shaping: как убрать эхо после углов и не маскировать механику

Короткий ответ

Input Shaping (англ. «формирование входного сигнала», далее IS) - это математический фильтр в прошивке принтера, который гасит вибрации рамы при резких ускорениях. Без него на высоких скоростях после каждого угла идёт волна-эхо: по детали словно прошлись пальцем по натянутой струне. Эта рябь и называется ringing (звон) или ghosting (тень). В OrcaSlicer есть встроенный калибратор: печатаете башню, измеряете линейкой высоту с самой гладкой поверхностью, вбиваете число в профиль принтера. Полчаса работы - и можно гонять Bambu, Voron или Klipper-кит на полной скорости без потери качества.

Если у Вас Bambu Lab X1C / P1S / A1 / H2D с встроенным акселерометром - IS калибруется автоматически из меню принтера за несколько минут, печатать ничего не нужно. Эта статья для всех остальных: самосборных Voron 2.4, Creality K1 / K2 с Klipper, Marlin-машин и сборок RatRig / Sovol, где акселерометра нет.

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

Что такое ringing и почему он появляется

Каркас 3D-принтера - это не монолит, а конструкция из профилей, болтов и ремней. На каждое резкое ускорение головки рама отвечает упругой вибрацией, как камертон. Частота этой вибрации зависит от жёсткости конструкции и у бытовых FDM-принтеров (англ. Fused Deposition Modeling - печать расплавленной нитью) обычно лежит в районе 25-80 Гц - это ориентир, у конкретной машины значение своё.

Пока скорость низкая, амплитуда вибрации мала и на детали её не видно. Но как только разгоняетесь, после каждого угла рама заводится на своей собственной частоте - и сопло «дрожит» вдоль траектории. Каждый виток дрожи переносится на пластик поперечной волной. Глазом это читается как «отголоски» углов на ровных стенках детали.

Простые способы борьбы - снизить ускорение и jerk (англ. рывок, скорость изменения ускорения) - лечат симптом, но убивают и саму скорость. Input Shaping решает задачу хитрее: прошивка заранее знает резонансную частоту рамы и сглаживает команды моторам так, чтобы вибрация компенсировала сама себя. Условно: вместо одного резкого толчка она даёт два, разнесённых по времени. Первый толчок поднимает волну, второй её гасит. На выходе - чистая стенка на высокой скорости.

Технология пришла из робототехники в Klipper, затем перекочевала в Marlin и в прошивки Bambu. Сейчас IS поддерживают почти все серьёзные машины.

Кому это нужно

Input Shaping имеет смысл калибровать, если хотя бы один пункт про Вас:

Кому НЕ надо тратить время:

Калибровать IS производитель OrcaSlicer советует раз в год или после любых механических изменений: новые ремни, моторы, переезд принтера с одного стола на другой, замена профилей. Износ ремней за активную работу заметно сдвигает резонансную частоту.

Что подготовить перед стартом

Чек-лист «до того как нажать Print»:

  1. Пластик с глянцевой поверхностью. Глянцевый чёрный, серый или красный PLA - идеально. Матовый PETG и шёлковый PLA ringing маскируют, и Вы ничего не увидите на отпечатке.
  2. Откалиброванный flow ratio (коэффициент подачи) и Pressure Advance (компенсация давления в экструдере). Если они кривые - увидите на башне не звон, а дефекты подачи, и измерения будут бесполезны. Порядок калибровок такой: сначала температура, потом flow, потом Pressure Advance, и только потом IS.
  3. Не закрытая камера. Корпус (англ. enclosure - закрытый бокс вокруг принтера) для PLA снимите или откройте - иначе PLA «поплывёт» от перегрева и Вы не разберёте, где звон, а где деформация.
  4. Принтер на штатном месте. Если стол шатается - поставьте на что-то жёсткое и устойчивое, иначе получите резонансы стола, а не принтера.

В OrcaSlicer заранее ничего настраивать не нужно - мастер калибровки сам поднимет ускорение и скорость на время теста, а после вернёт значения в исходные.

Шаг 1. Калибровка частоты

В OrcaSlicer откройте меню Calibration → More → Input shaping. Программа откроет окно с параметрами:

Заполняем:

Жмёте OK, слайсер режет модель и отправляет на принтер. Печать займёт примерно полчаса в зависимости от размера сопла и материала.

Как читать результат

На башне Вы увидите два «крыла» - одно вдоль оси X, второе вдоль Y. Каждое крыло - лесенка с горизонтальными полосами. Каждая полоса напечатана на своей частоте: внизу нижняя граница диапазона, наверху верхняя.

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

Вбиваете число в миллиметрах в поля X height и Y height в окне OrcaSlicer - программа сама посчитает частоту. Получите два значения. Часто частоты по X и Y отличаются - это нормально, потому что подвижные массы по осям разные.

Если на крыле нет ОДНОЙ явно гладкой зоны, а есть две примерно одинаковые - измерьте min и max высоты «приемлемой» зоны и сделайте повторный прогон уже в более узком диапазоне частот. Точность вырастет.

Шаг 2. Калибровка демпфирования (опционально)

После того как нашли частоту, можно отдельно прогнать тест демпфирования (damping ratio - насколько быстро вибрация гаснет). Это тонкая настройка: для большинства принтеров значение по умолчанию уже даёт хороший результат, и Шаг 2 можно пропустить.

Если перфекционизм не отпускает - открывайте тот же мастер, но теперь выбираете Damping calibration. Окно похожее, но с парой отличий:

В поля X frequency и Y frequency подставляете значения, найденные на Шаге 1. Печатаете башню той же логикой:

Измеряете высоту с самым гладким сегментом, вбиваете в окно - получаете два значения демпфирования по X и Y.

Как трактовать результат калибровки

Самый частый ступор выглядит так: башня напечатана, стоит на столе, Вы вертите её в руках - и не понимаете, какое место считать «самым гладким» и какое число вбивать в слайсер. Разберём по порядку.

Что искать глазами

Первое и главное - правильный свет. Поставьте настольную лампу сбоку, почти вровень со столом, чтобы луч скользил по стенке башни под острым углом. При верхнем или фронтальном свете мелкая рябь просто не отбрасывает тени, и Вы её не увидите. Тёмный глянцевый PLA плюс косой свет - и волны проявляются, как рифление на воде.

Что именно Вы ищете: повторяющиеся поперечные волны сразу после выступа на модели, затухающие по мере удаления от него. Главная примета настоящего звона - рисунок ряби повторяет форму выступов-насечек тест-модели. Если дефект на них не похож (идёт строго по одной вертикали, выглядит как наплыв или провал подачи) - это не ringing, а другая болячка: Z-шов (место, где слой замыкается), люфт каретки или проблемы с подачей. Калибровкой IS такое не лечится, и меряете Вы тогда не то.

Если глаза подводят или пластик тёмный - проведите ногтем поперёк стенки, сверху вниз. В зоне звона палец чувствует «стиральную доску», в чистой зоне ноготь идёт ровно. Способ грубее, но на спорных участках решает вопрос.

Нижние несколько миллиметров башни и самую верхушку в расчёт не берите - там краевые эффекты первых слоёв и завершения печати, а не резонанс.

Как выбрать частоту

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

Почему именно середину - вопрос запаса. Шейпер MZV подавляет вибрацию примерно в 20 раз, пока Вы попадаете в ±4% от настоящей частоты, и примерно в 10 раз при отклонении от -10% до +15%. Для частоты 40 Гц это значит: попадание с точностью до пары герц - отлично. Ловить десятые доли герца бессмысленно, а вот встать с краю зоны - значит отдать весь запас в одну сторону и потерять его при первом же изменении в механике.

Как выбрать коэффициент затухания

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

Отсюда практическое правило: если на башне демпфирования чёткой зоны не видно - не мучайтесь, ставьте 0,1. Это значение по умолчанию в Klipper, и выбрано оно не случайно: расчётные диапазоны шейперов вокруг него покрывают реальные коэффициенты большинства бытовых принтеров.

Правильно найденная частота даёт основную часть результата, демпфирование - только доводку. Не переставляйте его туда-сюда, если базовая проблема со звоном ещё не решена.

Если чёткой границы не видно

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

Если результат каждый раз разный

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

А вот разброс в 10 Гц и больше означает, что принтер физически разный от прогона к прогону. Проверяйте по порядку:

  1. Принтер не прогрет. Резонансная частота зависит от натяжения ремней и геометрии рамы, а те заметно меняются от температуры. Холодный принтер и принтер после часа печати - две разные машины. Прогрейте стол и камеру до условий, близких к рабочей печати, и только потом запускайте тест.
  2. Ремни и крепёж. Ремень, который «уходит» между прогонами, - это не вопрос калибровки. Натяжение должно держаться, винты кареток и шкивов - быть затянуты.
  3. Меняется масса и опора. Полная катушка на кронштейне рамы и пустая - разная нагрузка на конструкцию. Полка, которая качается, когда рядом кто-то ходит, добавляет свои частоты. Держатель катушки лучше вынести с рамы на отдельную стойку.
  4. Условия прогонов не совпадают. Другой пластик, другая скорость, другое ускорение, другой Shaper Type - и результат честно будет другим. Меняйте что-то одно.

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

Шаг 3. Сохраняем настройки

Теперь главное - закрепить результат, иначе после следующего перезапуска принтера всё откатится. Сначала обязательно сбросьте ускорение и jerk в окне OrcaSlicer обратно к своим рабочим значениям (мастер калибровки задирал их специально для теста).

Дальше есть два места, куда нужно сохранить.

Вариант 1: профиль принтера в OrcaSlicer (Marlin / RepRap)

Идёте в Printer Settings → Motion ability → Resonance Compensation:

Вбиваете Type, X frequency, Y frequency, X damping, Y damping. Слайсер при каждой нарезке будет сам вставлять команды в G-код.

Вариант 2: команды в стартовом G-коде принтера

Если хотите, чтобы настройки жили в самом принтере (надёжнее - не зависит от слайсера), пропишите команды в Machine start G-code.

Для Klipper (большинство Voron, Creality K1 / K2, Sovol SV08, RatRig) - подставьте свои значения частот и демпфирования:


SET_INPUT_SHAPER SHAPER_TYPE=MZV SHAPER_FREQ_X=37.5 DAMPING_RATIO_X=0.1 SHAPER_FREQ_Y=37.5 DAMPING_RATIO_Y=0.1

Лучше прописать эти значения прямо в printer.cfg в секцию [input_shaper] (shaper_type_x, shaper_freq_x, shaper_type_y, shaper_freq_y) - тогда они применятся при загрузке прошивки и будут работать всегда.

Для Marlin (многие Ender, старые Anycubic Kobra):


M593 X F37.5 D0.1
M593 Y F37.5 D0.1
M500

Команда M500 критична - она сохраняет настройки в EEPROM принтера, иначе после перезагрузки всё сбросится.

Для RepRap (Duet-платы):


M593 P"ZVD" F37.5 S0.1

Типичные ошибки

Что делать, если идеальной зоны на башне не видно

Иногда после печати тест-башни смотрите - а гладкой зоны вообще нет, везде волны примерно одинаковы. Это означает одну из трёх проблем:

  1. Шаг частоты слишком большой. Сузьте диапазон, и прогон даст более чёткую картину.
  2. Резонанс выше или ниже Вашего диапазона. Расширьте диапазон. Чаще проблема в нижней границе - у тяжёлых самосборных рам резонанс может уехать очень низко. Если он ниже примерно 20-25 Гц, сначала стоит поработать над жёсткостью рамы, а не полагаться только на IS.
  3. Механическая проблема. Сломанный подшипник, расхлябанный болт, ослабленный ремень - никакая математика прошивки это не лечит. Проверьте, что каретки двигаются плавно, ремни натянуты «как струна гитары» (издают чистый звук при щелчке), линейные направляющие без люфта.

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

Что улучшится после калибровки

На бытовых принтерах с правильно настроенным IS Вы получите:

Главный выигрыш - экономия времени. Если печатаете на заказ, рост скорости напрямую увеличивает пропускную способность фермы.

Чеклист

Связанные статьи