Contact me: hankecnc@gmail.com

添加 grblHal 控制器 #1428

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

添加 grblHal 控制器#1428

MARIOBASZ 打开了这个问题 2020 年 6 月 19 日 · 19条评论

评论

添加 grblHal 控制器 #1428
贡献者

我有一个带有 grblHal 的新 Arduino Due(6 轴,例如 G5)。
我无法连接它,但是如果我发送命令它会移动轴(已经提出类似的问题?)。
如果它可以包括在内,以及 Smoothieware 和 G2Core 之外,我想尝试将它与 bCNC 一起运行。
注意:我试过修改 COMPATIBILITY_LEVEL 0; 一; 10并没有解决问题。
问候,祝你玩得开心。

添加 grblHal 控制器 #1428
贡献者作者
马里奥巴斯 评论了 2020 年 6 月 21 日  

我想能够阅读 G5(样条、平滑线、两点之间)代码我认为至少对我来说非常有用(例如能够运行更快的摆线策略?)。也可以解释更多 Linux 命令的扩展代码。我肯定更愿意将 bCNC 与 grblHal 一起使用,而不是 bCNC 来创建和修改,另一个发送者来移动机器。
问候和拥抱。

添加 grblHal 控制器 #1428
暗纤维-nl 评论了 2020 年 9 月 11 日  

@vlachoudis
我同意支持 grblHAL 的请求,它支持更多的 32 位板。
它在很大程度上与原始 grbl 兼容。希望它应该需要有限的时间/工作来使 bCNC 兼容,并且可能支持 grblHAL 提供的额外功能。

知道 grbl 的开发者本身知道 grblHAL 并提到它可能是进一步开发 grbl 的有前途的基础可能会很有趣。

https://github.com/terjeio/grblHAL

添加 grblHal 控制器 #1428 哈维 补充说 增强 3轴以上 非GRBL 研究和代码清理 需要更多思考的长期想法发件人和串行连接 标签 2020 年 9 月 11 日
添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 9 月 11 日  

我很了解 grblHAL,我完全支持这个项目,它是 GRBL 的未来。
但是你到底需要什么功能/什么坏了?

如果协议与 GRBL1 差异太大,我们可以在此处添加新的控制器驱动程序:
https ://github.com/vlachoudis/bCNC/tree/master/bCNC/controllers

我们已经支持 6 个轴。那么问题是什么?

AFAIK G5 可以通过串行线从 g 代码文件流式传输到机器。然而,可能无法在图形预览中显示它或使用内置 CAM 功能修改此类代码。

关于 G5 的更多信息:
我认为这在任何可预见的未来都不会发生。每个基本形状都必须在几乎整个代码库中得到支持,我们对所有地方的弧线和线都有特殊处理。它甚至简化了 bCNC 的开发。如果我们添加 G5 支持,那么每个新功能都必须同时支持它,这将使开发变得更加困难。我并不是说这是不可能的,但在我们有限的资源下这是非常不切实际的。这个问题可能很容易适用于任何其他 FOSS CNC 软件……在内部使用 G5 并没有真正的好处,但它使一切都比使用直线和圆弧的组合复杂得多。

在画布上显示 G5 样条曲线是可能的。但是画布代码需要完全重写为本地代码,所以现在没有必要破解它。

也许我们可以添加代码将 G5 转换为圆弧。我在导入 DXF 时已经手动执行此操作并且效果很好。我尝试在各种样条曲线上使用 bCNC 的 arcfit 功能,它在将单个样条曲线转换为多条弧线方面做得很好,而不会失去太多精度。(与我的机器的反弹相比)。我也相信这是我们从 SVG 文件导入样条曲线时自动发生的事情……

添加 grblHal 控制器 #1428

我的请求可能放错地方了。就我个人而言,我不需要 G5,通常只需要 bCNC 与 grblHAL 一起工作。我认为我的问题更像是一个支持问题,如果我自己无法解决,我会为此打开一个新问题。

很高兴听到您支持 grblHAL!

添加 grblHal 控制器 #1428

grblHAL 扩展遵循原始协议结构,如果协议解析器是防御性编写的,它应该忽略它们。我研究了一些发件人如何进行解析,遗憾的是有些人认为数据内容明智地与遗留 grbl 所描述的完全一样。一些扩展需要发送方的合作,特别是工具更改协议,但大多数不需要。

一个例子:

一些扩展是由于某些 grblHAL 支持的处理器不能像 8 位 arduino 处理器那样在连接时硬重置。这意味着发送方应该能够在连接时查询 grblHAL 的状态,而不仅仅是依靠硬重置使其进入已知状态。一个可选的扩展是警报代码可以作为子状态添加到Alarm实时报告中的状态,允许发送者采取适当的行动。为遗留 grbl 编写良好的发件人可以硬重置控制器以从ALARM:消息中获取警报代码,但由于硬重置并不总是适用于 grblHAL,我必须找到一种方法来提供它 – 并将其作为子状态添加到实时报告状态是最自然的方式,因为它已经像Hold状态。因此,IMO 一个编写良好的协议解析器应该容忍所有实时状态而不会崩溃。


可以简要提及的其他扩展是支持全范围的偏移、所有轴的工具偏移、归位状态、几个额外的实时报告字段以及一些新的实时命令。我试图在grblHAL wiki中总结扩展,所以请检查一下。

如果需要,我准备好讨论更多细节并解释我所做更改的理由。

Terje – 期待更多的发件人完全支持 grblHAL。

添加 grblHal 控制器 #1428

我是 grblHAL 分线板的设计师。它在 Tindie 上可用。我有很多客户希望使用 Mac 或 Linux 机器(RasPi 非常受欢迎)。在这些情况下,我向他们推荐 bCNC,但目前他们必须在兼容模式下使用 grblHAL。不幸的是,这使他们无法使用 grblHAL 的全部功能。如果需要,我很乐意进行测试并帮助调试。

我可以看到 bCNC 在运行基于 grblHAL 的机器的独立的基于 RasPi 400 的控制台中使用。不在这里传达任何产品创意……

顺便说一下,Terje Io(在我之前发表评论的人)是 grblHAL 的主要开发人员。

添加 grblHal 控制器 #1428

关于 grblHAL 支持,我刚刚编译了一个新的 3 轴控制器,它无法与当前版本的 bCNC 一起使用。它卡在几秒钟的重启循环中,每次重试都会输出:
`rbl 1.1f [‘$’ for help]

[G54:10.000,0.000,0.000]
[G55: 0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58: 0.000,0.000,0.000] [
G59,0.000 0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G59.3:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB: 0.000,0.000,0.000:0]
ok
G90
ok
Run ended
2020-12-23 18:23:50.424531
Current: 2 [2] Completed: 100% [0s Tot: 0s ]

`
2018 年的 bCNC 版本 0.9.14 运行完美。所以那段时间出了点问题

添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 12 月 28 日  

我向他们推荐 bCNC,但目前他们必须在兼容模式下使用 grblHAL。

@phil-barrett你能告诉我你使用什么兼容级别吗?1 够吗?

添加 grblHal 控制器 #1428

我相信我在 11 月 4 日的评论是不正确的。您应该可以使用 Compatibility 0。不过,我听说有人需要 Compatibility 1,但在我最近的休息中,Compatibility 0 还可以。12 月中旬左右,我下载了当前版本的 bCNC,运行良好。

添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 12 月 28 日  

对我来说,bCNC 似乎可以与 grblHAL 级别 0 相对正常地工作,但是我没有对此进行彻底测试并且暂停/恢复似乎有些损坏……我想有一些差异……@terjeio你知道为什么会这样吗?

添加 grblHal 控制器 #1428

@Harvie暂停做什么?馈线?或者只是停止向控制器发送 gcode 并让任何缓冲的命令运行完成?

你能更详细地解释一下“有点坏”吗?

添加 grblHal 控制器 #1428
合作者

当我在 bCNC 中按下暂停(是进给)时,原来的 grbl 减速并等待我恢复或重置它。但是,如果我对 grblHAL 没记错的话,我无法从 bCNC 恢复操作,我不得不重置所有内容并重新开始。

添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 12 月 28 日  

不好了。我刚刚检查过,问题似乎有点不同。当 grblHAL 处于暂停状态并且我将其重置时,它仍然保持暂停状态(与原始 GRBL 1.1 不同)。这让 bCNC 感到困惑……至少这是我基于短期观察的想法。这是故意的吗?

添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 12 月 28 日  

此外,当 grblHAL 发出警报时,例如。“ALARM:14”它不会在屏幕上停留很长时间,大约半秒后它会被没有警报编号的通用“Alarm”取代……我不确定这是否是 grblHAL 或 bCNC 中的问题……

更新:这可以通过记住最后一个报警编号在 bCNC 中修复。

添加 grblHal 控制器 #1428
合作者

我已经向 bCNC 添加了 grblHAL 特定的错误消息,因此它增加了 grblHAL+bCNC 设置中的用户体验。

添加 grblHal 控制器 #1428

不好了。我刚刚检查过,问题似乎有点不同。当 grblHAL 处于暂停状态并且我将其重置时,它仍然保持暂停状态(与原始 GRBL 1.1 不同)。这让 bCNC 感到困惑……至少这是我基于短期观察的想法。这是故意的吗?

不,它对我来说并不像那样(MSP432 驱动程序)。您正在测试哪个驱动程序/版本($I 输出)?

此外,当 grblHAL 发出警报时,例如。“ALARM:14”它不会在屏幕上停留很长时间,大约半秒后它会被没有警报编号的通用“Alarm”取代……我不确定这是否是 grblHAL 或 bCNC 中的问题……

当发出警报时,bCNC 是否对控制器采取任何行动?例如尝试重置和解锁?这可能已在测试分支中得到修复,至少对于警报 14 是这样。当我从终端 (PuTTY) 进行测试时,它的行为与测试分支固件应有的一样。

添加 grblHal 控制器 #1428
合作者
哈维 评论了 2020 年 12 月 29 日  

当发出警报时,bCNC 是否对控制器采取任何行动?

很有可能,但我今天已经在 bCNC 中修复了它。当屏幕上显示“ALARM:XX”时,bCNC 现在会忽略“Alarm”。这样警报号码就不会消失。

不,它对我来说并不像那样(MSP432 驱动程序)。您正在测试哪个驱动程序/版本($I 输出)?

我正在使用支持 Huanyang VFD ( terjeio/grblHAL#68 ) 的 ESP32 构建,您认为这是实验性的。感觉 VFD 错误处理目前有点奇怪。我会尝试不使用 VFD 插件。

添加 grblHal 控制器 #1428 Harvie 将此添加到 0.9.15里程碑 2020 年 12 月 29 日
添加 grblHal 控制器 #1428
合作者

@terjeio我认为使用 grblHAL 时,实时提要覆盖在 bCNC 中不起作用。那可能吗?

反正。刚刚在 ESP32 上测试了干净的 grblHAL 构建(没有 VFD 插件的最新 git)。它似乎与最新的 pip 版本的 bCNC (bCNC==0.9.14.312) 一起工作得相当好。因此我关闭这个问题。