开源改变世界

冰沙软件支持 #143

推推 grbl 3年前 (2023-01-31) 154次浏览
打开
arthurwolf 打开了这个问题 2015 年 10 月 26 日 · 48条评论
打开

冰沙软件支持#143

arthurwolf 打开了这个问题 2015 年 10 月 26 日 · 48条评论

注释

冰沙软件支持 #143

你好。

Smoothieware 最初是一个 GRBL 端口,并使用基本相同的协议进行通信(缺少一些东西)

使 bCNC 兼容会非常好,这会让很多 Smoothie 用户感到高兴。

我们甚至可以发送一块电路板进行测试。

告诉我们你的想法。

干杯。

冰沙软件支持 #143
贡献者

你好@arthurwolf
作为一个 grbl 衍生物,我认为这是可以做到的。

最近这里#123已经有用户请求支持。
那天我快速浏览了一下,但没有找到如何将 gCode 流式传输到 Smoothie。Pronterface 似乎使用与 grbl 不同的方法,上传整个文件而不是发送部分 gcode,直到小 atmega 缓冲区已满。

我只是想了解与 grbl 的区别。
我认为@vlachoudis是唯一可以决定支持另一个董事会的人。

冰沙软件支持 #143
作者

嘿。

Smoothie 使用相同类型的“发送前等待确定”缓冲区/通信。
但它没有非 gcode 标准的东西(,$, Ctrl-X ) 添加了 GRBL。

Pronterface 既可以流式传输(并且与 grbl 兼容),可以上传整个文件,您可以选择使用哪一个。

干杯。

冰沙软件支持 #143
所有者

你好@arthurwolf

我认为有可能使 bCNC 与冰沙板兼容,至少对于与 grbl “等效”的基本事物。我只是在看你的网站。我看到该板有很多额外功能(更多轴、SD 卡支持等)。如果 smoothieware 的这些附加功能需要由界面控制,那么它需要做更多的工作。

干杯
瓦西利斯

冰沙软件支持 #143
作者

@vlachoudis不,你可以忽略所有这些额外的功能,只是让它进行简单的交流,这对 Smootihe 用户来说已经是一个很大的帮助。

冰沙软件支持 #143
所有者

好吧,如果我有什么可以试验的,那应该是可行的。

冰沙软件支持 #143
作者

您可以通过wolf.arthur@gmail.com与我联系并提供您的送货地址吗?

我将向您发送一个 4XC 板,其中步进电机驱动器或 mosfet 损坏。
对于测试通信应该仍然没问题,甚至
对于数控路由器或激光切割机(或 3D 打印机,如果您连接外部
驱动器或更换损坏的驱动器)也足够了。

干杯!

在 2015 年 10 月 25 日星期日晚上 9:44,Vasilis Vlachoudis <
notifications@github.com > 写道:

好吧,如果我有什么可以试验的,那应该是可行的。


直接回复此电子邮件或在 GitHub
#143(评论)上查看。

Courage et bonne humeur。

冰沙软件支持 #143
所有者

别担心,所需要的只是可以与之交流的东西。

冰沙软件支持 #143
所有者

我在想,既然冰沙是基于 grbl 的,那么交流会是相似的。但是阅读您的文档我了解到存在很多差异。bCNC 的许多功能都依赖于 grbl 通信协议,例如探测、自动调平、功能评估、进给覆盖。如果我的理解是正确的,则意味着代码中有很多更改

冰沙软件支持 #143
作者

嘿。

如果某些功能没有立即实现,也没关系。只要
基本的 gcode 发送和慢跑工作,它就已经对
Smoothie 用户有很大的用处。
如果添加了基本内容,我相信其他人会加入并做出更多贡献。

干杯。

在 2015 年 11 月 11 日星期三晚上 10:18,Vasilis Vlachoudis <
notifications@github.com > 写道:

我在想,既然冰沙是基于 grbl 的,那么交流
会是相似的。但是阅读您的文档我了解到存在
很多差异。bCNC 的许多功能都依赖于 grbl
通信协议,例如探测、自动调平、功能评估、进给
覆盖。如果我的理解是正确的,则意味着
代码中有很多更改


直接回复此电子邮件或在 GitHub
#143(评论)上查看。

Courage et bonne humeur。

冰沙软件支持 #143
作者

嘿,抱歉耽搁了。

我刚刚让我们的运输部门给你寄了一张板子。
请不要觉得有义务做任何事情,这只是为了在您想要添加 Smoothie 支持时帮助您。
请知道很多人都希望看到添加,并且@wolfmanjmSmoothie 的主要开发人员喜欢 bcnc 软件,并且可能会帮助您实现 Smoothie 中缺少的任何内容。

干杯!

冰沙软件支持 #143
贡献者

仅供参考,我正在向类似 grbl 的命令添加类似 grbl 的响应,所以像

你不能在数学模式下使用“宏参数字符#”
$# 将工作 $H 等 $

$ 不会,因为它对冰沙毫无意义。
流式传输你只需发送东西,然后消费就可以了,USB 负责流量控制,所以你不需要担心缓冲区大小和其他东西,所以它比 grbl 更容易。尽管我可以添加虚拟缓冲区大小,如果它可以的话更容易,因为本身没有缓冲区,它总是很大。另外我会添加?responses 尽管我们有类似的东西,它只是返回不同的格式。

附注:我喜欢 bCNC,目前我在运行 grbl 的 CNC 上使用它,因为没有等效的 smoothie。

冰沙软件支持 #143
所有者

伟大的。如果响应相似将使集成更容易。然而,我认为最好在 bCNC 中为 smoothie 创建一个特定的发送程序,并且用户在设置时可以选择控制器类型。

冰沙软件支持 #143

您好,是否已经支持smoothiware?刚刚用我的 smoothieboard 下载并测试了最新版本的 bCNC,但我无法连接到我的板。我选择了正确的 COM 端口和冰沙类型,但根本没有通信。

谢谢你和梅林的问候:)

冰沙软件支持 #143
贡献者

它应该连接,但是流式 gcode 中存在一个错误,目前正在处理中。

冰沙软件支持 #143

嗨,吉姆,
谢谢你的回复。只是一个问题:这个问题与 smoothie 或 bCNC 相关吗?只是想知道当修复程序可用时我需要升级哪个组件。如果您需要,我当然可以提供测试。

冰沙软件支持 #143
贡献者

您需要最新的 edge smoothie,并grbl_mode true #在配置中添加一个。

流式传输问题在 bCNC 中,AFAIK 尚未修复。

冰沙软件支持 #143
所有者

@vinz1080grbl 与 smoothie 对流式命令的回复方式存在一些不一致。所以你可以慢跑和发送作业,但最终 bCNC 仍然处于停滞状态。我会在接下来的几天尝试修复它。我现在在梅林:)

冰沙软件支持 #143

@vlachoudis谢谢你。希望您能找到解决此问题的方法。

冰沙软件支持 #143
贡献者

前几天我对此进行了测试,并且能够空运行一个相对较大的 CNC 作业,所以我认为它主要已经与当前的主人一起工作了。
有一些小问题,但在大多数情况下似乎不起作用。

冰沙软件支持 #143
贡献者

大家好。
只需要注意一句话:我也支持冰沙。
我还希望看到一个扩展系统,允许某人为新板创建新的 gcode 发送器,即使不是基于串行的。这里我们有一个“2D 热线切割机 CNC”(PWM 友好)http://www.cncfilchaud.fr/full-presentation/,被视为 HID 设备,说“IPL5X”。http://5xproject.dyndns.org/5XProject/tiki-download_file.php?fileId=389
我不想打扰你,但我想要一个开始指南,在 wiki 上。我认为每个人都应该尝试 fork bcnc 并让它与他们的机器对话:到处都有大量的 CNC 板等待重新启动 :)

冰沙软件支持 #143
所有者

bCNC 是作为 grbl 发送器创建的,因此代码中有很多 grbl 特定部分。为了让它与各种控制器对话,最好先组织代码。实际上,我曾尝试将发件人与 gui 分开,但我从未真正完成这项工作。

冰沙软件支持 #143
贡献者

我一直在将它与冰沙一起使用,并且在大多数情况下效果很好。

我遇到的一个问题是,当您暂停时,它会看到它处于 HOLD 状态,但再次单击暂停不会取消暂停。我可以用第二个 usb 串口连接到 smoothie 并手动输入 ~ 然后它继续。因此,出于某种原因,当您单击取消暂停时,BCNC 不会将 ~ 发送到 smoothie。

顺便说一句,smoothie 目前无法立即安全地暂停,因此实际暂停可能需要很长时间,因为它需要清除缓冲区,我计划尽快修复此问题。

冰沙软件支持 #143
所有者

我相信这与 ‘?’ 类似。冰沙的问题。出于某种原因,一段时间后它需要一个“新行”来接受“?”。很可能同样的情况发生在第二个“~”上,smoothie 等待一个永远不会出现的新行。

冰沙软件支持 #143

你好,

bCNC 结合 smoothie 是否已经支持自调匀整?

我将 bCNC 与 GRBL(铣削 PCB)和 Smoothie(激光切割机)一起使用,但还没有尝试用 smoothie 铣削 pcb。

乌力

冰沙软件支持 #143
贡献者

我认为它应该可以工作,但是 smoothie 有一个内置的网格调平系统,它被称为 delta grid,应该适用于 PCB 铣削和 deltas。

冰沙软件支持 #143

行。谢谢,我这周末去试试,如果有效的话会报告。

乌力

冰沙软件支持 #143
贡献者
狼人 评论了 2016 年 6 月 2 日  

pause 问题与 multiple 无关?问题,我实际上似乎已经解决了(我认为)这是一个输出问题而不是输入问题。
现在点击暂停会暂停发送,但状态不会变为保留状态,因此再次点击暂停不会清除它。它基本上被锁定了。Smoothie 处于 Hold 模式,但可以通过发送 ? 在另一个通信端口上。

?<Hold,MPos:-0.1250,-0.1250,-0.1200,WPos:-0.1250,-0.1250,-0.1200>

我可以通过在另一个串行端口上发送 ~ 来清除它。然而此时 bCNC 被锁定,唯一的解决办法是中止。

冰沙软件支持 #143

我想用我的 SmoothieBoard 试试 bCNC。最新的稳定版本(两个月前)可以工作还是我需要 edge?此外,最新的 Smoothie 支持需要哪个 bCNC 版本。

感谢您将出色的 bCNC 引入 Smoothie。

冰沙软件支持 #143

无法弄清楚如何编辑我与移动 Git 网站的宝贵连接。

为了澄清,我问的是与 bCNC 一起使用的 Smoothie 固件版本。

冰沙软件支持 #143
贡献者

我希望我知道在 bCNC 中将这个可怜的 M0 实现放在哪里,以便让 Smoothieware 清除其缓冲区(并遵守 M0 命令)。否则,如果没有自动换刀器,它几乎毫无用处,而且漂亮的换刀宏会严重失败。

我尝试了不同的地方但没有运气,

  if app.controller == Utils.SMOOTHIE and line[0] == "M" and line[1] == "0":
    # Smoothie ignores feed holds, we need to pause buffering further gcodes ourselves
    tkMessageBox.showinfo(_("Pause (M0)"),_("Press OK to resume. Last comment is %s"%(CNC.comment)),parent=app.self)

最好的地方之一是def compileLine(line, space=False)在 CNC.py 中,但我没能在这个静态方法中找到合适的对象实例来引用(抱歉,我是 python 的菜鸟)。

请注意,注释可能有助于告知要设置哪个工具(在工具更改的情况下)。这只是初步测试。

冰沙软件支持 #143
所有者

我不认为 compileLine 是正确的地方,它是在向控制器发送任何东西之前执行的。
现在完成的方式有点复杂,因为所有的监控都是在一个单独的线程中执行的,并且 tkinter 在几个 linux 中不是多线程的,控制线程与主进程进行消息通信。
如果可以修改现有的 CNC.py: def toolChange() 并使用已经存在的功能以某种方式将功能嵌入其中,我会更愿意。

冰沙软件支持 #143
贡献者

我很难意识到这一点,最后我无法在 bCNC 中以可观的方式实现 M0。所以我怯懦地离开了 Smoothieware,转而使用 Nano 上的 GRBL 1.1。我可以再试一次,因为我把我的 SW 板留在了步进驱动器外壳内,但我不确定我是否想回到它……
Nb:我在这里列出了我的 SW 作为 CNC 控制器的问题,以防你感兴趣http ://www.tridimake.com/2017/05/replacing-linuxcnc-with-smoothie-milling.html

冰沙软件支持 #143
贡献者

@MoonCactus我不得不说,你在帖子中提出的至少两个投诉是完全错误的。

  1. G0 进给率使用指定的最后一个 G0 进给率而不是最后一个 G1,这是完全错误的。G1 和 G0 有自己的进给率。也许您从未设置过 G0 进给率?在这种情况下,可以在配置中将其设置为默认设置,并将其设置为快速,并且您具有不受 G1 影响的快速 G0 进给率。这可能是 bCNC 的一个问题,它可能使用 G0 进行慢跑,在这种情况下不要责怪 smoothie。

  2. 警报在冰沙中不粘,用 $X 可以很好地清除,问题又是 bCNC 中的一个错误,我有一个未解决的问题。由于某些原因,bCNC 不会通过发送 $X 来清除 Smoothie 的警报状态。
    问题Stop 在 Smoothie 模式下无法解锁 #558

冰沙软件支持 #143
贡献者
月亮仙人掌 评论了 2017 年 5 月 9 日  

你好@wolfmanjm

  1. 如果我理解得很好,当没有为 G0 明确设置时,您是在借用最后一个 G1 进给率,对吗?

1a) 但为什么不默认将 G0 设置为最大机器速度(而不是http://smoothieware.org/g0中所述的搜索速度)?这将更有意义(“快速”移动)并且会提高整体兼容性,并且可能会根据轴尊重不同的最大速度。

1b) 不,我不是在谈论 bCNC 中的慢跑,而是真正的 G0 gcode 命令(检查,例如,我是如何“修复”探测程序#576 / ef0086a以让 Smoothieware 停止用最新的 G1 覆盖 G0 未指定的进给率)

  1. 是的,我已经说过粘性警报可能是由于 bCNC 引起的。但是像 GRBL 这样的其他固件没有这样的问题,所以至少它们不能很好地配合,并且在 bCNC 中一些错误是由 Smoothieware 的特殊内容触发的。由于从 bCNC 中的命令行发送手动重置命令失败,因此看起来链接已断开。
冰沙软件支持 #143
贡献者

现在说实话,我想我记得在 bCNC 中看到过类似切换到“覆盖进给率”的东西,还有一条评论说它是为了调试(我当然不会自愿激活它!)。@vlachoudis当在 G0 移动上没有指定进给率时,bCNC 肯定更了解 bCNC 的行为,如果它可以命令发送到日志后完成(那将是非常不安全的!)

冰沙软件支持 #143
所有者

bCNC 中没有设置 G0 进给率的任何设置。
我假设如果从命令行 G0 F### 发送,它将发送冰沙的快速进给率。

冰沙软件支持 #143
贡献者

@MoonCactus永远不会从 G1 中获取任何 G0 进给率。G0 有自己的进给率,并且只采用 G0 命令指定的进给率。如果从未为 G0 指定 Fxxx,则它使用配置中的默认搜索进给率。所以只需将其设置为您的最大速度。
如果 bCNC 从不发出带有 Fxxx 的 G0,那么它不会设置 G0 速度。

冰沙软件支持 #143

作为记录,@wolfmanjm我建立了一个单独的问题线程,该线程G0不应具有可编程的进给率。这是 Smoothie 独特的做法(可能还有其他一些业余爱好者的 CNC 固件),并且可以追溯到对该规则含糊不清的 NIST 标准。可以理解为允许。

也就是说,LinuxCNC、Grbl 和其他主要的 CNC 控制器不允许使用Fword 来编程G0rapids,只能使用它来编程G1/2/3/38.x和其他正常的进给率。G0急流是在设置中建立的,并且总是以最大速度移动,主要是为了减少工作时间,除非通过覆盖缩小。有时可以通过 g 代码对覆盖进行编程,具体取决于控制器,但不能使用这个F词。

AFAIK,这样做是为了减少操作员错误和崩溃,因为在 a或F的上下文方面不会弄错。G0G1/2/3/38.x

冰沙软件支持 #143
贡献者
月亮仙人掌 评论了 2017 年 5 月 10 日  

鉴于什么@vlachoudis&@wolfmanjm比如说,bCNC 中的 G0 应该始终以相同的(默认)进给率运行吗?但是为什么我必须在 bCNC 调平程序中的 G0 之前设置一个裸露的“F”(顺便说一句,它也可以在线工作,但这不太便携 AFAIK)。无论如何,G0 被重新设置为探测进给率。我的修复可能在错误的地方。

Note: If I understand well, the “feed” field in the control tab reflect the last F feed rate (or inline G1 F). I am fine with it, except that

喜欢 (0)