Паузы и точки на шве: почему принтер замирает на смене слоя и что проверить в G-code - Блог Папы Карло

Опубликовано: 5 месяцев назад
Просмотров: 78

Привет. Тут история старая как мой ящик с соплами: деталь печатается ровно, потом в одном и том же месте появляется точка на шве, а принтер на каждом новом слое как будто делает микрозадумчивость. В девяти случаях из десяти причина сидит либо в G-code, либо в профиле слайсера, который сам велит голове подождать, остыть, припарковаться или снять кадр для таймлапса. Ниже я покажу, где это ловить, какие команды искать, и дам короткий чек-лист, чтобы не ковырять принтер вслепую.

Сразу суть: если остановка повторяется почти на каждом слое и точка вылезает в одной вертикальной линии, первым делом смотри команды G4, M400, M0, M1, M600, M109, M190, @pause, PAUSE и всё, что связано с timelapse, сменой филамента и layer change g-code. Если G-code чистый, тогда копай в минимальное время слоя, охлаждение, power loss recovery, скорость внешней стенки и настройки шва.

Содержание:

Почему пауза почти всегда садится именно в шов

У FDM-печати есть простая физика: каждый слой где-то начинается и где-то заканчивается. Эта точка старта и финиша и есть шов. Когда принтер делает паузу прямо в момент завершения периметра, пластик продолжает чуть давить из сопла, температура на месте держится, и на стенке вырастает маленький прыщ, капля или жирная точка. На цилиндрах это видно моментально, на корпусах с плоской стенкой — тоже, особенно на матовом PLA и блестящем PETG.

Я в мастерской обычно смотрю так: если след стоит ровной колонной, значит проблема привязана к смене слоя или к настройке seam. Если след хаотичный, значит чаще виноваты температура, откат, влажный пруток, пульсирующая подача или механика. На эту тему у меня уже есть полезные разборы про подтёки и блобы на внешней стенке и про пульсирующую экструзию. Там уже копаем глубже в подачу и терморежим.

Ещё один частый момент: шов сам по себе нормальный, а точка появляется именно после микропаузы. Тогда ищи не «плохой пластик», а сценарий, который вшит в слой. Это может быть команда задержки, ожидание завершения буфера движений, ожидание температуры, парковка головы для снимка или пауза на смену материала.

3D-принтер печатает цилиндр, на шве видны точки после коротких остановок

Что смотреть в G-code первым делом

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

Что вбивать в поиск по файлу:

  • G4
  • M400
  • M0
  • M1
  • M600
  • M109
  • M190
  • M25
  • @pause
  • PAUSE
  • TIMELAPSE
  • LAYER_CHANGE
  • AFTER_LAYER_CHANGE
  • BEFORE_LAYER_CHANGE

Особенно интересно всё, что стоит рядом с комментариями слоя. Обычно там есть метки вида ;LAYER_CHANGE, ;LAYER: или что-то похожее. Смотри несколько строк до и после этой зоны. Если перед каждым новым слоем вставлен одинаковый блок, ты уже почти поймал виновника.

;LAYER_CHANGE
G92 E0
G1 E-0.8 F2400
G1 Z0.2 F900
G4 P2000
M400
G1 X5 Y220 F9000
; next layer

Вот такой кусок уже пахнет приключениями. G4 P2000 даст явную задержку на 2 секунды. M400 сам по себе паузой на секунды обычно не является, но заставляет прошивку дождаться, пока все движения из буфера будут выполнены. Если рядом стоит парк головы, снимок камеры или ожидание температуры, визуально это и выглядит как зависание на смене слоя.

Если печатаешь через OctoPrint, Mainsail, Fluidd или другой хост, посмотри не только сам G-code, но и макросы. У Klipper команда PAUSE может тянуть за собой целый скрипт: отвод головы, подъём по Z, сообщение на экран и возврат через RESUME. У OctoPrint похожую пакость могут давать строки @pause или плагины таймлапса. Если у тебя активирован красивый ролик, где деталь будто растёт из стола, имей в виду: такая красота нередко стоит тебе точек на шве.

Какие команды реально тормозят печать

Ниже моя короткая таблица подозреваемых. Её я держу в голове почти на автомате.

Команда Что делает Как выглядит на детали Где обычно всплывает
G4 Ждёт заданное время Ровная пауза, жирная точка на шве Скрипты паузы, таймлапс, кастомный layer change
M400 Ждёт завершения буфера движений Микрозадержка, особенно рядом с парком головы Макросы, кастомный G-code, сервисные вставки
M0 / M1 Останавливает печать до подтверждения Явная пауза, шов с наплывом Смена цвета, вставка гайки, ручная операция
M600 Смена филамента Пауза на слое, затем след и иногда недодав Многоцветка, вставка акцента, постобработка
M109 / M190 Ждёт температуру хотэнда или стола Пауза со стабилизацией нагрева, иногда блоб Неправильные скрипты, автосмена температуры
M25 Пауза печати с карты Остановка на слое Ручные вставки и сервисные сценарии
@pause / PAUSE Команда для хоста или макроса Голова паркуется, шов жирнеет OctoPrint, Klipper, timelapse, пользовательские макросы

Есть ещё серые кардиналы. Например, ты не видишь явной команды паузы, зато встречаешь что-то вроде TIMELAPSE_TAKE_FRAME, парковку в угол, возврат, ожидание завершения движения и только потом старт нового слоя. Формально «паузы» нет, а по факту сопло зависает в одной логической точке цикла и даёт ту самую бусину на шве.

Если работаешь в Cura, глянь постобработку. Скрипт Pause at Height, смена цвета и похожие вещи любят тихо дописывать команды в файл. В PrusaSlicer и OrcaSlicer смотри секции custom G-code до и после смены слоя. А если ты давно борешься именно со следом старта/финиша периметра, советую мой материал про настройку шва в OrcaSlicer.

Когда виноват не G-code, а профиль

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

Первый кандидат — минимальное время слоя. На маленьких башнях, штырях, фигурках и тонких цилиндрах слайсер может нарочно замедлять слой, чтобы пластик успевал остывать. Визуально это выглядит как «почему моя стенка вдруг печатается еле-еле, хотя скорость стоит 120». И вот именно в шве начинает копиться точка. Если объект мелкий, это вообще классика жанра.

Второй кандидат — охлаждение. Когда слой короткий, слайсер душит скорость, а слабый обдув усиливает эффект. На PLA это даёт мягкий блоб, на PETG — липкую бусину, на ABS — уже совсем другой рисунок, но логика та же. Тут пригодится мой материал про обдув для PLA, PETG и TPU.

Третий кандидат — скорость внешней стенки и давление в сопле. Бывает так: слой завершился, экструдер ещё давит, wipe слабый, linear advance или pressure advance не добиты, и на старте следующего периметра остаётся капля. Тогда принтер вроде не замирает, а след очень похож на след от паузы. Если в картинке ещё и глянец прыгает по стенке, проверь скорость, поток и компенсацию давления.

Четвёртый кандидат — seam position. При настройке Random следы размазываются по всей окружности и кажутся «прыщами откуда угодно». При Aligned они строятся в одну линию, и кажется, что в одном месте сидит баг. Сам по себе aligned seam не проблема, но он отлично показывает всё, что происходит в точке старта слоя.

Ещё совет из практики: если деталь мелкая, поставь рядом вторую такую же или добавь башню для продувки. Время слоя вырастет, сопло будет гулять между объектами, и станет ясно, это реальная пауза из G-code или обычное замедление ради охлаждения. Заодно будет проще отделить тему шва от общей настройки скорости печати и качества.

Что проверить в прошивке, хосте и железе

Теперь мой любимый момент. Все смотрят на слайсер, а собака иногда зарыта совсем рядом.

  • Проверь, не включено ли восстановление печати после сбоя питания. На ряде прошивок эта функция периодически пишет состояние задания на карту памяти. На медленной или уставшей microSD это может вылезать микрофризами.
  • Если печать идёт через хост, временно отключи timelapse, плагины камеры и кастомные макросы паузы.
  • Смени карту памяти. Я не шучу: битая или медленная карта иногда рисует такие фокусы, что начинаешь ругаться на механику, хотя виноват носитель.
  • Проверь, не гуляет ли температура хотэнда. Если PID кривой, прошивка может дольше ловить нужный нагрев после вставок в G-code.
  • Оцени подачу пластика. Когда шестерня проскальзывает или сопло на грани засора, шов становится жирнее на каждом старте.

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

Как я обычно лечу точки на шве

Вот мой рабочий порядок. Он выручал и на простых «дрыгостолах», и на вполне бодрых CoreXY.

  1. Делаю тестовый цилиндр или квадратную башню на 20–30 мм по высоте.
  2. Сохраняю свежий G-code и ищу все подозрительные команды вокруг layer change.
  3. Выключаю timelapse, паузу на высоте, смену цвета и кастомный after layer change code.
  4. Ставлю нормальное фиксированное положение шва, чтобы видеть один и тот же участок стенки.
  5. Понижаю температуру на 5–10 °C, если материал это позволяет, и проверяю откат.
  6. Смотрю минимальное время слоя и минимальную скорость печати маленьких слоёв.
  7. Делаю повторный прогон с другой картой памяти или с другим способом подачи файла.

Если после этого точка ушла, значит проблема была программная. Если пауза исчезла, а маленький след остался, тогда уже правим шов, wipe, pressure advance, flow ratio и температуру. Кстати, по теме потока и поведения внешней стенки пригодится мой разбор Pressure Equalizer в PrusaSlicer и OrcaSlicer.

И ещё штука, которую я реально советую: веди короткий журнал печати. Дата, пластик, температура, профиль, карта памяти, была ли камера, были ли макросы. Через неделю ты уже не вспомнишь, на каком тесте у тебя был активен timelapse, а на каком нет. Для этого у меня тоже есть отдельный материал про журнал печати.

Вывод

Если 3D-принтер замирает на смене слоя и в этом же месте растёт точка на шве, не спеши крутить всё подряд. Сначала копай в G-code и сценарий печати: паузы, ожидания, смену филамента, таймлапс, температуру, layer change макросы. Потом смотри профиль: минимальное время слоя, охлаждение, положение шва, скорость внешней стенки и давление в сопле. И только потом добирайся до железа.

Я бы сформулировал совсем просто: ровная вертикальная линия дефекта почти всегда намекает на повторяемое событие. А повторяемое событие в 3D-печати очень любит жить либо в смене слоя, либо в логике G-code. Поймал это — считай, половину ремонта уже сделал.

Метки: , , , , , , , , ,