注释
已经做了。它在 v0.8b 测试版下载中。:) 编辑:重新查看您在拉取请求中的内容。错过了您希望保持步进器处于启用状态的事实。因此,我将对 settings.stepper_idle_lock_time 的最大值(255)进行值检查。如果是这个值,它不会禁用步进器。否则,如果值为 0,它将执行短锁定或不锁定。应该在下一次推送中(可能在几天内。使用其他设置计算一些细节)。 |
可配置的品牌。似乎 grbl 正在那里找到更多和矿石应用程序,但需要针对每个应用程序进行调整。也许这在机器控制中必须预料到。我们是否达到了 CMake 层有意义的地步?在我自己的分支中,从上游合并已经变得乏味,即使我没有做很多事情。也许 CMake 不是正确的答案,但恕我直言,一些关于可定制性没有碎片的想法是值得的。 |
如果通过可配置使您的意思是在为我的机器编译时包含特定于机器的代码,那么使用#defines 可以更容易地完成(并且对于由 config.h 控制的各种事情已经完成的方式)。 |
机器特定的代码和对不同硬件的更多支持一直是一个常见的功能要求,但不幸的是,由于 Grbl 正在开发中,每次代码更新时不必支持多个平台要容易得多。将来,很可能当我们达到 v1.0 时,我们将认真开始考虑为常用硬件创建多个构建。我们使用 Arduino 是因为它无处不在且便宜,尽管它缺乏速度和内存。我不得不说它在代码效率和内存管理方面是一个很好的练习,但我敢打赌,这项工作将证明非常方便,并且让 Grbl 无需太多努力就可以高度扩展。 |
无头 SD 卡功能即将推出? |
刀具长度补偿并支持自动刀具归零。 |
现在归位效果很好,我认为软限制是一个很好的补充。 我当时正在考虑使用我的 CNC 来制作电子电路板,我认为 CAM 程序会输出 G81 钻孔循环来为通孔组件钻孔 – 这对其他人来说也是一件好事? +1 刀具长度补偿并支持自动刀具归零。 |
Z 轴的独立进给率也非常好!特别是对于 ShapeOko 所有者。由于 Z 轴,我的速度限制在 500 毫米/分钟,但 X 和 Y 最高可以达到 5000 毫米/分钟。 |
感谢您的输入。几乎所有事情都在待办事项清单上。首先是每个轴的独立进给率和加速度,然后是进给率倍率,然后是刀具偏置。这个顺序部分是自私的,但主要是重要性顺序。:) 但是,钻孔周期没有计划。主要原因是这样的固定循环可以很容易地通过 CAM 工具转换为直接的 g 代码。稍后,我们将把 Will Winder 的 g-code 发送器引入 Grbl 组织,并开始正式支持它。如果需要,我们可以将任何固定循环直接放入该界面。 |
(友情提示)如果你这样做[在流脚本中实现固定循环,让后者将前者展开为 Grbl 本身可以处理的 G 代码原语],那么人们会觉得你没有理由不实现所有这些方式(您可能已经知道,G81 并不是唯一的固定循环)。 我个人支持任何使 Grbl 覆盖尽可能广泛的 G 代码方言的技术解决方案 |
添加钻孔固定循环不会很难做到。这是它可能占用的宝贵闪存空间。就个人而言,我不介意有一个啄钻固定循环,但 Grbl 的最初愿景是没有任何会使事情变得过于复杂的东西。在这一点上,我们可能超出了这一点。拥有一个更强大的控制器似乎更重要。 如果我们有足够的空间,我会投票支持在 328p 版本的 Grbl 上添加一些钻孔固定循环。否则,它将不得不等到我们转向更大更好的芯片。644、128 或 ARM。我认为644就足够了。 |
+1 拥有更强大的控制器似乎更重要。 我认为功能更完整与过于复杂相反。我在 Shapeoko 论坛上看到一位用户认为他做错了什么,因为 G81 声明不起作用。我认为如果它奏效了,对他来说会更容易……所以更少的并发症:-) 还是您谈论的是代码库而不是用户体验? 关于更大更好的芯片,我想知道是否继续使用 AVR 和 Arduino,Mega 是否会成为下一个更大的“东西”——现在有人在使用带有 Grbl 的 Mega 吗? 看起来价格也没有太大不同: 我猜想并希望我可以把我的 grblShield 贴在 Mega 的顶部——我确实读过引脚具有相同的布局……但我不知道这是否可行?我曾经订购过 Seeeduino Mega,但我从未使用过它——我可能需要做一些测试吗? |
我的意思是代码库是的。但是,我们在组织一切方面做得很好,所以它只会让事情变得更大而不是更复杂。Grbl 最初应该是多个应用程序的 3 轴基础,但似乎一切都开始变得专业化(reprap)或进入步进库。因此,似乎不再需要该基础。 太大的一个问题是,当您使用 atmega 芯片组时,您不会获得 CPU 周期。主要是内存、闪存和引脚。大多数维修人员在他们的系统中使用 644 芯片,因为芯片成本很低,而且他们发现它有足够的空间、内存和引脚来满足他们的需要。我同意,但是没有太多的板有这个芯片。因此,128 芯片可能也是一个合乎逻辑的选择(Teensy,Seeduino Mega)。我认为 2560 Arduino Megas 对于 CNC 应用程序来说有点过头了。 对于您的 grblshield,您可能需要一个用于 Seeeduino 的适配器屏蔽,以确保引脚处于我们指定的任何分配中。它很可能会改变。 |
阅读所有提交日志看起来 0.9 接近功能完成。将一些开发合并到边缘并从边缘冻结开始并且只在 0.9 发布之前修复错误的计划是什么? |
我们还有一些工作要做。关于 dev 分支,@jgeisler0303我一直在离线讨论计划器的状态以及如何让它与进给率覆盖一起工作,并有办法保护块在某些极端情况下不被覆盖(在覆盖时更常见)。这真的很棘手而且进展缓慢,但我们正在取得进展。 还有一些其他的事情需要做,例如:
可能还有更多,但我现在不记得了。 随着我们的进行,边缘分支可能会获得越来越多的“beta 级”功能。开发分支基本上是一个审查和公开破解一些新东西并让其他人参与推动开发的地方。 |
您好,我最近一直很感兴趣地关注 GRBL。在这个讨论中,有时会提到一个单独的 GUI。您可能已经知道这一点,但我建议您查看 Zapmaker 的 GRBL Controller。 http://zapmaker.org/projects/grbl-controller-3-0/ 从外观上看,它的开发非常活跃,并且在 IMO 方面有很多承诺。 问候,彼得 |
@peter76: 看起来很不错。感谢分享!当我有机会时,我一定会试一试。 |
我在未来的思考部分注意到,某种反向间隙补偿是一个考虑因素,但由于它在不同情况下的工作原理而变得复杂。 我问是因为我一直在构建一个 diy cnc 设置,并且它目前在 xaxis 中具有显着但可重复的反弹。如果我可以在基本情况下消除/减少它,它将更容易使用机器来加工具有更精细公差的更好零件以减少间隙。 另外 – 感谢 GRBL,我发现它真的很容易使用,我对结果非常满意。以上只是一个愿望清单项目,可以让我自己的构建更容易一些。 |
@danielwould: 安装一个非常基本的反冲补偿并不难。我已经在它应该安装的一般区域为它准备了一个占位符。尽管可能需要做一些工作才能确保正确设置方向。 主要问题是间隙补偿几乎总是会使机器在必须这样做时减速到停止。这是因为每当发生反向间隙补偿时,机器都必须对其行进方向进行近乎垂直的移动。这可能会导致这些位置出现一些不必要的驻留,这对 CNC 割炬台或 3D 打印机之类的东西可能是不利的。有很多方法可以解决这个问题,比如将移动插值低于某个容差,但这是小 Arduino 无法解决的问题,至少在闪存空间方面是这样。 虽然,即使是反冲补偿设置所需的闪存空间也可能成为交易杀手。我们正在努力推动太空天花板,所以它可能是最后安装的东西之一。如果没有,我们可能会按照编译时选项的方式做一些事情,您可以选择安装它,同时选择退出另一个功能以换取闪存空间。 |
@chamnit有趣的是,我实际上喜欢编译选项的想法,甚至只是为了我的 cnc 路由器的目的而专门针对“入门”的一次性独立版本我真的只是想剪掉一些反间隙部分。主要问题是我手工制作的组件缺乏足够的精度。我很确定,通过非常基本的间隙补偿,我可以磨出足够好的零件来升级机器,然后使软件补偿的需求无效。至少就我的目的而言,如果我的反弹低于 1 毫米,我会非常高兴 从字面上看,如果我可以告诉 grbl 每次在 x 轴上改变方向时补偿 2mm,我相信它会给我足够的精度来铣出几个特定的部分(许多不同深度的直线),然后减少问题到可接受的水平。 你提到它有一个占位符,那在哪里?我正在考虑看一下 hte 代码,看看我是否可以破解一些足以解决我当前需求的东西…… |
@danielwould:它位于 mc_line() 函数内的 motion_control.c 文件中。关于反冲补偿以及它应该如何在那里工作有一个相当大的评论。我可能会选择硬编码您需要的所有内容,而不是处理添加新设置并确保一切在系统内正常工作。 至于如何做到这一点,我首先要跟踪每个轴的最后行进方向,这意味着您可能需要一些持久变量。如果您检测到方向发生变化,您将插入反向间隙补偿线移动。(所有移动都以 mm 和机器坐标为单位。)您需要确保在执行反冲线时还复制并执行该 do-while 循环和 plan_buffer_line()。后冲线完成后,它应该通过第二个 do-while 循环和 plan_buff_line() 来执行目标运动,但不要忘记向该目标添加任何后冲距离。 您可能需要注意的主要问题是,改变目标位置的间隙距离会使 Grbl 的内部定位系统认为它不应该出现在某个地方(即规划器、g 代码和系统位置变量不存在)同步时间更长。)但是,如果您小心并且一次只运行一个程序并在其间重置,这应该没问题。 |
我身边有几个愿望。
|
@cnc4fun: 感谢输入!以下是对您的评论的一些回应。
|
很抱歉碰到一个旧线程,但如果您想帮助开发 Arduino Due,请告诉我。 |
@EliteEng: 感谢提供帮助。在过去的几个月里,我被淹没了,但现在我带着一大堆待办事项清单又回来了。我目前正在研究我在另一个线程中提到的进给率覆盖和规划器优化。这些需要重大的结构代码更改,因此开始尝试转换当前代码库不会太有用。然而,还有很多其他的东西需要添加,比如 PWM 主轴、适当的慢跑、稍微修改归位程序等等。 |
顺便说一句,我会注意到,如果 GRBL 旨在成为类似于 Mach3 或 LinuxCNC 的 Gcode 处理器替代/解决方案,则需要为反弹提供规定。举个例子,我正在研究一个 RongFu RF-40 转换,它有大约 0.160″ 的反向间隙,这是不可调节的。我还没有找到任何可以输出带有反向间隙补偿的 gcode 的软件,因为所有 CAM 程序都假设gcode 处理器处理它。最后,似乎没有程序可用于发布处理 gcode 并添加反冲。我很难在这里做什么。看起来我要么 a) 将更多的 $$ 投入到控制器中它可以与 linuxCNC/Mach3 一起使用,编写一个插件来处理使用 pycam 之类的反冲,编写一个独立的 gcode 处理器,或者在最坏的情况下手动编辑文件。无论如何,如果我能得到一两个关于在哪里介绍在 GRBL 中处理它的代码的指针,我愿意编写代码。它不应该太难(著名的遗言……)。 |
@austinblanco: 哇。0.160″ 的反弹是令人惊讶的,而且很多。如果你想在更好的控制器上花费更多的美元,我会考虑用它来修复反弹。你必须对你的机器做一些事情来降低这种情况到千分之几英寸。 另外,请记住 Grbl 不是 v1.0,这意味着可能会在这里和那里缺少一些东西,例如反冲补偿。但是,就此而言,询问一些 GUI 开发人员(如 UGS)是否可以将反冲补偿添加到他们的流媒体并实时更新它们并没有什么坏处。 |
只是想跟进这件事。我在 X 轴和 Y 轴上都工作过,并且间隙低于 0.020″。仍在尝试在凸轮生成 prog 和 grbl 之间找到解决方案 – 有一个名为“nolash”的解决方案似乎是我正在寻找的因为 – 还没有开始工作。无论如何 – 除了这个打嗝 – grbl 太棒了! |
我希望看到对 z 轴触摸板的支持。是否正在考虑将其用于将来的版本? |
我注意到您没有使用 GitHub 的发布功能。这很容易使用,我认为这将是有益的。现在 GitHub 上有什么版本?我想获得 v0.8c 并将其加载到我的 Arduino IDE 中。 |
@Scott216:通过 G38.2 进行探测已安装在开发分支上,并且已用于在 Nomad883 GUI (kickstarter)中通过触摸板设置刀具长度偏移。我敢肯定,当源代码固化后,其他 GUI 也会这样做。开发分支通常工作正常,节省了几个小错误。在我完成测试后,它将进行一次巨大的 g 代码解析器大修。我们不会很快直接支持刀具长度偏移,因为它需要大量的支持代码和更多的 EEPROM 存储来保留所有这些信息。无论如何,这更适合 GUI。 不确定 Github 的发布功能是什么,但 Github 似乎总是在引入我不知道的新事物。主/稳定版本是 v0.8c。单击主页底部附近的链接。如果您选择使用开发分支 v0.9d,则必须自己从源代码构建。 |
感谢您提供有关探测的信息。关于版本,如果您查看页面顶部附近的 GRBL 描述下的主页,您会看到“0 个版本”链接。单击它,您可以拍摄当前提交的快照并创建一个版本。您可以将其命名为 v0.8c。 |
如果我在我的 uno 上安装 dev 分支,我将如何使用带有触摸板的探测功能? |
尚尼特 评论 on 13 Oct 2012
该线程将用作提供有关开发路径的更新以及用户可以添加到愿望清单的地方。请随时为这次对话做出贡献,这样我们就可以很好地了解我们的优先事项应该是什么。
当前边缘分支的发展路径(v0.8):
v0.9 的愿望清单: