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

Установка BDsensor

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

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

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

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

  1. Установите датчик BD вблизи хотенда, как показано на рисунке ниже. STL of mount, STL_mount_VzBot_Goliath short

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

BDsensor интегрирован в 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_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN отключено, и включите USE_PROBE_FOR_Z_HOMING

    //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    // Force the use of the probe for Z-axis homing
    #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 }       // Re-Bump Speed Divisor (Divides the Homing Feedrate)

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

Добавьте следующие 3 строки в файл пинов pins_boardname.h для настройки пинов SDA и SCL для BDsensor (например, ): pins_PANDA_PI_V29.h

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

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

#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 между многократными зондированиями

Отображение значений BDsensor на экране

  • Для принтеров с отображением состояния (поддерживает 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.

Чтобы включить настройку стола в Cura, добавьте gcode M28 в раздел "Стартовый G-код" настроек машины принтера, прямо под G102 (домой все оси). Например, под 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

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

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

Видео установки от Криса из подвала

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

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

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

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

Если z min не открыт, проверьте вашу конфигурацию. #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 домой.