开源改变世界!!

使用“归零”按钮后 G28|G30 的意外行为 #1018

推推 grbl 2年前 (2023-01-27) 144次浏览
关闭
RecceDG 打开了这个问题 2018 年 4 月 29 日 · 2 条评论
关闭

使用“归零”按钮后 G28|G30 的意外行为#1018

RecceDG 打开了这个问题 2018 年 4 月 29 日 · 2 条评论

注释

使用“归零”按钮后 G28|G30 的意外行为 #1018

好的,所以这是一个奇怪的。

使用 Universal GCode Sender 平台每晚构建:

  1. 将托架移动到 YMax,X 大致居中。Z一路向上。在命令行中输入 G28.1。这将位置保存在我所说的“清洁和移除工件”位置。

  2. Move carriage to YMin, X roughly centred, Z all the way up. Enter G30.1 on the command line. This saves the position in what I call the “tool change position”.
    
  3. Type G28 on command line. Machine rapids to the proper position.
    
  4. Type G30 on the command line. Machine rapids to proper position.
    
  5. Jog carriage to arbitrary point, then zero X, Y, Z (to set work zero).
    
  6. Type G28 on command line. Machine rapids to proper position.
    
  7. Type G30 on command line. Machine rapids to proper position.
    
  8. Load GCode created with Fusion 360 that has “safe G28” post processor option active. Run program. Program runs normally (using part zero set in step 5 properly) then on completion of run, lifts Z to G28 then rapids back to G28. (Program issues G28 Z0; G28 X0 Y0;)
    
  9. Type G30 on command line (actually, execute stored macro G30 Z0; G30 X0 Y0) and machine rapids to G30 position.
    
  10. Hit “return to zero” button on UGS (issues G90 X0 Y0; G90 Z0) machine rapids back to part zero.
    

好的,到目前为止一切都按照我期望的方式工作。现在它变得很奇怪。

  1. 将机器点动到任意位置。

  2. 在命令行中键入 G28 或 G30。

  3. Z 轴下降到零件零,然后退回到 G28|G30 零,然后 X/Y 快速到零件零,然后快速返回到 G28|G30 零。从这一步开始每次使用 G28 或 G30 时,在执行移动到 G28 或 G30 位置之前,总是先移动到零件零。

什么。这。地狱。

似乎 G90 不知何故在某处设置了一个开关,迫使随后的 G28 和 G30 移动首先移动到零部分,这是超级不直观的。

这是按设计工作的吗?如果是这样,你如何清除它?或者这是一个 GBRL 错误?

使用“归零”按钮后 G28|G30 的意外行为 #1018
合作者

我无法重现这个。您使用的是哪个版本的 GRBL?
您能否发布以下命令的输出:$$,$#$N.
当您能够重现该问题时,查看 的输出会很有趣$G

使用“归零”按钮后 G28|G30 的意外行为 #1018
作者

$H
ok
$$
$0 = 10(步进脉冲时间,微秒)
$1 = 255(步进空闲延迟,毫秒)
$2 = 0(步进脉冲反转,屏蔽)
$3 = 3(步进方向反转,屏蔽)
$4 = 0(反转步使能引脚,布尔值)
$5 = 0(反转限制引脚,布尔值)
$6 = 0(反转探针引脚,布尔值)
$10 = 115(状态报告选项,掩码)
$11 = 0.020(结偏差,毫米)
$12 = 0.002(弧度公差,毫米)
$13 = 0(以英寸为单位报告,布尔值)
$20 = 1(启用软限制,布尔值)
$21 = 1(启用硬限制,布尔值)
$22 = 1(启用回零循环,布尔值)
$23 = 3(归位方向反转,掩码)
$24 = 25.000(归位定位进给速率,毫米/分钟)
$25 = 750.000(归位搜索寻道速率,毫米/分钟)
$26 = 250(归位开关去抖动延迟,毫秒)
$27 = 1.000 (归位开关牵引距离,毫米)
$30 = 1(最大主轴速度,RPM)
$31 = 0(最小主轴速度,RPM)
$32 = 0(激光模式启用,布尔值)
$100 = 40.000(X 轴行程分辨率, step/mm)
$101 = 40.000 (Y-axis travel resolution, step/mm)
$102 = 188.976 (Z-axis travel resolution, step/mm)
$110 = 8000.000 (X-axis maximum rate, mm/min)
$111 = 8000.000 (Y轴最大速率,mm/min)
$112 = 500.000(Z 轴最大速率,毫米/分钟)
$120 = 500.000(X 轴加速度,毫米/秒^2)
$121 = 500.000(Y 轴加速度,毫米/秒^2)
$122 = 50.000(Z-轴加速度,毫米/秒^2)
$130 = 520.000(X 轴最大行程,毫米)
$131 = 482.000(Y 轴最大行程,毫米)
$132 = 100.000(Z 轴最大行程,毫米)
ok
$#
[G54 :-468.200,-430.200,-59.420]
[G55: 0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000.0G509
: 0 ,0.000,0.000]
[G28:-265.000,-18.720,-1.000]
[G30:-417.400,-481.000,-1.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]

$N
$N0=
$N1=

G28

工作过

G30
还行

$J=G20G91Z-0.1F40
正常
$J=G20G91Z-0.1F40
正常
$J=G20G91Z-0.1F40
正常
$J=G20G91Z-0.1F40
正常
$J=G20G91Z-0.1F40
正常
$J=G20G91X0.1F40
正常
$J= G20G91X0.1F40
正常
$J=G20G91X0.1F40
正常
$J=G20G91X0.1F40
正常
$J=G20G91X0.1F40
正常

跑步

g30
还行

工作过

$J=G20G91Z-1F40
正常
$J=G20G91X1F40
正常
$J=G20G91X1F40
正常
$J=G20G91X1F40
正常
$J=G20G91Y1F40
正常

跑步

G30 Z0
正常
G30 X0 Y0
正常

将 Z 降低到零,然后升高到 G30 高度,然后移动到 XY 零,然后移动到 G30 XY

g28
还行

工作过

$J=G20G91Z-1F40
正常
$J=G20G91Z-1F40
正常
$J=G20G91X-1F40
正常
$J=G20G91X-1F40
正常
$J=G20G91Y-1F40
正常
$J=G20G91Y-1F40
正常
$J=G20G91Y-1F40
正常

跑步

G28 Z0
正常

将 Z 降低到零,然后升高到 G28 高度

G30
还行

工作过

好的,所以这看起来像是与单个轴的移动有关 – 并且可能与 Z0 有关,我的参考资料指出这是一种选择轴的方法,但现在看起来是在移动到 G28 之前命令移动到零或 G30,这是有道理的。

啊哈!我找到了另一个参考资料,指出您需要先使用 G91。

$J=G20G91Z-1F40
正常
$J=G20G91Z-1F40
正常
$J=G20G91X1F40
正常
$J=G20G91X1F40
正常
$J=G20G91X1F40
正常
g91 G30 Z0
正常

工作过

好的,这是按设计工作。我是(过时的)参考文献的受害者。