开源改变世界

程序运行期间的意外移动。 #948

推推 grbl 2年前 (2023-01-23) 347次浏览

关闭
Jo937 开了这个issue 2016 年 4 月 2 日 · 22条评论
关闭

程序运行期间的意外移动。#948

Jo937 开了这个issue 2016 年 4 月 2 日 · 22条评论

注释

程序运行期间的意外移动。 #948

你好!运行时机器突然启动不在程序上。通常将 Y 移动到零,然后返回并继续。有的时候机器只是改变了后面的位置,继续执行程序代码G。我不喜欢我不明白它可以连接什么?在执行程序中并没有我检查过的这些命令。但我有错误的屏幕截图。我尝试了不同的程序将代码发送到 GRBL。GRBL 我的版本0,9j
机器开始走错路后,我按下了急停按钮。请参阅以下链接中的屏幕截图 https://yadi.sk/i/kUpgj5a_qgW9G

程序运行期间的意外移动。 #948
作者

这个问题可能已经出现在2016年3月3日的版本中了吗?我将设置新外观,因为它会表现

程序运行期间的意外移动。 #948

我看了你的屏幕截图。

您使用的是什么版本的 arduino,您知道它是否使用 CH340G USB 转串口芯片。您的 Arduino 是正品还是仿品。

由于错误是在发送/接收状态请求的同时发生的,我认为这可能与串行流有关,尤其是与 CH340G 芯片相关的问题

程序运行期间的意外移动。 #948
作者

我使用 Arduino UNO R3 CH340 MEGA328P。我用的是中文克隆。此错误大约每小时发生一次或每两小时发生一次。有时在运行开始后 5 秒后突然停止。你认为有必要改变ARduino UNO吗?但是我使用 CNC Shield V3 和 DRV8825?但并没有确切的位置。
有什么方法可以解决这个问题?

程序运行期间的意外移动。 #948
作者

我正在互联网上寻找,但我找不到任何有问题的人。但是我在这里找到了http://esbuzz.net/trends/watch/vid88N6aoacx8ruw驱动里面有一个64位windows的版本可以挑战这个吗?我将在周末进行测试。

程序运行期间的意外移动。 #948

我相信您遇到的问题与我不久前在本期#845中发现的问题有关。总结一下这个问题,USB转串口芯片有一个问题,导致发送到GRBL的线路被破坏。当芯片试图同时执行发送和接收功能时,就会发生这种情况。这是一个非常罕见的问题,不幸的是,这个问题与 CH340G 芯片上的固件有关,目前还没有针对该芯片的修复程序,而且可能永远不会有。

真正的 Arduino UNO 和一些克隆产品使用 Atmel 16U2 USB 转串口芯片,该芯片性能更好。交付的形式,仍然存在一个小问题,但另一个用户重新编写了 Atmel 16U2 芯片的固件,以完全消除问题。

因此,简而言之,您需要放弃使用 ch340g 芯片的 Arduino 克隆,并使用 Atmel 16U2 芯片。然后,您需要使用 issue #845中的新固件对 16U2 进行闪存,以完全消除该问题。

程序运行期间的意外移动。 #948

我更新了已知错误的 wiki 页面以描述问题和解决方案。

https://github.com/grbl/grbl/wiki/Known-Bugs

程序运行期间的意外移动。 #948
作者

非常感谢。所以结果连原来的板子Arduino Uno都没有保存?
我现在有两个其他板的选择,我不知道该选择什么。
16U2旧版:http
://ru.aliexpress.com/item/Free-shipping-keyes-UNO-R3-MEGA328P-ATMEGA16U2-for-Arduino-Compatible/32298785250.html?spm=2114.10010208.100010.10.vt7aGM 新版: http://ru.aliexpress.com/item/High-quality-UNO-R3-CH340-MEGA328P-for-Arduino-UNO-R3-NO-USB-CABLE-UNOR3-CH340/32248072684.html
选择什么?

程序运行期间的意外移动。 #948

16u2版本比CH340版本更可靠。请注意,根据我使用 16u2 的经验,在 115200 波特或更慢的波特率下没有太大问题,这是当您尝试比它更快时它无法跟上并破坏数据传输。

程序运行期间的意外移动。 #948
作者

,在国内有两个版本的16u2板子。在新版本中,除了新芯片之外,还有 16U2 atmega328P-PU/ 你觉得怎么样,值得一试吗?最重要的是,它能与这个版本的芯片一起工作吗?

程序运行期间的意外移动。 #948
作者

109JB你对这个错误的研究做得很好,我仍然阅读。我想补充其他种类的错误,有时执行程序只是停止,机器停止并且不做任何事情,但是如果你按下RUN按钮是一个正在进行的工作,需要不断地按住按钮。

程序运行期间的意外移动。 #948
作者

我决定加入寻找这个问题的解决方案。据我所知,旧版本 0.8 没有这样的问题。最多可以降低9600的传输速率?现在除了 GRBL 设置之外还有其他选项。#define BLOCK_BUFFER_SIZE 18 #define SEGMENT_BUFFER_SIZE 6 #define LINE_BUFFER_SIZE 80

程序运行期间的意外移动。 #948
作者

1 我发现了什么。在设备驱动程序设置中(通过链接截图)传输速度默认设置为 9600,在设置 GRBL 中设置相同的速度。我将在周四或周五进行测试。也许这个波特率是由制造商优化设置的。https://yadi.sk/i/Pxq1737dqm7DZ

程序运行期间的意外移动。 #948
作者

昨天在9600比特率下进行了测试。2小时20分钟,20万多行代码,无一失误!今天蓝牙模块连接控制,所以我不会改变速度,蓝牙运行在 9600 所有运气。

程序运行期间的意外移动。 #948

@Jo937我希望这对你有用,但是,我在 9600、57600、115200 和 250000 以及其他一些波特率下进行了测试,并在所有波特率下都发现了错误。问题是错误并不总是发生在 g 代码程序的同一点。我使用 1,000,000 行长的 g 代码程序进行了测试,有时错误不会出现,有时会很早就出现,而其他时候错误直到程序中的 800,000 行才出现。因为你得到了 200,000 行并不意味着问题就解决了。可能 9600 波特不太容易出现问题,但我可以向您保证,它并没有消除它。

我不确定您在哪种类型的机器上使用它,但我有一台金属切削铣床,错误引起的崩溃可能会导致我的机器损坏数百美元。在我看来,我不会在配备 ch340G 的 Arduino 上运行我的机器。带有 16U2 芯片的 Arduino 克隆产品售价不到 5 美元。我不会为了 5 美元拿我的机器冒险。除非你能接受偶尔的错误引起的崩溃,否则我强烈推荐一个配备 16U2 的 Arduino,它已经将固件更新到@AlexHolden修改的。

我在 e-bay 上以不到 15 美元的价格购买了 4 个配备 16U2 的 Arduino Uno 克隆,所有 4 个均已发货。要找到它们,您只需在 E-bay 上搜索“Arduino Uno 16U2”,它们就会弹出。

程序运行期间的意外移动。 #948
作者

现在我有一台激光雕刻机,但一个月后我将设置 Z 轴。是的,不确定的移动路由器可以禁用它。我确实花了几次测试,但相信之前的所有发射都是稳定的完全相同的错误,我什至可以计算出错误的时间,机器在115,200的速度下最多可以工作1小时20分钟。9600毫不犹豫2个多小时。。。我有一点时间把代码写完,他留了40万行。我有 80 万行代码,这段代码大约有 6 个错误。下周末我会花更多的时间测试,除了我现在有圆,我可以通过蓝牙连接,你没有稳定的程序来控制 GRBL 与 android 的方式?

程序运行期间的意外移动。 #948
作者

昨天用17万行代码做了两个文件。没有一个错误.. 然后放第三个,然后走,让机器无人看管,大约 4 小时后失败了!但不是在控制器中,而是在 windows 中,显然 windows 重新启动了自己,并给出了 windose 在意外关闭后无可挑剔地翻新的消息,而他仍处于机器操作位置。

程序运行期间的意外移动。 #948
作者

尝试为此更换 PC 上的驱动程序https://yadi.sk/d/KFI5leRwr39eg我在所有测试之前更改了计算机上的驱动程序,以防万一。

程序运行期间的意外移动。 #948
作者

通过蓝牙模块 HC-06 开始工作。使用此软件https://play.google.com/store/apps/details?id=org.kasdev.cnccommander。一切正常但速度慢,在设置中有智能流协议功能,当它打开时,机器速度增加但稳定性丢失,GRBL 定期响应在代码中发现错误或代码 ID25 无效行/ 如果禁用此功能,机器可以连续工作 12 小时而不会出现任何错误。

程序运行期间的意外移动。 #948
成员

@Jo937: 错误代码 25 不会导致运动停止或使任何东西不稳定。当行中有重复的单词时,这是一个 g 代码错误。例如,G1X0.00Y1.00G1其中有两个 G1。如果 Grbl 抛出这个错误,那是你的 g 代码程序本身有问题,或者数据的发送者或传输正在破坏线路。

如果它可以帮助您诊断问题,如果您在 config.h 中启用该功能,Grbl 将回显它收到的内容。我认为它叫做 REPORT_ECHO_LINE。请注意,这会导致 Grbl 变慢很多。您可能希望将 TX 缓冲区大小增加到 128 以帮助提高性能。

程序运行期间的意外移动。 #948
作者

也许吧,但你错了。我跑了3次相同的代码,错误发生在程序执行错误的不同地方 Android的发送者上面的链接是如果你关闭加速协议,那么根本没有错误。

程序运行期间的意外移动。 #948

可能是无线协议不正确地重新发送损坏的数据包并
生成某些单词的重复

2016-05-05 11:39 GMT-03:00 John notifications@github.com

也许吧,但你错了。我跑了3次相同的代码,错误发生
在程序执行错误的不同地方
Android的发送者上面的链接是如果你关闭加速协议,那么
根本没有错误。


您收到此消息是因为您订阅了此线程。
直接回复此邮件或在 GitHub
#948(评论)上查看

程序运行期间的意外移动。 #948
成员

@Jo937: 我想在讨论 Grbls 源代码问题时我知道我在说什么,因为我是它的开发者。除非 gcode 行中有重复的单词,否则 Grbl 没有理由返回错误 25。这是唯一一次发生这种情况。

就像我之前说的,Grbl 和您的发件人之间发生了一些事情,很可能是损坏问题或发件人中的错误。这不是第一次发生这样的事情,而且几乎总是出于上述原因。请尝试使用 Grbls 回声线功能来帮助您自己诊断问题所在。鉴于 Grbl 在数万台机器上运行没有问题,这不太可能是 Grbl。

喜欢 (0)