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

Установка BDsensor

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

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

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

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

  1. Как показано на рисунке ниже, установите датчик BD рядом с хотэндом. STL of mount, 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 //adding this new line for fast bed leveling without nozzle 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)

    Здесь мы должны замедлить скорость удара при возврате в исходное положение (bump) и скорость возврата по оси 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​

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

#define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard
#define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard
#define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50].

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

#define AUTO_BED_LEVELING_BILINEAR

и отредактируйте значения, как показано ниже

#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes

Отображение значений датчика BD на ЖК-экране​

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

Калибровка​

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

  2. Отправьте G-код команду 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

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

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

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

Меню: Выравнивание стола

Автоматическое выравнивание стола

Существует два способа автоматической выравнивания стола:​

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

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

Чтобы включить выравнивание стола в Cura, добавьте код M102 в разделе «Начальный G-код» настроек принтера непосредственно под кодом G28 (парковка всех осей). Например, под G28 это означает, что выравнивание стола будет выполняться только при высоте оси Z не более 0,2 мм. M102 S2

Отправьте M102 S0, чтобы отключить выравнивание в реальном времени датчика BD (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 — просто добавьте строку G29 под G28.

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

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

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

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

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

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

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

  • Убедитесь, что двигатель Z выключен/разблокирован
  • Вручную переместите ось Z вниз, пока сопло не коснётся поверхности стола
  • Отправьте M102 S-2, возвращаемое значение должно быть 0.00mm, затем снова отправьте 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...