概论
这里提供两种自动调平方式,其他的之后在补充
第一种是用接近开关当探头,使用固定z限位来定位回原
第二种是使用bltouch作为探针和定位回原用。
床网
床网参数
1 | [bed_mesh] |
床网范围配置

探测床网时的坐标变化
我们设置的床网范围坐标一般是指的喷头在该探测点时的坐标。
在探测床网时,如果探针和喷头不在同一个位置,则会将探针移动到我们设置的床网探测点位的位置来探测该点的偏移值,所以探床网时的实际探测范围不等于我们设置的床网范围。
相对零点向两边补偿
床网中的zero_reference_position: 125, 110
是相对零点,就是热床中心位置,床网从这里展开,无不偿
同一个平台采用不同的相对零点,床网形状不变,但是参考平面会发生变化

一些理解

探针校准
配置文件中具有 [probe] 或 [bltouch] 部分的打印机需要进行
X、Y偏移值
x偏移值为 喷嘴X坐标值 - 探针X坐标值
Y偏移值为 喷嘴Y坐标值 - 探针Y坐标值
z 偏移(z_offset)
z 偏移是探针触发时床和喷嘴之间的高度差
可以使用PROBE_CALIBRATE命令测试,或者在主界面校准z偏移
该工具会运行一次自动探测以获取探针的 z 触发位置,然后需要手动调整Z坐标以获取喷嘴碰触到热床时的 z 高度。然后将根据这些测量值计算探针的 z 偏移。
BLtouch调平配置
3dtouch构造
线圈(一圈胶带) 霍尔传感器 芯片 探针
5根线

2pin : sensor传感器线
白色信号线,产生电平给主板,黑色接地
因为信号线是opendrain方式工作,所以白线需要接一个上拉电阻到3V3引脚保证重复精度。
3pin:控制用
橙色 控制线 发pwm信号
绿色 接地
红色 接5V
配置
配置bltouh
1
2
3
4
5
6
7
8
9
10
11
12[bltouch]
sensor_pin: PB15 # 信号引脚
control_pin:PA8 # 控制引脚
x_offset: 25 # 探针偏移值
y_offset: 0 # 探针偏移值
#z_offset: 1
speed: 10.0
samples: 2
samples_result: median
sample_retract_dist: 5.0
samples_tolerance: 0.1
samples_tolerance_retries: 1配置bedmesh -> mesh_min,mesh_max,probe_count
1
2
3
4
5
6
7
8
9
10
11
12[bed_mesh]
speed: 200 #探针在探测点之间移动的速度
horizontal_move_z: 10 #探针在移动前上升到的距离
mesh_min: 70,50 #第一个探测的坐标,最接近原点。该坐标是相对于探针的位置的
mesh_max: 950,950 #距离原点最远的探测坐标。这不一定是探测的最后一点
probe_count: 6,6 #每个轴上要探测的点数
#mesh_pps: 3,3 #此选项指定沿x和y轴为每个线段插入多少个点
algorithm: bicubic #用于插值网格的算法
bicubic_tension: 0.2
#fade_start: 1 #开始逐步淘汰调整的Z高度。在开始淡入淡出过程之前,最好先减少几层
#fade_end: 0 #可以根据打印表面的弯曲程度来调整此值
#fade_target: 0 #可以被认为是附加的Z偏移褪色完成之后施加到整个床的stepper_z字段配置
endstop_pin:probe:z_virtual_endstop- 删除
position_endstop position_min: -5//改成负的
增加safe_z_home安全回原
1
2
3
4
5[safe_z_home]
home_xy_position: 500,500 # Change coordinates to the center of your print bed
speed: 50
z_hop: 3 # Move up 10mm
z_hop_speed: 5床网自动加载
1
2
3
4[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
BED_MESH_PROFILE LOAD=default
测试bltouch
接近开关
接线
一般都是棕正蓝负黑信号
配置
stepper_z字段
position_min: -3改成负的
增加safe_z_home安全回原字段
1
2
3
4
5[safe_z_home]
home_xy_position: 500,500 # Change coordinates to the center of your print bed
speed: 50
z_hop: 3 # Move up 10mm
z_hop_speed: 5配置probe字段 -> pin,xoffset,yoffset
1
2
3
4
5
6
7
8
9
10
11
12
13
14[probe]
## 感应探头
## 这个调查不用于Z高度,只有四龙门水准
## NPN型和PNP型接近开关类型可以设置跳线
pin:PB14 # 信号接口
x_offset: 47 # X轴-传感器相对喷嘴偏移量
y_offset: 1 # Y轴-传感器相对喷嘴偏移量
#z_offset: 0 # Z轴-传感器相对喷嘴偏移量
speed: 8 # 调平速度
samples: 3 # 采样次数
samples_result: median # 取值方式(默认median-中位数)
sample_retract_dist: 8.0 # 调平回缩距离
samples_tolerance: 0.01 # 采样公差(注意过小的值可能造成采样次数增加)
samples_tolerance_retries: 3 # 超公差重试次数床网 -> 床网大小mesh_min,mesh_max,, zero_reference_position: 195,232 床网的相对零点设成和safe_z_home坐标一致
1
2
3
4
5
6
7
8
9
10
11
12
13
14[bed_mesh]
speed: 50 #探针在探测点之间移动的速度
horizontal_move_z: 10 #探针在移动前上升到的距离
mesh_min: 77,31 #第一个探测的坐标,最接近原点。该坐标是相对于探针的位置的
mesh_max: 437,466 #距离原点最远的探测坐标。这不一定是探测的最后一点
probe_count: 7,7 #每个轴上要探测的点数
#mesh_pps: 3,3 #此选项指定沿x和y轴为每个线段插入多少个点
algorithm: bicubic #用于插值网格的算法
bicubic_tension: 0.2
zero_reference_position: 195,232
fade_start: 1 #开始逐步淘汰调整的Z高度。在开始淡入淡出过程之前,最好先减少几层
fade_end: 10 #可以根据打印表面的弯曲程度来调整此值
fade_target: 0 #可以被认为是附加的Z偏移褪色完成之后施加到整个床的床网自动加载
1
2
3
4
5[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
BED_MESH_PROFILE LOAD=default
无探针校准床网
今天试了一下,不用探针也可以完成床网的校准。
首先配置好床网参数
设置床网参数
1
2
3
4
5
6
7
8
9
10
11
12[bed_mesh]
speed: 200 #探针在探测点之间移动的速度
horizontal_move_z: 10 #探针在移动前上升到的距离
mesh_min: 15,15 #第一个探测的坐标,最接近原点。该坐标是相对于探针的位置的
mesh_max: 290,285 #距离原点最远的探测坐标。这不一定是探测的最后一点
probe_count: 3,3 #每个轴上要探测的点数
#mesh_pps: 3,3 #此选项指定沿x和y轴为每个线段插入多少个点
algorithm: bicubic #用于插值网格的算法
bicubic_tension: 0.2
fade_start: 1 #开始逐步淘汰调整的Z高度。在开始淡入淡出过程之前,最好先减少几层
fade_end: 10 #可以根据打印表面的弯曲程度来调整此值
fade_target: 0 #可以被认为是附加的Z偏移褪色完成之后施加到整个床的stepper_Z字段里的position_min: 属性。安装你限位开关的类型不同填。我这里用的微动填
position_min: -1配置一下安全回原
1
2
3
4
5[safe_z_home]
home_xy_position: 165,160 # Change coordinates to the center of your print bed
speed: 50
z_hop: 2 # Move up 2mm
z_hop_speed: 5检查有没有probe , bltouch。参数,都删除掉
使用以以下命令探测床网(或者直接在屏幕上点校准床网)
BED_MESH_CALIBRATE PROFILE=<name> METHOD=[manual | automatic]默认加载网格
1
2
3
4[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
BED_MESH_PROFILE LOAD=default
问题与解决
Option ‘z offset’ in section ‘bltouch’ must have minimum of 0.0

产生的原因
使用z偏移校准时,喷头和平台的距离还有大概3mm就点击完成
解决方法
进入网页,打开printer.cfg文件,搜索z_offset
找到下图的字段,并更改
床网数据,z偏移数据都保存在下图字段中。
Probe triggered prior to movement。
探头在移动过程中触发,换个接近开关。
打印时床网在正常工作但是一边一直没法粘住平台
看了一下床网,长这样,起伏太大了。加点到100个没有改善。
使用PROBE_CALIBRATE命令测试了能粘住的区域和粘不住区域的zoffset。发现偏差0.4mm。根据官网描述最大z_offset 和最小z_offset 之间的差值应该小于25微米(.025mm)。所以目前推测是x轴斜了导致的,但是感觉又不太像。
手动修改床网值
如果探针探测的床网值不够准确,我们可以手动修改床网值来微调床网。
利用下图坐标系,找到床网不准点对应的探测点坐标。

更改床网值
床网值在klipper中一般存储在priter.cfg的最下面。
数值+0.1,平台打印时就会下降0.1
数值-0.1,平台打印时就会上升0.1。
一次调0.1左右就好。