开源改变世界

移动小步时随机冻结 #444

推推 grbl 2年前 (2023-01-22) 319次浏览

关闭
kikigey89 打开了这个问题 2014 年 7 月 18 日 · 18条评论
关闭

移动小步时随机冻结#444

kikigey89 打开了这个问题 2014 年 7 月 18 日 · 18条评论

注释

移动小步时随机冻结 #444

你好!

首先感谢这个不错的软件:-)

我有一个奇怪的问题:移动小步时(例如铣削直径为 25 毫米的小齿轮时)有时我会随机冻结。我用 0.9c、0.9f 和 0.8c 测试了这个。有时它有效,但大多数情况下无效。在 0.9c 和 0.9f 中,冻结仅在铣削牙齿时发生。在我用 0.8c 铣削中心孔之前,当立铣刀在铣削中心孔后向下移动到第一个齿时,它主要冻结。

我过去也遇到过类似的问题,但我发现我的限位开关上有某种噪音,因为电缆与步进电缆平行。我可以通过在限位开关的 Arduino 输入和地之间放置一个电容器来解决这个问题。但是对于这个问题,我已经断开了所有外部连接器。所以只连接了 USB、电源和步进器。

有时它会停在与之前相同的位置。但不总是。我还尝试了不同的进纸速度,结果都是一样的。

我也尝试了不同的计算机和软件(也是不同的版本)。唯一剩下的就是grbl了。我注意到软件在某个时刻停止发送命令。不知道为什么。grbl 完成它的工作,直到最后发送的命令被执行。然后它停止了。

如果您需要更多信息,请告诉我!如果我可以测试一些东西来找到问题,也请告诉我!

最好的祝福,

克里斯

移动小步时随机冻结 #444
成员

@kikigey89: 有趣的。这可能是你的 g 代码程序中线性移动有多小的函数,就像你需要小于一步的运动一样。如果您正在铣削极小的牙齿,这些类型的移动可能会出现故障点。但是代码中已经对此进行了一些保护。首先,我们需要获得更多信息。

  • 你用什么来流式传输 g 代码?您是否尝试过另一种流媒体工具,即我们支持的 python 脚本 stream.py?
  • 你能给我们一个你正在运行的 g 代码程序的链接吗?
  • 您的 Grbl 设置是什么,尤其是 v0.9f?
  • 当停止发生时,Grbl 是否对它冻结的最后一步做出“ok”响应?请注意您的 g 代码中的哪一行,以便我们追踪发生这种情况的原因。

谢谢!

移动小步时随机冻结 #444
成员

@kikigey89: 另外,在那些失败的地方你有非常非常小的弧吗?这可能与 arc 代码中某处的数值舍入误差有关,这本质上是一种不准确的计算。您是否尝试过将您的 g 代码程序转换为仅 G0/G1 命令而没有弧线?我听说如果您的 CAM 没有此选项,有些程序可以为您执行此操作。(我的 PreGrbl 存储库就是这样做的,但脚本已经过时并且可能会损坏。)

移动小步时随机冻结 #444
作者

我想你最好看一下代码:http
://christophpaulus.com/files/cnc/8x_gear_test.nc 它铣削齿轮 8 次 – 如果它有效,我不想重新启动工作。

通常我使用带有 Grbl 控制器的 Raspberry Pi,因为这是我设置所有内容时唯一与 Pi 一起工作的应用程序。在我的笔记本电脑上,我也运行 Grbl Controller,但也运行 Universal-G-Code-Sender(v1.0.5 和 v1.0.7)。Universal-G-Code-Sender 在发送命令时似乎比 Grbl Controller 快得多。我注意到如果我使用 Universal-G-Code-Sender,动作会非常流畅。当我使用 Grbl Controller 时,在执行命令后经常会有延迟。但总体结果是一样的。这两个应用程序都存在问题。

我现在尝试两次运行这项工作。两次都失败了(冻结)。

第一份工作冻结后几秒钟:
http://christophpaulus.com/files/cnc/log1.jpg
http://christophpaulus.com/files/cnc/cmd1.jpg
它继续每秒显示状态行(那是我在 Universal-G-Code-Sender 中的设置)。

第二份工作冻结后几秒钟:
http://christophpaulus.com/files/cnc/log2.jpg
http://christophpaulus.com/files/cnc/cmd2.jpg
在这里它停止每秒显示状态行。在我制作截图后几秒钟它继续:http ://christophpaulus.com/files/cnc/log2_2.jpg

你看到它在完全不同的地方失败了……

我的设置:
$0=87.489 (x, step/mm)
$1=87.489 (y, step/mm)
$2=1280.000 (z, step/mm)
$3=1000.000 (x max rate, mm/min)
$4=1000.000 (y最大速率,毫米/分钟)
$5=500.000(z 最大速率,毫米/分钟)
$6=10.000(x 加速度,毫米/秒^2)
$7=10.000(y 加速度,毫米/秒^2)
$8=10.000(z accel, mm/sec^2)
$9=211.000(x 最大行程,mm)
$10=335.000(y 最大行程,mm)
$11=70.000(z 最大行程,mm)
$12=20(步进脉冲,usec)
$13=160 (step port invert mask:10100000)
$14=160 (dir port invert mask:10100000)
$15=50 (step idle delay, msec)
$16=0.010 (junction deviation, mm)
$17=0.002 (arc tolerance, mm)
$19=0 (报告英寸,布尔值)
$20=1(自动启动,布尔)
$21=0(反转步进启用,布尔)
$22=0(反转限制引脚,布尔)
$23=0(软限制,布尔)
$24=0(硬限制,布尔)
$25=0 (归位周期,bool)
$26=0(归位方向反转掩码:00000000)
$27=50.000(归位进给,mm/min)
$28=500.000(归位搜索,mm/min)
$29=10(归位去抖动,毫秒)
$30= 3.000(归位牵引,毫米)

移动小步时随机冻结 #444
成员

@kikigey89: 好,谢谢。就您的设置和 g 代码程序本身而言,似乎没有任何异常之处。

因此,我已经使用最新发布的 v0.9f 版本快速远程连接并设置我的家庭 Arduino,并使用您的设置进行设置。它应该是你系统的直接模拟,但除了我家里的电脑之外没有连接到任何东西。使用我们的 stream.py 脚本发送您的程序,它在您的 2500 行 g 代码中一直运行良好。我会再运行几次,以确保它不是 Grbl 方面的间歇性错误,但看起来它可能是你这边的问题。我会告诉你。

移动小步时随机冻结 #444
作者

好,谢谢!我目前正在努力让 stream.py 运行。但我是 Python 的新手。是否有“Windows 快速入门手册”(关于 stream.py)?;-)

移动小步时随机冻结 #444
成员

@kikigey89: 它通过 g 代码程序 3 次而没有出现错误,因此很可能是您的问题。您提到限位开关存在一些电气问题。这可能表明您的设置中某处仍然存在一些潜在的电噪声问题。您添加的电容器可能只是掩盖了问题。

stream.py 脚本相当简单。它的工作方式很像命令行命令。如果您使用的是 v0.9f,则需要安装 pySerial 模块 ( http://pyserial.sourceforge.net ) 并将源代码中的波特率设置从 9600 更改为 115200。

移动小步时随机冻结 #444
作者

是的,同时我让它工作了:-)我明天会试试,因为现在已经太晚了(德国)。
我会及时向大家发布!

移动小步时随机冻结 #444
作者

好吧,脚本像昨天提到的那样工作,但不幸的是结果是一样的。但是使用 stream.py 我得到调试打印(下面的两个作业):
http://christophpaulus.com/files/cnc/log1.txt
http://christophpaulus.com/files/cnc/log2.txt

我不知道为什么会有电噪声问题。步进电缆被屏蔽了,我断开了所有不必要的东西,比如 Raspberry Pi、控制按钮和限位开关。然后我将 Arduino 从外壳中移出。所以只需连接电源、步进器和 USB。

没有这些小动作的长时间工作效果很好。一周前,我铣削了一个 1 小时 15 分钟长的 3D 作业。

移动小步时随机冻结 #444
作者

现在我断开了步进器屏蔽,我只是通过一根短 USB 电缆将普通的 Arduino 插入我的笔记本电脑。还是一样。现在专注于计算机问题、USB 电缆问题和损坏的 Arduino。

移动小步时随机冻结 #444
作者

好的,我又做了一些测试:USB 数据线和 Arduino 工作正常,看来是电脑问题。在我的台式电脑上,这项工作没有任何问题。我执行了 4 或 5 次作业。在我的笔记本上,它像往常一样失败。任何的想法?

编辑:我的笔记本电脑和台式电脑都有些年头了。笔记本在 WinXP 上运行,台式机在 Win7 x64 上运行。一般来说,笔记本电脑比我的台式电脑慢得多。

移动小步时随机冻结 #444
贡献者

查看电源配置文件!

笔记本电脑将 USB 端口置于低功耗模式,导致通信问题的情况已经发生了一些。

将您的电源设置为“始终开启”或“最大”或表示
不节能的设置。

-爱德华

在 2014 年 7 月 18 日星期五上午 7:20,kikigey89 notifications@github.com写道:

好的,我又做了一些测试:USB 数据线和 Arduino 工作正常,
看来是电脑问题。在我的台式电脑上,这项工作
没有任何问题。我执行了 4 或 5 次作业。在我的笔记本上,它
像往常一样失败。任何的想法?


直接回复此电子邮件或在 GitHub
#444(评论)上查看。

移动小步时随机冻结 #444
作者

嗨爱德华,

谢谢!所有省电选项都已停用。现在很奇怪:在 Raspi 上运行两次(没有问题)的 3D 作业(长 1 小时 15 分钟)现在在我的笔记本上也失败了。

我现在将专注于 Raspi(因为这是我的普通发送器)并安装另一个发送器软件。

移动小步时随机冻结 #444
成员

@kikigey89:我发现流式脚本以 Debug: 输出回复很奇怪。只有在回复行中不包含“ok”或“error”时才会出现这种情况。这意味着您计算机上的串行接收由于某种原因正在截断 Grbl 的回复。由于您没有收到错误回复,这会让我认为您计算机的串行写入(流式传输)工作正常。

我怀疑 USB 中的电源设置与 Edward 一样,但也许它也可能是基于 USB 驱动程序的问题。虽然,我不知道为什么它适用于某些情况而不适用于这种特殊情况。也许它是如何为 gcode 的特定部分发送和接收信息包的时间。

作为旁注,MeshCAM 的 Rob Grzesek 报告说 Grbl 运行得非常出色,并且已经完成了超过 140 万行 g 代码的程序,其中包含非常小的线段和弧线,就像您的程序一样。他告诉我,在他所做的几个月的艰苦测试中,他从未遇到过 Grbl v0.9f 的任何稳定性或准确性问题。尽管我认为他使用的是 Mac,而不是 PC 或 RPi。

移动小步时随机冻结 #444

@kikigey89题外话,但你用什么程序来生成齿轮 g 代码?

移动小步时随机冻结 #444
作者

@chamnit我让它工作了。看来笔记本有问题。不知道是什么,但结果与 Raspi 相同。我认为即使结果相同,这两个问题也不相关。我回到 Raspi,更新了所有内容,安装了 UGCS v1.0.7 并重新组装了所有内容。与 Grbl 控制器和 UGCS 一起工作,即使应用程序 UGCS 慢得多(GUI),但发送本身似乎工作得更好。但是这两个应用程序不再冻结。所以我认为三个控制按钮和重置按钮上的四个新电容器成功了,因为这是我安装/更改的唯一新东西。但我不知道为什么这会有所帮助,因为我从未经历过突然随机按下按钮的情况。

缺点是,由于我将 Raspi 移出盒子,触摸屏校准不再有效,我无法解决这个问题。但这绝对比冷冻工作要好。

谢谢您的帮助!

@gerritv我将 CATIA 用于 CAD,并且我有一个名为“ZaRaGen”的工具可以在 CATIA 中创建齿轮。

移动小步时随机冻结 #444

在将圆从 3 厘米缩小到 9 毫米后,我也经历了这种冻结。它冻结在第三象限(270 到 360 度)。我通过移除 J 方法弧并将其替换为一系列直绳来克服问题。你可以在这个文件的循环例程中看到我注释掉的内容。json_to_gcode.py ( https://github.com/kajackdfw/python_gcode_writer )

移动小步时随机冻结 #444
成员

@kajackdfw:能否详细说明您遇到的这个电弧冻结问题,例如它是否产生了错误或只是冻结了所有内容?

我不知道 Grbl 中 arc 算法存在任何问题,但想知道您是否发现了一个新问题。出现此问题时您使用的是什么版本的 Grbl。您能否提供一个带有“$”设置的可重复示例?谢谢。

移动小步时随机冻结 #444

我知道我有点晚了,但这个线程是我一次又一次尝试解决我的问题的线程。

我正在使用自制铣床,在 arduino uno 上使用 grbl 作为插值器,在我的 Windows PC 上使用 shapeoko grbl 发送器。我也时不时地遇到这些恼人的停顿。它们主要发生在点与点之间距离非常短的部分。

从一开始我就使用屏蔽电缆。迫不及待地想使用我的工厂,而不必时不时地按 nc start,我几乎尝试了我在论坛上找到的所有东西。我使用了更小的馈送,检查了噪音问题,创建了没有弧线的 nc 代码(这让情况变得更糟)检查了我电脑的节能选项等等。我什至编写了一个工具来在短距离部分精简我的 nc 代码。没有任何帮助。

昨天我遇到了universal gcode sender。我安装它是因为我喜欢它的用户界面,而不是为了解决任何问题。但突然之间,问题就消失了。没有停止了。45 分钟的不间断铣削 – 最后。

希望对遇到类似问题的数控爱好者有所帮助。

喜欢 (0)