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

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

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

  • Если длины кабеля датчика недостаточно, можно использовать удлинитель из упаковки.
  • Провода CKL и SDA BDsensor-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-датчик рядом с хот-эндом, как показано на рисунке ниже. STL крепления, STL_mount_VzBot_Goliath short

    Loading...

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

  • Не делайте того, что не упомянуто в руководстве.

  • Отмените предыдущие изменения файлов klipper и обновите Klipper

    cd
    cd ~/klipper
    git checkout .
    git pull
  • Выполните команду git ниже в домашнем каталоге, чтобы клонировать последний код BD-датчика

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Затем выполните команду ниже для установки

    cd ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh

Компиляция прошивки Если появится сообщение о несовместимости прошивки верхнего и нижнего уровней, только тогда компилируйте новую прошивку Klipper.

  • Для компиляции прошивки найдите руководство по компиляции вашей прошивки и выполните компиляцию и прошивку.

  • Компиляция прошивки

    cd ~/klipper/ # Перейти в каталог Klipper
    make menuconfig # Войти в интерфейс компиляции Klipper
    make clean # Команда очистки
    make # Команда компиляции
  • Прошейте прошивку на материнскую плату, к которой подключен BD-датчик.

Если ваш принтер работает на Moonraker, добавьте следующий раздел в moonraker.conf, тогда вы сможете обновить BDsensor одним нажатием через веб-интерфейс или KlipperScreen.

[update_manager BDsensor]
type: git_repo
primary_branch: new
channel: dev
path: ~/Bed_Distance_sensor
origin: https://github.com/markniu/Bed_Distance_sensor.git
install_script: ./klipper/install_BDsensor.sh
is_system_service: False
managed_services: klipper
info_tags:
desc=Датчик расстояния до стола

Отредактируйте printer.cfg

  • Скопируйте этот раздел в ваш printer.cfg и отредактируйте [BDsensor] sda_pin scl_pin, также не забудьте отключить другие разделы щупов, например BLtouch. Вы можете подключить BD-датчик к материнской плате или CAN-модулю инструментальной головки.

  • В [BDsensor] измените speed на 0.8. Это работает только для команд z_tilt и PROBE_ACCURACY. Чем меньше значение, тем выше точность при зондировании, так как МКУ при парковке считывает BD-датчик в основном цикле, а не в реальном времени, как обычный концевой выключатель. [BDsensor]

  • Для использования BD-датчика в качестве концевого выключателя при парковке оси Z измените endstop_pin в [stepper_z] на endstop_pin: probe:z_virtual_endstop

  • Убедитесь, что в printer.cfg присутствует раздел [safe_z_home]

  • Измените значение speed в [bed_mesh] и [z_tilt] или [quad_gantry_level] на 1 (рекомендуется 0.7-1.0 мм). Значение по умолчанию в Klipper составляет 5 мм, иначе легко выйти за диапазон датчика.

  • Высота сопла устанавливается только через z_adjust:. Положительное значение приближает к столу, отрицательное отдаляет. Другие настройки высоты сопла будут содержать ошибки.

  • Для включения быстрой проверки стола удалите # перед no_stop_probe:true.

  • Ниже приведен пример конфигурации.

    [BDsensor]
    scl_pin:PC6 # Пин сигнала сервопривода
    sda_pin:PC3 # Пин сигнала концевого выключателя
    delay: 20 # 20 мкс на импульс, это значение должно быть >=20, но обязательно ниже 50
    z_offset:0 # этот `z_offset` должен быть установлен в 0.
    z_adjust:0.0 # Корректировка оси Z, заменяет функцию z_offset. В пределах -0.3 до 0.3 мм
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # Включите для быстрого зондирования; инструментальная головка не будет останавливаться в точке зондирования.
    position_endstop: 0.8 # Ось Z остановится на этой позиции (мм) при парковке Z, рекомендуемое значение 0.4~1.0
    #speed:0.8 # Эта скорость работает только для команд z_tilt и PROBE_ACCURACY.

    [stepper_z]
    endstop_pin: probe:z_virtual_endstop
    #position_endstop: 0.5
    homing_speed: 5
    second_homing_speed: 0.8

    [bed_mesh]
    speed: 200
    horizontal_move_z:1
    algorithm: bicubic

    [quad_gantry_level]
    horizontal_move_z:1

После установки проверьте, отправив следующие G-код команды

M102 S-1 # Чтение информации о датчике
M102 S-2 # Чтение одного значения расстояния

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

  • Отправьте M102 S-1 через консоль. Это пример возвращаемого сообщения. Если возвращается пустота или другая строка, проверьте подключение и порядок проводов.

    Send: M102 S-1
    Recv: V1.0 pandapi3d.com

Калибровка

  • Очистите сопло, затем переместите ось Z через консоль, пока сопло не коснется стола (BDsensor-m будет использовать это положение как нулевое, поэтому z_offset не требуется, именно поэтому в разделе [BDsensor-m] указано значение 0).
  • Отправьте G-код команду M102 S-6 через консоль. Принтер будет медленно поднимать ось Z на 0.1 мм за один раз, пока не достигнет 4 мм. Не запускайте M102 S-6 перед установкой датчика и не выключайте питание принтера во время калибровки, иначе старые калибровочные данные будут удалены. В этом случае просто откалибруйте заново.
  • После этого вы можете проверить, успешно ли откалиброван BD-датчик, с помощью M102 S-5. Это вернет исходные калибровочные данные, хранящиеся в BD-датчике.

Примечания:

  • Скорость парковки по Z лучше всего устанавливать 5.

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

    • Вопросы и ответы: Что означает, если калибровочные данные начинаются с 1, второе значение — 9, третье — 24?

    • Это означает, что разрешение в диапазоне 0-0.1 мм составляет всего 9, а в диапазоне 0.1-0.2 мм — 15. Поэтому рекомендуется откалибровать заново, чтобы разрешение первого диапазона 0-0.1 мм было больше 10.

  • Не забывайте регулировать высоту оси Z после выполнения G28 или перед командами Z_tilt и quad_gantry_level.

  • Имена разделов должны быть написаны с правильным учетом регистра, иначе Klipper сообщит об Unknown pin chip name 'probe'.

Loading...