开源改变世界

功能 – 配置主轴延迟 #505

推推 grbl 6小时前 4次浏览
@gcormier

描述

在我的shapeoko上,主轴需要更长的时间才能旋转起来——目前我有自己的自定义后处理来插入延迟。

如果主轴延迟能够作为我们可以在配置中设置的参数就好了。

活动

杰里米

J-eremy 评论道 于2024年4月25日

程序启动时发生的事情实际上由后处理器负责,具体取决于您如何使用它。程序(gcode)启动后唯一需要干预的事情是诸如换刀之类的操作,因为 GRBL 本身不具备换刀功能,因此必须在发送方进行拦截和处理,这也是几乎所有人都转向 GRBL HAL 的原因之一。

G4 P3(3秒暂停)对于Carbide3d销售的主轴来说应该足够了,因为他们根本没有在变频器里调整启动速度,除了让你无法自行调整之外,他们没有做任何其他调整,而且他们的调整是针对那些使用非15-20安培专用断路器的用户。他们销售的120伏主轴和变频器(算了吧)反正都是安培女王。

我不会深入探讨那些批量购买20美元的硬质合金主轴和变频器的问题,以及它们对你家里所有东西产生的噪音,而这些东西的价格几乎要一千美元,但你已经用对了方法。我目前在我的5 Pro上使用220伏水冷2.2千瓦主轴,它大约1秒就能加速到全速,而且根本不需要太多的电流消耗,我用的是G4 P1。

哈曼詹姆

hamanjam 评论道 于2024年4月25日

PwnCNC 把他们的 VFD 调到了 5 秒的启动时间,所​​以我不得不调整。我同意有些东西是后处理器的一部分,但我有一些一年前创建的项目,经常为别人重新运行。那些旧项目是在我用牧田的时候做的,所以不需要延迟。现在我升级了系统,我要么记住编辑每个 gcode 文件来添加延迟,要么允许 gSender 添加延迟,因为我已经更新了 gSender 使其能够与主轴配合使用。后处理器不一定会在意你在合理范围内运行的机器设置,但主轴延迟最好由控制器来控制。

今年早些时候,我曾与团队合作,如果延迟功能尚未存在,可以添加,这样可以更灵活地添加延迟。我同意,对于需要更长延迟的用户来说,用户可配置的延迟才是最佳选择。

格科米尔

gcormier 评论道 于2024年4月25日

作者

@J-eremy 虽然我并不反对后处理器,但 gSender 中已经存在主轴延迟。

至于 Carbide3D 主轴,我同意,但发现了这个 – https://www.reddit.com/r/hobbycnc/comments/16r6jpu/the_pin_for_the_carbide3d_spindle_kit_vfd_is_3630/

所以这个密码被某人找到了。

杰里米

J-eremy 评论道 于2024年4月26日

PwnCNC 把他们的 VFD 调到了 5 秒的启动时间,所​​以我不得不调整。我同意有些东西是后处理器的一部分,但我有一些一年前创建的项目,经常为别人重新运行。那些旧项目是在我用牧田的时候做的,所以不需要延迟。现在我升级了系统,我要么记住编辑每个 gcode 文件来添加延迟,要么允许 gSender 添加延迟,因为我已经更新了 gSender 使其能够与主轴配合使用。后处理器不一定会在意你在合理范围内运行的机器设置,但主轴延迟最好由控制器来控制。

今年早些时候,我曾与团队合作,如果延迟功能尚未存在,可以添加,这样可以更灵活地添加延迟。我同意,对于需要更长延迟的用户来说,用户可配置的延迟才是最佳选择。

@hamanjam在我看来,后处理器完全依赖于机器,而不是制造商。它的唯一目的是根据特定机器的硬件和配置参数编译 gcode。当发送器(在本例中为 Gsender)开始在生成的 gcode 之上添加复杂层时,就会出现问题,因为这可能会产生无法预料的后果。GSender 严格来说是一个 gcode发送器,它将 gcode 发送控制器,它本身并不是控制器。它仅仅是控制器串行连接和用户界面之间的解释层。例如,假设我有一些自定义 gcode,用于在特定点延迟主轴,GSender 应该如何解释这些代码?

PWNCnc 是一家很棒的公司,但他们还将主轴调整 5 秒,作为一种安全功能,为那些不知道启动时安培浪涌的人提供安全保障,他们不希望人们烧断断路器,或发生更糟的情况。

这就是为什么我认为 GSender 应该坚持发送 gcode,并且尽可能不要进行骚扰代码的做法。

绝对应该为每台机器配备一个自定义后处理器,我的 Shapeoko 绝对不会像与我的一样与您的后处理器配合得那么好,因为它完全依赖于机器,而且应该如此。

@J-eremy虽然我并不反对后处理器,但 gSender 中已经存在主轴延迟。

至于 Carbide3D 主轴,我同意,但发现了这个 – https://www.reddit.com/r/hobbycnc/comments/16r6jpu/the_pin_for_the_carbide3d_spindle_kit_vfd_is_3630/

所以这个密码被某人找到了。

@gcormier这真是个好消息!因为现在除了Carbide那块做工粗糙的适配板和它那半成品的噪声滤波器之外,其他信号也能接收了,而那正是整个系统的弱点。再加上它还能微调加速度曲线,你得到的套件虽然价值不菲,但绝对物超所值。即使它仍然是个骗局。嗯,直到他们修改代码为止。

哈曼詹姆

hamanjam 评论道 于2024年4月26日

我添加了一个特定的用例,其中 gSender 具有延迟很有用,因为对我来说唯一改变的是升级到主轴,但其他一切都保持不变,所以为什么我需要重新处理数百个完美的作业,而我需要做的就是包括延迟。gSender 所做的远不止是一个向机器发送 gcode 的愚蠢接口。

回复里满满的都是“在我看来”和“我相信”,但这些都完全不相关。需要解决的请求很简单:如果 gSender 可以添加延迟,那么应该由用户自行配置。

杰里米

J-eremy 评论道 于2024年4月26日

我添加了一个特定的用例,其中 gSender 具有延迟很有用,因为对我来说唯一改变的是升级到主轴,但其他一切都保持不变,所以为什么我需要重新处理数百个完美的作业,而我需要做的就是包括延迟。gSender 所做的远不止是一个向机器发送 gcode 的愚蠢接口。

回复里满满的都是“在我看来”和“我相信”,但这些都完全不相关。需要解决的请求很简单:如果 gSender 可以添加延迟,那么应该由用户自行配置。

@hamanjam你知道为什么有很多“在我看来”和“我信”之类的说法吗?因为这是业余爱好的领域,你想做什么都可以。业余爱好领域又不是非要遵循行业标准,不然他们现在也不会用Arduino了。

我明白您希望事情以某种方式进行,并且对于您希望事情如何运行有自己的观点和信念,我只是说这是我的观点,而不是法律或标准。

Gsender 是一款非常棒的软件,可能是我见过的最适合业余 CNC 操作的软件,但请不要混淆它的含义。CNC 控制器是一个 Arduino,而 Gsender 实际上是一个 Gcode 发送器,因此得名。它通过串口或 USB 转串口适配器逐行向控制器提供 Gcode。除了可视化和预估时间等功能外,它不会,也不应该“处理”任何 Gcode。
它还提供了几个慢跑按钮,并添加了其他功能,例如换刀拦截,因为控制器上的 GRBL 本身由于缺乏新功能的编程内存而不支持此功能。这也是为什么 GRBL 本身大约十年没有更新的原因,也是为什么人们正在转向运行在内存更大的新型 32 位主板上的 GRBL HAL。

相信我,我非常了解 GSender 是什么,以及它扮演的角色,如果你不了解的话,抱歉。GSender 和运动控制硬件根本无法相提并论,GRBL 也是如此。而且它的设计初衷也不是那样。

您所要求的是让它拦截更多的代码,不仅如此,还要拦截控制器上已经支持的代码,并在将其推送到控制器之前动态地修改它,这不仅可能而且将会对某些人的 gcode 产生意想不到的后果。

最后,关于您提到的“可能数百个完美作业”的重新处理。这应该在从修边机切换到主轴后进行,因为进给和速度会有很大不同。

所以是的,在我看来,我相信 GSender 需要坚持其擅长的领域,发送 gcode,而不是深入过于复杂的 gcode 修改领域。

祝你有美好的一天。

哈曼詹姆

hamanjam 评论道 于2024年4月26日

再次强调,此请求的目的是将现有的功能更新为用户可配置的值,而不是要求创建一个全新的解析器。我非常熟悉延迟流程及其背后的原因,因为如果你回顾一下问题,就会发现我在添加该问题时也处理过同样的问题。gSender 的渲染流程延迟时间更长,这表明需要对添加的延迟进行标准化。

除此之外,无论是修边机还是主轴,1/8英寸的钻头仍然是1/8英寸的钻头。与1/4英寸或各种V型钻头一样,如果配置正确,钻头比铣刀更能决定速度。我没有换主轴,因为速度比钻头能承受的要快。

您必须在非常基础的层面上使用 gSender,因为它的功能远不止一个后台处理程序。诸如进给/速度覆盖、工作区和宏、换刀解释等功能都可以改变 gcode 的后台处理方式。现在我有了新的 grblHAL,可以控制的东西就更多了。

杰里米

J-eremy 评论道 于2024年4月26日

再次强调,此请求的目的是将现有的功能更新为用户可配置的值,而不是要求创建一个全新的解析器。我非常熟悉延迟流程及其背后的原因,因为如果你回顾一下问题,就会发现我在添加该问题时也处理过同样的问题。gSender 的渲染流程延迟时间更长,这表明需要对添加的延迟进行标准化。

除此之外,无论是修边机还是主轴,1/8英寸的钻头仍然是1/8英寸的钻头。与1/4英寸或各种V型钻头一样,如果配置正确,钻头比铣刀更能决定速度。我没有换主轴,因为速度比钻头能承受的要快。

您必须在非常基础的层面上使用 gSender,因为它的功能远不止一个后台处理程序。诸如进给/速度覆盖、工作区和宏、换刀解释等功能都可以改变 gcode 的后台处理方式。现在我有了新的 grblHAL,可以控制的东西就更多了。

好的,我明白你为什么会感到困惑。GSender
曲面处理过程会从头生成用于曲面处理操作的 G 代码,包括宽度、高度、图案、进给和速度,如果你指的是这些,那么我明白你为什么感到困惑。在生成时设置延迟是另一回事,它使用自己通用的“后处理器(G 代码生成器)”。

主轴/钻头与速度无关,而与切屑承载能力有关。如果您只使用 1/8 英寸钻头,那么主轴可能一开始就有点过头了。由于诸多因素,例如颤动,大多数业余机床几乎不可能达到钻头制造商规定的切屑承载能力。

不知道您觉得基础水平如何,但我目前在两台 CNC 机上使用 gsender,大约 4 个工作区,还配备了主轴、集尘器和自定义宏,用于我的触控板和排钻,排钻的钻头尺寸从 1/16 一直到 1/2(推入式),主轴功率为 2.2 千瓦,220 伏。我的激光切割机也用它。CAD 系统从 Vectric Aspire 到 Fusion 360。如果您觉得这算基础水平的话。

您提到的许多功能都是基线 GRBL,除了发送命令之外与 UI 几乎没有关系。

实时进给/速度修改器由 GRBL 控制器控制,通过发送一组扩展 ASCII 字符来告诉控制器加速/减速,这也是该功能的全部功能。

G54-G59 工作区全部由 GRBL 控制器上的 eeprom 控制和保存,GSender 除了发送 G54-G59 来选择该工作区,然后发送另一个短字符串来保存偏移量之外,几乎无需执行其他操作。

GSender 不进行任何换刀解释,偏移量由 G43.1 测量。就像我说的,我编写了一些自定义宏来执行此操作。它的作用是将当前偏移量保存在一个变量中,然后根据差值加上或减去新的测量值,最后保存该 z 轴偏移量。

这些宏很棒,但相当标准。如果后端 API 能提供一些文档就更好了。但它的核心是 CNC.js 的一个分支,文档也不多。如果有文档的话,我早就自己写一个配套界面来改进工作流程了。

GSender 的优势在于它拥有超级简洁、美观的界面,几乎适用于任何 GRBL 控制器。我还没试过用 GRBL HAL 来控制它,所以除了键盘控制之外,我不知道它还能控制其他什么东西。不过我发现它兼容我的一些 3D 打印机主板,所以如果有机会的话,我可能会在一些小项目中试用一下。不过它的运作原理仍然是一样的。
图像

祝你好运,实现该功能,我只是给出了我的 .02,这就是整个公共论坛的目的。

我想我们现在都清楚彼此的意见了,这件事可以结束了。

克格洛文

kglovern 评论道 于2024年7月16日

成员

一般来说,我们希望除了拆分行和删除注释之外,尽量少编辑文件。我们基本同意这个问题(主轴加速)应该由后处理器来处理。

话虽如此,我们确实需要修改一些代码来实现此功能。因此,从 1.4.8 版本开始,您可以自定义延迟时间(以秒为单位),而不仅仅是切换到 1 秒的延迟。

我们将持续关注该功能,并可能最终在将来将其删除,因为我们希望尽可能少地更改原始文件。

喜欢 (0)