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

Установка BDsensor-m-m

Подключение кабеля датчика к разъему EXP1 на плате

  • Если кабеля датчика недостаточно, можно использовать удлинитель из комплекта.

  • Провода CLK и SDA датчика BDsensor-m-m можно подключить к любым GPIO-пинам платы. Также можно подключить кабель BDsensor напрямую к порту Bltouch, например:

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

    • Разъемы вентиляторов и нагревателей изолированы через MOSFET.
    • Разъемы для термисторов и концевых выключателей/датчиков на некоторых платах часто подключены к GND через фильтрующие конденсаторы.
  1. Установите датчик BD рядом с хотэндом, как показано на рисунке. Крепление STL, Крепление STL для 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-m, не является мгновенным, как у обычного концевика.

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

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

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

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

Настройте пины SDA и SCL для BDsensor-m в файле пинов 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-m будет использовать эту позицию как нулевую, поэтому смещение 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-код" настроек принтера. Например, M102 S2 под 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. Просто добавьте строку G29 после G28.

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

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

Проверка концевика Z M119

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

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

Отправлено: M119
Получено: x:open y:open z:open

Если z min не "open", проверьте вашу конфигурацию. #define Z_MAX_ENDSTOP_HIT_STATE HIGH

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

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

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

Отправлено: M102 S-1
Получено: V1.0 pandapi3d.com

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

Loading...