Где определить сетку для билинейного выравнивания в Марлине

Я использую прошивку Marlin 2.0.3 на принтере Anet A8. Я использую настольный нивелир Roko SN04-N NPN. Мне удалось установить 3 точки настольного выравнивания, но я хотел попробовать билинейное выравнивание.

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

Где я могу установить сетку для билинейного выравнивания в конфигурационном файле? Я не нашел эту опцию в файле, и на этот раз Google ничем не помог.

, 👍5

Обсуждение

Определили ли вы " [граничные пределы Z-зонда](/q//8153/)"? Пожалуйста, опубликуйте свои изменения в конфигурации.h и configuratio_adv.h как и в последнем файле, границы задаются в Marlin 2.x; например, #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE. Не публикуя значения, это было бы предположением, что не так. Если вы использовали конфигурационные файлы Anet A8 из [Anet A8 config.](https://github.com/MarlinFirmware/Configurations/tree/master/config/examples/Anet/A8) вы обнаружите, что они являются неполными по отношению к ограничениям стола, эти файлы требуют обновления!, @0scar

@0scar да, я это сделал, и он игнорирует его! [Это моя конфигурация.g](https://pastebin.com/i4jtrk2W) и это [моя конфигурация_adv.h](https://pastebin.com/Vf42M9Ed). Я думаю, что получил конфигурацию для Anet из примеров Marlin, но я не уверен на 100%. Где я должен найти полную настройку?, @vale.maio2

Нет, это не игнорирование, ваши ограничения рабочего стола неверны, я обновил ответ на вашу конкретную проблему. В принципе, ваш левый предел неверен (слишком далеко слева), следовательно, датчик не находится на пластине. Надеюсь, вы можете исправить это сейчас, счастливая печать! :-), @0scar


3 ответа


4

Если вам удалось настроить 3-точечное выравнивание, вы должны иметь возможность включить билинейное выравнивание в прошивке.

В файле configuration.h для прошивки Marlin можно найти следующие параметры:

/**
 * Выберите один из приведенных ниже вариантов, чтобы включить выравнивание стола G29. Параметры
 * и поведение G29 будет меняться в зависимости от вашего выбора.
 *
 * Если вы используете зонд для Z-самонаведения, включите также Z_SAFE_HOMING!
 *
 * - AUTO_BED_LEVELING_3POINT
 * Исследуйте 3 произвольные точки на столе (которые не являются коллинеарными)
 * Вы указываете координаты XY всех 3 точек.
 * В результате получается одна наклонная плоскость. Лучше всего для плоского стола.
 *
 * - AUTO_BED_LEVELING_LINEAR
 * Исследуйте несколько точек в сетке.
 * Вы указываете прямоугольник и плотность точек выборки.
 * В результате получается одна наклонная плоскость. Лучше всего для плоского стола.
 *
 * - AUTO_BED_LEVELING_BILINEAR
 * Исследуйте несколько точек в сетке.
 * Вы указываете прямоугольник и плотность точек выборки.
 * В результате получается сетка, лучше всего подходящая для больших или неровных грядок.
 *
 * - AUTO_BED_LEVELING_UBL (Unified Desk Leveling)
 * Комплексная система выравнивания стола, сочетающая в себе функции и преимущества
 * других систем. UBL также включает в себя интегрированную генерацию сетки, Mesh
 * Системы валидации и редактирования сетки.
 *
 * - MESH_BED_LEVELING
 * Зондирование сетки вручную
 * В результате получается сетка, подходящая для больших или неровных грядок. (См. БИЛИНЕЙНЫЙ.)
 * Для машин без зонда выравнивание сетчатого стола обеспечивает метод выполнения
 * выравнивание ступенчато, так что вы можете вручную регулировать высоту Z в каждой точке сетки.
 * С помощью жидкокристаллического контроллера процесс управляется шаг за шагом.
 */
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

Если вы используете 3-точечное выравнивание, вы включили константу AUTO_BED_LEVELING_3POINT, удалив символы комментария (//):

#define AUTO_BED_LEVELING_3POINT

чтобы включить билинейное выравнивание, вы должны удалить символы комментария перед константой #define AUTO_BED_LEVELING_BILINEAR:

#define AUTO_BED_LEVELING_BILINEAR

Определение сетки производится путем указания количества точек, которые вы хотите иметь, используя константы GRID_MAX_POINTS_X и GRID_MAX_POINTS_Y:

#если ЛИБО(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)

  // Установите количество точек сетки для каждого измерения.
  #define GRID_MAX_POINTS_X 3
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

Приведенный выше код показывает определение по умолчанию сетки из 9 точек (3 x 3).

Обратите внимание, что это будет хорошо работать только в том случае, если правильно определена область безопасного доступа датчика. Если на датчике отсутствует пластина сборки, вы неправильно определили пределы для датчика. Вопрос "Как установить границы Z-зонда в прошивке при использовании автоматического выравнивания стола?" имеет общепринятый ответ, описывающий, как определить область на пластине, которую может достичь датчик (ответ на этот вопрос также обсуждается Marlin 2.x).


В конкретном случае ОП (после размещения конфигурационных файлов)


Из опубликованных конфигурационных файлов можно получить положение зонда:

#define NOZZLE_TO_PROBE_OFFSET { 25, 55, 0 }

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

#if PROBE_SELECTED && !IS_KINEMATIC
  //#define MIN_PROBE_EDGE_LEFT 5
  //#define MIN_PROBE_EDGE_RIGHT 200
  //#define MIN_PROBE_EDGE_FRONT 55
  //#define MIN_PROBE_EDGE_BACK 200
  #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE
  #define MIN_PROBE_EDGE_BACK MIN_PROBE_EDGE
#endif

Из этих выдержек ясно, что границы стола определены неверно.

Следуя теории из этого ответа, зонду разрешается посещать только следующую (темно-красную) область:

Probe area for back-right probe Marlin 2.0.x

Эта область определяется как:

  #define MIN_PROBE_EDGE_LEFT (PROBE_OFFSET_X_FROM_EXTRUDER + MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_FRONT (PROBE_OFFSET_Y_FROM_EXTRUDER + MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE)

что переводится следующим образом:

  #define MIN_PROBE_EDGE_LEFT (25 + MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_FRONT (55 + MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE)

Как видно из комментированных //#define MIN_PROBE_EDGE_LEFT 5 и раскомментированных #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE (равно 10) левых пределов зонда, вы, по крайней мере, соответственно 20 или 15 мм коротки, следовательно, датчик не находится на пластине слева.


,

Я действительно пытался это сделать, но принтер по-прежнему игнорирует смещение зонда и границы зондирования. Я также пробовал [это исправление](https://github.com/MarlinFirmware/Marlin/pull/16367) но все еще прощупывает за пределами стола, @vale.maio2

@vale.maio2 Я обновил ответ, из ваших конфигурационных файлов было ясно, что использовалось неверное значение для левой границы, из-за чего датчик был отключен слева., @0scar

большое вам спасибо за вашу коррекцию, но теперь при выборе автоматического выравнивания он просто исследует центр стола и останавливается там же, как и при печати чего-либо. К сожалению, мне придется вернуться к 3 очкам., @vale.maio2

@vale.maio2 Это означает, что "Z_SAFE_HOMING" активен, странно, что он останавливается... Посмотрите дополнительную информацию о включении двухлинейного выравнивания [здесь](https://3dprint.wiki/reprap/anet/a8/improvement/autobedleveling). Вы также определили правильное смещение Z и установили его с " M851`?, @0scar

да, он активен, но это не проблема с выравниванием на 3 балла. Я ознакомлюсь с этой документацией, но я также обнаружил, что стол абсолютно неровный. Мне нужно сделать это даже кулаком, тогда даже 3-очкового выравнивания должно хватить. Еще раз спасибо вам за ваш вклад., @vale.maio2

@vale.maio2 Обратите внимание, что координаты X 3 точки для 2 левых точек также неверны, но из-за ширины датчика вам удается получить зондирование при X = 20, фактически это должно быть "25 + MIN_PROBE_EDGE"! Обратите внимание, что ответ действительно отвечает на вопрос, где вам нужно настроить точки сетки, жаль, что вы столкнулись с другой проблемой. Пожалуйста, подумайте о принятии ответа, нам нужно сократить список вопросов с неприемлемыми ответами. Счастливой печати! :-), @0scar


0

Примечание для тех, кто просматривает ответ выше, но в версии 2.1.x: Строки #define были переименованы:

#if PROBE_SELECTED && !IS_KINEMATIC
  #define PROBING_MARGIN_LEFT PROBING_MARGIN
  #define PROBING_MARGIN_RIGHT PROBING_MARGIN
  #define PROBING_MARGIN_FRONT PROBING_MARGIN
  #define PROBING_MARGIN_BACK PROBING_MARGIN
#endif
,

1

В настоящее время в версии 2.1.1 это просто

#define PROBING_MARGIN

В строке 1500 Конфигурация.h

Например,

#define PROBING_MARGIN 10
,

Привет и добро пожаловать в SE.3DP. Спасибо за обновление. Я добавил для вас форматирование кода и ссылку на фактическую строку в коде, просто чтобы немного увеличить ваш ответ - чтобы сделать его более содержательным. Пожалуйста, не забудьте взять [тур]., @Greenonline