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

Установка 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 монтировки VzBot Goliath short

Установка патча в прошивку 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=Bed Distance Sensor

Редактирование printer.cfg

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

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

  • Чтобы использовать датчик BD как концевик Z при возвращении на ноль Z, измените endstop_pin в секции [stepper_z] на endstop_pin: probe:z_virtual_endstop

  • Убедитесь, что в printer.cfg есть [safe_z_home]

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

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

  • Для активации быстрого сканирования Z оси удалите символ # перед 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-code

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

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

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

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

Калибровка

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

Примечания:

  • Лучшая скорость возврата Z оси должна быть 5

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

    • FAQ: Что означают данные калибровки, начинающиеся с 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'