如何将我的打印件放在构建平台上?(重新校准归位偏移)

3D打印 加热床 校准 构建板 知识库 归巢
2021-05-18 02:31:52

当我在 Anet A8 上打印接近(但不超过)加热构建平台最大尺寸的大打印件时,边缘或裙子或打印件本身会打印在加热床的外面,而在相对位置留下一些空间. 看起来好像打印不在中心。

  • 为什么打印不集中在床上?
    在生成 G 代码之前,它在切片器中居中。
  • 如何将打印件居中以使其适合加热的构建平台?
2个回答

如果在切片器中正确居中且切片器中未定义偏移,则打印机很可能配置不正确!幸运的是,您可以为此做点什么!基本上,您必须针对新中心校准打印机。

打印机起源?

首先,固件决定了您打印机的来源。这意味着您需要从固件中的终端停止开关正确设置床尺寸和偏移值(通常不需要开箱即用,但在上传更新或不同的固件版本时很重要)。这些偏移确定了底板的原点所在的位置。对于 Marlin 固件,在左前角(面向打印机时)指定原点是很常见的(对于大多数打印机)。马林配置来看我们发现原点例如在左前角。请注意,在某些打印机中,这可以旋转 180 度,所以在右后。另请注意,有一些打印机的原点位于中心,例如 Delta 和一些笛卡尔打印机。常见床位布局的 Marlin 定义(编辑后的片段):

 * +-- 返回 ---+
 * | |
 * L | (+) | 电阻
 * E | | 一世
 * F | (-) N (+) | G
 * T | | H
 * | (-) | 
 * | |
 * O-- 前 --+
 * (0,0)
 * .(-Xh, -Yh)

如何找到打印机的物理来源?

这可以通过使用终端/控制台或简单的 G 代码文件指示头部/喷嘴转到例如 (0, 0, 15)并移动到您从 SD 卡(例如G1 X0 Y0 Z15 F500打印的坐标来测试请注意,出于安全考虑,选择了 Z 为 15!. 执行此操作时,喷嘴应位于固件定义的(升高,因此 X,Y)原点。通常这是在构建板的左前角(那里可能有夹子,因此值会升高),但这可能会因固件设置或固件品牌而异。

下一步是配置切片器,使其与实际原点一致。不正确的切片器设置可能会导致切片器假定原点与您的实际位置不同。在 Ultimaker Cura 中,当物理原点不在中心而是在角落时,“中心原点”因此而闻名。当切片机被正确指示,但原点仍然不在构建板的角落(注意!在某些打印机中,原点在板的中间)你可能有不正确的停止到原点偏移。

先确定偏移量!

为了量化打印机软件(固件)已知的中心偏移,建议打印一个比床的最大尺寸小几个百分点的大正方形。例如,您可以在床尺寸的 90% 处创建方形船体(参数化设计对于此目的非常有用,请参见例如此设计)。.stl在互联网上可以找到很多东西(模型)。如果它包括一个十字架,那就更好了,因为有些平台在床的中央有一个标记。

床身中心校准模型示例
床中心校准模型

打印后,测量从构建平台的每个边缘到打印方块的距离。如果无法打印方块,请检查平台的水平;这也是一个很好的测试你的床的水平! 测量结果应该能让您了解床的偏移量。例如,对于 X 轴,您测量左侧 12 mm 和右侧 8 mm 的距离(面向打印机时),您可以轻松推断出中心是 (12 - 8)/2 = 2 mm 到右侧(正 X 方向)。这意味着打印机制造商通过向您提供带有胶印床的打印机来完成一项糟糕的工作;最好说在他们的固件中配置不正确。请注意,这并不少见!

如何解决这个问题!

量化偏移量后,您要确保下一张打印件打印在床的中间。如何进行?基本上,您可以使用几种解决方案,每种解决方案都有自己的优点和缺点。

  1. 一个简单的解决方案(即如果打印机支持)是调整限位器的位置。或者,您可以打印备用限位器支架以匹配从校准打印测量的位置变化。

  2. 另一个简单而流行的解决方案是在 slicer 中应用偏移量您可以在打印机选项中的某些可用切片器中执行此操作。如果这些选项不可用,您可以在开始代码中添加G 代码命令以创建偏移(例如G1X-2 向左移动并G92 X0重置 X 原点)。请注意,这是一个快速修复,应该明智地应用。打印机不知道实际中心在哪里!你只是在归位序列之后改变了。.gcode与同一台打印机的爱好者交流可能会产生不利影响。

更好的解决方案是在固件中修复中心,以便打印机知道实际中心。这需要通过将固件(包括配置设置的文件)上传到打印机或发送 G 代码命令来进行一些额外的工作。将首先讨论后一种选择。

  1. 此方法的先决条件是它需要您的固件支持G-code 命令 [M206](https://reprap.org/wiki/G-code#M206:_Offset_axes)请注意,并非所有 3D 打印机固件解决方案都能够使用此 G 代码命令进行轴偏移定义。例如,库存的 Anet A8 运行不支持的修改 Repetier 版本,M206是时候上传新的固件,例如Marlin 固件,使这台特定的打印机更安全,因为库存固件不包括热失控保护!请参阅问题:“什么是热失控保护?". 要将 G 代码命令发送到打印机,您可以选择通过 USB 将计算机连接到打印机,并使用支持向打印机发送命令的 3D 打印机程序(这称为终端;即到打印机的接口)打印机。像PronterFaceRepetier-HostOctoPrint 等程序,可能还有更多的程序都有这样的界面。一个简单的替代方法也是创建一个文本文件(带有.gcode扩展名),其中的命令位于不同的行并执行“打印”。需要发送以下代码:M206例如M206 X-2 Y2(将中心向左和向后移动,注意使用整数值,不允许使用浮点值!)并使用M500.

最后的最佳解决方案是在固件中将其设置为固定。这需要上传适用固件的更新配置版本。参见例如问题:“如何将固件上传到打印机? ”。请注意,有多种方法可以将固件上传到开发板,最好在互联网上搜索适用于您开发板的方法。

  1. 为此,您必须熟悉计算机软件和工具来构建源文件并将二进制代码上传到打印机。这取决于您选择的固件类型,因此无法对每个固件进行详细描述。互联网上的各种来源描述了这个过程。一般来说,它需要您正确设置床和偏移值/位置。对于 Marlin 固件,这归结为更改配置文件中的设置,这与其他固件软件解决方案类似:
//打印床的大小
#define X_BED_SIZE 220
#define Y_BED_SIZE 220
 
// 归位后的行程限制 (mm),对应于限位器位置。
#define X_MIN_POS -35 ; 以前是 -33,所以现在向左移动 2 毫米
#define Y_MIN_POS -8 ; 以前是 -10,所以向后移动 2 毫米
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240

至于为什么会发生这种情况,特别是对于预算型打印机,末端挡块的安装位置可能不是特别精确,或者移动部件可能会在每次构建中略微不同地驱动末端挡块。就我而言,更换热端(以及整个车厢)给了我一些厘米的偏移量。通过此次升级,由于挤出机尺寸大不相同,无法保留库存校准。

至于如何修复它,对我来说最简单的方法是修改“启动 g 代码”。此修复仅适用于特定的切片机,这意味着我为 A8 切片的内容不会以工作创客俱乐部 Prusa 为中心,但不需要我弄乱固件或应用每个型号的更新。

在 Z-home 操作之后,我已经有了一个预挤出步骤。在此之前,我设置了我想要我的归巢点的实际位置,使用G92

M82          ; absolute extrusion mode
G28          ; home all
G92 X17 Y-12 ; re-define origin
G92 E0.0     ; reset extruder distance position