Сопло соскакивает со стола при использовании Marlin Mesh Desk Leveling

Я использую прошивку Marlin с платой RAMPS на принтере Anet A8.

Размер рабочего стола для принтера составляет 220 x 220 мм, и это указано в файле конфигурации.h. При использовании выравнивания сетчатого стола насадка идеально перемещается в первый угол стола после установки x-min на 5,0, но следующие две точки находятся за пределами стола. Вот мои настройки:

// Travel limits after homing (units are in mm)

 #define X_MIN_POS 5.0
 #define Y_MIN_POS 0.0
 #define Z_MIN_POS 0
 #define X_MAX_POS 220
 #define Y_MAX_POS 220
 #define Z_MAX_POS 240

В чем может быть моя проблема?

, 👍6

Обсуждение

Настройки, которые вы опубликовали, не имеют особого отношения к выравниванию рабочего стола. Это всего лишь ограничения движения для нормальной работы. Вы должны опубликовать настроенные смещения зонда и положения зондирования (например, "Положение LEFT_PROBE_BED_POSITION" или "UBL_PROBE_PT_1_X", в зависимости от вашей конфигурации)., @Tom van der Zanden

@TomvanderZanden Жаль, что ОП не ответил на ваш комментарий, вы были единственным, кто понял, что в Q (и A) использовались неправильные константы!, @0scar


2 ответа


-1

Проблема в коде. Пожалуйста, используйте эти:

// Размер печатного стола
#define X_BED_SIZE 220
#define Y_BED_SIZE 220

// Пределы хода (мм) после наведения, соответствующие позициям конечных упоров.
#define X_MIN_POS 5
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240

С вашей проблемой все будет в порядке.


,

Вам нужно объяснить, почему эти изменения являются действительными - особенно в случае, если кто-то другой посмотрит на этот ответ в будущем с аналогичным вопросом., @Sean Houlihane

На самом деле, это неправильные константы для изменения для этой конкретной проблемы, они определяют только смещение сопла от конечных точек к исходному и максимальному положению стола, это не имеет никакого отношения к предельным местоположениям зонда. Проблема действительно в коде, но не в коде, который вы указали в своем ответе!, @0scar


7

Ни один из ответов не отвечает на ваш вопрос, чтобы решить его! Единственный разумный вклад исходит из комментария @TomvanderZanden.


Чтобы датчик оставался в пределах стола (учитывая смещение датчика и размер каретки hotend), вам необходимо определить, куда может направляться датчик (плюс каретка) (чтобы датчик также находился на столе, вам также необходимо определить пределы датчика). Предложенные константы важны для определения размера рабочего стола и объема сборки, но их изменение на самом деле не решает вашу проблему. Ваша проблема заключается в том, что вам нужно решить, где датчик может зондировать в пределах указанного объема, т. е. в области зондирования датчика.

Я использую ABL (Автоматическое выравнивание Bel) на своем Anet A8, используя датчик, установленный слева спереди в положении (x = -26 мм; y = -40 мм, если смотреть из центра сопла). Для того, чтобы датчик находился на рабочем столе, не выходя за пределы каретки, вы должны рассчитать (самостоятельно!) каков размер области автоматического выравнивания стола. Это связано с тем, что датчик отключен от сопла. Если датчик охватывает весь стол, вам потребуется дополнительное пространство на оси. Чтобы объяснить это, если ваш датчик находится слева спереди, как в моем случае, количество дополнительного пространства, которое у вас осталось с правой стороны каретки X, определит, как далеко может зайти каретка, и, таким образом, ограничит правильное положение датчика. Если на каретке нет дополнительного места (самое безопасное предположение), вам просто нужно добавить смещение датчика к максимальному размеру стола (до которого может дотянуться сопло). Например, смещение моего зонда X составляет -26 мм. Таким образом, максимальное расстояние между зондами составляет -26 мм + 220 мм = 194 мм.

Это означает, что вам необходимо установить следующие константы (среди настроек для включения ABL; датчик и тип выравнивания...) в конфигурации.h установки прошивки Marlin:

#define X_PROBE_OFFSET_FROM_EXTRUDER -26   // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -40   // Y offset: -front +behind [the nozzle]

// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION (0 + 10)         // 10
#define RIGHT_PROBE_BED_POSITION (220 - 26 - 10) // 184
#define BACK_PROBE_BED_POSITION (220 - 40 - 10)  // 170
#define FRONT_PROBE_BED_POSITION (0 + 10)        // 10

Кроме того, настройки, которые вы упоминаете, должны быть:

// Размер печатного стола
#define X_BED_SIZE 220
#define Y_BED_SIZE 220

// Пределы хода (мм) после наведения, соответствующие позициям конечных упоров.
#define X_MIN_POS -33 // Расстояние от конечного переключателя до X = 0 от начала координат
#define Y_MIN_POS -10 // Расстояние от конечного переключателя до Y = 0 от начала координат
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240

Значения -33 и -10 определяют, сколько соплу необходимо пройти от положения конечного упора до начала печати! Это не обязательно менять при использовании ABL с датчиком (если только вы не используете другую каретку печатающей головки с другим центром сопла). Почему эти значения -33 и -10 (или значения, близкие к этому; например, для моего принтера они -36 и -8), объясняется в этом ответе.

,