注释
@RusSerg: Grbl 专为现实世界的 CNC 应用程序而设计。不是基准测试。因此默认情况下它的步数下限约为 240 步/秒。您可以通过在 config.h 中禁用 ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING 来减少它。这会将其降低到大约 4 步/秒。这都受到 16 位定时器的限制。 |
结果数据包步进和暂停,数据包步进和暂停等 问题! |
@RusSerg: 当然。我可以在未来的版本中添加慢速警告,但如果你没有注意到,Grbl 已经完全用尽了 Arduino 上的 328p 处理器。几乎没有空间可以添加这样的东西。剩余空间仅用于错误修复。 我认为您需要阅读 g 代码的工作原理。您的步速仍然低于 Grbl 支持的 0.067 步/秒。 |
我在 config.h 中禁用 ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING 重新编译 并再次测试。
结果没有停顿
结果 16 步暂停和 16 步暂停等 为什么 GRBL 有停顿? |
这可能是代码中的数字舍入错误,但对我来说这仍然不是问题。因为你仍然以不到 1 步秒的速度跑步。比 Arduino 的能力低 4 倍。同样,这完全归因于 16 位定时器和预分频器的高度。 |
更正。启用 AMASS 时 Grbl 支持的最低步速约为 30 步/秒。不是240。 在禁用 AMASS 的情况下,Grbl 支持低至 4 步/秒。那还是一样。 |
在禁用 AMASS 的情况下,Grbl 可以无间断地工作。
将来用 Grbl 代码写慢速? |
@RusSerg: 是的。Grbl 只需要一个更好的计时器。SAMD21 上的 ARM 版本(即将推出)有一个带可配置时钟的 24 位定时器。它将能够解决您需要的几乎任何费率。 |
如果真的需要这么慢的步进速率,在定时器中断上添加一个软件预分频器应该不会太难 |
为什么问题定时器?慢速可能会使用额外的软件定时器? |
@RusSerg:随意自己实现一个软件预标量。328p 上没有剩余空间供 Grbl 的一般发行版使用。就像我之前说的,这不是 SAMD21 的问题,因为它有更高分辨率的定时器。 |
我正在使用 arduino uno 和 GRBL 1.1
用于测试步进电机我写。
对于步进电机,我每 1 秒等待 1 步!接收包 4 个步进器步骤并暂停并再次 4 个步骤。
测试假!
步进电机旋转方向正确。
步进驱动工作正常,测试错误换一个!