Contact me: hankecnc@gmail.com

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426

推推 grbl 3年前 (2023-02-02) 437次浏览
关闭
dylanpil 打开了这个问题 2020 年 6 月 18 日 · 13条评论
关闭

4 轴和 5 轴支撑坏了(3 和 6 工作)#1426

dylanpil 打开了这个问题 2020 年 6 月 18 日 · 13条评论

注释

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
迪兰皮尔 评论了 2020 年 6 月 18 日  

以前我有 bCNC-0.9.14.304 运行并连接到 COM 端口(Tibbo 虚拟串行端口)和 arduino Mega。
我正在使用内置 wifi 的 Arduino mega 开发板(板载 ESP8266)。
我正在为 MEGA 使用 grbl fork 来自:
https
://github.com/LETARTARE/grblQ-Mega-4axes 我已经安装了最新版本的 bCNC 并尝试使用 python 2.7 和 3安装。
两个安装都连​​接到标准 COM,但不能通过 usb 或 wifi 连接到 arduino Mega。我有 2 个 arduino megas,我没有测试过。
我很想让它与我的 4 轴数控系统一起使用。我正在使用Windows 10。
请指教。

以下是我在 python 终端中可以找到的内容:

COM20 Tibbo 虚拟串口 (COM20) ROOT*TVSP\0000
COM1 通信端口 (COM1) ACPI\PNP0501\1
COM17 Arduino Mega 2560 (COM17) USB VID:PID=2341:0042 SER=557353034343511091F1 LOCATION=1-1.3
COM3 Arduino Uno (COM3) USB VID:PID=2341:0043 SER=8543034303835160A020 LOCATION=1-1.2 comport
fix
Controller state changed to: Alarm (Running: False)
comport fix
Controller state changed to: Idle (Running: False)
线程异常 Thread- 4:
回溯(最近调用最后):
文件“C:\Python27\lib\threading.py”,第 801 行,在 __bootstrap_inner
self.run()
文件“C:\Python27\lib\threading.py”,第 754 行, 在运行
self.__target(*self.__args, **self.__kwargs)
文件“C:\Users\dylan\Downloads\bCNC-master\bCNC-master\bCNC\Sender.py”,第 777 行,在 serialIO
elif self.mcontrol .parseLine(line, cline, sline):
文件“C:\Users\dylan\Downloads\bCNC-master\bCNC-master\bCNC\controllers_GenericController.py”,第 201 行,在 parseLine
self.parseBracketSquare(line)
文件“C :\Users\dylan\Downloads\bCNC-master\bCNC-master\bCNC\controllers\GRBL1.py”, line 217, in parseBracketSquare
CNC.vars[“G92B”] = float(word[5])
IndexError: 列表索引超出范围

以下是来自 serial_log.txt:
serial_log.txt

Grbl 1.1e [‘$’寻求帮助]

[MSG:’$H’|’$X’解锁]

<报警|MPos:0.000,0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000,0.000>

?<报警|MPos:0.000,0.000,0.000,0.000|FS:0,0|Ov:100,100,100>

?<报警|MPos:0.000,0.000,0.000,0.000|FS:0,0>

?<报警|MPos:0.000,0.000,0.000,0.000|FS:0,0>

$X
[MSG:Caution: Unlocked]

?<空闲|MPos:0.000,0.000,0.000,0.000|FS:0,0>

$#
$G
[G54:0.000,0.000,0.000,0.000]

[G55:0.000,0.000,0.000,0.000]

[G56:0.000,0.000,0.000,0.000]

[G57:0.000,0.000,0.000,0.000]

[G58:0.000,0.000,0.000,0.000]

[G59:0.000,0.000,0.000,0.000]

[G28:0.000,0.000,0.000,0.000]

[G30:0.000,0.000,0.000,0.000]

[G92:0.000,0.000,0.000,0.000]

!!…

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
作者
迪兰皮尔 评论了 2020 年 6 月 24 日  

@MARIOBASZ
arduino Uno 运行良好,
可能是我使用的版本。
我正在为 MEGA 使用 grbl fork 来自:
https
://github.com/LETARTARE/grblQ-Mega-4axes 我还没有机会尝试刷新不同的 Mega grbl,因为我假设如果 Uno 工作,它会可能在不同的 Mega 叉子上工作。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
贡献者

怎么了?Arduino Mega 响应或根本不响应:换句话说,至少它在连接时报告 grbl 1.1,bCNC 被列为未连接,但是它移动轴(没有已知的解决方案)?或者相反,根本没有答案?(这个错误是发生在我身上的,我解决了)
换个发件人看看问题是bCNC还是固件

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
贡献者

与另一个发件人一起工作吗?
我的知识有限。
按停止,按删除警报,按归巢?

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
合作者

在我看来,这似乎是在尝试解析 6 轴报告,但只报告了 4 个轴……CNC.vars["G92B"] = float(word[5])
我们需要修复代码,以便它只解析 grbl 发送的轴并忽略丢失的轴。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426 Harvie 将此添加到 0.9.16里程碑 2020 年 6 月 24 日
4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
合作者

作为解决方法,您可以尝试将您的 arduino 配置为 6 轴(但仅连接 4 轴电机)

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
合作者

看看 GRBL1.py 中的这段代码:

		if word[0] == "G92":
			CNC.vars["G92X"] = float(word[1])
			CNC.vars["G92Y"] = float(word[2])
			CNC.vars["G92Z"] = float(word[3])
			#if Utils.config.get("bCNC","enable6axis") == "true":
			if len(word) > 4:
				CNC.vars["G92A"] = float(word[4])
				CNC.vars["G92B"] = float(word[5])
				CNC.vars["G92C"] = float(word[6])

在几个地方有类似if len(word) > 4which 测试输入是 3 轴还是 6 轴的东西。
我们需要将其重写为更通用的代码,它会自动检测轴数,无论是 1 还是 99。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426 哈维 改了标题 未连接到最新版本的 Arduino Mega 4 轴和 5 轴支撑坏了(3 和 6 工作) 2020 年 6 月 24 日
这个被引用了2020 年 6 月 24 日
4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
贡献者

我认为解决方案应该相当简单。代码在三个地方看起来类似于:
if len(word) > 4:
CNC.vars[“G92A”] = float(word[4])
CNC.vars[“G92B”] = float(word[5] )
CNC.vars[“G92C”] = float(word[6])

如果我们将所有三个更改为:
if len(word) > 4:
CNC.vars[“G92A”] = float(word[4])
if len(word) > 5:
CNC.vars[“G92B”] = float(word[5])
如果 len(word) > 6:
CNC.vars[“G92C”] = float(word[6])

那应该启用 4 轴和 5 轴系统。如果有人愿意测试它,我非常乐意创建一个测试 GRBL1.py。
GRBL1.py.txt
只需将其重命名为 GRBL1.py 并覆盖原来的文件即可。我现在没有 4 轴或 5 轴控制器来测试它。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
作者

谢谢,我还没有机会测试,但我会在下周看看是否可以

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
合作者

如果有效,请进行 PR…

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426

我有一个带双 X 和 Y 轴的 MPCNC。我测试了来自 tsmarks 的补丁文件,它对我有用。
非常感谢。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
贡献者

我看到这已合并到主仓库中。
但是通过使用 pip 安装程序安装了旧的 grbl1 文件。
于是,手动安装了补丁文件@tsmarks.

编辑:最初它没有用。我必须重新启动 bCNC 才能让它工作。(愚蠢的错误)现在它工作正常。

我正在使用带有板载 wifi 和 esp 的 Arduino Mega,以及 grbl-mega-5x。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
合作者

我看到这已合并到主仓库中。
但是通过使用 pip 安装程序安装了旧的 grbl1 文件。

我已经将 master 上传到 pypi,所以它现在应该同步了。

4 轴和 5 轴支撑坏了(3 和 6 工作) #1426
贡献者

但是,我确实对自动调平功能有疑问。不知道有没有关系。
程序在最后一个探测点冻结。(状态保持运行,但控制台无响应)
我的技能无法调试它。