Открыть сервис

Mesh Bed Leveling

Mesh Bed Leveling — это метод автоматической компенсации неровностей рабочей поверхности (стола) в 3D-принтерах, работающих по технологии FDM (Fused Deposition Modeling, моделирование методом послойного наплавления). В отличие от традиционных систем выравнивания, которые стремятся сделать стол идеально горизонтальным, Mesh Bed Leveling создаёт цифровую карту отклонений и корректирует траекторию движения печатающей головки в процессе печати, чтобы расстояние между соплом и столом оставалось постоянным в каждой точке.

История

Проблема неравномерности стола возникла одновременно с появлением первых реп-рап-принтеров (RepRap) в середине 2000-х годов. Ранние модели требовали ручной настройки по трём или четырём точкам с помощью листа бумаги, что было трудоёмко и неточно. С развитием прошивок, таких как Marlin, появились программные методы компенсации.

Первые реализации Mesh Bed Leveling появились в прошивках Marlin около 2013–2014 годов. Изначально они были примитивными: измерялось всего несколько точек, а коррекция применялась линейно. Со временем алгоритмы усложнились: количество точек измерения увеличилось, а методы интерполяции стали более точными. В 2015–2016 годах широкое распространение получили датчики автоматического зондирования (BLTouch, индуктивные датчики), что позволило автоматизировать процесс сбора сетки. Сегодня Mesh Bed Leveling является стандартной функцией практически всех современных прошивок для FDM-принтеров.

Принцип работы

Mesh Bed Leveling основан на создании трёхмерной карты поверхности стола. Процесс включает несколько этапов.

Сбор данных (зондирование)

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

  • Механические датчики: например, BLTouch, который выдвигает щуп и фиксирует момент касания.
  • Индуктивные датчики: реагируют на металлическую поверхность стола.
  • Емкостные датчики: определяют расстояние до любого материала.
  • Датчики на основе пьезоэлементов: фиксируют давление при касании сопла.
  • Датчики нагрузки (load cell): измеряют усилие на сопле.

Измерения выполняются по сетке (grid), обычно от 3×3 до 15×15 точек. Чем больше точек, тем точнее карта, но тем дольше процесс зондирования.

Построение карты (сетки)

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

Интерполяция

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

  • Билинейная интерполяция: учитывает четыре ближайших узла сетки.
  • Бикубическая интерполяция: использует 16 узлов для более гладкой коррекции, но требует больше вычислительных ресурсов.

Коррекция траектории

Прошивка динамически изменяет координату Z (высоту) печатающей головки на каждом шаге движения, добавляя или вычитая поправку. Таким образом, даже если стол имеет наклон или волнистость, расстояние между соплом и столом остаётся постоянным, что обеспечивает равномерное прилипание первого слоя.

Классификация методов

Mesh Bed Leveling можно классифицировать по способу получения данных и по способу хранения карты.

По способу зондирования

  • Ручной: пользователь вручную перемещает головку в каждую точку сетки и регулирует расстояние с помощью бумаги или щупа. Требует времени и внимания.
  • Автоматический: используется датчик, который самостоятельно измеряет все точки. Наиболее распространённый и удобный метод.
  • Полуавтоматический: пользователь задаёт начальную точку, а принтер автоматически обходит все остальные, но измерение выполняется вручную.

По способу хранения карты

  • В оперативной памяти (RAM): сетка создаётся и используется только в текущем сеансе печати. При выключении питания данные теряются. Требует повторного зондирования перед каждой печатью.
  • В энергонезависимой памяти (EEPROM): сетка сохраняется и может быть повторно загружена при следующем включении. Это позволяет выполнять зондирование реже, например, при смене стола или изменении температуры.

Настройка и калибровка

Для корректной работы Mesh Bed Leveling требуется правильная настройка прошивки и калибровка датчика.

Параметры прошивки (на примере Marlin)

В прошивке Marlin настройка выполняется в файле Configuration.h:

  • MESH_BED_LEVELING — включает поддержку ручного выравнивания.
  • AUTO_BED_LEVELING_BILINEAR — включает автоматическое выравнивание с билинейной интерполяцией.
  • AUTO_BED_LEVELING_UBL — включает универсальное выравнивание (Unified Bed Leveling), наиболее гибкий метод.
  • GRID_MAX_POINTS_X — количество точек по оси X.
  • MESH_INSET — отступ от краёв стола, чтобы избежать зондирования за пределами рабочей области.
  • Z_PROBE_OFFSET_FROM_EXTRUDER — смещение между датчиком и соплом по оси Z.

Процесс калибровки

  1. Выравнивание стола: сначала необходимо грубо выровнять стол механически (например, с помощью регулировочных винтов). Mesh Bed Leveling не заменяет механическое выравнивание, а лишь компенсирует оставшиеся неровности.
  2. Калибровка датчика: определяется точное смещение датчика относительно сопла (Z-офсет).
  3. Создание сетки: запускается процесс зондирования (команда G29 в G-коде).
  4. Сохранение сетки: при необходимости сетка сохраняется в EEPROM (команда M500).
  5. Проверка: печатается тестовый квадрат первого слоя для оценки качества.

Преимущества и недостатки

Преимущества

  • Компенсация сложных неровностей: позволяет печатать на столах с волнистостью, вмятинами или перекосом, которые невозможно устранить механически.
  • Автоматизация: значительно сокращает время подготовки к печати, особенно при частой смене столов или материалов.
  • Повышение качества: обеспечивает равномерное прилипание первого слоя по всей площади, снижая риск отслоения и деформации.
  • Совместимость с различными столами: работает с любыми материалами (стекло, алюминий, PEI, BuildTak), если используется подходящий датчик.

Недостатки

  • Зависимость от температуры: тепловое расширение стола может изменять его геометрию, поэтому сетку, созданную на холодном столе, может потребоваться обновить после нагрева.
  • Точность датчика: низкокачественные датчики могут давать нестабильные показания, что ухудшает результат.
  • Время зондирования: создание сетки с большим количеством точек (например, 10×10) может занимать несколько минут.
  • Сложность настройки: требует понимания параметров прошивки и процесса калибровки.
  • Не заменяет механическое выравнивание: при сильном перекосе стола (более 1–2 мм) компенсация может быть неэффективной или привести к ошибкам.

Применение

Mesh Bed Leveling используется в большинстве современных FDM-принтеров, от любительских до промышленных. Особенно актуален он для:

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

Альтернативные методы

Помимо Mesh Bed Leveling, существуют и другие подходы к выравнивания стола:

  • Ручное выравнивание: настройка стола с помощью регулировочных винтов и листа бумаги. Требует навыков и времени, но не требует датчиков.
  • Автоматическое выравнивание по трём точкам: принтер измеряет три точки на столе и вычисляет плоскость. Компенсирует только наклон, но не волнистость.
  • Динамическое выравнивание (Dynamic Bed Leveling): используется в некоторых прошивках, например, в Klipper. Позволяет корректировать траекторию в реальном времени на основе данных с датчика, установленного на столе.
  • Плавающий стол (floating bed): стол подвешен на пружинах или магнитах и может самоустанавливаться относительно сопла. Требует сложной механики.

Интересные факты

  • Первые реализации Mesh Bed Leveling в прошивке Marlin были написаны разработчиком под псевдонимом «thinkyhead».
  • В прошивке Marlin существует три различных режима автоматического выравнивания: AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR и AUTO_BED_LEVELING_UBL. Последний считается наиболее универсальным.
  • Некоторые прошивки, такие как RepRapFirmware, поддерживают создание нескольких сеток для разных температур стола.
  • Mesh Bed Leveling может быть использован не только для компенсации неровностей, но и для печати на наклонных поверхностях.

Источники

  1. Документация прошивки Marlin (раздел «Bed Leveling»).
  2. Документация прошивки Klipper (раздел «Bed Mesh»).
  3. Статья «Mesh Bed Leveling: Everything You Need to Know» на портале All3DP.
  4. Статья «How to Use Mesh Bed Leveling» на портале 3D Printing Stack Exchange.
  5. Обсуждения на форумах RepRap и Reddit (r/3Dprinting).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →