Автоматический стол выравнивая зонды вне стола несмотря на NOZZLE_TO_PROBE_OFFSET
Я только что сменил материнскую плату своего мини-принтера CR-10 на SKR 1.4 и установил на него Marlin 2.0.x. Кажется, все работает, за исключением автоматического выравнивания стола. Я использую зонд ЭЗАБЛ.
Зонд установлен слева и немного впереди сопла. Поэтому я установил смещение зонда-сопла в Marlin как:
#define NOZZLE_TO_PROBE_OFFSET { -45, -12, 0 }
Когда я запускаю автоматическое выравнивание стола с G29, сопло перемещается в положение, когда датчик находится вне стола (но сопло находится внутри стола). А затем он падает на стол с насадкой, потому что Z endstop никогда не срабатывает.
Для отладки я использовал DEBUG_LEVELING_FEATURE в Marlin и запустил G29 из Pronterface. Вот что я получил:
SENDING:G29
current_position= X140.00 Y90.00 Z5.00 : >>> G29
Machine Type: Cartesian
Probe: FIX_MOUNTED_PROBE
Probe Offset X10.00 Y10.00 Z0.00 (Right-Back & Same Z as Nozzle)
Auto Bed Leveling: BILINEAR (disabled)
current_position= X140.00 Y90.00 Z5.00 : Probe::set_deployed
deploy: 1
Probe::move_z(5.00)
>>> do_blocking_move_to X140.00 Y90.00 Z5.00
<<< do_blocking_move_to
reset_bed_level
>>> Probe::probe_at_point(30.00, 30.00, raise, 0, probe_relative)
current_position= X140.00 Y90.00 Z5.00 :
>>> do_blocking_move_to X20.00 Y20.00 Z5.00
<<< do_blocking_move_to
current_position= X20.00 Y20.00 Z5.00 : Probe::set_deployed
deploy: 1
current_position= X20.00 Y20.00 Z5.00 : >>> Probe::run_z_probe
current_position= X20.00 Y20.00 Z5.00 : >>> Probe::probe_down_to_z
>>> do_blocking_move_to X20.00 Y20.00 Z-3.00
<<< do_blocking_move_to
echo:busy: processing
current_position= X20.00 Y20.00 Z-3.00 : sync_plan_position
current_position= X20.00 Y20.00 Z-3.00 : <<< Probe::probe_down_to_z
FAST Probe fail!
current_position= X20.00 Y20.00 Z-3.00 : <<< run_z_probe
current_position= X20.00 Y20.00 Z-3.00 : Probe::set_deployed
deploy: 0
>>> do_blocking_move_to X20.00 Y20.00 Z-3.00
<<< do_blocking_move_to
Error:Probing Failed
[ERROR] Error:Probing Failed
Чего я не понимаю, так это почему там написано:
Probe Offset X10.00 Y10.00 Z0.00 (Right-Back & Same Z as Nozzle)
Потому что это совсем не тот NOZZLE_TO_PROBE_OFFSET, который я определил. Есть ли другая настройка, связанная со смещением сопла/зонда, кроме NOZZLE_TO_PROBE_OFFSET, которую я пропустил? Или почему Марлину приходит в голову, что мой зонд находится справа и сзади зонда, когда на самом деле он находится спереди и слева?
@Petahanks, 👍1
1 ответ
Лучший ответ:
Проблема заключается в том, что, хотя вы правильно установили смещения, граничные пределы для зонда для "зондирования области" не были скорректированы. Я считаю, что это недостаток ABL Marlin 2.0.x. Если пользователь установил смещения зонда, то прошивка уже знает, что площадь зонда ограничена!
Этот ответ на вопрос "Как установить граничные пределы Z-зонда в прошивке при использовании автоматического настольного нивелирования?- подробно описывает, каковы границы зонда для прошивок Marlin 1.1.x и 2.0.x.
В принципе, вам нужно установить границы зонда, используя некоторые дополнительные определения в вашем файле Configuration_adv.h:
constexpr int nozzle_to_probe_offset[] = NOZZLE_TO_PROBE_OFFSET; #define PROBE_X_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[0] #define PROBE_Y_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[1]
При включении MIN_PROBE_EDGE
это означает, что область определяется следующим образом:
#define MIN_PROBE_EDGE_LEFT (MIN_PROBE_EDGE) #define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE - PROBE_X_OFFSET_FROM_EXTRUDER) #define MIN_PROBE_EDGE_FRONT (MIN_PROBE_EDGE) #define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE - PROBE_Y_OFFSET_FROM_EXTRUDER)
(Поскольку смещения отрицательны в вашей настройке зонда, нам нужно вычесть значения, чтобы сложить абсолютное значение к краю...)
- CR-10, игнорируя переключатель Z-Stop, продолжает пытаться опустить
- Авто стол выравнивание смещение вопрос
- Установка начальной точки сетки EZABL 3x3
- Повторная калибровка исходного положения
- Как установить границы Z-зонда в прошивке при использовании автоматического выравнивания стола?
- Как увеличить количество точек зондирования для датчика BLTouch в прошивке Marlin?
- Marlin Регулировка скорости подачи
- Как установить смещение Z для дома
Спасибо за предложение! У меня для параметра MIN_PROBE_EDGE установлено значение 30, поэтому я проследил за вашими вычислениями и добавил это в Configuration_adv.h: #define PROBE_X_OFFSET_FROM_EXTRUDER -45 #define PROBE_Y_OFFSET_FROM_EXTRUDE -12 #define MIN_PROBE_EDGE_LEFT 30 #define MIN_PROBE_EDGE_RIGHT 75 #define MIN_PROBE_EDGE_FRONT 30 #define MIN_PROBE_EDGE_BACK 42 Однако, к сожалению, это, казалось, не имело никакого эффекта вообще. Зонд по-прежнему перемещается в то же место, что и раньше, и я по-прежнему получаю сообщение: Смещение зонда X10.00 Y10.00 Z0.00 (Правая задняя и та же Z, что и сопло), @Petahanks
Обновление: О, я не осознавал, что мне нужно было сделать M502 + M500, чтобы получить значения, чтобы включиться! Кажется, теперь это работает, большое спасибо!, @Petahanks
Я попытался применить совет к Марлину 2.0.9.1 и наблюдаю следующий побочный эффект: щуп помещается нормально спереди, но не охватывает всю область сзади: стол еще можно было бы сдвинуть дальше, но это не. У меня есть
#define PROBING_MARGIN_FRONT (PROBING_MARGIN - PROBE_Y_OFFSET_FROM_EXTRUDER)
и#define PROBING_MARGIN_BACK 0
. К сожалению, моя попытка установить отрицательное значение PROBING_MARGIN_BACK не увенчалась успехом (этому препятствует проверка во время компиляции). Та же проблема с левым/правым полем., @dma_k