Некорректный стартовый G-code на Ender 3 проявляется типичными симптомами: сопло царапает стол при движении в нулевую точку, первая линия продувки печатается в воздухе или пластик не успевает прогреться перед началом модели. Все эти проблемы решаются правкой нескольких строк в настройках слайсера — и для этого не нужно перепрошивать принтер.
Стартовый код — это блок команд, который принтер выполняет перед печатью каждой модели: паркует оси, прогревает хотенд и стол, очищает сопло. В этой статье разберём готовый проверенный вариант для Ender 3, Ender 3 V2 и Ender 3 Pro, объясним назначение каждой команды и покажем, куда вставлять код в популярных слайсерах.
Что делает стартовый G-code и почему стандартный не всегда подходит
Стандартный стартовый скрипт, который Cura подставляет по умолчанию, содержит только базовый минимум: обнуление осей командой G28 и короткую линию продувки у края стола. Для большинства задач этого хватает, но у базового варианта есть слабые места.
Во-первых, нагрев стола и сопла в стоковом скрипте иногда запускается последовательно, что увеличивает время подготовки. Во-вторых, если вы установили датчик автокалибровки BLTouch или CR Touch, в код необходимо добавить команду G29 — без неё карта высот стола просто не построится. В-третьих, линия продувки по умолчанию короткая, и остатки старого пластика могут попасть на первый слой модели.
Хороший стартовый код решает три задачи: безопасный прогрев без касания стола соплом, построение сетки уровня (при наличии датчика) и качественная продувка сопла перед стартом. Ниже — готовый вариант, который закрывает все три пункта.
Готовый стартовый G-code для Ender 3
Этот вариант подходит для Ender 3, Ender 3 Pro и Ender 3 V2 с прошивкой Marlin. Скопируйте блок целиком:
; Ender 3 Start G-codeM140 S{material_bed_temperature_layer_0} ; нагрев стола
M104 S150 ; преднагрев сопла до 150°C без ожидания
G28 ; парковка всех осей
G29 ; автокалибровка (только с BLTouch/CR Touch)
M190 S{material_bed_temperature_layer_0} ; ожидание нагрева стола
M109 S{material_print_temperature_layer_0} ; ожидание нагрева сопла
G92 E0 ; обнуление экструдера
G1 Z2.0 F3000 ; поднять сопло
G1 X2.1 Y20 F5000 ; переход к краю стола
G1 Z0.28 F5000 ; опустить сопло
G1 Y100 E15 F1500 ; линия продувки 100 мм
G1 Y120 E12 F1500 ; вторая линия продувки
G92 E0 ; сброс экструдера
G1 Z2.0 F3000 ; поднять сопло перед печатью
Ключевая идея этого скрипта — двухэтапный нагрев. Сопло сначала греется только до 150 °C: при такой температуре пластик ещё не вытекает и не капает на стол во время калибровки G28/G29. Полный нагрев до рабочей температуры происходит уже после парковки, непосредственно перед продувкой.
💡Если у вас нет датчика автокалибровки, просто удалите или закомментируйте строку G29 — поставьте точку с запятой перед командой: ;G29