注释
感谢您的详细报告! 如果您打开了“UGS 诊断”窗口,我在您的屏幕截图中看不到。但是您引用的日志消息源自它。如果它是打开的,你可以尝试关闭它并重新启动 UGS,然后再试一次。 关于间歇性断开连接,听起来很像 EMI 问题,我不认为这两个问题是相关的。很难就此提供建议,因为它取决于您的设置。我可能会先断开限位开关,因为它的电缆容易受到 EMI 的影响,而且除了 Protoneer 屏蔽上的电容器外,我看不到任何滤波组件。如果这解决了问题,您可能需要在输入端使用一些过滤电子设备。如果它不能解决问题,请转到下一个外围设备,例如主轴。 |
@breiler感谢您的快速回复! 我尝试了你所说的“UGS 诊断”,异常从日志中消失了!所以这是一场胜利!✅ 但是仍然出现“启动文件流时出错”。 关于断开连接:我也认为这些问题不相关,但谁知道呢。我已经意识到 EMI 是一个潜在的问题来源。我试图在某一时刻移除所有的终点站,让它在没有终点的情况下运行,但它仍然冻结了。我不太擅长电子产品,在“调试”电容器等方面我不知道从哪里开始。我注意到的一件事是,当有很多小的运动/方向变化相继发生时,它最常发生。我们谈论的是 0.01 毫米的变化,即使它们有效,它们在执行时也会“发出刺耳的声音”。我仍然希望这是一个软件问题,因为我不确定如果出现问题我是否需要购买新的 Arduino 或新的 CNC 板。在花更多钱在此构建之前,我想尽可能确定。所以至少我想以一定的确定性来结束这个问题。我正在寻找 Arduino 或 GRBL 固件的配置选项,它可以让我记录这些异常情况,但没有找到任何东西。我想当硬件出现问题然后崩溃时,软件无能为力,对吧? |
对我来说,这表明 USB 电缆损坏,因为通信出现乱码。看起来控制器没有 关于电磁干扰。是的,如果有足够的电流传输到 Arduino 相当敏感的输入端,它可能会使 CPU 崩溃,而且您无法用软件检测到它。这是一个很难调试的问题,你并不孤单,在这里阅读其他有类似问题的人:https ://groups.google.com/g/universal-gcode-sender/search?q=EMI |
@breiler 嗯,你是对的,我也注意到了。我认为这可能是由于多线程或其他原因造成的。 我有一根没有铁氧体磁珠的 1.8m电缆(必须用谷歌搜索那些是什么)。它只是一根没有这些珠子的普通电缆。我从入门套件中收到了不同的电缆(见这张照片),由于电缆内部的金属织物但也没有珠子,它似乎被屏蔽了(?)。我试图运行脚本,但两条电缆都崩溃了,但都冻结了。❌ 现在只剩下两个组件是 1) Arduino 和 2) 电缆。 👈 除此之外:有没有办法验证我的 Arduino 是否真的不是问题所在?我购买的入门套件不是来自官方来源。我不能保证它是官方的 Arduino。 此外,我记得在我最初的测试阶段,我在一个步进驱动器(或者它是 DOA)上犯了一个错误,突然间开始闻起来很奇怪,于是我断开了 Arduino 和 CNC Shield 的电源。一台电机和一台步进驱动器(散热器)摸起来很热。我也无法再从步进驱动器调整电位器了。我订购了一个新的步进驱动器并更换了损坏的驱动器。从那以后一切正常,但现在这些问题发生了,我担心那次事件可能已经损坏了 CNC Shield 或 Arduino。有这种可能吗?我怎样才能检查类似的东西? 最后,我注意到脚本运行时出现了更多异常,例如: 另外,由于您没有对“启动文件流时出错”发表评论,我假设您认为问题与连接不良有关?哪个也可能与冻结问题有关? 感谢您的投入! |
这 由于您已经尝试断开几乎所有与 Arduino 的连接,并尝试使用两根电缆运行 gcode 程序,这表明您的 Arduino 已经完蛋了。你没有任何东西可以引起 EMI 足以引起这些类型的问题。 |
@breiler你是我的英雄,因为你回答得如此迅速和消息灵通!😃非常感谢你! 在我订购新的 Arduino 之前,我有几个最后的问题想听听您的意见。
|
发现grbl/grbl#41(评论),这正是我注意到的,它有很多顺序上的小步骤的问题。因此,当我正确理解这一点时,这实际上可能是 UGS 发送的命令多于 GRBL 可以处理的问题? 更新: |
|
@breiler遗憾的是没有,我的 Surface 只有 2 个 USB-C 端口,而且我没有任何此类电缆可以直接连接到 Arduino。 是的,这正是我所做的 不,遗憾的是错误消息 ( 我现在注意到它确实在同一位置失败,因为我删除了除 Arduino 本身以外的所有内容。我试图隔离 gcode + – 几行并隔离执行它 – 成功。所以我不确定 gcode 本身就是问题所在。这似乎是一个“时间”或程序问题,只有在执行完之前的所有代码之后才会发生。我可以请你试一试并告诉我它是否有效吗?gcode.txt UGS 告诉我它“发送了 6028 行”(现在冻结之前总是 6028)。我从中得到回显的最后一行是 |
我完全没有问题地运行了文件。在 40k 行之后,我将进给速度提高到 200%。 |
@breiler感谢您对此进行测试! 我不知道是什么问题,所以我从官方供应商那里订购了一个新的 Arduino UNO Rev3,希望问题会自行解决。👈 我试图在我事先已经拥有的 Arduino 上进行一些闪存和 RAM 测试,以找出可能是什么问题。我不能断言它不起作用,但我在摆弄它时遇到了一些奇怪的现象,所以假设那里有什么东西坏了实际上可能是合理的。 💡 一旦我得到新硬件,我会及时通知你。 |
好的,所以我从官方供应商那里收到了我的新 Arduino UNO Rev3 。它看起来与我拥有的完全不同。以下是两个 Arduino 的前后照片:
我成功测试了 Arduino 的“hello world”“Blink”示例 – 这意味着 Arduino 可以正常工作。✅ 这解决了“启动文件流时出错”的问题。控制台和状态正确地代表了 GRBL 的实际状态,并且在完成任务后,UGS 会识别出作业已完成并允许我再次重新发送它,而不会弹出错误消息。✅ 因此,我开始使用连接到 Arduino 的 CNC Shield 再次进行测试。 开始一切似乎都按预期工作,但突然 UGS 变得无响应,并且在重新启动后我无法再次连接到 Arduino。重新连接并重新启动 Arduino 让我再次将 UGS 连接到 Arduino。但奇怪的是,似乎什么都不管用了。尝试发送 然后我尝试再次连接 CNC 屏蔽让程序运行,但它在某个地方随机崩溃了。尽管这一次,UGS 至少正确地注意到发生了什么,结束了程序并通过控制台消息“连接关闭”改变了它的状态。❌ 我终于重新连接了终点站并让它再次运行(没有归位或软限制) – 它起作用了!但随后,在重新启动、归位机器并启用软限制后,它又一次崩溃了。❌ 最后,这可能是我在 Arduino 周围的电缆混乱,某些电缆彼此重叠(就像电源电缆上的末端停止电缆)。我确保没有任何东西接触到电源线,无论是末端挡块、电机电源还是 USB 电缆。我不确定这是否有影响,或者新的 Arduino 是否有必要,但现在所有的东西结合起来似乎都有效。 我希望它保持这种状态! 如果没有,我可能会订购一条新的 USB 数据线来连接到我的 Surface,而无需集线器,包括刀片。接下来我会购买最新的 Protoneer CNC Shield 以确保这不是问题所在。然后,如果它仍然发生,我将不得不再次检查电缆,尽管我不知道我必须做些什么来保证 EMI 不是问题。 我希望有人觉得这很有用。 特别感谢@breiler! |
版本
2.0.12
硬件/固件
GRBL 1.1
发生了什么
我有一个小的 .gcode 文件,其中包含我现在正在试验的一些命令,以使事情正确。我可以运行该程序并且它执行得很好,但 UGS 无法识别该文件已完成执行。当我尝试再次运行它时,出现“启动文件流时出错”错误消息弹出窗口。然后我必须软重置才能再次运行它。
我注意到“估计时间”和“文件中剩余的行数”不会停止/更新,我不确定这是否正常。但是状态在“空闲”中是正确的。
此外,日志文件messages.log中有很多 NullPointerExceptions ,例如:
如何重现
我的测试文件:
操作系统
Windows 11 家庭版 22H2
还要别的吗
另外,我还有另一个问题,但我不确定这是否与此有关。我可能会为此打开另一个问题,但只是想让你知道。有时当我执行一个普通/更大的 .gcode 文件时,可能会发生执行随机停止而没有完成或显示任何错误(在第 3000、6000 或 40000 行 – 无关紧要,没有模式)。然后我必须软重置,找出它运行的位置,手动删除已经执行的 .gcode 行,然后继续。真的很烦人,因为我不能相信我的构建来完成工作,所以我总是必须监督它:/。我试图通过将 -Xms64m 更改为 Xms512m 来增加 UGS 的 RAM,这似乎有所帮助,但在另一次运行中又出现了这个问题,所以我还是没有信心。我还尝试通过切换插件来更改 gcode 解析器(选项 > UGS > 控制器选项)打开或关闭。我还尝试了在没有获得任何额外见解的情况下进行详细日志记录、单步模式和在 GRBL 固件中启用“回声模式”(但没有显示任何额外信息)。我还确保我所有的电缆都完好且稳定。还检查了 COM 端口的 Windows 驱动程序是否正常。到目前为止没有任何帮助。我有一个来自入门套件的原装 Arduino UNO,以及一个带有 DRV8825 驱动程序的 Protoneer CNC Shield v3。