开源改变世界

附加功能? #37

推推 grbl 2年前 (2023-01-21) 207次浏览

关闭
chamnit 打开了这个问题 2011 年 7 月 30 日 · 5 条评论
关闭

附加功能?#37

chamnit 打开了这个问题 2011 年 7 月 30 日 · 5 条评论

注释

附加功能? #37
成员

感谢百万人在您的空闲时间创建和维护 grbl。这是一些写得非常棒的代码。

我想知道您是否会在不久的将来添加任何新功能并提出一些功能请求。

我有幸在一个研究实验室工作,那里有一家拥有优秀机械师的专业机械车间。我问过首席机械师,他对我们 5 轴 Haas 的基本界面有什么期望,或者他经常使用什么。这是 grbl 似乎没有直接显示的关键项目列表,所有这些都与在机器上验证 g 代码有关。

  • 将所有进给率调整为 5%、25%、50% 或 100%。或者慢动作模式。通过在内部将标量乘以任何进给率命令,以低开销实现相当简单。
  • 单块模式。运行一个 g 代码块,直到收到下一个命令,即使用带开关的 Arduino I/O 引脚。
  • 当前块和当前位置的距离。他表示,这可能是他最常使用的最重要的功能。这主要是为了实时关注工具行进的位置。例如,确保该工具不会撞到虎钳或桌子上而损坏某些东西。我不确定如何轻松有效地将其实现到 grbl 中。grbl 必须要么接收状态查询并传输,这不是最佳的,要么通过带移位寄存器的引脚、完成百分比的模拟引脚电压电平或其他东西,使用某种代码定期广播其状态。

再次感谢,我祝愿挪威的所有人在最近的悲剧中一切顺利。

附加功能? #37
成员

感谢您的客气话!我想让 Grbl 尽可能简单,并且通常会抵制不会使 Grbl 更简单的更改。

在调整进给率时,有一个实验分支,我们在其中添加了一个带有暂停按钮和电位器的实时控制面板。在此版本中,电位器可实时缩放所有进给率。它很有趣也很容易实现,但不是很有用。既然 Grbl 已经获得了前瞻性加速规划器,我认为将其作为实时功能实施可能会非常棘手。我认为此功能最好在客户端软件中作为 G 代码预处理器的一种形式实现。

单块模式:一个好主意,但在 PC 端也能更好地实现

当前块的距离+当前位置是肯定会添加的功能。请参阅问题#16 https://github.com/simen/grbl/issues/16

附加功能? #37
成员作者

同意前两个可以很容易地实现到预处理器中,尽管它们也可以相对简单地集成到 grbl 中。我知道你想让 grbl 尽可能高效和简单,主要是为了防止它变得臃肿混乱。这回答了我的问题,即如果我或其他人要为此做一些工作,你愿意在未来添加什么。

我有一些后续问题:

  • 您是否有将要或计划添加的关键功能列表?以便有人可以拿起它并产生一些解决方案的想法?
  • 您对如何实现当前区块和当前位置的距离有何想法?您是否设想用户使用 grbl arduino 构建外部接口?还是通过串口?或者作为 LCD 插件?考虑到脉冲序列使用了多少 cpu 时间和有限的内存空间,我认为它需要非常简单并且开销非常低。
附加功能? #37
成员

我根本没有向 Grbl 添加激进的新功能,但有些事情正在考虑中:

  • 一个旋转轴
  • PCM 输出与进给率成比例,适用于激光切割机
  • 状态请求和进度反馈

关于当前块的状态和距离,我计划实现一个字符(?),它将吐出当前块、当前位置、完成百分比和完成当前块的估计时间(以秒为单位)。这对人类很有用,但对客户端软件更是如此。就个人而言,我不会添加另一个 arduino,因为我更喜欢纯文本界面,但我希望有人能尽快为 Mac/Windows 实现一个不错的客户端,我认为有几个有前途的项目正在进行中。

附加功能? #37

您是否计划在未来增加反冲补偿?

附加功能? #37
成员作者

在某个时候,但不是在短期内。抵制补偿的方法有很多种,但似乎没有一种正确的方法。它的主要问题来自如何确保进给率保持尽可能高,而不必减速到几乎停止以执行反冲移动。在 grbl 边缘代码中,motion_control.c/mc_line() 中有一个用于反冲移动的占位符注释。如果您立即需要它,您可以尝试在那里安装自己的。在预定的 v0.9 之前还有很多工作要做。

喜欢 (0)