Подробный гайд по настройке Z-щупа в Marlin 1.1.9 - Часть 1
1. Что такое Z-щуп и зачем он нужен
Z-щуп (Z probe) — это датчик, который определяет расстояние от сопла до стола или момент касания стола.
Используется для:
- автоматической компенсации кривизны стола (
G29,AUTO_BED_LEVELING); - точной установки нуля по оси Z;
- калибровки первого слоя;
- работы с датчиками: механический концевик, индуктивный/ёмкостный датчик, BLTouch, сервоприводный щуп и т.д.
В Marlin 1.1.9 вся основная настройка выполняется в файле Configuration.h, частично в Configuration_adv.h и в файлах пинов pins_*.h.
2. Подключение и выбор пина
2.1. Куда подключается щуп
В большинстве плат есть входы:
- Z_MIN
- Z_MAX
- отдельный Z_PROBE (не на всех платах)
- SERVO0 — для сервопривода/BLTouch
Чаще всего щуп подключают к Z_MIN.
Пример для платы RAMPS 1.4 / Arduino Mega 2560:
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define SERVO0_PIN 11
Точные пины для вашей платы смотрите в файле:
Marlin/pins_ваша_плата.h
Например:
pins_RAMPS.hpins_MKS_GEN_13.hpins_AZTEEG_X3_PRO.hpins_MELZI.hpins_SANGUINOLOLU.h
2.2. Если щуп подключён к Z_MIN
Это самый распространённый вариант.
В Configuration.h нужно раскомментировать:
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
Это говорит Marlin, что щуп использует вход Z_MIN.
2.3. Если щуп подключён к Z_MAX
В старых версиях иногда использовали:
#define Z_MIN_PROBE_USES_Z_MAX_ENDSTOP_PIN
Но в зависимости от версии 1.1.9 и набора пинов этот вариант может быть недоступен. Более универсально — оставить щуп на Z_MIN, если это возможно.
Если щуп всё же на Z_MAX, проверьте в Configuration.h наличие/отсутствие:
#define USE_ZMAX_PLUG
и убедитесь, что в файле пинов вашей платы корректно определён Z_MAX_PIN.
2.4. Подключение индуктивного или ёмкостного датчика
Обычно у датчика три провода:
- коричневый / чёрный — GND
- синий / красный — питание, часто 6–36 В
- чёрный / жёлтый / белый — сигнал
Важно: если датчик питается от 12 В или 24 В, а вход платы рассчитан на 5 В, то сигнальный провод нельзя подключать напрямую.
Нужен делитель напряжения, например:
- для 12 В: 1 кОм от сигнала к входу платы, 2 кОм от входа платы к GND;
- для 24 В: лучше использовать оптопару или более точный делитель.
Иначе можно повредить вход микроконтроллера.
2.5. Подключение BLTouch
У BLTouch обычно есть:
- три провода для управления сервоприводом:
- сигнальный провод;
- 5 В;
- GND;
- два провода датчика:
- чёрный;
- белый.
Типовое подключение на RAMPS:
- серво-часть → SERVO0;
- провода датчика → Z_MIN;
- питание и GND → 5 В и GND платы.
В прошивке включается поддержка:
#define BLTOUCH
3. Основные настройки в Configuration.h
Откройте файл:
Marlin/Configuration.h
Найдите секцию:
//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
4. Выбор типа щупа
4.1. Фиксированный щуп
Если датчик закреплён неподвижно и всегда опущен — используйте:
#define FIX_MOUNTED_PROBE
Подходит для:
- механического микрика;
- индуктивного датчика;
- ёмкостного датчика;
- фиксированного сопла-щупа.
Пример:
#define FIX_MOUNTED_PROBE
4.2. Сервоприводный щуп
Если щуп на сервоприводе и поднимается/опускается по команде:
#define Z_ENDSTOP_SERVO_NR 0
#define Z_SERVO_ANGLES {70, 0}
Где:
- первое значение — угол поднятого щупа;
- второе значение — угол опущенного щупа.
Подбирать нужно под ваш сервопривод.
Например:
#define Z_ENDSTOP_SERVO_NR 0
#define Z_SERVO_ANGLES {90, 0}
Иногда используют:
#define DEACTIVATE_SERVOS_AFTER_MOVE
чтобы сервопривод не держал нагрузку постоянно.
4.3. Настройка BLTouch
Для BLTouch в Configuration.h:
#define BLTOUCH
Дополнительно можно задать задержку:
#define BLTOUCH_DELAY 500
Для старых контроллеров и нестабильного отклика лучше ставить:
#define BLTOUCH_DELAY 500
или даже:
#define BLTOUCH_DELAY 700
Если BLTouch подключён к servo-выходу, убедитесь, что пин сервопривода определён правильно.
Проверить работу BLTouch можно командами:
M280 P0 S10 ; выдвинуть щуп
M280 P0 S90 ; убрать щуп
M280 P0 S160 ; сброс/тест
На разных платах и версиях Marlin углы могут немного отличаться.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.