开源改变世界

0.9i – 最小进给率似乎在 40-45mm/min 左右 #742

推推 grbl 3年前 (2023-01-22) 75次浏览

关闭
jarretluft 打开了这个问题 2015 年 6 月 19 日 · 6条评论
关闭

0.9i – 最小进给率似乎在 40-45mm/min 左右#742

jarretluft 打开了这个问题 2015 年 6 月 19 日 · 6条评论

注释

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742

当指定低 F 值(低于 45mm/min 左右)时,GRBL 将以大约 43mm/min 的最小速度移动。
这是通过设置 F5 毫米/分钟的进给率,然后尝试从工作原点移动 G1 X5 来测试的。机器在大约 7 秒内移动了 5 毫米,但这应该以 5 毫米/分钟的速度移动 1 分钟。

更详细的报告在这里:http ://www.shapeoko.com/forum/viewtopic.php?f=3&t=6103

为了测试这个,我正在运行:$i = [0.9i.20150329:]

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742

对此很好奇,因为我在开始 GRBL 道路时进行了进给率测试,所以我在 0.9i.20150618 上运行它并且无法重现该问题。还是好奇,于是下载了0.9i.20150329版本,还是无法复制。在这两种情况下,我从 x=0 开始设置 F5,然后设置 G90G1X5,完成移动只用了 1 分钟。对 Y 轴和 Z 轴也做了同样的事情。

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742

只有在 config.h 中启用 AMASS 功能时才会出现此行为

#define ADAPTIVE_MULTI_AXIS_STEP_SMOOTHING // 默认启用。评论禁用。

因为 AMASS 算法只需要一个定时器预分频器;仅在定时器中加载 0xffff 值(prep_segment->cycles_per_tick=0xffff // line 786 stepper.c)无法保证非常低的进给率
AMASS 级别 3 相当于 1:8 的预分频器,禁用 AMASS 和使用具有 1:64 预分频器的相同值 0xffff。

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742
成员

我已经有一段时间没有这样做了,但我记得我考虑到了生成和执行的非常慢的步骤段。它不应该这样做。也就是说,我可能没有查看所有设置。@jarretluft: 请提供重现此问题所需的设置。

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742
作者

在 shapeoko 2 硬件上,Arduino uno w/ grblshield v4。
使用没有自定义的库存 grbl [0.9i.20150329:]。

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=2 (dir port invert mask:00000010)
$4=0 (step enable invert, bool )
$5=0(限制引脚反转,布尔值)
$6=0(探针引脚反转,布尔值)
$10=3(状态报告掩码:00000011)
$11=3.000(结偏差,mm)
$12=0.002(弧度公差,mm)
$13 =0(报告英寸,布尔)
$20=1(软限制,布尔)
$21=0(硬限制,布尔)
$22=1(归位周期,布尔)
$23=0(归位方向反转掩码:00000000)
$24=25.000(归位进给,毫米/分钟)
$25=350.000(归位寻道,毫米/分钟)
$26=254(归位去抖动,毫秒)
$27=2.000(归位牵引,毫米)
$100=40.000(x,步长/mm)
$101=40.000(y,步长/mm)
$102=1280.000(z,步长/mm)
$110=5000.000(x 最大速率,mm/min)
$111=5000.000(y 最大速率,毫米/分钟)
$112=250.000(z 最大速率,毫米/分钟)
$120=500.000(x 加速度,毫米/秒^2)
$121=500.000(y 加速度,毫米/秒^2)
$122=30.000(z 加速度,毫米/sec^2)
$130=295.000(x 最大行程,mm)
$131=306.000(y 最大行程,mm)
$132=96.000(z 最大行程,mm)

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742
成员

@jarretluft:谢谢贾勒特。我已经证实这与低步长/毫米设置有关。要正确解决此问题,需要进行一些重要的重构。因为,在磨坊上如此缓慢地移动并不常见,我不会为 v0.9 master 触及这个,但会在 v1.0 中修复它。

0.9i - 最小进给率似乎在 40-45mm/min 左右 #742 chamnit 添加了 去做 标签 2015 年 6 月 19 日
0.9i - 最小进给率似乎在 40-45mm/min 左右 #742
成员

好的,我找到了这个问题的原因。它源于 AMASS 算法,它只在主定时器中使用一个固定的预分频器。AMASS 的最低滴答速率约为 30 步/秒。对于 40step/mm,这相当于大约 45mm/min。由于它的设计方式,我无法用 AMASS 解决这个问题。我没想到需要非常慢的进给率的用例。

所以解决方案是在 config.h 中禁用 AMASS,这会强制 Grbl 使用旧的计时算法,和/或增加轴的步数/mm,这样所需的最低步进速率就会超过 30 步/秒。

喜欢 (0)