关闭 luben111 打开了这个问题 2017 年 1 月 14 日 · 1条评论 关闭 改进点动命令#90 luben111 打开了这个问题 2017 年 1 月 14 日 · 1条评论 注释 鲁本111 评论了 2017 年 1 月 14 日 v1.1 中现有的慢跑功能运行良好,但可以通过添加一个小功能来显着简化主程序对慢跑的支持。 目前,点动按以下方式工作(按下 X+ 按钮超过 500 毫秒时在 X 轴上移动的简化示例): 程序发送多个命令 $J=G91 X1.0 F1000 以保持缓冲区半满(头部相对移动 1mm,进给速率 1000mm/min) 当按下 X+ 按钮时,程序会立即发送 CMD_JOG_CANCEL(代码 0x85),它会中止运动并清除缓冲区(历史记录) 请注意,程序应始终向 GRBL 缓冲区提供新的点动命令。 另一种方法是将点动运动的单个命令发送到某个远点而不是多个小的分段运动,并在点动结束时中止运动。例如,当按下 X+ 按钮超过 500 毫秒时,我们可以发送 $J=X600.0 F1000(X600是机器工作区的终点)。头部将以所需的进给速率继续向工作区域的远端移动,并且无需发送新的点动命令。 当按下 X+ 按钮时,我们发送 CMD_JOG_CANCEL(代码 0x85)立即中止运动 当我们朝相反的方向前进时(按下 X 按钮超过 500 毫秒),我们可以用类似的方式发送 $J=X0 F1000。 这种方法效果很好(如果不需要加速慢跑速度)但有一个地方并不完美 – 如果在 X+ 方向移动时用户按下 Y+ 按钮(通过仍然按住 X+ 按钮)头部应该首先停止 CMD_JOG_CANCEL 和然后开始移动到新的目标。这个“打嗝”可以通过添加一个新的命令来消除——跳过当前的点动操作(CMD_JOG_SKIP),这将强制当前的运动完成。如果用户在 CMD_JOG_SKIP 之前发送了一个新的点动命令,运动的变化将是平滑的。例如: 用户按下 X+ 超过 500 毫秒: 发送 $J=X600.0 F1000 用户按下 Y+ 而 X+ 仍然按下: 发送 $J=X600.0 Y400 F1000 发送 CMD_JOG_SKIP 将跳过当前执行的点动命令并强制 GRBL 尽快开始执行新的 $J=X600.0 Y400 F1000 当然,当两个键都被按下时 – 发送 CMD_JOG_CANCEL 所以请求是添加一个新命令来强制完成当前执行的点动命令。 顺便说一句,一个问题——当发送取消命令(CMD_JOG_CANCEL)时,运动是立即中止(只是停止移动头部)还是使用步进器的减速曲线(防止丢失步数)? 谢谢 贡献者 香奈儿 评论了 2017 年 1 月 15 日 @luben111:感谢您的想法,但我不会更改 Arduino Uno 上 Grbl 的慢跑实现。正如慢跑文档中所述,它并不理想,并且是 Uno 上不再有可用闪存和 RAM 的结果。 chamnit已完成 关闭 2017 年 1 月 15 日 喜欢 (0) 发展路径和心愿单! #125 G0、G1、G2 和 G3“无效命令”? #126 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭 无法在 gsender 1.2.0 中打开 .gcode 文件 #367 RaspberryPi 运行 gsender 时出现问题 #89 向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭无法在 gsender 1.2.0 中打开 .gcode 文件 #367RaspberryPi 运行 gsender 时出现问题 #89向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473功能请求:抑制发送到机器的 gcode 中的 gcode 注释。 #444 关闭通过网络连接进行连接 #171操纵杆运动的剩余问题 #204 关闭新版本认为我的机器一直处于锁定状态 #474 关闭
v1.1 中现有的慢跑功能运行良好,但可以通过添加一个小功能来显着简化主程序对慢跑的支持。
目前,点动按以下方式工作(按下 X+ 按钮超过 500 毫秒时在 X 轴上移动的简化示例):
请注意,程序应始终向 GRBL 缓冲区提供新的点动命令。
另一种方法是将点动运动的单个命令发送到某个远点而不是多个小的分段运动,并在点动结束时中止运动。例如,当按下 X+ 按钮超过 500 毫秒时,我们可以发送
当我们朝相反的方向前进时(按下 X 按钮超过 500 毫秒),我们可以用类似的方式发送 $J=X0 F1000。
这种方法效果很好(如果不需要加速慢跑速度)但有一个地方并不完美 – 如果在 X+ 方向移动时用户按下 Y+ 按钮(通过仍然按住 X+ 按钮)头部应该首先停止 CMD_JOG_CANCEL 和然后开始移动到新的目标。这个“打嗝”可以通过添加一个新的命令来消除——跳过当前的点动操作(CMD_JOG_SKIP),这将强制当前的运动完成。如果用户在 CMD_JOG_SKIP 之前发送了一个新的点动命令,运动的变化将是平滑的。例如:
所以请求是添加一个新命令来强制完成当前执行的点动命令。
顺便说一句,一个问题——当发送取消命令(CMD_JOG_CANCEL)时,运动是立即中止(只是停止移动头部)还是使用步进器的减速曲线(防止丢失步数)?
谢谢