开源改变世界

问题 GRBL 测试错误! #193

推推 grbl 3年前 (2023-01-21) 141次浏览

关闭
RusSerg 打开了这个问题 2017 年 5 月 12 日 · 11 条评论
关闭

问题 GRBL 测试错误!#193

RusSerg 打开了这个问题 2017 年 5 月 12 日 · 11 条评论

注释

问题 GRBL 测试错误! #193

我正在使用 arduino uno 和 GRBL 1.1

用于测试步进电机我写。

$100=1
G01 X1000 F1

对于步进电机,我每 1 秒等待 1 步!接收包 4 个步进器步骤并暂停并再次 4 个步骤。

测试假!

步进电机旋转方向正确。
步进驱动工作正常,测试错误换一个!

问题 GRBL 测试错误! #193
贡献者

@RusSerg: Grbl 专为现实世界的 CNC 应用程序而设计。不是基准测试。因此默认情况下它的步数下限约为 240 步/秒。您可以通过在 config.h 中禁用 ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING 来减少它。这会将其降低到大约 4 步/秒。这都受到 16 位定时器的限制。

问题 GRBL 测试错误! #193
  1. 为什么 GRBL 不发送速度慢的警告消息?我用 1 个步进电机步进 1mm 创建热敏打印机,我不需要大速度。

您可以通过在 config.h 中禁用 ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING 来减少它。这会将其降低到大约 4 步/秒。这都受到 16 位定时器的限制。

  1. 我尝试 4 个步骤
$100=4
G01 X1000 F1

结果数据包步进和暂停,数据包步进和暂停等

问题!

问题 GRBL 测试错误! #193
贡献者

@RusSerg: 当然。我可以在未来的版本中添加慢速警告,但如果你没有注意到,Grbl 已经完全用尽了 Arduino 上的 328p 处理器。几乎没有空间可以添加这样的东西。剩余空间仅用于错误修复。

我认为您需要阅读 g 代码的工作原理。您的步速仍然低于 Grbl 支持的 0.067 步/秒。F进给速度以毫米/分钟为单位。

问题 GRBL 测试错误! #193

我在 config.h 中禁用 ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING 重新编译

并再次测试。
我尝试:

$100=1
G01 X1000 F4

结果没有停顿

$100=1
G01 X1000 F1

结果 16 步暂停和 16 步暂停

为什么 GRBL 有停顿?

问题 GRBL 测试错误! #193
贡献者

这可能是代码中的数字舍入错误,但对我来说这仍然不是问题。因为你仍然以不到 1 步秒的速度跑步。比 Arduino 的能力低 4 倍。同样,这完全归因于 16 位定时器和预分频器的高度。

问题 GRBL 测试错误! #193
贡献者

更正。启用 AMASS 时 Grbl 支持的最低步速约为 30 步/秒。不是240。

在禁用 AMASS 的情况下,Grbl 支持低至 4 步/秒。那还是一样。

问题 GRBL 测试错误! #193

在禁用 AMASS 的情况下,Grbl 可以无间断地工作。

$100=4
G1 X1000 F60

将来用 Grbl 代码写慢速?

问题 GRBL 测试错误! #193
贡献者

@RusSerg: 是的。Grbl 只需要一个更好的计时器。SAMD21 上的 ARM 版本(即将推出)有一个带可配置时钟的 24 位定时器。它将能够解决您需要的几乎任何费率。

问题 GRBL 测试错误! #193

如果真的需要这么慢的步进速率,在定时器中断上添加一个软件预分频器应该不会太难

问题 GRBL 测试错误! #193

为什么问题定时器?慢速可能会使用额外的软件定时器?

问题 GRBL 测试错误! #193
贡献者

@RusSerg:随意自己实现一个软件预标量。328p 上没有剩余空间供 Grbl 的一般发行版使用。就像我之前说的,这不是 SAMD21 的问题,因为它有更高分辨率的定时器。

喜欢 (0)