Установка 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 через фильтрующие конденсаторы.
-
Установите BD-датчик рядом с хотэндом, как показано на рисунке ниже. STL крепления, STL_mount_VzBot_Goliath short
Loading...
Установка патча в прошивку 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 -
Прошейте прошивку в микроконтроллер или плату инструмента CANbus, к которой подключен 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_pinscl_pin. Также не забудьте отключить другие разделы датчика, такие как BLtouch. Вы можете подключить BD-датчик к основной плате или модулю CAN инструмента. -
В разделе
[BDsensor]изменитеspeedна 0.8. Это относится только к командам наклона по Z и PROBE_ACCURACY. Меньшее значение обеспечивает более высокую точность при зондировании, поскольку микроконтроллер считывает BD-датчик в основном цикле при возврате в начало, а не в реальном времени, как обычный концевой выключатель.[BDsensor] -
Чтобы использовать BD-датчик в качестве концевого выключателя при возврате оси Z в начало, измените
endstop_pinв[stepper_z]наendstop_pin: probe:z_virtual_endstop. -
Убедитесь, что в printer.cfg есть раздел
[safe_z_home]. -
Измените значение
horizontal_move_zв[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 и 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 до установки датчика и не выключайте принтер во время калибровки, иначе старые калибровочные данные будут удалены. В этом случае просто выполните калибровку снова. - После этого вы можете проверить, успешно ли откалиброван 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'.