开源改变世界!!

预期的命令字母和错误数字格式错误随机发生。 第848章

推推 grbl 2年前 (2022-10-20) 270次浏览 0个评论
关闭
nsiatras 打开了这个问题 on 30 Mar 2021 · 20 条评论
关闭

预期的命令字母和错误数字格式错误随机发生。第848章

nsiatras 打开了这个问题 on 30 Mar 2021 · 20 条评论

注释

预期的命令字母和错误数字格式错误随机发生。 第848章

您使用的是什么版本的固件?
最新的

问题是否可重复?
是的

什么情况下会出现bug?

我的桌子上有 NodeMCU,没有连接到步进驱动器或其他任何东西。它刚刚连接到 USB,我正在使用串行连接来循环 gcode。

我注意到,当 gcode 快速运行时,我会返回 Errors 1 and 2
1 –> Expected command letter: G-code words 由一个字母和一个值组成。没有找到信。
2 –> 数字格式错误:缺少预期的 G 代码字值或数值格式无效。

当我说 Gcode 运行速度快时,我的意思是有些行执行速度很快(小动作)。
当我通过发送 $C 命令将板设置为检查模式时也会发生这种情况。

错误永远不会在同一行。如果我现在循环 gcode,我可能会在第 2452 行收到错误 1,如果我再次循环,我会在第 19502 行收到错误 1。所以.. 我收到错误,但从不在同一行…

任何想法为什么会这样?

这是我的设置

$0 = 10    (Step pulse time, microseconds)
$1 = 255    (Step idle delay, milliseconds)
$2 = 0    (Step pulse invert, mask)
$3 = 4    (Step direction invert, mask)
$4 = 0    (Invert step enable pin, boolean)
$5 = 0    (Invert limit pins, boolean)
$6 = 0    (Invert probe pin, boolean)
$10 = 1    (Status report options, mask)
$11 = 0.025    (Junction deviation, millimeters)
$12 = 0.005    (Arc tolerance, millimeters)
$13 = 0    (Report in inches, boolean)
$20 = 0    (Soft limits enable, boolean)
$21 = 0    (Hard limits enable, boolean)
$22 = 0    (Homing cycle enable, boolean)
$23 = 3    (Homing direction invert, mask)
$24 = 500.000    (Homing locate feed rate, mm/min)
$25 = 1500.000    (Homing search seek rate, mm/min)
$26 = 250.000    (Homing switch debounce delay, milliseconds)
$27 = 2.000    (Homing switch pull-off distance, millimeters)
$30 = 1000.000    (Maximum spindle speed, RPM)
$31 = 0.000    (Minimum spindle speed, RPM)
$32 = 0    (Laser-mode enable, boolean)
$100 = 400.000    (X-axis travel resolution, step/mm)
$101 = 400.000    (Y-axis travel resolution, step/mm)
$102 = 400.000    (Z-axis travel resolution, step/mm)
$103 = 26.666   
$104 = 100.000   
$105 = 100.000   
$110 = 4000.000    (X-axis maximum rate, mm/min)
$111 = 4000.000    (Y-axis maximum rate, mm/min)
$112 = 2500.000    (Z-axis maximum rate, mm/min)
$113 = 14400.000   
$114 = 1000.000   
$115 = 1000.000   
$120 = 80.000    (X-axis acceleration, mm/sec^2)
$121 = 80.000    (Y-axis acceleration, mm/sec^2)
$122 = 60.000    (Z-axis acceleration, mm/sec^2)
$123 = 720.000   
$124 = 200.000   
$125 = 200.000   
$130 = 302.000    (X-axis maximum travel, millimeters)
$131 = 202.000    (Y-axis maximum travel, millimeters)
$132 = 180.000    (Z-axis maximum travel, millimeters)
$133 = 0.000   
$134 = 300.000   
$135 = 300.000   
预期的命令字母和错误数字格式错误随机发生。 第848章 nsiatras 补充说 漏洞 有些东西不工作标签 on 30 Mar 2021
预期的命令字母和错误数字格式错误随机发生。 第848章

堇青石 评论 on 30 Mar 2021  

我也一直在解决这个问题。它失败了错误 1,2 等,表明 gcode 格式错误。这是一个新的主分支,未更改的 test_drive.h,裸露的 esp32d devkitC,以及我扔给它的任何 gcode(要求快速激光蚀刻,或以前在坡道上完成的普通路由器切割)。

ets Jun  8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
**** Connected to COM5 @ 115200 baud ****
[MSG:Grbl_ESP32 Ver 1.3a Date 20210320]
[MSG:Compiled with ESP32 SDK:v3.3.5-1-g85c43024c]
[MSG:Using machine:Test Drive - Demo Only No I/O!]
[MSG:Axis count 3]
[MSG:Timed Steps]
[MSG:Init Motors]
[MSG:No spindle]
[MSG:Local access point GRBL_ESP started, 192.168.4.1]
[MSG:Captive Portal Started]
[MSG:HTTP Started]
[MSG:TELNET Started 23]
Grbl 1.3a ['$' for help]
>>> $$
$0 = 3    (Step pulse time, microseconds)
$1 = 250    (Step idle delay, milliseconds)
$2 = 0    (Step pulse invert, mask)
$3 = 0    (Step direction invert, mask)
$4 = 0    (Invert step enable pin, boolean)
$5 = 1    (Invert limit pins, boolean)
$6 = 0    (Invert probe pin, boolean)
$10 = 1    (Status report options, mask)
$11 = 0.010    (Junction deviation, millimeters)
$12 = 0.002    (Arc tolerance, millimeters)
$13 = 0    (Report in inches, boolean)
$20 = 0    (Soft limits enable, boolean)
$21 = 0    (Hard limits enable, boolean)
$22 = 0    (Homing cycle enable, boolean)
$23 = 3    (Homing direction invert, mask)
$24 = 200.000    (Homing locate feed rate, mm/min)
$25 = 2000.000    (Homing search seek rate, mm/min)
$26 = 250.000    (Homing switch debounce delay, milliseconds)
$27 = 1.000    (Homing switch pull-off distance, millimeters)
$30 = 1000.000    (Maximum spindle speed, RPM)
$31 = 0.000    (Minimum spindle speed, RPM)
$32 = 0    (Laser-mode enable, boolean)
$100 = 100.000    (X-axis travel resolution, step/mm)
$101 = 100.000    (Y-axis travel resolution, step/mm)
$102 = 100.000    (Z-axis travel resolution, step/mm)
$103 = 100.000   
$104 = 100.000   
$105 = 100.000   
$110 = 1000.000    (X-axis maximum rate, mm/min)
$111 = 1000.000    (Y-axis maximum rate, mm/min)
$112 = 1000.000    (Z-axis maximum rate, mm/min)
$113 = 1000.000   
$114 = 1000.000   
$115 = 1000.000   
$120 = 200.000    (X-axis acceleration, mm/sec^2)
$121 = 200.000    (Y-axis acceleration, mm/sec^2)
$122 = 200.000    (Z-axis acceleration, mm/sec^2)
$123 = 200.000   
$124 = 200.000   
$125 = 200.000   
$130 = 300.000    (X-axis maximum travel, millimeters)
$131 = 300.000    (Y-axis maximum travel, millimeters)
$132 = 300.000    (Z-axis maximum travel, millimeters)
$133 = 300.000   
$134 = 300.000   
$135 = 300.000   
ok

失败是非常可重复的。事实上,自从我几天前开始使用它以来,它还没有完成一个 gcode 文件。

为了解决这个问题,我尝试了 6 个不同的 esp32 板,从 3 个不同的供应商处购买了 2 个不同的时间(5 个是 32d,一个是 32u,过去 3 周都是从亚马逊购买的,所以希望不要运气不好)。我试过 bCNC 和 UGS。我直接在 esp 上确定了 TX 和 RX 的范围。115k 的最小脉冲是 8.68 微秒,RS232 解码器可以很好地看到所有数据。5V线上也没有尖峰。起初我想也许我的 DIY 扩展模块正在烧 esp 板,但最后 3 个从未插入任何东西,但我的 PC USB 端口用于测试。

我想这可能是对破坏某些东西的依赖项之一的最近更新。我正在使用绝对最新的版本进行编译(根据 wiki)。这还包括最新的 Arduino 版本、最新的夜间版本(截至几个小时前)和完全更新的 PIO 设置。我希望我知道从哪里开始寻找错误。很糟糕,我的 cnc 现在坏了,在早期的测试中,它绝对是通过 USB 进行激光蚀刻。;)

预期的命令字母和错误数字格式错误随机发生。 第848章

@truglodite我还认为我的电路板损坏了,所以我购买了另外 2 个电路板。
该错误存在于所有 3 个中。

您在循环 gcode 时是否注意到任何不寻常的机器移动?因为我做过…

预期的命令字母和错误数字格式错误随机发生。 第848章

堇青石 评论 2021 年 3 月 30 日  

@nsiatras是的,事实上,在测试路由器 gcode 时,有一半的时间它会沿着一个轴移动很长时间(如果在没有软停止或硬停止的情况下插入会崩溃)。过去几天我的大部分测试都是安装了激光。所以我可能有点淡化了这种症状。

上周,我第一次启动了我的 6 件装,并连续两次沿着 Y 方向失控,试图铣削一些 pcb。然后我放入了一个新的 esp 模块,完成了几次切割没问题。然后我打开激光,意识到我必须为激光模式 M4 重新编译。之后我处理了这个问题。4 天前对 esp32 arduino 板文件进行了更新。也许它就在那儿。

预期的命令字母和错误数字格式错误随机发生。 第848章

这正是发生在我身上的 3 次。它将一个轴(主要是 X)移动到最大值并崩溃。
我有最新版本,但我不知道该错误是否存在于上一个版本中。我没注意到

预期的命令字母和错误数字格式错误随机发生。 第848章

堇青石 评论 2021 年 3 月 30 日  

‘Duino 板 1.0.5 和 1.0.6 版本相当新。我尝试了 1.0.4,果然可以正常工作。降级到 1.0.4 需要很长时间,但我想值得等待。我将停止测试并重新开始切割我的数控机床。希望比我聪明的人能解决这个问题。

预期的命令字母和错误数字格式错误随机发生。 第848章

我刚刚降级到 v1.0.4,我成功地循环了一个 gcode,没有任何错误
谢谢@truglodite

预期的命令字母和错误数字格式错误随机发生。 第848章

预期的命令字母和错误数字格式错误随机发生。 第848章

现在,回到切割东西… ;)

附带说明一下,我不确定 PIO 的哪些更改会回到 1.0.4。我在 platform.ini 中尝试过platform = espressif32@>=1.0.4,<1.0.5,但失败了。

预期的命令字母和错误数字格式错误随机发生。 第848章
所有者

婚戒 评论 2021 年 3 月 31 日

当您遇到错误时,WebUI 是否也打开了?

预期的命令字母和错误数字格式错误随机发生。 第848章

不,我禁用了蓝牙和 Wifi。
我今天使用机器超过 8 小时。它仍然运行 4 轴 gcode。
仍然没有错误

预期的命令字母和错误数字格式错误随机发生。 第848章

@bdring1.0.6 的错误发生在启用或不启用 wifi 的情况下,无论我是否在 webui 中闲逛。使用 1.0.4,我可以在要求苛刻的蚀刻期间在 webui 中玩游戏,并且没有任何问题。

预期的命令字母和错误数字格式错误随机发生。 第848章
所有者

婚戒 评论 2021 年 3 月 31 日

您使用的是什么串行发送器,您能否上传一个失败的示例文件。
另请确认未更改的 test_drive.h 机器定义是否失败?

预期的命令字母和错误数字格式错误随机发生。 第848章

我使用 SourceRabbit GCode Sender。我还使用 Universal GCode Sender 进行了测试,我也遇到了错误。

由于我将 ESP32 库降级到 1.0.4 版,错误消失了,我的机器 100% 正确工作。

我不关心 GCode。ESTLCam、SprutCAM、JSCut、DeskProto 等制作的任何 gcode 均出现错误,但我附上 gcode 供您查看
Roughing.zip

预期的命令字母和错误数字格式错误随机发生。 第848章

PS。我从未使用过 test_drive.h 机器

预期的命令字母和错误数字格式错误随机发生。 第848章
所有者

婚戒 评论 2021 年 3 月 31 日

@nsiatras请发布您的机器定义文件。这可能会帮助我找到问题所在。

预期的命令字母和错误数字格式错误随机发生。 第848章

堇青石 评论 2021 年 3 月 31 日  

同样在这里,使用 test_drive.h 的代码没有变化。任何旧的 gcode 都会这样做;好吧,可能不仅仅是一个正方形,但通常它会立即失败到最多 3 分钟左右。因此,在解决此问题时,我们无法完成任何 gcode。

编辑:另外我在运行用 1.0.6 编译的有问题的固件时,在慢跑、归位、位置报告等时没有看到任何其他问题。只有在主动发送 gcode 时才会出现问题。到目前为止,我只看到它发生在 G1/2/3 代码上,但也可能是 G0(每个文件更罕见,所以还没有看到它)。

预期的命令字母和错误数字格式错误随机发生。 第848章
所有者

婚戒 评论 2021 年 4 月 3 日

此问题已被确认为最近 esp32 库代码中的错误。1.0.4 可以工作,但在那之后就不行了。在 Espressif github 上创建了一个问题。

espressif/arduino-esp32#5005

预期的命令字母和错误数字格式错误随机发生。 第848章

感谢 Bart… 和 Mitch 解决了这个问题。我替换了 esp32 问题,并期待测试修复。现在我已经添加platform = espressif32@3.0.0 ;workaround for 1.0.5+ breaking serial到 platform.ini 发布环境。

预期的命令字母和错误数字格式错误随机发生。 第848章 truglodite 提到了这个问题 2021 年 4 月 5 日
预期的命令字母和错误数字格式错误随机发生。 第848章

阿凡达120 评论 2021 年 4 月 22 日  

非常感谢,你救了我的命 :)
回到库代码 v1.0.4 工作正常!
只需修改 WebSocketsClient.cpp,因为 setInsecure() 不存在。

期待 ESP32 > 1.0.4 中的修复!

预期的命令字母和错误数字格式错误随机发生。 第848章

不再需要 Arduino 修复程序。我们将 Grbl_Esp32 更改为使用 ESP-IDF SDK 中的 UART 驱动程序,而不是 Arduino 框架驱动程序。随着这一变化,Grbl_Esp32 可以与任何版本的 Arduino 框架一起使用。

预期的命令字母和错误数字格式错误随机发生。 第848章

不再需要 Arduino 修复程序。我们将 Grbl_Esp32 更改为使用 ESP-IDF SDK 中的 UART 驱动程序,而不是 Arduino 框架驱动程序。随着这一变化,Grbl_Esp32 可以与任何版本的 Arduino 框架一起使用。

非常感谢,我可以确认它即使在非常高的波特率下也能正常工作!
你摇滚!

预期的命令字母和错误数字格式错误随机发生。 第848章
喜欢 (0)

您必须 登录 才能发表评论!