Автоматическое выравнивание с помощью Marlin и RAMPS 1.4 не работает

Я настроил Marlin 1.1.3 для автоматического выравнивания с помощью фиксированного датчика, подключенного к штифту Z-образного упора.

В моей конфигурации есть следующие настройки:

#define X_PROBE_OFFSET_FROM_EXTRUDER 25  
#define Y_PROBE_OFFSET_FROM_EXTRUDER 20  
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Смещение Z: -ниже +выше [сопла]

#define Z_CLEARANCE_DEPLOY_PROBE   10 // Разрешение Z для развертывания/укладки
#define Z_CLEARANCE_BETWEEN_PROBES  5 // Зазор Z между точками зонда

#define AUTO_BED_LEVELING_BILINEAR

#define GRID_MAX_POINTS_X 7
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// Минимальное внешнее поле зонда Z (для проверки параметров G29).
#define MIN_PROBE_EDGE 10

// Установите границы для зондирования (туда, куда может дотянуться зонд).
#define LEFT_PROBE_BED_POSITION 25
#define RIGHT_PROBE_BED_POSITION 150
#define FRONT_PROBE_BED_POSITION 30
#define BACK_PROBE_BED_POSITION 180

Я ввожу M111 S38, чтобы включить ВЫРАВНИВАНИЕ+ИНФОРМАЦИЯ+отладка ОШИБОК. Затем я ввожу G28, чтобы открыть все оси, а затем ввожу G29, чтобы начать автоматическое выравнивание.

Автоматическое выравнивание запускается успешно, и после завершения я вижу сетку сканирования в консоли:

12:41:35.983 : Bilinear Leveling Grid:
12:41:35.983 : 0      1      2      3      4      5      6
12:41:35.983 : 0 -3.127 -3.405 -3.405 -3.292 -3.595 -3.487 -3.537
12:41:35.983 : 1 -3.110 -3.367 -3.337 -3.220 -3.470 -3.350 -3.365
12:41:35.983 : 2 -3.138 -3.367 -3.330 -3.215 -3.442 -3.345 -3.385
12:41:35.984 : 3 -3.013 -3.225 -3.182 -3.047 -3.225 -3.132 -3.150
12:41:35.984 : 4 -2.970 -3.165 -3.097 -2.972 -3.160 -3.045 -3.065
12:41:35.984 : 5 -2.875 -3.075 -3.005 -2.847 -2.990 -2.872 -2.875
12:41:35.984 : 6 -2.680 -2.845 -2.755 -2.615 -2.753 -2.617 -2.622
12:41:35.985 : G29 uncorrected Z:10.00
12:41:35.985 : corrected Z:12.85
12:41:35.985 : <<< gcode_G29
12:41:35.985 : X:120.00 Y:160.00 Z:12.85 E:0.00 Count X:9600 Y:12800 Z:4000
12:41:35.985 : current_position=(120.00, 160.00, 12.85) : sync_plan_position

Таким образом, сканирование с автоматическим выравниванием, похоже, прошло успешно.

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

Inverted visual of the leveling grid

Естественно, я НЕ ввожу G28 после сканирования.

Я ввожу G0 Z1, чтобы опустить сопло почти до таблицы. Но когда я ввожу, например, G0 X25 Y30 и смотрю на уровень, а затем я ввожу G0 X150 Y150, я вижу большую разницу между уровнями сопла относительно таблицы. Таким образом, похоже, что компенсация высоты не работает. Я ожидаю, что ось Z будет подниматься вверх или вниз в зависимости от результатов автоматического выравнивания, но двигатель Z не работает, когда я перемещаю X/Y.

Кстати, я попробовал 3-точечное автоматическое выравнивание. Это было довольно грубо, но ось Z исправила свой уровень, когда я перемещал оси с помощью команд G0. И чтобы избежать вопросов "почему мой стол так сильно наклонен?" Я намеренно наклонил стол, чтобы убедиться, что автоматическое выравнивание работает. Кстати, я попробовал другой Z_PROBE_OFFSET_FROM_EXTRUDER, так что текущая настройка 0 не актуальна, но ситуация одинакова с любым значением этой опции.

Что я делаю не так?

, 👍6

Обсуждение

Я построил вашу выравнивающую сетку, и ось, противоположная вашему наклону, довольно сильно поднимается и опускается. Может ли ваш стол раскачиваться/раскачиваться, и это сбрасывает автоматический уровень?, @markshancock

хм, я об этом не думал, проверю, @Sergey Kravchenko

кстати, какое программное обеспечение вы использовали для визуализации сетки?, @Sergey Kravchenko

Я создал визуализацию с помощью Excel., @markshancock


2 ответа


Лучший ответ:

3

Выравнивание стола по умолчанию отключено. Таким образом, сетка была отсканирована, но не применена после команды G29. Чтобы применить сетку, нам нужно включить выравнивание стола с помощью

M420 S1 

команда


,

3

В дополнение к ответу Сергея M420 S1 должен быть помещен в пользовательский стартовый GCODE. По умолчанию marlin отключает autobed после G28, если специально не настроено иначе

/**
* Обычно G28 оставляет выравнивание отключенным по завершении. Включить
* эта опция позволяет G28 восстановить предыдущее состояние выравнивания.
*/
#define RESTORE_LEVELING_AFTER_G28
,