К содержимому

Башня Pressure Advance

Готовый файл: одностенная башня 40 × 40 × 60 мм. Значение растёт с высотой, оценивается внешний угол. Скачивай STL или нарезанный G-code — под Marlin с готовыми M900, под Klipper чистый.

STLСкачать модельpa-tower.stl · 5,6 КБ

Какой G-code скачать под свой принтер

Файлы под Marlin и Klipper не взаимозаменяемы: выбери прошивку в поле ниже, имя файла в кнопке поменяется. Что проверить в самой прошивке до печати, сказано сразу под кнопкой.

GCODEСкачать G-codeender3_0.4nozzle_0.20mm_pla_pa-tower_0-2.0K.gcode

Creality Ender-3 · сопло 0.4 мм · PLA · профиль 0,20 мм · K от 0 до 2.0 по высоте, команда M900 (Marlin)

Стенка в этом файле — 0,42 мм, ровно один периметр.

Перед скачиванием сверь имя файла: оно меняется вместе с выбором. Не меняется — скрипт не отработал, тогда бери файл из списка ниже.

M900 на Klipper обрывает печать

Klipper команду M900 не реализует вовсе — Pressure Advance задаётся у него через SET_PRESSURE_ADVANCE. На неизвестной команде печать останавливается, а M900 K0 дописана в хвост стартового кода марлиновского файла: принтер успеет прогреться, припарковаться и выложить линию прочистки — и встанет перед самой деталью. Для Klipper бери вариант с -klipper в имени.

Marlin — только с LIN_ADVANCE

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, которую ты выполняешь в консоли до запуска печати.

Сверь принтер и соплоВ файле стартовые команды конкретной машины: парковка, прогрев, лимиты ускорений, координаты стола. На чужих принтерах мы эти файлы не печатали — профили официальные, из поставки PrusaSlicer, но железо и прошивка у всех свои. Стой рядом первый слой и будь готов прервать печать.
Стартовый код у варианта Klipper свойВендорская преамбула из профиля PrusaSlicer в этот файл не попала целиком: в ней M201, M203, M205, у Prusa ещё M862, G80 и M907, у Elegoo M420 — Klipper не знает ни одной. Вместо неё в файле минимальный старт: единицы, координаты, режим подачи, нагрев стола и сопла с ожиданием, парковка G28 и линия прочистки по краю стола. Вызова PRINT_START в файле нет — ни в одном из наших Klipper-вариантов: преамбула заменена целиком, а не дополнена. Значит не грузится сохранённая карта стола и не применяется SET_GCODE_OFFSET, если он живёт в этом макросе. На типовой конфигурации это первый слой в стол. Открой файл текстовым редактором и впиши PRINT_START первой строкой сам — со своими параметрами, если макрос их принимает.
Чем прерватьШтатно — кнопка отмены в интерфейсе: «Cancel» в OctoPrint, Mainsail и Fluidd, «Stop» на экране принтера. Сопло пошло в стол или потянуло деталь — M112 в консоли: аварийная остановка, гасит нагрев и моторы немедленно. После неё прошивка остаётся в заблокированном состоянии, её надо перезапустить: FIRMWARE_RESTART в Klipper, кнопка reset или переподключение по USB в Marlin.
ABS есть у всех шести машинНарезан он и для открытых Ender-3, но таблица материалов требует ABS закрытую камеру. Башня 60 мм и в один периметр — на сквозняке её ведёт и рвёт по слоям, а углы, ради которых тест и печатают, читать станет нечем. Нет хотя бы короба — калибруй PA на PLA или PETG.
Шапка файлаОткрой .gcode текстовым редактором: в первых строках записаны принтер, сопло, профиль, филамент, для какой прошивки нарезан файл и что сделать до печати — у варианта Klipper там записана готовая команда TUNING_TOWER с посчитанным FACTOR.
Все файлы модели списком

Marlin — M900 прошит в файл

Creality Ender-3

Creality Ender-3 V2

Creality Ender-3 S1

Original Prusa i3 MK3S и MK3S+

Anycubic i3 Mega S

Elegoo Neptune-3 Pro

Klipper — чистая башня, значение задаёт TUNING_TOWER

Creality Ender-3

Creality Ender-3 V2

Creality Ender-3 S1

Original Prusa i3 MK3S и MK3S+

Anycubic i3 Mega S

Elegoo Neptune-3 Pro

С какими параметрами печатать

Нужны обе крайности сразу: на прямой сопло идёт 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: скрипт нарезки переопределяет только скорость периметров, ширину стенки и смену значения по высоте. На геометрии башни это не сказывается — стенка в один периметр, класть второй некуда, а заполнять и накрывать нечего.

Как мерить высоту

1020304050Z, ммсмотретьна уголпоясок через каждые 10 мм
Пояски стоят посередине грани и не доходят до углов: лишний шов рядом с углом сбил бы картину.
Наплыв после углаТолстый уголок, лишний пластик сразу за поворотом — значение мало. Смотреть сбоку, при боковом освещении.
Провал перед угломНедолив на входе в грань, утоньшение линии — значение велико.
Высота ровного участкаСчитай пояски от стола, точную высоту домеряй штангенциркулем и подставляй в калькулятор: он переводит её в значение pressure_advance для Klipper или K для Marlin.
Угол одинаков по всей высотеТест не сработал. Проверь по порядку: команда применилась (в Marlin — прошивка собрана с LIN_ADVANCE), скорость внешнего периметра не срезана профилем, ускорение действительно опустилось до 500 мм/с², а в углах каретка останавливается, а не проскакивает.
Когда калибровать зановоЗначение зависит от связки экструдер — пруток — температура. Смена хотэнда, длины трубки или материала обнуляет результат.

Как изменить модель под себя

Стенка равна ширине линии; в исходнике OpenSCAD и в выложенном STL она по умолчанию 0,45 мм. Слайсер обязан уложить в неё ровно один периметр. Печатаешь с другой шириной — поправь переменную line_width в исходнике и пересобери STL, иначе слайсер либо потеряет стенку, либо положит вторую линию и угол перестанет быть одностенным. Оттуда же меняются высота башни и шаг пояска.