Установка BDsensor
Подключите кабель датчика к материнской плате или к плате инструментального блока шины CAN.
- Обратите внимание, что SB2040 не может использовать BDsensor.
- Обратите внимание, что для SHT36 необходимо подключить контакт CLK/SCL (вход) BDsensor к входу высокого напряжения и установить перемычку.
- Линии CKL и SDA BDsensor могут быть подключены к любым контактам GPIO на плате. Вы также можете подключить кабель BD датчика напрямую к порту Bltouch, например:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Вход)
GND --> GND
Zmin --> SDA (Вход/Выход)
-
Поскольку некоторые контакты в разъемах материнской платы могут не быть напрямую подключены к GPIO МК (например, на них могут быть фильтрующие конденсаторы или они могут быть изолированы через MOSFET, диод или оптопару, но если они изолированы через резистор или резистор подтяжки/стяжки, это также допустимо), их нельзя использовать с BDsensor. В противном случае прошивка сообщит об ошибке подключения. Например:
-
Разъемы вентиляторов и нагревателей изолированы через MOSFET.
-
Разъемы для термисторов и концевых выключателей/зондов в некоторых платах обычно подключены к GND через фильтрующие конденсаторы.
-
Установите BD датчик рядом с хот-эндом, как показано на рисунке. STL крепления, STL_крепление_VzBot_Goliath short
Loading...
Установите патч в прошивку Klipper
-
Откатите ранее измененные файлы klipper и обновите Klipper
cdcd ~/klippergit 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 menuconfigmake cleanmake -
Прошейте прошивку в МК или на плату инструментального блока шины CAN, к которой подключен 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=Датчик расстояния до стола
Отредактируйте printer.cfg
-
Скопируйте этот раздел в ваш printer.cfg и отредактируйте
[BDsensor]sda_pinscl_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]. -
Измените значение
[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, но не более 50z_offset:0 # это 'z_offset' должно быть равно 0.z_adjust:0.0 # Регулировка оси Z, заменяет функцию z_offset. В диапазоне от -0.3 до 0.3 ммx_offset: -34y_offset: 0#no_stop_probe:true # Включите для быстрого зондирования, инструментальная головка не будет останавливаться в точке зондирования.position_endstop: 0.8 # Ось Z остановится на этой позиции (мм) при возврате в ноль, рекомендуемое значение 0.4~1.0#speed:0.8 # Эта скорость работает только для команд z_tilt и PROBE_ACCURACY.[stepper_z]endstop_pin: probe:z_virtual_endstop#position_endstop: 0.5homing_speed: 5second_homing_speed: 0.8[bed_mesh]speed: 200horizontal_move_z:1algorithm: bicubic[quad_gantry_level]horizontal_move_z:1
После установки проверьте, отправив следующие gcode-команды
M102 S-1 # Чтение информации датчика
M102 S-2 # Чтение значения расстояния
Проверка подключения
-
Отправьте
M102 S-1через консоль. Это пример возвращаемого сообщения. Если возвращается пустая строка или другой текст, проверьте подключение и порядок проводов.Send: M102 S-1Recv: V1.0 pandapi3d.com
Калибровка
- Очистите сопло, затем с помощью консоли переместите ось Z, пока сопло не коснется стола (BDsensor будет использовать это положение как нулевую позицию, поэтому
z_offsetне требуется, поэтому его значение равно 0 в разделе [BDsensor]). - Отправьте gcode-команду
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'.