Башня Pressure Advance
Готовый файл: одностенная башня 40 × 40 × 60 мм. Значение растёт с высотой, оценивается внешний угол. Скачивай STL или нарезанный G-code — под Marlin с готовыми M900, под Klipper чистый.
STLСкачать модельpa-tower.stl · 5,6 КБКакой G-code скачать под свой принтер
Файлы под Marlin и Klipper не взаимозаменяемы: выбери прошивку в поле ниже, имя файла в кнопке поменяется. Что проверить в самой прошивке до печати, сказано сразу под кнопкой.
Creality Ender-3 · сопло 0.4 мм · PLA · профиль 0,20 мм · K от 0 до 2.0 по высоте, команда M900 (Marlin)
Стенка в этом файле — 0,42 мм, ровно один периметр.
Перед скачиванием сверь имя файла: оно меняется вместе с выбором. Не меняется — скрипт не отработал, тогда бери файл из списка ниже.
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=0.0333
Выполни обе строки в консоли Klipper до запуска печати. Первая срезает ускорения и скорость на углах — без неё эффект PA на башне не разглядеть; вторая задаёт правило: значение растёт от нуля у стола и прибавляет FACTOR на каждый миллиметр высоты.
Ускорение из консоли переживёт не каждый файл. SET_VELOCITY_LIMIT перебивается командой M204 — Klipper её выполняет. У Creality в файле стоит M204 S500, то есть ровно то, что нужно; у Prusa MK3S и Anycubic i3 Mega S — M204 S1000 и M204 S800, они поднимут ускорение обратно уже на первых слоях. На этих двух машинах выставь ускорение не командой, а в самом файле: замени в нём оба M204 на M204 S500. У Elegoo Neptune-3 Pro M204 в файле нет — SET_VELOCITY_LIMIT держится сам. SQUARE_CORNER_VELOCITY M204 не трогает, полная остановка в углах остаётся при любой машине.
После теста TUNING_TOWER надо снять. Правило живёт до перезапуска прошивки и меняет Pressure Advance по высоте на любой следующей печати. Сбрасывается FIRMWARE_RESTART в консоли — он же вернёт рабочие лимиты скорости. Найденное значение до этого впиши в printer.cfg, иначе оно тоже пропадёт.
Klipper команду M900 не реализует вовсе — Pressure Advance задаётся у него через SET_PRESSURE_ADVANCE. На неизвестной команде печать останавливается, а M900 K0 дописана в хвост стартового кода марлиновского файла: принтер успеет прогреться, припарковаться и выложить линию прочистки — и встанет перед самой деталью. Для Klipper бери вариант с -klipper в имени.
M900 выполняет прошивка, собранная с LIN_ADVANCE. В стоковой прошивке Creality он обычно выключен: там команда пройдёт молча, без ошибки, и башня выйдет одинаковой по всей высоте. Такой результат читается как «PA ничего не меняет», хотя значение просто не применялось. Молчание — случай именно Marlin без LIN_ADVANCE; Klipper на той же строке печать остановит.
Команды M204 P500 мы в файл не добавляли, там осталось то, что кладёт стоковый профиль. У всех трёх Creality это M204 S500 — как раз то, что нужно тесту, и делать ничего не надо. У Prusa MK3S и MK3S+ и у Anycubic i3 Mega S в файле M204 S1250 в стартовом коде и M204 S1000 и M204 S800 по ходу печати; у Elegoo Neptune-3 Pro M204 нет вовсе, и ускорение остаётся тем, что стоит в прошивке.
На MK3S и i3 Mega S открой файл текстовым редактором и замени все M204 S… на M204 S500 — правка на три строки. Отправить M204 P500 с консоли перед печатью не поможет: файл перебьёт значение своей командой на первых же слоях. На Neptune-3 Pro перебивать нечего — впиши M204 P500 отдельной строкой сразу после стартового кода.
Та же башня, уже нарезанная под конкретную машину профилем 0,20 мм из поставки PrusaSlicer. Стенка пересобрана под ширину линии выбранного сопла, чтобы слайсер уложил в неё ровно один периметр. Размер файла — 0,35–0,5 МБ.
Файлов два, и они не взаимозаменяемы. В марлиновском значение K растёт линейно по высоте командой M900 — от нуля у стола до верха диапазона на макушке; у боудена это 2,0, у директа 0,15. В файле для Klipper команд PA нет: там голая башня, а значение перебирает сама прошивка по TUNING_TOWER, которую ты выполняешь в консоли до запуска печати.
M201, M203, M205, у Prusa ещё M862, G80 и M907, у Elegoo M420 — Klipper не знает ни одной. Вместо неё в файле минимальный старт: единицы, координаты, режим подачи, нагрев стола и сопла с ожиданием, парковка G28 и линия прочистки по краю стола. Вызова PRINT_START в файле нет — ни в одном из наших Klipper-вариантов: преамбула заменена целиком, а не дополнена. Значит не грузится сохранённая карта стола и не применяется SET_GCODE_OFFSET, если он живёт в этом макросе. На типовой конфигурации это первый слой в стол. Открой файл текстовым редактором и впиши PRINT_START первой строкой сам — со своими параметрами, если макрос их принимает.M112 в консоли: аварийная остановка, гасит нагрев и моторы немедленно. После неё прошивка остаётся в заблокированном состоянии, её надо перезапустить: FIRMWARE_RESTART в Klipper, кнопка reset или переподключение по USB в Marlin..gcode текстовым редактором: в первых строках записаны принтер, сопло, профиль, филамент, для какой прошивки нарезан файл и что сделать до печати — у варианта Klipper там записана готовая команда TUNING_TOWER с посчитанным FACTOR.Все файлы модели списком
Marlin — M900 прошит в файл
Creality Ender-3
Creality Ender-3 V2
- ender3v2_0.4nozzle_0.20mm_pla_pa-tower_0-2.0K.gcode
- ender3v2_0.4nozzle_0.20mm_petg_pa-tower_0-2.0K.gcode
- ender3v2_0.4nozzle_0.20mm_abs_pa-tower_0-2.0K.gcode
- ender3v2_0.6nozzle_0.20mm_pla_pa-tower_0-2.0K.gcode
- ender3v2_0.6nozzle_0.20mm_petg_pa-tower_0-2.0K.gcode
- ender3v2_0.6nozzle_0.20mm_abs_pa-tower_0-2.0K.gcode
Creality Ender-3 S1
- ender3s1_0.4nozzle_0.20mm_pla_pa-tower_0-0.15K.gcode
- ender3s1_0.4nozzle_0.20mm_petg_pa-tower_0-0.15K.gcode
- ender3s1_0.4nozzle_0.20mm_abs_pa-tower_0-0.15K.gcode
- ender3s1_0.6nozzle_0.20mm_pla_pa-tower_0-0.15K.gcode
- ender3s1_0.6nozzle_0.20mm_petg_pa-tower_0-0.15K.gcode
- ender3s1_0.6nozzle_0.20mm_abs_pa-tower_0-0.15K.gcode
Original Prusa i3 MK3S и MK3S+
Anycubic i3 Mega S
Elegoo Neptune-3 Pro
Klipper — чистая башня, значение задаёт TUNING_TOWER
Creality Ender-3
- ender3_0.4nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3_0.4nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3_0.4nozzle_0.20mm_abs_pa-tower-klipper.gcode
- ender3_0.6nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3_0.6nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3_0.6nozzle_0.20mm_abs_pa-tower-klipper.gcode
Creality Ender-3 V2
- ender3v2_0.4nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3v2_0.4nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3v2_0.4nozzle_0.20mm_abs_pa-tower-klipper.gcode
- ender3v2_0.6nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3v2_0.6nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3v2_0.6nozzle_0.20mm_abs_pa-tower-klipper.gcode
Creality Ender-3 S1
- ender3s1_0.4nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3s1_0.4nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3s1_0.4nozzle_0.20mm_abs_pa-tower-klipper.gcode
- ender3s1_0.6nozzle_0.20mm_pla_pa-tower-klipper.gcode
- ender3s1_0.6nozzle_0.20mm_petg_pa-tower-klipper.gcode
- ender3s1_0.6nozzle_0.20mm_abs_pa-tower-klipper.gcode
Original Prusa i3 MK3S и MK3S+
Anycubic i3 Mega S
Elegoo Neptune-3 Pro
С какими параметрами печатать
- Габарит40 × 40 × 60 мм
- Высота слоя0,2 мм
- Периметры1
- Верх и низ0 слоёв
- Заполнение0 %
- Скорость внешнего периметра80–100 мм/с
- Ускорение500 мм/с², командой
- Углыполная остановка
- Поддержкине нужны
Нужны обе крайности сразу: на прямой сопло идёт 80–100 мм/с, в углу останавливается полностью. Перепад давления между этими двумя состояниями и рисует наплыв, который тест ищет. Ускорение при этом занижают до 500 мм/с² намеренно: до 100 мм/с сопло выходит за 10 мм пути, а на рабочих 2000 — за 2,5 мм. На длинной зоне разгона разницу между ступенями видно глазом, на короткой она умещается в толщину шва. В Klipper и то, и другое ставит SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500, в Marlin — M204 P500. Порядок и разбор — на странице Pressure Advance.
Это параметры для самостоятельной нарезки из STL. В готовом G-code выше стоит стоковый профиль вендора целиком — периметров 3, заполнение 15 %, верх 5 слоёв, низ 4: скрипт нарезки переопределяет только скорость периметров, ширину стенки и смену значения по высоте. На геометрии башни это не сказывается — стенка в один периметр, класть второй некуда, а заполнять и накрывать нечего.
Как мерить высоту
pressure_advance для Klipper или K для Marlin.LIN_ADVANCE), скорость внешнего периметра не срезана профилем, ускорение действительно опустилось до 500 мм/с², а в углах каретка останавливается, а не проскакивает.Как изменить модель под себя
Стенка равна ширине линии; в исходнике OpenSCAD и в выложенном STL она по умолчанию 0,45 мм. Слайсер обязан уложить в неё ровно один периметр. Печатаешь с другой шириной — поправь переменную line_width в исходнике и пересобери STL, иначе слайсер либо потеряет стенку, либо положит вторую линию и угол перестанет быть одностенным. Оттуда же меняются высота башни и шаг пояска.