Marlin - 减慢打印速度

3D打印 马林鱼 g代码 速度
2021-05-18 09:59:40

我目前正在使用 Marlin 固件(1.1.0-RC7 - 2016 年 7 月 31 日)并想尝试打印速度。

Marlin_main.cpp我在process_next_command()函数中看到的文件,有一个名为的变量current_command(据说)保存了行进距离和进给率(速度)的 G 代码值。

我期待实际的旅行命令看起来像这样:

G1 X50 Y25.3 E22.4 F1500 

但我正忙于弄清楚它到底在哪里。我假设如果我可以更改F1500F200,我可以有效地减慢打印速度。

我知道configuration.h文件中的第 753 行

#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25}  // (mm/sec)

我对设置固定的慢进给率不感兴趣,而是想更改单个 G 代码命令。有人能告诉我在哪里可以找到实际的 G 代码命令来编辑它吗?

1个回答

G 代码命令不在固件中您试图在代码中找到根本不存在的东西。您的切片器负责生成 g 代码文件,然后您可以将其发送到您的打印机(通过从 SD 卡打印)或使用主机程序(如 repetier 或 cura)。G 代码文件中的命令随后由固件执行,但它们不是固件的一部分。

命令的实际处理方式并非微不足道,它发生在多个地方。

命令在process_commandsMarlin_main.cpp中处理在读取 G1 命令时,它调用get_coordinates解析命令中的 X/Y/Z/进给率值。接下来,该prepare_move函数被调用,它在调用plan_buffer_line(在 中planner.cpp之前应用必要的变换(钳位到终点,如果你有一个 delta 则反向运动),它会做一些更多的预处理并计算一个“块”,它被推到缓冲。Next,planner_recalculate被调用,它遍历块来为它们找到可行的加速模式。最后,中断(在 stepper.cpp 中ISR(TIMER1_COMPA_vect))周期性地从缓冲区读取块并将信号实际发送到步进器。