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

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

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

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

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

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

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

Установка патча в 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

    Убедитесь, что 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 }       // Re-Bump Speed Divisor (Делитель скорости повторного толчка)

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

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

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

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

#define AUTO_BED_LEVELING_BILINEAR

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

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

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

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

Калибровка

  1. Очистите сопло, затем переместите Z-ось вручную, пока сопло будет только касаться поверхности стола (BDsensor-m использует это положение как 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 точек (00.5 мм) или более значений находятся в диапазоне 01000, а увеличение значений delta >=10, это указывает на успешную калибровку. Как показано на приведенном выше графике.

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

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

Меню постели

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

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

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

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

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

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