11.4 调机指南(选择阅读)
本章节内容摘自Klipper固件文档。注:Pressure Advance(压力补偿)在中文文档中被错误翻译为“压力推进”。
参考:http://www.klipper3d.org/zh/
- 挤出校正
保障正确打印的第一步就是进行挤出校正,防止过度挤出或欠挤出。调试方法也比较简单,即以实际退回长度和输入退回长度进行比较,将比率系数乘到原先的klipper配置文件中的rotation_distance即可。详细步骤如下:
-
首先确保挤出机里有耗材,热端已被加热到适当的温度,并且打印机准备好挤出。
-
用记号笔在离挤出机入口约70毫米的位置上对耗材做一个标记。然后用数字卡尺尽可能精确地测量该标记的实际距离。将此记为<初始标记距离>。
-
用下面列出的命令挤出 50mm 的打印丝。先发送G91,然后发送 G1 E50 F60。注意50mm为<请求的挤出长度>。等待挤出机完成移动(大约需要50秒)。在这个测试中,使用缓慢的挤出速度是很重要的,因为较快的速度会导致挤出机的压力变高,使结果发生偏差。(不要在这个测试中使用图形前端的"挤出按钮",因为它是以快速的速度挤出的。)
-
使用数显卡尺测量挤出机主体与耗材上的标记之间的新距离。请注意该距离是 <最终标记距离>。然后计算:实际挤出长度 = <初始标记距离> - <最终标记距离>
-
计算旋转距离为:rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度>。将新的 rotation_distance 取整到小数点后3位。
- 床网补偿
床网模块可以用于补偿床面的不规则性,以实现更好的首层均一性。简单来说,打印平面不是一个完美的平面,而是一个连续曲面。在每一个(X,Y)坐标下,Z轴高度总是相对平均高度有一个偏差值。通过弥补这个偏差值就能实现更好的首层均一性。采样的点是有限的,因此在采样后要做插值拟合获得整个平面的Z轴高度变化。需要注意的是,基于软件的校正无法达到完美的结果,它只能近似地模拟床面的形状。

Bed Mesh
虽然可以直接使用简单的双线性插值来对探测矩阵进行采样,以确定探测点之间的 Z 值,但通常使用更高级的插值算法来插值额外的点,以增加网格密度,效果通常很好。这些算法会向网格添加曲率,试图模拟床的材料属性。床网提供拉格朗日和双三次插值来实现这一点。
床网插值
- 共振补偿
Klipper支持输入整形(一种开环控制技术,它通过生成一个控制信号来抵消自身的振动)——一种可以用来减少打印件上振纹(也被称为echo、ghosting或ripping)的技术。振纹是一种表面打印缺陷,通常在边角的位置表面重复出现,成为一种微妙的水波状纹路:

振纹
振纹是由打印机在快速改变打印方向时机械振动引起的。请注意,振纹通常源于机械方面的问题:打印机框架强度不足,皮带不够紧或太有弹性,机械部件的对准问题,移动质量大等。
- 压力提前
实验表明,在基本的挤出机方程之上可以改进挤出机的模型。在理想情况下,随着挤出移动的进行,沿移动的每个点应寄出相同体积的耗材,并且在移动后不应挤出任何耗材。不幸的是,在实际情况下,基本的挤出机方程会导致在挤出运动开始时挤出过少的耗材,并且在挤出结束后挤出过多的耗材。这通常被称为“溢料”。

溢料
"压力提前"系统试图通过使用一个不同的挤出机模型来解决这个问题。它不理想的假设送入挤出机的每mm^3 耗材将导致该体积的mm^3 立即被挤出,而是使用基于压力的模型。当耗材被推入挤出机时,压力会增加(如胡克定律),而挤出所需的压力则由通过喷嘴孔口的流速决定(如泊伊维尔定律)。关键的想法是,耗材、压力和流速之间的关系可以用一个线性系数来建模
pa_position = nominal_position + pressure_advance_coefficient * nominal_velocity
基本的压力提前公式会对挤出机电机的速度进行很大的瞬时调整。Klipper 通过实施挤出机运动的 "平滑"(smoothing) 以避免这种情况。

压力补偿与平滑操作
上图以两个挤出运动为例,它们之间的转弯速度不为零。请注意,压力提前系统在加速过程中会导致额外的耗材被推入挤出机。所需的耗材流量越高,在加速过程中必须推入更多的耗材以均衡压力。 在打印头减速期间,额外的耗材会被回抽(挤出机将有一个负速度)。
“平滑”由挤出机位置在一小段时间内的加权平均值实现的(由 pressure_advance_smooth_time 配置参数指定)。这种平均可以跨越多个 g 代码移动。请注意,挤出机电机将如何在第一次挤出运动的标称起点之前开始移动,并在最后一次挤出运动的标称结束之后继续移动。