Cornering в OrcaSlicer: калибровка углов под свою прошивку

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

Cornering (англ. cornering - прохождение углов) - это то, как принтер ведёт себя в момент смены направления каретки. Если параметр занижен - принтер тормозит на каждом углу, время печати раздувается, а на внешних периметрах могут оставаться бугорки из-за подсасывания пластика на стоп-кадре. Если завышен - каретка пролетает угол по дуге, острая грань превращается в радиус, плюс по корпусу детали идёт ringing (англ. ringing - вибрационное эхо за углом, видно как повторяющуюся «рябь»). Калибровка занимает примерно полчаса одной башенкой и делается раз на принтер, а не на каждый пластик.

В OrcaSlicer тест Cornering сам определяет прошивку и подбирает нужный параметр: square corner velocity для Klipper, Junction Deviation или классический Jerk для Marlin, M566 для RepRapFirmware. Вам остаётся выставить начало и конец диапазона, напечатать башню и измерить штангенциркулем высоту, на которой углы поплыли.

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

Что вообще такое jerk и junction deviation

Представьте, что каретка X/Y едет по прямой, и впереди угол 90°. Чтобы пройти его идеально, ей надо мгновенно остановиться по одной оси и мгновенно стартовать по другой. Физически это невозможно - у двигателей и ремней есть инерция. Принтер либо тормозит заранее (углы чёткие, но печать долгая), либо проходит угол «по диагонали» с какой-то остаточной скоростью (быстро, но углы скруглены).

Параметр, который управляет этой остаточной скоростью на углу, в разных прошивках называется по-разному:

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

Зачем вообще это калибровать

Многие принтеры приезжают с завода с заниженным jerk «для безопасности»: производителю проще получить чёткий куб на витрине, чем разбираться с жалобами на ringing. Из этого следует два эффекта:

  1. Реальная скорость печати ниже паспортной. Если в характеристиках написана высокая скорость, но jerk выставлен низко - на любой детали с углами каретка просто не успевает разгоняться. Паспортные цифры остаются только на длинных прямых.
  2. На внешних периметрах появляются бугорки в углах. Когда каретка тормозит до полной остановки, экструдер по инерции продолжает выдавливать пластик (это лечит Pressure Advance, см. ниже) - и в углу остаётся капля. Полная остановка усугубляет проблему.

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

Если Вы не гоняетесь за скоростью и Вас устраивает текущий результат - этот тест можно пропустить. Это не Flow Rate и не Pressure Advance, без которых детали выглядят плохо. Cornering - это про оптимизацию.

Перед тестом - что подготовить

1. Сначала откалибруйте более базовые вещи. Если Вы ещё не делали Flow Rate (расход пластика) и Pressure Advance (упреждение давления в экструдере) - сделайте сначала их, иначе углы будут плыть от двух факторов сразу и не поймёте, какой откуда. Порядок калибровок описан в статье про куб-калибровку.

2. Возьмите пластик с глянцевой поверхностью. На матовом PLA ringing почти не видно - его маскирует текстура. Подойдёт обычный глянцевый PLA ярких цветов (белый, жёлтый). Чёрный глянец тоже работает, но эхо на нём видно хуже, чем на светлых.

3. Временно завысьте ускорение и скорость. Цель теста - спровоцировать ringing, чтобы было что измерять. Поднимите ускорение и скорость внешних периметров, но не выходите за ограничения производителя. Если на этих значениях принтер начинает физически трясти стол - снизьте до уровня, который он держит без вибраций корпуса.

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

Как пройти тест Cornering в OrcaSlicer

  1. Запустите OrcaSlicer и убедитесь, что выбран Ваш принтер и Ваш профиль материала.
  2. Откройте меню калибровки и выберите тест Cornering (тест прохождения углов). OrcaSlicer сам подскажет, какой параметр он будет калибровать - JD, SCV или Jerk - в зависимости от прошивки Вашего принтера.
  3. Первый прогон - широкий диапазон. Задайте начало, конец и шаг с запасом вокруг типичных значений, например:
  1. Нарежьте модель, отправьте на принтер и дождитесь окончания печати.
  2. Снимите башню, не хватая углы пинцетом - беритесь за тело.

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

На каждом этаже башни напечатан один или два угла, а сбоку - текущее значение параметра (например, JD = 0,032).

Идите глазами снизу вверх. Пока углы чёткие - параметр в пределах нормы. Как только увидел, что:

Второй прогон - точная настройка

Теперь запустите тот же тест второй раз с узким диапазоном вокруг найденного максимума. Например, если на первом прогоне граница оказалась около JD = 0,032 - на втором поставьте старт 0,025, конец 0,040, шаг 0,001.

Это даст разрешение в тысячные доли. Снова измерьте - получите финальную цифру. Берите её с запасом примерно 10% вниз (если граница на 0,034 - ставьте 0,030), потому что не каждый пластик и не каждое сопло одинаково ведут себя в углах.

Куда вписать финальное значение

Есть два варианта, оба рабочие.

Вариант 1: профиль принтера в OrcaSlicer (предпочтительно)

  1. Откройте Printer Settings → Motion Ability → Jerk Limitation (настройки принтера → возможности движения → ограничение рывка).
  2. Для Marlin с JD впишите Junction Deviation по X и Y одинаково.
  3. Для Klipper впишите square corner velocity.
  4. Для Marlin Classic Jerk впишите Jerk X и Jerk Y.
  5. Сохраните профиль.

Плюс этого варианта - настройка живёт в слайсере, путешествует с Вами между компьютерами вместе с профилем и не зависит от прошивки. Захотели вернуть заводские значения для тестов - просто переключили профиль.

Вариант 2: прошить в принтер

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

Klipper (через консоль):


SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=5.0

Чтобы значение пережило перезагрузку - впишите в printer.cfg:


[printer]
square_corner_velocity: 5.0

И выполни RESTART.

Marlin 2 с Junction Deviation:


M205 J0.030
M500

M500 сохраняет настройки в EEPROM (энергонезависимую память принтера), чтобы значение пережило выключение.

Marlin Classic Jerk / Marlin Legacy:


M205 X10 Y10
M500

RepRap / Duet - внимание, тут значения в мм/мин (умножай на 60):


M566 X600 Y600

(это эквивалент 10 мм/с)

После этого верните заводские ускорение и скорость в OrcaSlicer, которые Вы временно поднимали для теста. Иначе на следующей печати высокое ускорение вместе с новым jerk дадут непредсказуемый результат.

Чем различаются прошивки

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

Прошивка Параметр Единицы Ориентировочный диапазон
Klipper square corner velocity мм/с по умолчанию 5, рабочие 5-10
Marlin 2 (новый режим) Junction Deviation мм сотые доли (около 0,008-0,025)
Marlin 2 Classic / Legacy Classic Jerk мм/с 5-15, у CoreXY выше
RepRap / Duet M566 мм/мин значение в мм/с × 60

Диапазоны здесь - ориентиры, а не приговор. Ваше число ищется тестом и зависит от механики конкретного принтера.

Что часто идёт не так

Ringing появляется на всех значениях, даже самых низких. Причина не в jerk, а в механике: разболтанные ремни, люфт направляющих, шатающийся стол. Подтяните ремни, проверьте подшипники - потом возвращайтесь к калибровке.

Углы чёткие, но печать медленная. Проверьте ускорение (acceleration) - это отдельный параметр. Jerk управляет тем, что происходит внутри угла, ускорение - разгоном и торможением на прямой.

Перешли с одного пластика на другой - углы поплыли. Cornering калибруется на принтер, но при переходе с обычного PLA на вязкий PETG или мягкий TPU граница может сдвинуться. Сильнее всего влияют PETG и TPU - под них jerk обычно снижают.

На высоких скоростях детали всё равно «звенят». Это задача для Input Shaping (компенсация резонансов) - отдельной калибровки, которая в Klipper делается через акселерометр. Cornering режет скорость в углах, Input Shaping гасит вибрации корпуса. Подробнее - в статье про Input Shaping.

Cornering vs Pressure Advance - не одно и то же

Эти калибровки часто путают, потому что обе влияют на углы. Разница:

Если бугорок прямо в углу - проблема в Pressure Advance, см. статью про PA. Если угол скруглён или после угла идёт волна - это Cornering, эта статья.

Чеклист

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