delta 3d 打印机在哪一点更改 G 代码以在其非笛卡尔设计中工作?

3D打印 DIY-3d-打印机 三角洲 开源
2021-05-10 12:30:51

例如,要制作 DIY 笛卡尔 3d 打印机,您可以使用/执行以下操作:

  • 使用您选择的程序创建 G 代码。

  • 将其加载到通用 G 代码发送器 (GRBL) 中。

  • 使用 GRBL 将其传递到 Arduino 中。

  • arduino 可以通过 GRBL arduino uno 屏蔽将指令传递给驱动程序。

  • 驱动程序将控制步进器。

如果你想做一个DYI delta 3d打印机,整个过程中的哪一点需要改变才能让delta打印机正常工作?是否有用于 delta 打印机/cncs 的现有开源软件?

编辑:这个问题可以问任何类型的非笛卡尔 3d 打印机,包括 Delta、SCARA、Polar 等。

2个回答

简短的回答是非笛卡尔设计的处理由运行在 Arduino 上的运动控制固件完成。

长答案:

我不相信 GRBL 支持非笛卡尔设计,它不常用于打印机。它更常用于铣床、路由器或激光机。3D 打印机通常会使用 Marlin 等固件,该固件支持多种打印机设计,包括 Delta 机器。

g 代码本身没有任何改变。在 Arduino 或其他控制器上运行的运动控制固件解释 g 代码并确定以何种方式以及何时步进每个电机来完成运动。

对于简单的笛卡尔机床,X 轴的命令仅与 X 轴电机相关,但对于非笛卡尔机床,轴和电机的关系复杂。固件必须经过编程和配置才能正确控制电机。

g 代码本身永远不会传递给驱动程序。给驱动器的命令是简单的电信号来“启用”(为电机供电 - 甚至只是保持位置)、“方向”(旋转电机轴的方式)和“步进”(使电机转动)向所选方向旋转一步)。

每个通过 G 代码命令的 3D 打印机或机床都必须根据特定机制解释 G 代码。即使是有明确 X、Y 和 Z 轴的笛卡尔机器,每个轴都有独立的执行器,解释 G 代码并调整比例因子,考虑当前动能和动能的隐式变化,以及构建一个移动计划来实现 G 代码。这涉及考虑速度限制、加速度、加加速度和可能的更高导数。该计划被传递给电机驱动器,并且该机制做出响应。

delta 机制实际上是一样的。不同之处在于没有明显的 X、Y 和 Z 轴,即使 G 代码中的命令是在笛卡尔坐标中给出的。

我的第二台 3D 打印机是我使用标准热端和挤出机设计的。我正在使用 reprap 固件,并没有充分研究运动学。

然而,我的第一台铣床是具有 3 个额外自由度的 delta 机器——一种机器类型,一般称为平行运动学倒置 Stewart 平台。在我的运动学代码中,我通过将笛卡尔命令分解成足够小的段来规划运动,使得 6 轴运动空间的非线性永远不会超过致动器的微小误差。我开发了一个 CPU 密集但有效的校准系统,可以估计我在构建它时引入的错误,因此机械性能足够好。机器本身是一个 5'x6'x6' 的焊接钢框架,因此尺寸非常稳定。

Delta 3D 打印机更简单,因为无法控制热端的滚动、俯仰和偏航。不幸的是,无法控制也意味着您会受到构造中引入的任何错误的影响。

Delta 打印机的“整平”包括估计一些机器特有的参数并补偿它们的影响:杯子、碗、波纹和倾斜。应用这些调整是在运动学代码中完成的,作为对腿部空间增量机构运动的 G 代码笛卡尔参数的进一步修改。

TL; 博士

不修改G代码,而是根据机器运动学对G代码中表达的参数进行调整和解释,以便忠实地遵循G代码的意图。