Подробный гайд по плагину Bed Level Visualizer и визуализация в самой прошивке Marlin 3D

Плагин Bed Level Visualizer для OctoPrint строит 3D-карту неровностей стола. Marlin не имеет встроенной визуализации, но выводит данные через G29 и M420 V

2026.07.04                  


Подробный гайд по плагину Bed Level Visualizer и визуализация в самой прошивке Marlin 3DПодробный гайд по плагину Bed Level Visualizer и визуализация в самой прошивке Marlin 3D Тема калибровки и визуализации стола — одна из самых важных для получения качественных отпечатков. Давайте разберем ваш запрос на две части: подробный гайд по плагину Bed Level Visualizer (для OctoPrint) и ответ на вопрос, есть ли встроенная визуализация в самой прошивке Marlin.


Часть 1. Есть ли визуализация кривизны стола в самом Marlin?

Краткий ответ: Нет, полноценной 3D-графики в Marlin нет.

Marlin — это «слепая» прошивка, она управляет железом и не имеет графического движка для отрисовки 3D-тепловых карт. Однако в Marlin есть текстовые и 2D-способы просмотра сетки (mesh).


Как посмотреть сетку стола средствами Marlin:

1. Через терминал (G-код):

Отправьте команду M420 V. Принтер выдаст в консоль статус leveling и саму сетку в виде текстовой таблицы (матрицы чисел). Если вы используете UBL (Unified Bed Leveling), команда G29 T выведет подробную текстовую карту высот.


2. Через экран принтера (если есть LCD/TFT):

В меню Marlin можно посмотреть 2D-карту. Обычно путь такой: Menu -> Motion -> Bed Leveling -> Mesh Viewer (или Leveling -> Bed Mesh в новых версиях). Там стол будет показан в виде сетки чисел, где видно, где стол выше, а где ниже.


Вывод:

Чтобы увидеть красивую 3D-карту (тепловую карту), вам обязательно нужна программа-хост (OctoPrint, Repetier-Host, PrusaSlicer и т.д.), которая прочитает текстовый вывод Marlin и нарисует график.


Часть 2. Подробный гайд по плагину Bed Level Visualizer (OctoPrint)

Этот плагин берет данные из Marlin и строит интерактивную 3D-модель кривизны стола.


Шаг 1. Установка плагина

  1. Зайдите в настройки OctoPrint (значок гаечного ключа).
  2. Перейдите в Plugin Manager (Менеджер плагинов) -> Get More (Получить больше).
  3. В поиске введите Bed Level Visualizer.
  4. Нажмите Install, дождитесь окончания и перезагрузите OctoPrint (Restart OctoPrint).

Шаг 2. Настройка плагина для Marlin

Это самый важный этап. Плагин должен «понимать», как именно ваш Marlin отдает данные.

  1. Зайдите в настройки плагина (Settings -> Bed Level Visualizer).
  2. Store Mesh on Printer: Поставьте галочку. Это заставит плагин сохранять сетку в EEPROM принтера (команда M500), чтобы она не сбрасывалась после перезагрузки.
  3. Use G29 to probe: Поставьте галочку.
  4. GCODE Commands for "Update Mesh": Впишите команду, которая запускает автокалибровку. Обычно это просто G29.
5. Regex (Регулярное выражение):
Важно:

В выпадающем списке Stored Mesh Format (или просто в настройках парсинга) выберите Marlin. Плагин автоматически подставит нужные регулярные выражения для парсинга вывода Marlin.

Нюанс:

Если у вас стоит UBL (Unified Bed Leveling), в настройках плагина нужно указать, что используется UBL, и командой для обновления поставить G29 T (или G29 P1 если нужно пересобирать сетку с нуля, но для простого обновления лучше G29 T).

6. Нажмите Save.

Шаг 3. Подготовка Marlin (Прошивка)

Чтобы плагин работал корректно, в Configuration.h вашего Marlin должны быть включены нужные параметры.

* Для обычной сетки (Mesh Bed Leveling / Auto Bed Leveling):

  #define MESH_BED_LEVELING  // или #define AUTO_BED_LEVELING_BILINEAR
  #define EEPROM_SETTINGS    // Обязательно! Иначе сетка не сохранится

* Для UBL (рекомендуется для кривых столов):

  #define AUTO_BED_LEVELING_UBL
  #define EEPROM_SETTINGS

Шаг 4. Использование (Построение карты)

  1. Подключитесь к принтеру в OctoPrint.
  2. На главной странице OctoPrint в виджете Bed Level Visualizer нажмите кнопку Update Mesh now (Обновить сетку сейчас).
  3. Принтер начнет процесс калибровки (пикап, прогрев, движение датчика).
  4. После завершения в виджете появится 3D-график.

Шаг 5. Как читать график

  • Зеленый/Синий цвет: Впадины (стол ниже, чем нужно).
  • Красный/Оранжевый цвет: Возвышенности (стол выше, чем нужно).
  • Цифры на осях: Показывают отклонение в миллиметрах. Например, если разброс от -0.15 до +0.15, значит, стол имеет перепад высот в 0.3 мм.
  • Кнопка "Save Z Offset": Позволяет сохранить глобальный Z-offset, если вы поняли, что вся сетка смещена.
  • Кнопка "Invert": Если цвета инвертированы (красный там, где должно быть синим), нажмите эту кнопку.

Часть 3. Альтернативы (Если вы не используете OctoPrint)

Если вы не хотите ставить OctoPrint, визуализировать сетку Marlin можно другими способами:

1. Repetier-Host (ПК):

В этой программе есть встроенный визуализатор сетки. Он парсит вывод M420 V и строит 3D-карту.

2. PrusaSlicer / OrcaSlicer:

В настройках принтера (Machine G-code) можно прописать скрипты, но нативно они не строят карту из G29. Однако есть сторонние веб-парсеры.

3. Веб-парсеры (Marlin Mesh Visualizer):

В интернете есть сайты (например, bedlevelvisualizer.github.io или аналогичные скрипты на GitHub), куда можно просто скопировать текстовый вывод команды M420 V из терминала, и сайт нарисует 3D-карту.


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

Проблема:

Плагин выдает ошибку "Could not parse mesh data" или график не строится.

Решение:

Зайдите в терминал OctoPrint, отправьте M420 V вручную. Посмотрите, что ответил принтер. Скопируйте этот ответ и проверьте, совпадает ли он с тем, что плагин ожидает (в настройках плагина есть кнопка "Show Mesh Data", можно посмотреть сырой текст). Убедитесь, что в настройках плагина выбран правильный профиль (Marlin, UBL, MBL).


Проблема:

После перезагрузки принтера сетка сбрасывается.

Решение:

В терминале отправьте M420 S1 (включить leveling), а затем M500 (сохранить в EEPROM). В настройках плагина убедитесь, что стоит галочка Store Mesh on Printer.


Проблема:

График выглядит как «плоский лист» или все нули.

Решение:

Скорее всего, в Marlin не скомпилирована поддержка сетки (MESH_BED_LEVELING или AUTO_BED_LEVELING_... закомментированы в Configuration.h), либо датчик стола (BLTouch/Inductive) не работает.


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


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

Комментарии

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