Contact me: hankecnc@gmail.com

探测失败,还是失败了? #55

推推 grbl 3年前 (2023-02-07) 318次浏览
关闭
phil-barrett 打开了这个问题 2020 年 8 月 28 日 · 39条评论
关闭

探测失败,还是失败了?#55

phil-barrett 打开了这个问题 2020 年 8 月 28 日 · 39条评论

评论

探测失败,还是失败了? #55

使用简单的自制探针(鳄鱼夹、PCB 材料)进行探测,我做了一个中心探针,并在底部状态栏中收到“探测失败”消息。但是,Z 轴已正确设置为我的 PCB 厚度(1.42 毫米) ) + 3 mm backoff. 探测后切割给了我完美的深度。

由于设计相当薄弱,我的小型 CBeam 机器有一些床身弯曲,您可以在探测视频中看到这一点。这是探测失败消息的原因吗?我应该放慢搜索速度吗?

总的来说,到目前为止,我喜欢探测功能。

探测失败,还是失败了? #55
合作者作者

我说得太快了。我收到探测失败和不正确的结果。

探测失败,还是失败了? #55
所有者

控制台日志中有任何错误消息吗?另外,您可以使用 Verbose 模式运行探测序列以获得更多详细信息吗?

探测失败,还是失败了? #55
合作者作者

好的,明天就做。

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 30 日  

这是 verbose while probing 的结果。我也包含了 $i 输出。它似乎在机器坐标系中探测(有道理)。

<Idle|MPos:210.746,87.703,-68.553|Bf:35,1023|FS:0,0>正在
探测…
G91F50
ok
PM:ok
G38.3F50Z-10
<Run|MPos:210.746,87.703,-68.683| Bf:34,1023|FS:50,0|WCO:210.744,87.701,-71.732|WCS:G54|Ov:100,100,100|A:|Sc:|H:0|T:0|TLR:0|Enc:1 >
<运行|MPos:210.746,87.703,-68.854|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-69.020|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-69.186|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-69.367|Bf:34,1023|FS:50,0>
<运行| MPos:210.746,87.703,-69.533|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-69.698|Bf:34,1023|FS:50,0>
<运行|MPos: 210.746,87.703,-69.869|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-70.035|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-70.206|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-70.382|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-70.548|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-70.714|Bf:34,1023|FS:50,0>
<运行|MPos :210.746,87.703,-70.884|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-71.050|Bf:34,1023|FS:50,0>
<运行|MPos:210.746 ,87.703,-71.226|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-71.397|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703 ,-71.563|Bf:34,1023|FS:50,0>
<运行|MPos:210.746,87.703,-71.734|Bf:34,1023|FS:50,0>
[PRB:210.746,87.703,-71.774: 1]
好的
PM:好的
G0Z0.5
好的
PM:好的
G38.3F25Z-10
<运行|MPos:210.746,87.703,-71.387|Bf:34,1023|FS:25,0>
<运行|MPos:210.746,87.703,-71.457|Bf:34,1023|FS:25,0|Ov: 100,100,100>
<运行|MPos:210.746,87.703,-71.548|Bf:34,1023|FS:25,0>
<运行|MPos:210.746,87.703,-71.633|Bf:34,1023|FS:25,0>
<运行|MPos:210.746,87.703,-71.714|Bf:34,1023|FS:25,0>
<运行|MPos:210.746,87.703,-71.799|Bf:34,1023|FS:0,0|Pn: P>
[PRB:210.746,87.703,-71.779:1]
ok
PM:ok
G53G0Z-68.779
G10L2P1Z-73.199
探测失败
ok
<Run|MPos:210.746,87.703,-71.764|Bf:34,1023|FS:450,0 |Pn:P>
ok
// $i sent
[VER:1.1f(IMXRT1062).20200818:]
[OPT:VNMSL,35,1024,3,0]
[NEWOPT:ES,ETH]
[驱动程序版本:200823]
[驱动程序选项:USB.2]
[主板:T41U5XBB]
[IP:192.168.86.210]
[NETCON:Telnet]

探测失败,还是失败了? #55

探测失败,还是失败了? #55

也许你应该用 beta 3 或 beta 4 测试一下。

探测失败,还是失败了? #55
所有者

我发现了一个或两个错误。首先,如果G53G0Z-68.779命令失败则G10L2P1Z-73.199不应执行。其次,在超时之前有 100 毫秒等待 ok 回复G53– 您的日志中没有“ok”,所以这可能太短了。这就是失败的原因。我将稍微增加此延迟以查看是否有帮助。有点奇怪的是 T4 需要超过 100 毫秒才能响应G53命令……

正确的顺序应该是这样的:

G53G1F300Z-10.391
ok
PM:ok
<Run|MPos:91.805,68.350,-13.427|Bf:34,1023|FS:270,0|Pn:P>
[GC:G1 G54 G17 G21 G91 G94 G49 G98 G50 M5 M9 T2 F300 S0.]
<Run|MPos:91.805,68.350,-13.426|Bf:34,1023|FS:270,0|Pn:P|Ov:100,100,100>
[GC:G1 G54 G17 G21 G91 G94 G49 G98 G50 M5 M9 T2 F300 S0.]
<Run|MPos:91.805,68.350,-12.704|Bf:34,1023|FS:300,0>
<Run|MPos:91.805,68.350,-12.661|Bf:34,1023|FS:300,0>
<Run|MPos:91.805,68.350,-11.682|Bf:34,1023|FS:300,0>
<Run|MPos:91.805,68.350,-11.661|Bf:34,1023|FS:300,0>
<Run|MPos:91.805,68.350,-10.661|Bf:34,1023|FS:51,0>
<Run|MPos:91.805,68.350,-10.660|Bf:34,1023|FS:51,0>
<Idle|MPos:91.805,68.350,-10.391|Bf:35,1023|FS:0,0>
<Idle|MPos:91.805,68.350,-10.391|Bf:35,1023|FS:0,0>
G10L2P1Z-23.891
Probing completed
ok
探测失败,还是失败了? #55
所有者

Beta 5 现已发布,我已修复该错误并将延迟增加到 200 毫秒。

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 30 日  

获得 Beta 5,感谢您的快速更新。

我仍然看到探测失败。请参阅下面的详细控制台输出。

我做了一个 G38.2 Z-10 F50,当它接触到探头时它停止了,所以至少探头硬件正在响应。这可能是噪音问题吗?探头接口通过 BoB 上的光隔离器,但仍然可能存在噪声。探测线确实在电源附近运行,尽管它被屏蔽了。我可以将它重新配置为远离所有噪声源,以进行您认为值得尝试的测试。

下面的输出来自我在安装机器之前的运行。但后来我把它安顿下来并重复探测,结果相同。如果我能做些什么来帮助追踪它,请告诉我。

<Idle|MPos:0.000,0.000,0.000|Bf:35,1023|FS:0,0>正在
探测…
G91F100
ok
PM:ok
G38.3F100Z-10
<Run|MPos:0.000,0.000,-0.196|Bf :34,1023|FS:100,0|WCO:210.744,87.701,-73.529|WCS:G54|Ov:100,100,100|A:|Sc:|H:0|T:0|TLR:0|Enc:1>
<运行|MPos:0.000,0.000,-0.553|Bf:34,1023|FS:100,0>
<运行|MPos:0.000,0.000,-0.889|Bf:34,1023|FS:100,0>
<运行|MPos:0.000,0.000,-1.226|Bf:34,1023|FS:100,0>
<运行|MPos:0.000,0.000,-1.558|Bf:34,1023|FS:100,0>
<运行|MPos :0.000,0.000,-1.894|Bf:34,1023|FS:100,0>
<运行|MPos:0.000,0.000,-2.226|Bf:34,1023|FS:100,0>
<运行|MPos:0.000 ,0.000,-2.583|Bf:34,1023|FS:100,0>
<运行|MPos:0.000,0.000,-2.920|Bf:34,1023|FS:100,0>
[PRB:0.000,0.000,-3.000:1]
好的
PM:好的
G0Z0.5
好的
PM:好的
G38.3F25Z-10
<Run|MPos:0.000,0.000,-2.668|Bf:34,1023|FS:25,0>
<Run|MPos:0.000,0.000,- 2.683|Bf:34,1023|FS:25,0>
<运行|MPos:0.000,0.000,-2.764|Bf:34,1023|FS:25,0>
<运行|MPos:0.000,0.000,-2.854| Bf:34,1023|FS:25,0>
<运行|MPos:0.000,0.000,-2.940|Bf:34,1023|FS:25,0>
<运行|MPos:0.000,0.000,-3.020|Bf: 34,1023|FS:0,0|Pn:P>
[PRB:0.000,0.000,-2.995:1]
ok
PM:ok
G53G0Z0.005
探测失败
ok
<Run|MPos:0.000,0.000,-2.985|Bf: 34,1023|FS:450,0|Pn:P>
<运行|MPos:0.000,0.000,-1.372|Bf:34,1023|FS:439,0>
<运行|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0|WCO:210.744,87.701,-73.529|WCS:G54|Ov:100,100,100|A:|Sc:|H:0| T:0|TLR:0|Enc:1>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35, 1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS: 0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos :0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000 ,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos :0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000 ,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf :35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023 |FS:0,0|Ov:100,100,100>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023 |FS:0,0>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>
G90
正常
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0|WCO:210.744,87.701,-73.529|WCS:G54|Ov:100,100,100|A:|Sc:|H:0| T:0|TLR:0|Enc:1>
<空闲|MPos:0.000,0.000,0.005|Bf:35,1023|FS:0,0>

探测失败,还是失败了? #55
所有者

这可能是噪音问题吗?

我不这么认为 –G53G0Z0.005已采取行动,但由于ok某种原因,响应来得太晚了。网络延迟还是网络堆栈延迟?

如果我能做些什么来帮助追踪它,请告诉我。

您可以尝试使用 UART 或 USB 通信吗?

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 30 日  

是的,使用 USB,它工作正常。我收到探测完成消息,并且探头尖端似乎位于正确的高度。

我注意到以太网有相当大的延迟。该机器没有直接连接到我的 PC,而是通过本地交换机连接。我没有注意到 PC 和交换机有任何其他网络延迟问题。从 PC 到路由器 BoB 的 Ping 结果。有没有办法测试 telnet 延迟?

C:\Users\phill\Documents\gcodesender>ping 192.168.86.210

ping 192.168.86.210 32字节数据:
Reply from 192.168.86.210: bytes=32 time=2ms TTL=255
Reply from 192.168.86.210: bytes=32 time<1ms TTL=255
Reply from 192.168.86.210: bytes=32 time <1ms TTL=255
来自 192.168.86.210 的回复:bytes=32 time=1ms TTL=255

192.168.86.210 的 Ping 统计数据:
数据包:发送 = 4,接收 = 4,丢失 = 0(0% 丢失),
近似往返时间(以毫秒为单位):
最小值 = 0 毫秒,最大值 = 2 毫秒,平均值 = 0 毫秒

探测失败,还是失败了? #55
所有者

您也可以尝试增加网络轮询频率,enet.c 中的第 102+ 行:

    if (ms - last_ms1 > 100)
    {
        last_ms1 = ms;
        enet_poll();
    }

尝试使用 50 或 25 而不是 100。

探测失败,还是失败了? #55
合作者作者

在电子邮件中划线。会试一试。100mS 很长。我试着在今天上午完成,但我们要离开过夜,所以今天可能不会发生。取决于 SWMBO 何时起床。

探测失败,还是失败了? #55
所有者

是的,100 毫秒是很长的时间——取自网络示例。我也会检查发送方的套接字选项,可能是发送也被那里的堆栈延迟了。

旅行愉快!

探测失败,还是失败了? #55
合作者作者

构建了二进制文件,但存在更新问题(以前见过)。似乎不想更新新的 .hex 文件。不确定发生了什么 – 会继续尝试,直到我做不到为止。哈哈。

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 31 日  

好的,解决了更新问题(实际上是在更新)。10 毫秒的轮询频率(也尝试过 50 和 25)并且探测仍然失败。验证通过 USB 连接时它不会失败。

编辑,也许是一个线索——我有 2 个 grblHAL 系统在运行,都在 telnet 上。我在 android 上的网络管理器应用程序可以看到楼上,但看不到商店里的那个。

探测失败,还是失败了? #55
所有者

编辑,也许是一个线索——我有 2 个 grblHAL 系统在运行,都在 telnet 上。我在 android 上的网络管理器应用程序可以看到楼上,但看不到商店里的那个。

他们有不同的主机名?两个IP都能ping通吗?

附件是修改后的 Core.dll,其中 NoDelay 设置为 true 用于 telnet 通信,您可以尝试一下吗?

CNC.核心.zip

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 31 日 通过电子邮件
探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 9 月 1 日  

将两个文件(CNC.core.dll 和 CNC.core.pdb)解压缩并复制到 G Code Sender 文件夹中。没有变化 – 仍然收到探测失败的错误消息。

[编辑] 验证 USB 连接时的探测仍然成功完成。

探测失败,还是失败了? #55
所有者

好的,我将不得不以某种方式测量 G53 commad 往返所需的时间。

探测失败,还是失败了? #55
合作者作者

如果有某种方法可以同时查看详细的控制台输出和探测面板,我可以对其进行录像,然后计算帧数以获得看到 OK 所需的时间。

探测失败,还是失败了? #55
所有者

我必须测量代码所花费的时间,我不希望 UI 线程成为测量的一部分。我想找出大部分延迟发生在发送方还是控制器中。

探测失败,还是失败了? #55
所有者

附件是另一个要尝试的 dll。它将记录(到控制台)所花费的时间以确保没有来自控制器的未决输入以及后续 G53 的往返时间。

对于第一个,前缀应始终为 F,所用时间应为 200 毫秒,对于第二个,前缀始终为 G。
我已将 G53 的等待时间增加到 1200 毫秒。例子:

F00:00:00.4041040
G00:00:00.4684911

F00:00:00.2028257
G00:00:00.2065307

F00:00:00.3997611
G00:00:00.4047060

G53往返时间是F和G之间的差异。你得到什么样的时间?

请注意,我正在使用 .Net StopWatch 来测量时间——它应该是准确的,但由于 Windows 是多任务处理,所以很难确切地知道测量的是什么……

CNC.Controls.Probing.zip

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 9 月 3 日 通过电子邮件
探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 9 月 3 日 通过电子邮件
探测失败,还是失败了? #55
所有者

疯狂的结果 – 您的网络中发生了什么?我这里的响应时间降至 5 毫秒左右。

您的计算机中是否有第二个可用的网络端口?如果是这样,我们可以为控制器设置一个单独的网络,就像我为我的 Mach3 SmoothStepper 安装所做的一样。

探测失败,还是失败了? #55
所有者

这个我不明白,可能是一个线索:

G53G0Z-0.05
G00:00:01.6832847
探测失败
<Idle|MPos:0.000,0.000,-3.126|Bf:35,1023|FS:0,0|Pn:P>
<Idle|MPos:0.000,0.000,-3.126| Bf:35,1023|FS:0,0|Pn:P|WCO:0.000,0.202,-4.745>
<空闲|MPos:0.000,0.000,-3.126|Bf:35,1023|FS:0,0|Pn :P>
<Idle|MPos:0.000,0.000,-3.126|Bf:35,1023|FS:0,0|Pn:P>

ok
<Run|MPos:0.000,0.000,-3.101|Bf:34,1023| FS:360,0|Pn:P>

在 G53 ok 响应出现之前有四个状态请求/响应。怎么可能呢?

探测失败,还是失败了? #55
合作者作者
菲尔·巴雷特 评论了 2020 年 9 月 4 日 通过电子邮件
探测失败,还是失败了? #55
CollaboratorAuthor
phil-barrett commented 2020 年 9 月 4 日 via email
探测失败,还是失败了? #55
CollaboratorAuthor
phil-barrett commented 2020 年 9 月 4 日 via email
探测失败,还是失败了? #55
Owner

Network stack attached. I am going to create a simulator – starting with probing. Hard to simulate with a switch outside of a machine. I have some PSoC 5 code I can use as a starting point.

teensy41_ethernet-master.zip

探测失败,还是失败了? #55
Owner

喜欢 (0)