Настройка и устранение неисправностей BLTouch
В этой статье описывается подключение, настройка, тестирование, калибровка и устранение распространенных неисправностей щупа BLTouch в Klipper.
Связанные ошибки: Быстрое устранение ошибок, связанных с BLTouch, см. в разделе Ошибки движения, концевиков и выравнивания.
Подключение и настройка
Перед началом работы полностью выключите принтер и отключите его от источника питания. Не подключайте и не отключайте жгуты проводов, не выравнивайте порядок контактов в разъемах и не прикасайтесь к клеммам при включенном питании.
BLTouch имеет два набора проводов:
- Три провода (сервопривод/управление): Желтый провод — сигнальный
control_pin. - Два провода (датчик): Белый провод — сигнальный
sensor_pin.
Подключите управляющий контакт к контакту Servo / BLTouch на плате, а контакт датчика к входному контакту концевика Probe / Z-Max и т.д. на плате. Конкретные контакты смотрите в документации на соответствующую плату FLY.
Для большинства BLTouch на sensor_pin необходимо настроить подтягивающий резистор, добавив префикс ^ перед именем контакта, например sensor_pin: ^PC4.
Пример базовой конфигурации:
[bltouch]
sensor_pin: ^PC4
control_pin: PA1
x_offset: 0
y_offset: 0
z_offset: 0
speed: 5
Если BLTouch используется в качестве концевика по оси Z, необходимо:
- В разделе
[stepper_z]установитьendstop_pin: probe:z_virtual_endstopи удалитьposition_endstop. - Добавить конфигурацию
[safe_z_home]:
[safe_z_home]
home_xy_position: 100, 100 # Заменить на координаты центра стола
speed: 50
z_hop: 10 # Подъем на 10 мм перед парковкой
z_hop_speed: 5
z_hop должен быть достаточно большим, чтобы гарантировать, что даже при выдвинутом щупе он не ударится о стол или зажимы.
Начальное тестирование
Самопроверка
После подачи питания BLTouch должен автоматически выполнить самопроверку: щуп несколько раз выдвигается и убирается, после чего убирается, и загорается красный светодиод (постоянно). Если красный светодиод мигает или щуп остается в выдвинутом положении, выключите питание и проверьте подключение и конфигурацию.
Тест управляющего контакта
BLTOUCH_DEBUG COMMAND=pin_down
Убедитесь, что щуп выдвинулся, а красный светодиод погас. Затем:
BLTOUCH_DEBUG COMMAND=pin_up
Убедитесь, что щуп убрался, а красный светодиод снова загорелся. Если красный светодиод мигает, это указывает на наличие неисправности.
Тест контакта датчика
- Выполните
BLTOUCH_DEBUG COMMAND=pin_down, убедитесь, что щуп выдвинут. - Выполните
BLTOUCH_DEBUG COMMAND=touch_mode. - Выполните
QUERY_PROBE, должен вернутьсяprobe: open. - Аккуратно нажмите на щуп вверх ногтем, снова выполните
QUERY_PROBE, должен вернутьсяprobe: TRIGGERED. - Выполните
BLTOUCH_DEBUG COMMAND=pin_up, чтобы убрать щуп.
Если результат QUERY_PROBE некорректен, обычно это ошибка подключения или конфигурации (некоторые клоны требуют специальной обработки, см. ниже).
Тест срабатывания
Переместите печатающую головку в место, удаленное от стола, выполните G28 (или PROBE), и когда головка начнет опускаться, аккуратно нажмите на щуп ногтем, чтобы вызвать его срабатывание. Будьте готовы в любой момент выключить принтер. После успеха выполните обычную парковку еще раз, чтобы щуп коснулся стола.
Восстановление после сбоя (мигание красного светодиода)
Когда BLTouch переходит в аварийное состояние, красный светодиод начинает постоянно мигать. Можно выполнить:
BLTOUCH_DEBUG COMMAND=reset
Распространенная причина: прерывание калибровки из-за блокировки щупа при выдвижении.
Если после reset работа не восстанавливается, возможно, сместился внутренний магнитный сердечник щупа:
Перед разборкой или регулировкой щупа BLTouch полностью выключите принтер и отключите его от источника питания.
- Отключив питание, открутите винт в верхней части щупа и с помощью шариковой ручки аккуратно верните магнитный сердечник на место.
- Установите щуп обратно так, чтобы он естественным образом опустился в выдвинутое положение.
- Аккуратно отрегулируйте положение винта, включите питание и протестируйте выдвижение/убирание и работу красного светодиода с помощью команд
BLTOUCH_DEBUG COMMAND=reset,pin_up,pin_down.
Совместимость с клонами
Большинство клонов BLTouch могут нормально работать со стандартной конфигурацией, но у некоторых клонов есть следующие проблемы:
Не устанавливайте pin_up_reports_not_triggered или pin_up_touch_mode_reports_triggered в False без предварительного подтверждения необходимости. Для оригинальных BLTouch эти параметры изменять не следует. Неправильная настройка увеличивает время зондирования и может повредить принтер.
Не поддерживается touch_mode
Некоторые клоны не поддерживают touch_mode, команда QUERY_PROBE не работает должным образом, но G28 / PROBE все еще могут быть успешными. Для таких устройств не включайте probe_with_touch_mode.
BLTouch failed to verify sensor state
Клон не может пройти внутреннюю проверку датчика Klipper. Сначала выполните Тест контакта датчика и убедитесь, что результат QUERY_PROBE корректен. Если ручной тест всегда проходит нормально, но ошибка все равно появляется, добавьте:
[bltouch]
pin_up_touch_mode_reports_triggered: False
BLTouch failed to raise probe
Старые версии клонов не могут сообщить о состоянии убранного щупа. Метод проверки:
- Переместите печатающую головку в место, удаленное от стола.
BLTOUCH_DEBUG COMMAND=pin_down→ убедитесь, что выдвинулся.QUERY_PROBE→ должен вернутьprobe: open.BLTOUCH_DEBUG COMMAND=pin_up→ убедитесь, что убрался.QUERY_PROBE→ если возвращаетprobe: TRIGGERED(а неopen), устройство не может сообщить об убирании.
После подтверждения добавьте:
[bltouch]
pin_up_reports_not_triggered: False
Особенности версий BLTouch V3
Проблемы с сигналом V3.0
Если sensor_pin BLTouch V3.0 подключен к контакту концевика с фильтрующим конденсатором, он может нестабильно передавать сигнал срабатывания. Это проявляется в том, что тест QUERY_PROBE проходит нормально, но при G28 / PROBE печатающая головка иногда не останавливается. Решение:
[bltouch]
probe_with_touch_mode: True
Случайные ошибки состояния V3.1
BLTouch V3.1 после успешного зондирования иногда мигает красным светодиодом в течение нескольких секунд. Klipper автоматически очищает эту ошибку, она обычно безвредна. Установка probe_with_touch_mode: True может предотвратить эту проблему.
У некоторых клонов и BLTouch V2.0 и более ранних версий при включении probe_with_touch_mode: True точность может снизиться, а время выдвижения щупа увеличится. Перед и после изменения параметра сравнивайте точность с помощью команды PROBE_ACCURACY.
::.
Не убирать щуп при многократном зондировании
По умолчанию Klipper убирает и снова выдвигает щуп после каждого зондирования, что занимает много времени при многократных измерениях. Установка этого параметра позволяет оставлять щуп выдвинутым между последовательными зондированиями:
[bltouch]
stow_on_each_sample: False
При установке False Klipper может выполнять горизонтальные перемещения с выдвинутым щупом. Убедитесь, что зазор по Z достаточен для всех операций зондирования, иначе при горизонтальном перемещении щуп может столкнуться с препятствием и повредить принтер.
При использовании stow_on_each_sample: False рекомендуется также установить probe_with_touch_mode: True. Это упрощает логику сигналов и повышает стабильность. Некоторые клоны без этой опции могут не обнаруживать последующие срабатывания.
Калибровка смещений
Используйте команду PROBE_CALIBRATE для калибровки x_offset, y_offset и z_offset.
Идеальное значение z_offset близко к 1 мм. Если отклонение слишком велико, рекомендуется отрегулировать высоту установки щупа: щуп должен срабатывать достаточно рано до того, как сопло коснется стола, и при этом в убранном состоянии быть выше сопла, чтобы избежать царапин на деталях. После регулировки необходимо повторно выполнить PROBE_CALIBRATE.
::.
Режим выхода (5V / Open-Drain)
BLTouch V3.0 и V3.1 поддерживают два режима выхода: 5V и Open-Drain. По умолчанию используется Open-Drain.
- Если входной контакт платы требует высокий уровень 5V и выдерживает 5V, можно установить:
[bltouch]
set_output_mode: 5V
Используйте режим 5V только в том случае, если вы уверены, что входной сигнальный контакт платы выдерживает 5V. Неправильная настройка может повредить процессор платы.
- V3.0: Требуется настройка
set_output_mode: 5Vпри каждом запуске, так как V3.0 не запоминает режим. - V3.1: Можно один раз выполнить
BLTOUCH_STORE MODE=5Vдля записи режима во внутреннюю EEPROM, после чего параметрset_output_modeне требуется. Не выполняйте команду сохранения многократно, ресурс EEPROM составляет около 100 000 циклов записи. - Другие щупы: Некоторые щупы имеют постоянный режим выхода, установленный перемычками на плате или дорожками, в этом случае параметр
set_output_modeне нужен.