Contact me: hankecnc@gmail.com

v0.8 – 轴运动滞后 4 毫秒 #268

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

关闭
nordiste 打开了这个问题 2013 年 9 月 12 日 · 6条评论
关闭

v0.8 – 轴运动滞后 4 毫秒#268

nordiste 打开了这个问题 2013 年 9 月 12 日 · 6条评论

注释

v0.8 - 轴运动滞后 4 毫秒 #268

你好,
我正在使用 grbl0.8a 尝试运动问题

大约 75 毫秒后,我在轴上有 4 毫秒的滞后。

你已经看到了吗?
参数:

$0=5.000(x,步进/mm)
$1=5.000(y,步进/mm)
$2=1.000(z,步进/mm)
$3=5(步进脉冲,usec)
$4=300000.000(默认进给,mm/min)
$5=300000.000(默认寻道,mm/min)
$6=0(步进端口反转掩码,int:00000000)
$7=0(步进空闲延迟,毫秒)
$8=20000.000(加速度,mm/sec^2)
$9=0.050(连接偏差,mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto开始,布尔)
$15=0(反转步骤启用,布尔)
$16=0(硬限制,布尔)
$17=1(归位周期,布尔)
$18=0(归位方向反转掩码,int:00000000)
$19=300.000(归位进给,毫米/分钟)
$20=10000.000(归位寻道,毫米/分钟)
$21=100(归位去抖,毫秒)
$22=0.000(归位牵引,毫米)

v0.8 - 轴运动滞后 4 毫秒 #268

感谢帮助。

v0.8 - 轴运动滞后 4 毫秒 #268
成员

@nordiste: 是的,我看到了差距。这归因于步进算法中的“划分”。Grbl v0.9a edge 试图通过重写基本步进算法来纠正这个问题。它不再在 15kHz 左右的频率上产生这种差距,但该算法有点昂贵并且可能不如 v0.8 执行得好,至少在 g 代码解析和流式传输级别上是这样。

请试用边缘版本 v0.9 并告诉我们这是否解决了问题。有了它,步进器听起来可能有点不同,但它的行为是一样的。

v0.8 - 轴运动滞后 4 毫秒 #268
作者

您好,感谢您的快速回复。

我必须做一些修改才能在我的机器上使用 GRBL。
我有一条用于正向移动的阶梯线,一条用于负向移动。不是一个用于步骤,一个用于指导
你能把 grbl 0.9 源代码发给我吗?

谢谢。
马克。

v0.8 - 轴运动滞后 4 毫秒 #268
成员

@nordiste: 你应该可以从这里下载它。只需切换到边缘分支并单击页面右侧的“下载 Zip”按钮即可。

我不确定您所说的代码修改是什么意思,但是如果您按照电子邮件中的说明进行(1<<(X_STEP_BIT + 1))操作,则您的 if-else 语句不会改变任何内容。步进 ISR 预先构建带有方向和步骤的步进端口字节,然后在接下来的 ISR 节拍中执行它。

v0.8 - 轴运动滞后 4 毫秒 #268
作者

我做了一些修改以获得良好的效果。
V0.8 中的差距是什么?
谢谢。

v0.8 - 轴运动滞后 4 毫秒 #268
作者

你好,
我正在使用 V0.9 进行一些测试,它更好、更流畅。
但我不能使用超过 350 000 毫米/分钟的速度和 5 步/毫米。~= 29 赫兹。

我只需要进行线性位移,我会尝试为此优化您的代码。
原始驱动器的工作速度快 2 倍:-/

我也对软限制进行了一些修正^^,为什么你使用负值来处理软限制?

谢谢你的作品!

v0.8 - 轴运动滞后 4 毫秒 #268
成员

@nordiste: v0.9 不能超过 30kHz。这是一个硬性限制,除非您在 config.h 中调整计时器滴答频率并重新编译。对于 328p AVR,它确实不能比这快得多。

不确定原始驱动器快 2 倍和线性位移是什么意思。

软限制仅适用于负值,因此我们不必检查正值并考虑可能完全不同的机器坐标系。仅当启用归位时才应使用软限位,归位将自动将每个轴的所有有效机器坐标从 0 移动到 -max 行程。它确实使在后台处理起来更容易,最终效率更高。

喜欢 (0)