Перейти к основному содержимому

Установка BDsensor

Подключение кабеля датчика к материнской плате или плате CAN-шины.

  • Обратите внимание, что SB2040 не может использовать BDsensor
  • Обратите внимание, что для SHT36 необходимо подключить CLK/SCL (Вход) BDsensor к высоковольтному входу и установить перемычку
  • Линии CLK и SDA BDsensor могут быть подключены к любым GPIO разъемам на плате. Вы также можете подключить кабель датчика BD напрямую к порту Bltouch, например:
BLtouch    |    BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Вход)
GND --> GND
Zmin --> SDA (Вход/Выход)
  • Поскольку некоторые выводы на разъеме материнской платы могут не напрямую подключаться к gpio контроллера (например, они могут иметь фильтрующие конденсаторы или изолироваться через MOSFET, диод или оптоизолятор, но если они изолированы через резистор или резисторную подтяжку/подтягивающую цепь), они не могут использоваться с BDsensor, и прошивка сообщит об ошибке подключения. Например,

  • Разъемы вентиляторов и нагревателей через MOSFET изолируются,

  • На некоторых платах разъемы для термочувствительных резисторов и концевых выключателей/датчиков обычно через фильтрующие конденсаторы подключаются к GND,

  1. Как показано на рисунке ниже, установите датчик BD рядом с горячим-end. STL держателя, STL держателя VzBot Goliath short

Установка патча в прошивку Marlin

Датчик BD уже интегрирован в Marlin2.1.x (с 27.08.2022 года),

Вы можете скачать релизную версию. Однако рекомендуется сейчас загрузить последнюю исправленную версию: https://github.com/MarlinFirmware/Marlin

Вам нужно будет изменить файлы конфигурации и файлы пинов.

Редактирование файла configuration.h

  1. Включение BD_SENSOR

    Отмените комментирование

    #define BD_SENSOR`
    `#define Z_SAFE_HOMING
    #define BD_SENSOR_PROBE_NO_STOP //добавление этой новой строки для быстрой отстройки без остановки носика,

    Только BD_SENSOR_PROBE_NO_STOP

    Последняя исправленная версия Marlin: https://github.com/MarlinFirmware/Marlin

    Описание: https://github.com/MarlinFirmware/Marlin/pull/25847

  2. Использование датчика для позиционирования Z

    Убедитесь, что Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN отключена, и должна быть включена USE_PROBE_FOR_Z_HOMING

    //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    // Принудительное использование датчика для позиционирования Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Замедление второй скорости позиционирования Z

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Здесь мы должны замедлить скорость позиционирования бампера и Z, так как стопор, считываемый из процесса BDsensor, не реагирует мгновенно, как обычный стопор.

    Редактирование файла Configuration_adv.h

    #define BABYSTEPPING Включите эту функцию для реализации функции реального времени выравнивания

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 }       // Скорость повторного позиционирования делителя (Делит скорость позиционирования при возврате домой)

Редактирование файла pins_boardname.h

Через добавление следующих 3 строк в файл пинов pins_boardname.h настроим выводы SDA и SCL датчика BD (например, ): pins_PANDA_PI_V29.h

#define  I2C_BD_SDA_PIN    PC6   // Пожалуйста, измените на фактический номер, к которому подсоединен провод SDA вашей основной платы
#define I2C_BD_SCL_PIN PB2 // Пожалуйста, измените на фактический номер, к которому подсоединен провод SCL вашей основной платы
#define I2C_BD_DELAY 20 // значение по умолчанию 20, должно быть в диапазоне [20,50].

Если вы хотите сделать автоматическую отстройку перед печатью, как обычный BLtouch, отключите комментарий

#define AUTO_BED_LEVELING_BILINEAR

и отредактируйте значения следующим образом

#define Z_CLEARANCE_DEPLOY_PROBE   0 // Z-очистка для развертывания/складывания
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z-очистка между точками проверки
#define Z_CLEARANCE_MULTI_PROBE 1 // Z-очистка между несколькими проверками

Отображение значений датчика BD на экране LCD

  • Для принтеров с отображением состояния (поддерживающих gcode M117), таких как LCD12864 или некоторые uart-экраны, такие как ender3V2 ...

Калибровка

  1. Очистите сопло, затем переместите Z-ось вручную, пока сопло едва касается поверхности стола (BDsensor использует это положение как 0 точку, поэтому не требуется z_offset, мы устанавливаем значение в 0).

  2. Отправьте команду gcode M102 S-6, принтер будет медленно поднимать Z-ось на 0,1 мм, пока не достигнет 4 мм. Не запускайте команду M102 S-6 до установки датчика или выключайте питание принтера во время калибровки, иначе старые данные калибровки будут удалены. Если это произойдет, просто выполните калибровку снова.

  3. Вы можете отправить команду M102 S-5, чтобы проверить, успешно ли выполнена калибровка BDsensor, это вернет исходные калибровочные данные, сохраненные в BDsensor.

Также существует инструмент калибровки, который может это сделать: https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip img

Примечание: значения данных 1015 или > 1010 указывают на выход за пределы диапазона датчика. Если первые 5 точек (0~0.5 мм) или более значений находятся в диапазоне 0 до 1000, и увеличение значений delta >=10, то калибровка успешна. Как показано на графике выше.

Если команда M102 S-5 вернет первое исходное калибровочное значение больше 400, это означает, что датчик установлен слишком высоко и требуется переподключение ближе к поверхности стола. Также убедитесь, что второе значение больше первого значения на 10 и более.

Тестирование и печать

Меню для уровня стола

Автоматическая отстройка стола

Есть два способа автоматической отстройки стола:

1. Использование M102 для реального времени отстройки первых слоев

Мы можем легко включить или отключить эту автоматическую отстройку, отправляя команду gcode или добавляя команду gcode в файл gcode.

Для включения отстройки перед печатью добавьте команду M28 после команды G102 (домашняя позиция всех осей) в разделе "Стартовый код G" настройки принтера. Например, после команды G28, что означает, что отстройка будет выполняться только на высоте Z 0.2 мм и ниже. M102 S2

Отправка или использование BDsensor для отключения отстройки перед печатью, кстати, по умолчанию отключено. M102 S0``G28``M18

M102   S-1     //Чтение информации датчика, и мы можем использовать это для проверки соединения.
M102 S-2 //Чтение текущего расстояния
M102 S-5 //Чтение исходных калибровочных данных
M102 S-6 //Начало калибровки, прежде чем это сделать, убедитесь, что сопло только касается поверхности стола, а затем перезагрузите принтер. Не производите домашнюю позицию Z перед этим.
M102 S4 //Установка регулируемой высоты Z, например, M102 S4 означает, что он будет выполнять корректировку при высоте Z <=0.4 мм, отключение его M102 S0.

2. Автоматическая отстройка стола с помощью G29

Другой способ автоматической отстройки стола аналогичен BLtouch G29. Добавьте строку G28 под командой G29.

Видео установки

Видео установки от Kris Basement

Проверка концевого выключателя Z M119

Перед выполнением этого шага не возвращайте Z домой, иначе сопло может удариться о печатный стол.

Это сообщение, которое вы получите после отправки команды M119 (отчет о состоянии концевых выключателей):

Send: M119
Recv: x:open y:open z:open

Если концевой выключатель Z не активируется, проверьте вашу конфигурацию. #define Z_MAX_ENDSTOP_HIT_STATE HIGH

  • Убедитесь, что двигатель Z выключен/разблокирован
  • Нажмите вниз Z-ось рукой, пока сопло закроет стол
  • Отправьте M102 S-2, возвращаемое значение должно быть 0.00 мм, затем снова отправьте M119, и вы увидите, что концевой выключатель Z теперь активирован.
Send: M119
Recv: x:open y:open z:TRIGGERED

Проверка подключения

Через M102 S-1 проверьте подключение. Это пример возвращаемого сообщения, проверьте подключение и порядок проводов на наличие пустых строк или других строк.

Send: M102 S-1
Recv: V1.0 pandapi3d.com

Если все вышеперечисленные шаги выполнены правильно, теперь вы можете вернуть Z-ось домой.