作为3D打印机来说,热床的不平整导致的缺点不用反复强调了,现在大部分固件都支持通过探针测量床的变形情况,通过打印的时候动态补偿高度让床变“平”!
但是很多人尝试了网格补偿(bed_mesh) 之后,发现其实补偿的方式效果来的并没有想象中那么明显,甚至起到了反效果,经过一段时间的调试和研究之后,应该找到了原因,并弄了简单的工具来调整这个问题。
首先,要明白,补偿的原理,就是用探针测量不同位置的时候喷嘴到床的实际距离,然后根据这个距离补偿高度。
这个公式大概是:探针到床的距离-探针到喷嘴的距离=喷嘴到床的距离
首先,探针到床的距离由调平传感器自己解决,其精度根据传感器来决定,一般来说无论是光学、机械或者感应的这些距离传感器,其实基本上都能满足要求。第二,探针到喷嘴的距离按理来说应该是固定的,但是不同的机子设计方案加上装配的精度或者手法,可能导致这部分的距离在运动时变成了不固定值,以至于最后喷嘴到床的距离不正确,结果就是补偿的失效,这应该就是为什么很多人哪怕做了bed_mesh补偿,效果也不明显的真正原因。
用Voron2.4的一张图来解释一下这个原因

既然找到了原因,怎么解决这个问题呢?首先,最简单的方法,找一个非常平的平面,用这个平面作为参照物调整两条线轨完全平行,让红蓝两个箭头的受力完全一样。Voron官方的MOD库里头也是类似这种方案,详细可以查看这个下面这个地址
https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/Badnoob/Rail_Alignment
不过这个方案最困难的地方在于,你如何找到这个平整的床,因为很多时候本身我们就是因为床有不平……
所以,从另一个方向考虑,如果知道喷嘴到探针的距离,只要想办法调整这个距离相同,理论上也能达到相同的效果了?
根据这个,所以弄了个这个工具

具体的操作使用流程如下
1)机子复位完成,并运行QGL龙门架调平,打印头位于热床中央。将工具放到喷头底部,操作z轴下降到探针正好碰到工具平面B,注意是正好碰到但是不要卡住
2)然后调整工具上A位置的螺丝钉高度,使螺丝钉顶部也正好碰到喷头为止,同样注意不要卡住喷头
3)松开x轴前方的导轨大部分螺丝,但是注意,不要松开打印头左右2边的螺丝,因为这个位置理论上是正确的位置,无需调整了。
4)将打印头向左或者右移动三分之二的距离,这时候将上面的工具同样移至于喷头底部。但是注意,由于热床不平的原因,这时候打印头有可能过低,导致工具无法塞到底部,所以这时候应该使用软件适当的升高z轴的高度,让工具能像在中间的时候,能放置于喷头和探针底部。
5)这时候因为导轨不平,所以仔细观察很可能发现喷头距离A面和探针距离B面的距离会有不一样的情况,这就是打印头旋转受力,导致喷头和探针的距离发生了变化导致的。
6)通过上下挤压导轨,调整这个距离,做到喷嘴和探针距离各自平面的高度是相同的,并且下降z轴做确认,总而言之确保喷头和探针能同时正好接触到工具AB平面后,锁死这边的导轨螺丝。
7)将打印头移动到另外一边,做相同操作,确保所有位置喷嘴和探针的距离都是相同的。
8)结束!
记住,这个调整的主要目的是让喷嘴和探针的距离固定下来,而不是让你的热床、或者喷嘴和导轨平行,所以在调整的过程中你可以放心的升降z轴,只要保证喷嘴和探针能像中间的时候,同时接触到工具的AB两个参考平面,就成功了。
因为根据前面的公式,只要喷嘴到探针的距离固定了,探针到床的距离通过传感器测量出来之后,喷嘴到床的距离就是正确的。这时候虽然升降了z轴高度,但是由于能准确的计算喷嘴到床的高度了,所以调整高度是可以通过bed_mesh补偿回来的。
完成上述调整后,重新做一次bed_mesh的校准操作,这时候出来的补偿参数才是最正确的数据,无论你的热床这时候是个锅还是个座山,甚至是波浪,按理都应该可以有不错的补偿效果了。
bed_mesh调整前后的对比

调整前,实际首层得粘床的效果并不佳,300×300的床大概只有三分之二左右的区域能够粘住耗材,并且明显感觉线宽和厚度是不够均匀的,右边过宽了。

调整后的测试打印效果,可以看出虽然床虽然变形严重,但是实际上的打印效果还是比较满意的
