Привет. Я тут в своей мастерской опять ковырял Klipper и очередной раз убедился: eddy current probe — штука очень бодрая, но понимать её надо не как «BLTouch, только моднее», а как совсем другой инструмент. Если коротко по делу, то такой датчик реально выигрывает у BLTouch на сканировании стола, adaptive mesh и частых перекалибровках. А вот с точным G28 Z история у него отдельная, потому что нынешняя логика homing в Klipper исторически выросла вокруг обычного концевика.
Ниже я покажу, где eddy probe даёт заметный буст по времени, почему первый слой иногда уезжает именно после home, а не после mesh, и как я бы это настраивал на живом принтере: с safe_z_home, калибровкой, macro для корректировки Z и нормальным чек-листом перед печатью.
Если у тебя уже стоит Klipper и ты выбираешь между BLTouch и eddy current probe, то главный вывод такой: для карты стола eddy почти всегда веселее, для простого и предсказуемого Z-home BLTouch пока понятнее. Особенно если нужен режим «поставил и поехал», а не вечер с терминалом и тестами.
Содержание:
- Где eddy current probe реально обгоняет BLTouch
- Почему Z-home для eddy — отдельная история
- Как я бы настраивал eddy в Klipper шаг за шагом
- Когда брать eddy, а когда оставить BLTouch
- Что чаще всего ломает первый слой
- Итог по-человечески
Где eddy current probe реально обгоняет BLTouch
Самый жирный плюс eddy current probe в Klipper — это не «волшебная точность», а скорость сбора данных по столу. BLTouch физически работает штифтом: приехал в точку, опустил пин, поймал касание, поднял, поехал дальше. Даже если включить multi-probing и не убирать штифт после каждого тыка, он всё равно живёт в логике «точка — касание — отъезд». Eddy работает иначе: он измеряет расстояние до металлической поверхности по изменению сигнала катушки и умеет сканировать поверхность почти непрерывно.
Вот где это чувствуется сразу:
- на больших столах, где mesh 7×7, 9×9 и выше;
- на принтерах, где ты часто гоняешь adaptive bed mesh перед печатью;
- когда нужен быстрый пересъём сетки после прогрева;
- когда используешь
METHOD=scanилиMETHOD=rapid_scanи не хочешь смотреть, как голова полвечера тычется по точкам.
На CoreXY с нормальной кинематикой это видно особенно хорошо: голова идёт плавно, не устраивает постоянные прыжки по Z, и bed mesh собирается заметно бодрее. На больших листах это уже минуты экономии за серию печатей.
Но тут есть важный момент: быстрее не значит всегда лучше в любой задаче. Для плотной сетки на тонком первом слое rapid_scan может притянуть немного шумов. Поэтому eddy хорош там, где важен баланс между скоростью и повторяемостью, а не погоня за цифрой ради самой цифры. Если стол заметно кривой или есть сильный перекос портала, никакой модный датчик это не вылечит. На эту тему у тебя на сайте уже есть хороший материал про ограничения Bed Mesh при перекосах стола и портала — вот его реально стоит держать рядом.
| Сценарий | Eddy current probe | BLTouch |
| Быстрый bed mesh на большом столе | Сильная сторона, особенно с scan и rapid_scan | Работает, но заметно медленнее |
| Обычный домашний принтер с нечастой калибровкой | Есть смысл, если любишь тонкую настройку | Проще и предсказуемее |
| Неметаллическая поверхность или сомнительный стол | Может не подойти по физике работы | Обычно универсальнее |
| Точный Z-home в текущем mainline Klipper | Требует отдельной логики и макросов | Понятный привычный сценарий |
Ещё один плюс: eddy ускоряет не только сам mesh, но и всю диагностику. Быстрее переснял карту, быстрее понял, что меняется после прогрева, и быстрее отловил источник косяка.

Почему Z-home для eddy — отдельная история
А вот теперь начинается самое интересное. В Klipper probing и homing — это не одно и то же. Для обычного концевика или BLTouch такая разница не так бросается в глаза: система делает движение до срабатывания, откатывается, повторяет и считает, что поймала понятную точку. Для eddy current probe этот сценарий уже не такой удобный, потому что сам датчик не «щёлкает» как концевик, а выдаёт поток измерений расстояния.
Именно поэтому текущая документация Klipper прямо предупреждает: eddy current probe умеет точно делать PROBE, но не считается датчиком для точного G28 Z. Человеческим языком это значит вот что: при probing Klipper успевает правильно обработать измерение и посчитать реальную позицию, а при homing у нынешней логики есть офсетная ошибка. Отсюда и все эти истории на форумах, когда mesh красивый, а первый слой после home всё равно «то давит, то висит».
Почему так происходит на практике? Потому что код homing в Klipper долгие годы был заточен под модель «двигаемся до триггера endstop». А eddy живёт лучше в схеме, где после остановки нужно ещё обработать данные датчика как полноценное измерение. Разработчики Klipper это сами обсуждали: для eddy и load cell нужен другой подход, где логика homing не притворяется обычным концевиком, а использует именно probe-путь.
Вот почему у eddy current probe так часто всплывают три обязательных слова: safe_z_home, homing correction и стабильная температура.
- safe_z_home нужен, чтобы home по Z шёл в известной точке стола, а не где попало у края;
- коррекция после probing нужна, чтобы перезагрузить кинематическую позицию по реальному измерению;
- стабильная температура нужна, потому что индуктивные датчики ловят thermal drift и на холодном столе могут показать не то же самое, что на прогретом.
Поэтому сценарий «включил как BLTouch и забыл» тут не катит. С eddy логика обычно такая: home в безопасной точке, затем отдельный PROBE или macro, который подтягивает Z к фактическому измерению. В документации Klipper даже приводится макрос с идеей SET_Z_FROM_PROBE — то есть сперва делаем измерение, потом обновляем кинематическую позицию.
[safe_z_home]
home_xy_position: 117.5, 117.5
z_hop: 10
z_hop_speed: 15
[gcode_macro _RELOAD_Z_OFFSET_FROM_PROBE]
gcode:
{% set Z = printer.toolhead.position.z %}
SET_KINEMATIC_POSITION Z={Z - printer.probe.last_probe_position.z}
[gcode_macro SET_Z_FROM_PROBE]
gcode:
PROBE
_RELOAD_Z_OFFSET_FROM_PROBE
G0 Z5
Смысл этого куска не в том, чтобы слепо копировать числа, а в том, чтобы понять философию настройки. Home и точное выставление Z для eddy — это две связанные, но разные операции. Если их смешать в голове, потом начинается цирк: bed mesh выглядит ровным, а реальный первый слой не совпадает.
И да, на март 2026 года эта история всё ещё живая. Вокруг homing для новых датчиков в Klipper уже были обсуждения и идеи отдельной команды для home через probe, но в основной документации предупреждение про неточный Z-home для eddy по-прежнему стоит. Так что пока лучше мыслить прагматично: eddy — чемпион по быстрому съёму поверхности, но Z-home ему нужен аккуратный.
Как я бы настраивал eddy в Klipper шаг за шагом
Если бы ты занёс мне принтер в мастерскую, я бы шёл вот в таком порядке.
- Сначала механика. Датчик должен стоять жёстко, без люфта, без кривого крепления и без сюрпризов по X/Y offset. Если кронштейн гуляет, потом никакая калибровка не спасёт.
- Потом базовая конфигурация probe_eddy_current. Задаём sensor_type, offsets, корректный
descend_z, проверяем связь, делаем калибровку тока датчика. - Дальше PROBE_EDDY_CURRENT_CALIBRATE. Это обязательная база. И тут не надо халтурить: сделал смещение по креплению — перекалибруй.
- После этого — safe_z_home. Домой по Z надо идти в понятной точке, обычно ближе к центру рабочего поля или в заранее выбранную стабильную зону.
- Следом — temperature drift. Стол, хотэнд, сам датчик должны выйти на рабочее состояние. Иначе на одном прогреве всё красиво, а через двадцать минут слой уже другой.
- И только потом — rapid_scan. Сразу прыгать в него без базовой калибровки смысла ноль. Сначала добейся повторяемого Z, потом ускоряй рутину.
Рабочий каркас конфига у меня обычно выглядит примерно так:
[probe_eddy_current my_eddy]
sensor_type: ldc1612
descend_z: 0.5
x_offset: 0
y_offset: 25
speed: 5
lift_speed: 15
[temperature_probe my_eddy]
sensor_type: Generic 3950
[bed_mesh]
speed: 120
horizontal_move_z: 2
mesh_min: 20, 20
mesh_max: 215, 215
probe_count: 5, 5
scan_overshoot: 8
Потом я бы сделал несколько тестов подряд:
- три раза подряд home + macro на установку Z;
- три раза подряд mesh на прогретом столе;
- проверку первого слоя на маленькой сетке по углам и по центру;
- ещё один прогон после паузы, когда принтер постоял и датчик остыл.
Если расхождения начинаются после паузы или смены температуры, копать надо не в slicer, а в drift и процедуру homing. Если mesh стабилен, а слой пляшет — первым делом смотрим логику Z-home и офсет после probing. Кстати, у тебя на сайте уже есть полезный материал про калибровку Z-offset; с eddy его особенно полезно перечитать, потому что люди часто думают, что новый датчик сам отменит всю ручную доводку. Не отменит.
Когда брать eddy, а когда оставить BLTouch
Я бы выбирал так.
Бери eddy current probe, если: ты сидишь на Klipper всерьёз, любишь быстрый bed mesh, у тебя металлический стол, ты печатаешь часто и хочешь сократить рутину перед стартом. Особенно хорошо он раскрывается там, где нужен adaptive mesh и где каждая лишняя минута на подготовке реально раздражает.
Оставь BLTouch, если: нужен более универсальный и привычный сценарий, стол не самый стандартный, ты не хочешь лезть в macro и разбираться, почему home и probe у тебя живут по разным правилам. Для многих бытовых принтеров BLTouch всё ещё остаётся понятной рабочей лошадкой.
Я бы ещё добавил вот что: eddy — это не обязательный апгрейд для каждого. Если текущий BLTouch даёт стабильный первый слой, менять его только ради модного железа нет смысла. А вот если бесит длительный mesh на крупном столе, тогда eddy начинает показывать зубы.
Для полноты картины стоит глянуть и соседний материал про rapid_scan, точность и типовые ошибки первого слоя. Он хорошо дополняет тему именно по скоростному сканированию.
Что чаще всего ломает первый слой
Вот мой короткий чек-лист, когда после установки eddy current probe принтер вроде бы «настроен», а печать всё равно чудит:
- датчик калибровали на одной температуре, а печатают на другой;
- используют rapid_scan на слишком кривом столе или при слишком большом
horizontal_move_z; - путают красивый mesh с корректным Z-home;
- не обновили X/Y offset после перестановки крепления;
- не проверили, что safe_z_home ведёт в реально стабильную точку;
- пытаются лечить геометрию портала только сеткой стола;
- смотрят на датчик, хотя проблема вообще в адгезии, загрязнённом листе или настройках первого слоя.
Если после всех манипуляций пластик всё равно кладётся криво, полезно ещё пробежаться по материалам про адгезию и настройку первого слоя. Потому что иногда мы начинаем винить probe, а виноват жирный PEI, слишком холодный стол или банально неудачный стартовый профиль.
Итог по-человечески
Если подвести всё это к верстаку и откинуть маркетинговый шум, картина простая. Eddy current probe в Klipper быстрее BLTouch там, где надо быстро собирать bed mesh и часто переснимать поверхность. Для scan и rapid_scan это очень удобная штука, и на крупных столах разница ощущается сразу. Но Z-home у него просит отдельной логики, потому что нынешний путь homing в Klipper не полностью совпадает с тем, как eddy корректно измеряет высоту.
Так что мой совет такой: хочешь быстрый и современный инструмент для карты стола — смотри в сторону eddy. Хочешь более прямолинейный сценарий homing с меньшим количеством нюансов — BLTouch всё ещё держится молодцом. А если берёшь eddy, не ленись один раз сделать настройку как следует: safe_z_home, калибровка, контроль температуры, проверка повторяемости и macro для корректного Z после probing. Тогда датчик не будет казаться капризным, и первый слой начнёт радовать, а не спорить с тобой каждое утро.