关闭 ashelly 打开了这个问题 2014 年 6 月 20 日 · 3条评论 关闭 Grbl 在开发分支中以非常小的速度冻结。#432 ashelly 打开了这个问题 2014 年 6 月 20 日 · 3条评论 注释 阿雪莉 评论了 2014 年 6 月 20 日 使用DEFAULTS_GENERIC设置,以下命令会导致 grbl 冻结。 G1 F0.1 X100 该问题似乎是由 stepper.c 中的两行引起的。601: prep.accelerate_until -= inv_2_accel * (pl_block->nominal_speed_sqr-pl_block->entry_speed_sqr); 输入速度为 0,加速度为 10mm/s^2,浮点舍入使 accelerate_until 在 = 100 时保持不变。 这会导致斜坡计算结束时出现问题(第 659 行): mm_remaining = prep.accelerate_until; // NOTE: 0.0 at EOB time_var = 2.0*(pl_block->millimeters-m_remaining)/ (prep.current_speed+prep.maximum_speed); 因为mm_remaining仍然等于 block->millimeters, time_var变为 0。这mm_var在巡航阶段保持为 0,这可以防止mm_remaining再次更改,让我们prep_buffer永远停留在函数中。 是否应该进行某种最小速度检查来防止这种情况发生?accelerate_until或者强制梯形曲线的斜坡阶段至少执行一步(通过将最大值限制为 )是否有意义block->millimeters - prep.req_mm_increment? 成员 香奈儿 评论了 2014 年 6 月 20 日 @ashelly: 感谢您的错误报告以及对问题的详尽解释和定位。为我节省了很多时间和精力。对于像这样的非常低的速度,我认为我们可以沿着完全移除加速和减速斜坡的路线做一些事情。步进电机在缓慢移动时具有最高的扭矩裕度,因此丢步根本不是问题。我会研究解决这个问题。正如您所建议的,可能就像最小速度检查一样。在它下方时,它只是没有坡道。 chamnit 添加了 去做 标签 2014 年 6 月 20 日 chamnit已完成 关闭 2014 年 7 月 8 日 chamnit 重新打开了这个 2014 年 7 月 8 日 贡献者 福尔特曼 评论了 2014 年 7 月 8 日 我认为有一个最小速度(斜坡开始的地方)是个好主意! 成员 香奈儿 评论了 2014 年 8 月 6 日 @ashelly: 找到了这个问题的原因。它不属于加速一代。相反,它处于巡航阶段。引入了一个最小进给率配置参数来解决这个问题。它应用于规划器,而不是步进器模块。 chamnit已完成 关闭 2014 年 8 月 6 日 ashelly 提到了这个问题 2015 年 1 月 21 日 EDM 的 grbl #565 打开 喜欢 (0) 关于规划器的问题 #346 问题:在构建期间定义 $N 值。 #347 GRBL/UGS 问题,已知硬件可以工作,但没有运行 Grbl 的步进运动 XY 绘图仪 – 将 Word 文档转换为 GRBL 文件 grbl 随机在中间停止 Arduino Uno GRBL 问题 GRBL/UGS 问题,已知硬件可以工作,但没有运行 Grbl 的步进运动XY 绘图仪 – 将 Word 文档转换为 GRBL 文件grbl 随机在中间停止Arduino Uno GRBL 问题为什么这会“崩溃”我的 3018 CNCFusion 360 / Grbl – 最后毁掉了工作?!使用 Grbl Shield,必须采取哪些接地预防措施?GRBL 安装挑战(在 cnc 3018 pro 上)
使用
DEFAULTS_GENERIC
设置,以下命令会导致 grbl 冻结。G1 F0.1 X100
该问题似乎是由 stepper.c 中的两行引起的。601:
输入速度为 0,加速度为 10mm/s^2,浮点舍入使 accelerate_until 在 = 100 时保持不变。
这会导致斜坡计算结束时出现问题(第 659 行):
因为
mm_remaining
仍然等于block->millimeters
,time_var
变为 0。这mm_var
在巡航阶段保持为 0,这可以防止mm_remaining
再次更改,让我们prep_buffer
永远停留在函数中。是否应该进行某种最小速度检查来防止这种情况发生?
accelerate_until
或者强制梯形曲线的斜坡阶段至少执行一步(通过将最大值限制为 )是否有意义block->millimeters - prep.req_mm_increment
?