开源改变世界!!

单击停止按钮后 CNC 起飞 #84

推推 grbl 2年前 (2023-01-31) 111次浏览
关闭
Scott216 打开了这个问题 2015 年 7 月 20 日 · 22条评论
关闭

单击停止按钮后 CNC 起飞#84

Scott216 打开了这个问题 2015 年 7 月 20 日 · 22条评论

注释

单击停止按钮后 CNC 起飞 #84

当我不时地点击 bCNC 中的停止按钮时,我的 Shapeoko 就会高速起飞。这真是太糟了。今天又发生了,我想我会尝试重现问题并记录下来。下面是显示此问题的视频的 YouTube 链接。我还链接了 gcode(在 pastebin 上)。我正在运行 6 月 18 日的 bCNC 0.4.9 和 GRBL v0.9i。Gcode 由 Fusion360 生成。

视频:https
://www.youtube.com/watch?v=FgqczKtHxAo G 代码(由 Fusion 360 生成): http: //pastebin.com/tr650GBC

单击停止按钮后 CNC 起飞 #84
贡献者

你好@Scott216有关此问题的更多信息?你知道如何重现它吗?

单击停止按钮后 CNC 起飞 #84
所有者

你好@Scott216 这几周我远离我的机器来测试它。只是为了确认您在 $N# 初始化命令中没有任何移动命令。

单击停止按钮后 CNC 起飞 #84
作者

每次单击停止按钮时,我确实看到问题发生了。我只试了几次,没有尝试不同的 gcode,也没有尝试重启。
我在 $N 命令中没有任何移动命令

单击停止按钮后 CNC 起飞 #84
作者

这种情况又发生了好几次。如果我必须停止一项工作并且钻头在某个零件上掉了下来,我会在单击停止按钮之前断开电机驱动板的电源,以避免主轴在 xy 中起飞。

单击停止按钮后 CNC 起飞 #84
贡献者

@Scott216我最近遇到了同样的问题。终端没有什么奇怪的,没有初始化代码,在不同的提要上用不同的 gcode 文件进行了测试。可以重现,但不总是。
我也尝试过使用旧的 bCNC 版本,同样的事情发生了。奇怪的是我从来没有见过。
我只记得最近的更改是我最近安装了与 Python2 并行的 Python3,然后删除了 Python 3。我需要尝试使用另一台主机。

问题发生后,我无法再发送任何命令。你也一样吗?
我用的是 windows 7 操作系统,你呢?

单击停止按钮后 CNC 起飞 #84
贡献者

我做了更多测试:
尝试使用不同的 PC 和操作系统,但结果相同。
出现问题后我无法发送更多命令是不正确的,只有当我多次点击停止时才会发生这种情况。(可能是另一个问题)
我的感觉是 grbl 的缓冲区队列并不完全为空,并且在调用 stopRun() 时仍然存在一些东西。我想这是因为终点始终是 gcode 的一部分。
我尝试在函数中添加一些睡眠但没有改进。
如果您需要更具体的测试,请告诉我@vlachoudis.

单击停止按钮后 CNC 起飞 #84
作者

当我遇到问题时,机器不会做出与我的任何 gcode 相匹配的动作。

单击停止按钮后 CNC 起飞 #84
所有者

你好@Scott216, 能不能下载最新版再试试。我对 stopRun 命令进行了额外的保护

单击停止按钮后 CNC 起飞 #84
贡献者

你好@vlachoudis,对不起,但问题仍然存在。

单击停止按钮后 CNC 起飞 #84
所有者

@effer我无法在我的机器上重现它。你能给我解释一下如何重复它的确切步骤吗?

单击停止按钮后 CNC 起飞 #84
贡献者

@vlachoudis这是我的部分程序: http: //pastebin.com/wCjyX72g
我加载文件然后点击运行按钮。我等到大约第 30 行,然后我停止了。
这是控制台的典型输出:
….
G3X0.5I0.5J0.375F360
ok
G1Y1.25
ok G3X
-0.5I-0.5J-0.375
ok
ok
G1Y-1.25
ok
G0Z6
G0X11.137Y-1.601Z6
ok
ok
Grbl 0.9i [‘$’求助]
ok
[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 F0. S0.]
好的

之后机器停止,然后在一秒钟后直线移动到另一个位置:

单击停止按钮后 CNC 起飞 #84

我无法发送任何用户按钮命令,但我可以使用运行按钮再次重新启动 gCode。
如果你远离机器,我怀疑你能看到问题,从控制台对我来说并不奇怪。
如果您需要更多测试,请告诉我。

单击停止按钮后 CNC 起飞 #84
贡献者

@vlachoudis在 serilaIO 中,我以这种方式向控制台添加了一些输出:

如果 tosend 不是 None 并且 sum(cline) <= RX_BUFFER_SIZE-2:
打印 tosend

和这个:
def stopRun(self):
print “FEED HOLD”
self.feedHold()

    print "SLEEP 1"
    time.sleep(1)

    print "EMPTY QUEUE"
    self.emptyQueue()

    print "SOFT RESET"
    self.softReset()

    print "RUN END"
    self.runEnded()

通过这种方式,我看到在一秒停止后(我假设是在 feedHold 命令之后)有一些东西发送到 grbl,那是之后的行。

这里是另一个调试:

G1Y-1.25

G0Z6

G1Z-4.5F200

进给保持
睡眠 1
清空队列
软复位
运行结束
G3X0.5I0.5J0.375F360

如果您需要,还可以在我的 grbl 中进行设置:

$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=4 (dir port invert mask:00000100)
$4=0 (step enable invert, bool )
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13 =0(报告英寸,布尔)
$20=0(软限制,布尔)
$21=0(硬限制,布尔)
$22=0(归位周期,布尔)
$23=0(归位方向反转掩码:00000000)
$24=25.000(归位进给,毫米/分钟)
$25=500.000(归位寻道,毫米/分钟)
$26=250(归位去抖动,毫秒)
$27=1.000(归位牵引,毫米)
$100=44.444(x,步长/mm)
$101=44.444(y,步长/mm)
$102=200.000(z,步长/mm)
$110=8000.000(x 最大速率,mm/min)
$111=8000.000(y 最大速率,毫米/分钟)
$112=5000.000(z 最大速率,毫米/分钟)
$120=250.000(x 加速度,毫米/秒^2)
$121=250.000(y 加速度,毫米/秒^2)
$122=120.000(z 加速度,毫米/sec^2)
$130=200.000(x 最大行程,mm)
$131=200.000(y 最大行程,mm)
$132=200.000(z 最大行程,mm)

对不起,如果真的很冗长,我希望这会有所帮助。

单击停止按钮后 CNC 起飞 #84
所有者

谢谢@effer我想我知道问题出在哪里。

单击停止按钮后 CNC 起飞 #84
所有者

@effer我已经更正了,你现在可以测试一下吗

单击停止按钮后 CNC 起飞 #84
贡献者

@vlachoudis经过一些测试,它似乎有效,但我明天会有更多。
我注意到的一件事是,在我停止并再次运行代码几次后,我无法再运行代码了。bCnc 似乎处于未定义状态,在点击运行后即使重置 grbl 也没有任何反应,即使使用自定义命令也是如此。
现在谢谢。

单击停止按钮后 CNC 起飞 #84
作者

我用 30 分钟前的更新尝试了新代码。机器在停止后还没有起飞。我正在运行此 gcode:http
://pastebin.com/S19JTMDp 但是单击停止后我确实遇到了问题。我不能慢跑或回家。这是步骤
单击停止按钮
CNC 停止,状态 = 空闲
单击主页 – 没有任何反应
点击慢跑 – 没有任何反应
单击运行 – CNC 开始运行
++++++++++++++++++++++++ +
再次尝试:
点击停止
CNC 停止,状态 = 空闲
点击解锁
点击点动按钮 – 没有任何反应
点击主页按钮 – 没有任何反应
点击运行 – CNC 开始运行
++++++++++++++++++ +++++++++
再次尝试
单击 Stop
CNC 停止,Status = idle
单击 Reset
单击 jog 按钮 – 没有任何反应
点击 unlock
单击 jog 按钮 – 没有任何反应
单击 Run – CNC 开始运行

单击停止按钮后 CNC 起飞 #84
作者

这是另一个奇怪的行为:

  1. 运行 – CNC 开始运行
  2. 单击连接到 Arduino 的 Feed Hold 按钮
  3. 状态 = 保留
  4. 单击 bCNC 中的停止按钮
  5. 状态 = 空闲
  6. 单击慢跑按钮 – 没有任何反应
  7. 单击 bCNC 中的暂停按钮
  8. CNC 在错误路径中按点动按钮移动? #6
单击停止按钮后 CNC 起飞 #84
贡献者

@vlachoudis 我做了更多测试,停止后运动不稳定的问题从未发生过。
作为@Scott216点击停止按钮后报告再次工作的唯一方法是关闭 bCNC 并再次打开它。

单击停止按钮后 CNC 起飞 #84
所有者

@Scott216 @effer我相信新提交已经解决了所有这些问题。请测试一下。

单击停止按钮后 CNC 起飞 #84
贡献者

伟大的@vlachoudis
对我来说似乎没问题。使用软按钮和 grbl 输入启动/停止都可以正常工作。一切都停止了,没有奇怪的行为。
谢谢。

单击停止按钮后 CNC 起飞 #84
作者

最新版本运行良好。我停止工作时没有上面列出的问题。

单击停止按钮后 CNC 起飞 #84
所有者

太好了,然后我关闭了这个问题