Сенсор столкновения в Marlin
Для работы этой функции требуется версия прошивки датчика BD (вы можете получить её, отправив M102 S-1, а не аппаратную версию на самом датчике) V1.1b, выше V1.2b или купленная после марта 2024 года. В противном случае вам потребуется использовать внешний аппаратный инструмент (например, STlink) для прошивки датчика BD.
Как это работает
- Автоматическая калибровка смещения оси Z при выполнении G28: срабатывает при парковке (после касания соплом стола) — затем медленно поднимается, пока сопло не оторвётся от стола — эта позиция устанавливается как нулевая точка оси Z.
Преимущества
- Автоматическая калибровка смещения оси Z.
- При этом вы всё равно можете вручную регулировать смещение оси Z для разных типов филамента.
- Преодоление температурного дрейфа.
- Температурный дрейф изменяет смещение оси Z, но не влияет на диапазон карты высот сетки стола с датчиком BD. Это означает, что сетка стола остаётся одинаковой даже при разных температурах.
Код для этой функции находится в списке запросов на слияние (pull requests) официального репозитория Marlin на GitHub: https://github.com/MarlinFirmware/Marlin/pull/27243 Поэтому используйте следующий код Marlin: https://github.com/markniu/MarlinPULL/tree/bugfix-2.1.x
Как использовать
Включите BD_SENSOR и добавьте #define BD_SENSOR_CONTACT_PROBE в configuration.h.
Это должно выглядеть так:
#define BD_SENSOR
#if ENABLED(BD_SENSOR)
#define BD_SENSOR_PROBE_NO_STOP // Зондировать стол без остановки в каждой точке
#define BD_SENSOR_CONTACT_PROBE // использует сенсор столкновения сопла для зондирования при парковке
#endif
-
Увеличьте скорость зондирования в configuration.h.
-
Чувствительность зависит от скорости, поэтому вам нужно настроить скорость оси Z.
-
homing_speed (скорость парковки) и second_homing_speed (скорость вторичной парковки) должны быть в диапазоне от 3 до 10 — это скорость подачи зонда по оси Z.
-
Например:
#define Z_PROBE_FEEDRATE_FAST (5*60)
#define Z_PROBE_FEEDRATE_SLOW (5*60)
- В Configuration_adv.h увеличьте подъём оси Z при парковке более чем на 4 мм.
#define HOMING_BUMP_MM { 5, 5, 5 }
Тестирование парковки
- Отправьте команду
G28 Zпримерно 10 раз или используйте командуM48, чтобы проверить стабильность.