安装 BDsensor
将传感器电缆连接到主板或CAN总线工具头板。
- 请注意SB2040无法使用BDsensor
- 请注意SHT36需要将BDsensor的CLK/SCL (Input)接到高压输入口,并且将跳线接上
- BDsensor的CKL和SDA线可以连接到电路板的任何GPIO引脚。您也可以将BD传感器电缆直接连接到Bltouch端口,例如:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
由于主板连接器中的某些引脚可能没有直接连接到MCU的gpios(例如,它们上可能有滤波电容器或通过MOSFET,二极管或光耦合器隔离,但如果它们通过电阻或电阻上拉/下拉隔离也可以),因此它们不能与BDsensor一起使用。并且固件将报告连接错误。例如
-
风扇和加热器的连接器通过 MOSFET 隔离,
-
某些电路板中用于温度热敏电阻和端挡/探头的连接器通常通过滤波电容器连接到 GND,
-
如下图所示,将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 -
将固件烧录到BD传感器连接的MCU或CANbus工具头板上
如果您的打印机运行的是Moonraker,请将以下部分添加到moonraker.conf,然后您可以通过网页或klipperscreen单击一下即可更新BDsensor。
[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。您可以连接主板或工具头CAN模块上的BD传感器, -
在
[BDsensor]
中将speed
修改为 0.8。这仅适用于 z 倾斜和PROBE_ACCURACY命令.值越小,探测时的精度越高,因为 MCU 在归位时读取主回路中的 BD传感器不像正常的止动器那样实时。[BDsensor]
-
将BD传感器在Z轴回原点时作为限位开关需要将
[stepper_z]
中的endstop_pin
改为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.0mm)在klipper的默认值为5mm,否则容易超出传感器范围 -
喷嘴高度只适合在
z_adjust:
设置,正数是贴近热床,负数是远离热床,其它调喷嘴高度的设置都会有bug -
打开快速扫床需要将
no_stop_probe:true
前面的#删除 -
下面是一个配置示例。
[BDsensor]
scl_pin:PC6 # 舵机信号口
sda_pin:PC3 # 限位信号口
delay: 20 # 20us per pulse, this value should be >=20 but must be below 50
z_offset:0 # this `z_offset` must be set to 0.
z_adjust:0.0 # z axis adjustment, replace the z_offset function. within -0.3 to 0.3mm
x_offset: -34
y_offset: 0
#no_stop_probe:true # enable this for fast probe, the toolhead will not stop at the probe point.
position_endstop: 0.8 # the Z axis will stop at this position (mm) while homing z, recommend value is 0.4~1.0
#speed:0.8 # this speed only works for the z tilt and PROBE_ACCURACY command.
[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
安装后,请通过发送以下gcode命令进行检查
M102 S-1 # 读取传感器信息
M102 S-2 # 读取一个距离值