Датчик столкновения в Marlin
Для работы этой функции требуется версия прошивки датчика BD (вы можете получить её, отправив M102 S-1, а не аппаратную версию на самом датчике)
V1.1b, выше V1.2b или купленная после марта 2024 года. В противном случае вам потребуется использовать внешний аппаратный инструмент (например, ST-Link) для прошивки датчика 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)
- Увеличьте подъём оси Z при возврате в исходное положение в
Configuration_adv.hдо значения больше 4 мм.
#define HOMING_BUMP_MM { 5, 5, 5 }
Тестирование возврата в исходное положение
- Отправьте команду
G28 Zпримерно 10 раз или используйте командуM48, чтобы проверить стабильность.