开源改变世界

当设置较大的最大行程值时,归位过程失败 #472

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

关闭
mikemaikaefer 打开了这个问题 2018 年 6 月 9 日 · 6条评论
关闭

当设置较大的最大行程值时,归位过程失败#472

mikemaikaefer 打开了这个问题 2018 年 6 月 9 日 · 6条评论

注释

当设置较大的最大行程值时,归位过程失败 #472

我已将 GRBL 的最大行程距离($130、$131、$132)配置为相当大的值,因为控制软件管理这些限制。但这会使归位过程失败,当我执行命令 $HX 时,所有步进输出仅获得一个短脉冲(是的,一个接一个,就像某种灯光秀),仅此而已。GRBL 块,不移动任何轴并且不对限位/原点开关作出反应。

所有大于 150000.000 的行程值都会发生这种情况,110000.000 的值似乎是安全的。所以我的问题是:这是某种已知的限制吗?如果是:这里允许的最大值是多少?如果没有:有什么错误吗?

当设置较大的最大行程值时,归位过程失败 #472
贡献者

150米?!我不会将此归类为错误,因为 Grbl 是在假设没有轴超过 10m 的情况下编写的。它更多地是 32 位整数变量跟踪步进位置的限制,以 200 步/mm 的正/负 2e6 步。

当设置较大的最大行程值时,归位过程失败 #472

32 位整数是 ~ +/- 2e9,所以这对于 150 米处的 ~13000 step/mm 是有好处的

当设置较大的最大行程值时,归位过程失败 #472
贡献者

哎呀。忘记了几个数量级。无论哪种方式,旅行限制都非常高。Homing 使用这些行程限制来确定搜索距离。高值更有可能截断一些浮点运算。无论哪种方式将价值降低到更合理的程度。

当设置较大的最大行程值时,归位过程失败 #472
贡献者

现在想想我是对的,但 int32 不是极限。这是 32 位浮点数的精度。它的精度约为 7 位有效数字。这将 Grbl 限制在大约 10m 左右。

当设置较大的最大行程值时,归位过程失败 #472

好的,我完全理解这些值是有限制的。但是,与其在归巢期间(而不是在移动期间!)表现出无法轻易与该值相关联的未定义行为(我花了 3 天时间才发现这一点),不如限制这些值不是更好吗在内部或在设置过高的值时给出错误?

当设置较大的最大行程值时,归位过程失败 #472
贡献者

是的,如果有这样的支票空间的话。Grbl 确实为一些关键的构建配置留下了几十个字节的闪存。当 ARM 芯片上有更多空间时,我打算在下一个版本中进行更多检查并提供反馈。

喜欢 (0)