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

Установка BDsensor

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

  • Обратите внимание, что SB2040 не поддерживает BDsensor.
  • Обратите внимание, что для SHT36 необходимо подключить CLK/SCL (Input) BDsensor к входу высокого напряжения и установить перемычку.
  • Линии CKL и SDA BDsensor можно подключить к любым 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 крепления, STL_mount_VzBot_Goliath short

    Loading...

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

BD-датчик интегрирован в Marlin 2.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
    // Принудительное использование датчика для парковки по оси 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

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

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

Если вы хотите выполнить автоматическое зондирование выравнивания стола (G29) перед печатью, как с обычным 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-датчика на ЖК-дисплее

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

Калибровка

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

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

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

Также есть инструмент калибровки, который может это сделать: 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 M102 S2 сразу после gcode G28 (парковка всех осей) в разделе "Начальный G-код" настроек принтера. Например, после G28, что означает, что выравнивание стола будет происходить только ниже высоты оси Z 0.2 мм.

Отправка M102 S0 или G28 отключит выравнивание стола с помощью BD-датчика, кстати, по умолчанию оно отключено.

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.

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

Видео по установке от Chris's Basement

Проверка 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.

Loading...