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

Установка BDsensor

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

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

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

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

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

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

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

    cd
    cd ~/klipper
    git checkout .
    git pull
  • Склонируйте последние исходники датчика BD

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Установка

    cd  ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh
  • Компиляция прошивки

    cd ~/klipper/
    make menuconfig
    make clean
    make
  • Прошейте MCU или плату инструментов CANbus, к которой подключен BDsensor

Если ваш принтер работает с 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 и отредактируйте sda_pin и scl_pin в разделе [BDsensor]. Не забудьте отключить другие разделы зонда, такие как BLtouch. Вы можете подключить BDsensor к основной плате или модулю инструментов CAN.

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

  • Чтобы использовать BDsensor как концевик при возврате по оси 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:. Положительное число приближает сопло к столу, отрицательное – удаляет от него. Другие параметры настройки высоты сопла могут содержать ошибки.

  • Чтобы включить быстрое сканирование стола, удалите символ # перед 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 будет использовать это положение как ноль, поэтому z_offset не требуется, это причина того, что значение в разделе [BDsensor] равно 0).
  • Отправьте G-код команду M102 S-6 через консоль, принтер медленно поднимет ось Z на 0.1 мм, пока не достигнет 4 мм. Не запускайте M102 S-6 до установки датчика, и не выключайте принтер во время калибровки, иначе старые данные калибровки будут удалены. В этом случае просто выполните калибровку снова.
  • После этого вы можете проверить успешность калибровки BDsensor с помощью команды M102 S-5 через консоль, она вернет сохраненные в датчике калибровочные данные.

Примечания:

  • Скорость возврата по оси 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...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...