Подробный гайд по калибровке карты стола 3D-принтера

Подробный гайд по калибровке карты стола 3D-принтера: настройка Z-Offset, прошивок Marlin и Klipper, слайсеров и Fade Height для первого слоя.

2026.10.17                  


Подробный гайд по калибровке карты стола 3D-принтераПодробный гайд по калибровке карты стола 3D-принтера Построение карты стола (Bed Mesh) — это один из важнейших этапов настройки 3D-принтера, который превращает печать из лотереи в стабильный процесс. Даже на самых ровных столах (стекло, PEI-листы) есть микроискривления, а термическое расширение при нагреве только усугубляет ситуацию. Карта стола компенсирует эти неровности, динамически подстраивая высоту сопла (ось Z) во время печати первого слоя.


ЭТАП 0. Подготовка и типы датчиков (ABL)

Прежде чем строить карту, принтер должен быть оснащен датчиком автоуровня (Auto Bed Leveling)



Индуктивные / Емкостные:

Бесконтактные. Индуктивные видят только металл (отлично для магнитных листов на стали), емкостные видят любую поверхность (включая стекло), но чувствительны к влажности и пыли.

BLTouch / CR-Touch / Micro-Switch:

Контактные. Физически касаются стола. Самые точные, работают на любом материале.

Тензодатчики (как на Bambu Lab или Prusa MK4):

Стол сам «стучит» по соплу. Идеальная точность.


Важное правило:

Перед любым построением карты стола всегда очищайте сопло от остатков пластика. Наплавившийся пластик исказит показания датчика на 0.1–0.3 мм, что приведет к «каше» на первом слое.


ЭТАП 1. Калибровка Z-Offset (Смещение по оси Z)

Это самый критичный шаг. Z-Offset — это разница по высоте между точкой срабатывания датчика и реальным кончиком сопла:

  1. Нагрейте стол до рабочей температуры (например, 60°C для PLA). Металл и стекло расширяются при нагреве, и карта, снятая «на холодную», будет врать.
  2. Домой (Home): Отправьте принтер в домашнюю позицию (G28).
  3. Режим калибровки:
    • В Marlin: используйте команду M851 (или меню Configuration -> Advanced Settings -> Probe Z Offset).
    • В Klipper: используйте консольную команду PROBE_CALIBRATE (для датчиков) или Z_ENDSTOP_CALIBRATE (если концевик Z на столе).
  4. Тест с бумагой: Подложите лист бумаги А4 под сопло. Опускайте Z-Offset с шагом 0.05 мм (а затем 0.01 мм), пока бумага не начнет проходить под соплом с легким, приятным сопротивлением (царапанием).
  5. Сохранение: Сохраните значение в память (M500 для Marlin, SAVE_CONFIG для Klipper).

ЭТАП 2. Настройка прошивки (Сетка и алгоритмы)

Вам нужно задать принтеру границы, в которых он будет «щупать» стол, чтобы датчик не уехал за пределы стола или не ударился о клипсы.

Для Marlin (файл Configuration.h)

Рекомендуется использовать UBL (Unified Bed Leveling) вместо Bilinear, так как UBL умнее работает с границами и позволяет сохранять несколько профилей^

#define AUTO_BED_LEVELING_UBL // Включить UBL
#define GRID_MAX_POINTS_X 7   // Сетка 7х7 (49 точек) - золотой стандарт
#define GRID_MAX_POINTS_Y 7

// Ограничения зоны зондирования (учитывайте офсеты датчика XY!)
#define MESH_INSET 10         // Отступ от краев стола (например, 10 мм)
#define MIN_PROBE_EDGE 15     // Минимальный отступ, чтобы датчик не съехал

Для Klipper (файл printer.cfg)

В разделе [bed_mesh] укажите параметры:

[bed_mesh]
speed: 150                   # Скорость перемещения между точками
horizontal_move_z: 5         # Высота подъема при переезде между точками
mesh_min: 20, 20             # Левый нижний угол зоны сканирования (X, Y)
mesh_max: 210, 210           # Правый верхний угол (для стола 235х235)
probe_count: 7, 7            # Сетка 7х7
algorithm: bicubic           # Алгоритм сглаживания (bicubic лучше, чем lagrange для плотных сеток)
fade_start: 1.0              # С какого слоя начать сглаживать коррекцию
fade_end: 10.0               # На какой высоте полностью выключить коррекцию

ЭТАП 3. Процесс построения карты (Probing)

  1. Нагрейте стол и дайте ему «прогреться» 5–10 минут, чтобы компенсировать тепловое расширение.
  2. Очистите сопло.
  3. Запустите процесс:
    • Marlin (UBL): В меню принтера выберите Motion -> UBL -> Step 1: Invalidate All (очистить старую), затем Step 2: Build Mesh. Принтер начнет опускать датчик в 49 точках.
    • Marlin (обычный G-code): Отправьте G28 (домой), затем G29 (запустить зондирование).
    • Klipper: Введите в консоль BED_MESH_CALIBRATE.
  4. Визуализация:

    • В Marlin результат можно посмотреть через меню UBL -> Output UBL Mesh или через хост (OctoPrint/Pronterface).
    • В Klipper через Fluidd или Mainsail вы сразу увидите красивую 3D-карту с цветами (красный — бугры, синий — ямы).

ЭТАП 4. Сохранение и загрузка профиля

Принтер забывает карту после выключения. Ее нужно сохранить и научить слайсер ее подгружать:

  • Marlin: После успешного G29 введите M500 (сохранить в EEPROM).
  • Klipper: После BED_MESH_CALIBRATE введите SAVE_CONFIG. Профиль сохранится как default.

ЭТАП 5. Настройка Слайсера (Cura, OrcaSlicer, PrusaSlicer)

Слайсер должен знать, что принтеру нужно загрузить карту стола перед началом печати. Для этого правим Стартовый G-код (Start G-code).


В Marlin:

Найдите в слайсере раздел Printer Settings -> G-code -> Start G-code. Добавьте команду M420 S1 (или G29, если вы хотите перестраивать карту перед каждой печатью, что занимает время) сразу после G28 (Home All).


Пример:

G28 ; Home all axes
M420 S1 Z2 ; Включить Bed Leveling State (с затуханием до 2 мм, опционально)
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position

В Klipper:

В Klipper карта загружается отдельной командой.

Пример:

G28
BED_MESH_PROFILE LOAD="default" ; Загрузить сохраненную карту
# Или используйте адаптивную сетку (только для зоны печати модели):
# BED_MESH_CALIBRATE ADAPTIVE=1

ЭТАП 6. Концепция Fade Height (Высота затухания)

Это критически важный параметр, о котором многие забывают.

Суть:

Если ваш стол имеет форму «чаши» (провал в центре на 0.5 мм), принтер будет опускать сопло в центре. Но если он будет делать это на высоте 50 мм от стола, геометрия вашей модели исказится (деталь получится кривой или с неправильными размерами по осям XY).

Решение: Fade Height (Затухание).

  • Как работает: Вы указываете прошивке, что на высоте, например, 10 мм (обычно это 5-10 слоев) коррекция стола должна плавно сойти на ноль. Выше 10 мм принтер печатает идеально ровно, игнорируя ямы на столе. Первый слой прилегает идеально, а крыша детали не перекашивается.
  • В Marlin: Устанавливается через M420 Z10 (где 10 — высота в мм).
  • В Klipper: Настраивается в printer.cfg параметрами fade_start: 1 и fade_end: 10.

Частые проблемы и их решения (Troubleshooting)

  1. Карта получается «шумной» (резкие перепады высот между соседними точками):
    • Причина: Люфт датчика (BLTouch часто люфтит в каретке), грязь на столе, магнитный лист лежит неровно.
    • Решение: Закрепите датчик жестче (стяжки, термоклей), протрите стол изопропиловым спиртом.
  2. Первый слой в центре вдавливается в стол, а по краям висит в воздухе (при включенной карте):
    • Причина: Снят Z-Offset на холодном столе, а печать идет на горячем. Или датчик "уплывает" от температуры.
    • Решение: Калибруйте Z-Offset и снимайте карту ТОЛЬКО при разогретом до рабочей температуры столе (60°C для PLA, 80°C для PETG, 100°C для ABS).
  3. Сопло трет по столу при движении к точке зондирования:
    • Причина: Параметр horizontal_move_z (высота перемещения между пробами) слишком мал.
    • Решение: Увеличьте horizontal_move_z до 5 или 10 мм.
  4. Klipper выдает ошибку "Probe samples exceed tolerance":
    • Причина: Датчик дает разные показания при повторном касании одной и той же точки.
    • Решение: Увеличьте sample_retract_dist и проверьте механику (ремни, шкивы, люфты оси Z).

Чек-лист:

  1. Чистое сопло.
  2. Горячий стол (термическое расширение).
  3. Точный Z-Offset (с бумагой).
  4. Сетка минимум 5x5 (лучше 7x7).
  5. Включенный M420 S1 или BED_MESH LOAD в стартовом G-коде слайсера.
  6. Настроенное Fade Height на 10 мм.



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


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта