注释
大帖子。大话题。总的来说,我认为这是一个好主意。现在谈谈具体情况。
一些细节
不错的作品。
|
哇,谢谢将是一大步! 建议:现在可以定义机器系统(毫米或英寸) 帕特小工具 |
当你现在这么说的时候’?立即打印 grbl 位置的实时状态报告,我有 0.7D 并且无法重现该命令? |
奥尔登:谢谢,好点。
帕特:可以用英寸来定义一切,但这不是必须的。代码的工作方式是每次移动都不应该累积错误,但整个工作空间体积只会有缩放错误。对于大多数人来说,这种缩放误差会小于他们机器的精度。还, ‘?’ 命令在 grbl 的开发分支 v0.8 edge 中。您可以通过单击主页上的分支下拉按钮来查看源代码,并且可以在下载页面上获得构建。另外,请在另一个“问题”线程上发布与此主题无关的问题和评论。 |
桑尼 – 对您上述评论的评论:
(暂时全部) |
以下是一些可能需要添加到 EEPROM 设置中的其他内容,这些内容来自其他问题帖子。
|
我的想法,没有特别的顺序。 手动设置机器位置。非常方便,特别是如果您使用的是工作空间的一小部分。 尽可能使用变量名而不是位置。只是给你另一层抽象。 慢跑——需要相当多的针脚,但我真的很喜欢四个开关来让慢跑工作。双掷中的每个轴(+/-),第四个是快/慢。 |
现在可以手动设置工作位置。手动设置或归零机器位置 变量可以在外部处理和解释,并且可能不会 慢跑也是一种待办事项。不确定这是否会被固定或如何 2012 年 10 月 4 日晚上 9:42,komradebob notifications@github.com写道: 我的想法,没有特别的顺序。 手动设置机器位置。非常方便,特别是如果您使用 尽可能使用变量名而不是位置。只是给你 慢跑——需要相当多的针脚,但我真的很喜欢四个开关来 — |
我对 CNC/GRBL 还很陌生,但我爱死它了。我也是一个关于编码的新手,并且正在尝试弄清楚是否有任何与运行时命令相关的引脚排列。喜欢 ”!” feedhold 和 “~” 恢复。我正在设置我的 Estop 盒子,并认为这些命令非常有用,并希望将它们作为硬按钮包含在内。我在哪里可以找到这方面的信息? |
没问题,谢谢你的道具! 为了回答您的问题,计划添加用于循环启动/恢复、馈电保持和复位的引脚分配,可能添加到三个模拟引脚。我认为我们现在可以在代码中加入一些东西来做到这一点,但它确实需要一个去抖动的例程来使其万无一失。在其他一些更关键的功能之后,添加去抖动功能就很重要了。我将快速浏览一下如何将某些东西放入其中。如果可行,我会将其添加为实验性编译时选项,这意味着您必须在 config.h 文件中启用它并自行编译。 此外,急停应直接连接到 Arduino 复位引脚或完全切断 Arduino 的电源。这是执行此操作的推荐方法。 |
好的。试了一下。这很容易,并且没有需要去抖动的问题,所以我刚刚将运行时命令的引脚输出的标准功能推到了边缘分支中。循环启动 (A2)、进给保持 (A1) 和复位 (A0)。您需要做的就是将一个常开开关连接到引脚和接地。而已。 但是,边缘分支已经更新了很多新代码并且正在调试中。Alden Hart 正在帮助测试新的代码库,而我今天也在做同样的事情。我计划在它快准备好的时候上传它的构建。如果有人愿意,我可以在边缘分支代码上使用一些测试器。通过报告任何奇怪的事情或可能的改进来帮助我们。 |
如果你愿意,我会在几个小时后回家时试一试。 2012 年 11 月 4 日 12:53,Sonny Jeon notifications@github.com写道:
|
您能否记录您想要测试的每个案例的预期行为? 2012 年 11 月 4 日 12:53,Sonny Jeon notifications@github.com写道:
|
哇,非常感谢。我不认为我会再次使用我的并行设置……GRBL 实在是太有能力了。本周我将尝试测试这些东西,并让你知道这些引脚是如何工作的。 |
伟大的。感谢大家的帮助。请测试开关、归位、引出线等新功能。无论您有时间做什么。这些都是可以修改的,即使事情是如何组织的,或者一个特性可以被删除,如果事实证明它太多或不是很有用的话。或者,如果您发现某些事情不太正常,或者您认为它会如何,请告诉我。最重要的是尝试让人们可以访问 Grbl 而不会压倒他们。因此,如果它让您感到困惑,那么新手会更加困惑。 |
所以从无线电沉默来看,我认为一切正常?如果是这样,我会将它与 master 分支合并并正式发布 v0.8。应该是今晚晚些时候。如果没有,请告诉我需要更改或改进的内容! |
我打算这个周末试一试(最后从 Sparkfun 收到了一些零件)。但是,对于真正接触 CNC 的人来说,我个人认为 Feed Hold 等新的运行时项目非常有用并且很有意义。能够暂停、设置归位和工作坐标是我致力于设置 LinuxCNC 的唯一原因 就个人而言,我认为让人们了解软件最重要的部分是文档。当我对 GRBL 越来越熟悉时,我可能会尝试这样做。也许非程序员的观点会有助于解释一些事情。 |
啊……我刚到地下室开始测试。实际上只是写 花了我几天时间,我炸毁了 Z 轴步进驱动器,并且在 在命令轴移动时,我根本没有得到任何响应。 例如,G0 z-1 什么都不做。 $S0-4 all return ‘Error Unsupported Statement’ 在让我的工厂恢复功能(使用以前的版本进行测试)时,我 回到测试。 鲍勃 2012 年 11 月 9 日星期五下午 2:47,Sonny Jeon notifications@github.com写道:
|
@rawkstar320: 没问题!生活绝对可以让项目暂时退居二线,最近几个月买房就是其中之一。如果您在测试期间确实发现任何东西,请告诉我是否可以。而且,我在文档中完全听到了你的声音。一段时间以来一直非常需要它,但我没有时间去做(实际上写任何文档都像是在咬牙切齿。:))在大多数情况下,我们遵循 NIST g-code 指南,EMC2 和Mach3 也非常接近。因此,linuxcnc.org 拥有的任何文档都适用于 Grbl,除了一些小的差异,即 G28/30 的工作方式。我们遵循 NIST,EMC 没有。 而且,说到提要和工作坐标。我看了一眼 EMC,它的配置过于狂热,然后走开并开始开发 Grbl。老实说,我不认为我们离被认为是一个严肃的替代品还有那么远。在将 v0.8 推到 master 之后,我将从覆盖和一些轴的东西开始,这应该会完成它。希望我们有足够的闪存空间来做这件事。 @komradebob: 听说 z 轴驱动器真是太可惜了!但是,我很高兴这不是一场精彩的表演。我用“$S0-S4”开关命令解决了这个问题,从那以后发生了一些变化。因此,如果可以,请使用最新的推送和/或构建。 嗯不知道为什么 g0 什么都不做,但是如果您启用了归位并且没有执行归位循环,我现在锁定所有 g 代码轴。您应该收到 Grbl 已锁定的反馈消息。(您可以使用 $X 命令强制解锁)。 z轴速度和加速度的差异是一个常见的要求。我现在正在为 v0.9 解决这个问题。事实证明,它比我最初想象的要复杂一些,尤其是在加速的情况下。我可能需要一点时间才能得到可以正常工作的东西,而不是半生不熟的东西。会让大家知道进度。 非常感谢你们俩的帮助。只有在我的机器和示波器上测试才能真正告诉你这么多。 |
桑尼, 感谢您的辛勤工作! 我一通电就尝试了$H,但无济于事。它只是挂起,直到我重置。 还设法烤了一个arduino。去拿一个替代品和其他一些好东西。将在一个小时左右返回测试。 2012 年 11 月 9 日 15:47,Sonny Jeon notifications@github.com写道:
|
仅供娱乐,以下是我的设置: Grbl 0.8c [‘$’ for help] 以及我从几个 cmds 中得到的 ok $H 只是挂起。我想它正在等待来自开关的输入。如果您 这全部来自过去 20 分钟内下载的 edge。 鲍勃 2012 年 11 月 9 日星期五下午 3:54,bownes bownes@gmail.com写道:
|
您的屏幕打印输出是旧版本,不确定为什么从 edge 下载的最新版本会为您提供大约一周前的版本。 欢迎声明应该这样说 我会调查零悬挂,但它不应该那样做。 |
这是冷启动时的样子: Grbl 0.8c [‘$’ for help] 2012 年 11 月 9 日星期五下午 6:02,Sonny Jeon notifications@github.com写道:
|
至少几天前仍然是旧推送,因为消息与当前的边缘代码完全不同。很奇怪。 我确实发现了归位周期的问题,在找到限位开关后它会挂起。我刚刚推送了修复程序。感谢您发现此错误。但是,不知道为什么它不会从 0,0,0 开始移动。它似乎在这里工作正常。 |
我刚刚更新了我的克隆,打印输出看起来与 komradebob 看到的相似。请参阅下面的打印输出。无论如何,这周我一直在玩 edge,试图让我的工厂启动并运行 grbl。到目前为止,我只测试了限位开关和一些简单的 g01 动作。到目前为止看起来还可以。顺便提一句。您应该在 config.h 中添加注释,说明使用数字引脚 13 作为限位开关的输入可能不起作用。我的步进驱动电路有一个并行端口作为接口,它使用 4.7Kohm 左右的上拉电阻,而 Arduino 有一个 LED 连接到该引脚,将其拉低。结果:你可能在这个引脚上看不到逻辑高电平,限位开关也不起作用……无论如何,我把它整理出来了,我希望能在这个周末做更多的测试。 我的打印输出: |
刚刚下载、编译和更新。这是新的打印输出: Grbl 0.8c [‘$’ for help] 然后它完全挂起,当我 ^x 或重置它时,我得到: Grbl 0.8c [‘$’ for help] 并挂起。 2012 年 11 月 9 日星期五下午 6:32,Sonny Jeon notifications@github.com写道:
|
这看起来像是正确的代码库和正确的行为,但我想确定一下。首先,我假设归位没问题?如果是这样,它应该根据您的设置将所有限位开关拉开 1mm。当您发送 g0 x5 y5 时,它应该已将 x 和 y 移动 4mm(从 1mm,1mm),然后使用 g0 x0 y0,它应该移回限位开关,并且可能会触发硬限位。 硬限制将杀死所有进程并使您无法移动,从而迫使您重置。这是一项安全措施。由于您在归位位置重置,它可能会重新触发,因为它处于开和关的边缘,这是归位周期试图找到的条件。也许我必须找到一种更好的方法来防止人们在发生这种情况时被锁定,但现在,您可以关闭硬限制和电源循环以关闭限位开关。 因此,您需要开始使用工件坐标 G54-G59,以便您可以将工件原点设置为机床坐标的任意点。(归位找到机器 0,0,0)。要设置 G54 偏移,您需要使用 G10 L2 P1 或 G10 L20 P1 命令。查看 linuxcnc.org 的 g-code 文档,了解如何使用它们。他们很不错。 谢谢你挂在那里。我知道这可能真的很令人沮丧。我试图提前解决所有这些错误,但有时它们会从你意想不到的地方弹出。 |
@VingTor: 完毕。将 D13 注释放在 config.h 中,以防止人们重复错误。谢谢! |
甜的。我喜欢街机按钮。对于我的设置,我将不得不这样做。 慢跑来了。我希望。剩下的引脚不多(准确地说是两个)。不确定这是否足以在没有一些串行输入的情况下确定慢跑,例如移动轴和进给率。它在要做的事情列表中,我们甚至可能在我开始之前就用完了闪存空间。所以,抱紧。转移到 Sanguino 已被讨论为下一个直接选择(在 ARM 之前,因为它很容易移植且购买便宜)。 |
只是一个想法,因为我们的投入不足…… 在模拟模式下使用其余输入。使用引脚如下: 比例百分比 或者类似的东西。然后使用另一个按钮: 0-25% 轴 1 所有这些都可以通过分压电阻和按钮轻松完成。或者 鲍勃 2012 年 11 月 14 日星期三晚上 9:50,Sonny Jeon notifications@github.com写道:
|
唔。有趣的想法。当我开始慢跑时,我必须记住这一点。 也有一些替代方案。其余两个引脚的 i2c 接口。这可能是一种通过进给率覆盖等添加更多控件的方法。但是,不确定是否有足够的空间来添加 i2c 库。 或者,我有过为基于 Arduino IDE 的第二个 Arduino 创建一个无头控制器的想法。我们可以使用已有的 LCD、SD 卡工具包。它可以控制任何物理按钮,并通过串行接口将它们发送到 Grbl Arduino。我认为这将是最好的解决方案,因为我们仍然可以像以前一样直接连接计算机并与 Grbl 交互,并且支持无头类型系统,而无需将其塞入 Grbl 本身。无论如何,目前这是一个白日梦,因为我没有时间去做。 |
有趣的想法。将这两个引脚用作第二个串行端口,然后您可以 2012 年 11 月 15 日星期四下午 4:39,Sonny Jeon notifications@github.com写道:
|
在 15.11.2012 22:43,komradebob 写道:
在这种情况下,协议或多或少都已定义好。然后应该 例如:在现有协议中实现慢跑命令,可以 串口的问题是我们只能连接一个额外的东西 无论如何, |
关于无头使用,我有一些相当相似的意图 – 我着眼于相当便宜的 Aria G25 模块(4cmx4cm ARM9 与 Debian,字面上用裸线连接到 SD 卡/以太网/USB 等)驱动小型 128×128 SPI的诺基亚液晶显示器。这是一个长期的项目,但它不会很快到达那里…… |
当然,更大的板将是理想的。更多引脚,更多内存,更多 昨晚我花了很多时间盯着酒店房间的天花板 鲍勃 2012 年 11 月 15 日星期四下午 5:37,Asztalos Attila Oszkár <
|
@komradebob: 你提出了一个很好的观点,而我一直忘记的东西。Grbl 旨在简单易用,$Sx 开关命令一直困扰着我。它们很好,不占用大量闪存空间,但这只会使学习过程复杂化,而且有点不知所措。最初的“$”帮助信息不应该那么长或那么复杂。所以,我一直在考虑摆脱块删除、可选停止和单块开关。(出于学习/错误检查目的,我将检查 gcode 保留为“$C”命令)。 而说到接口,这三个开关可以很容易地通过接口来处理。所以,我想他们走了。有人有这个问题吗? @VingTor: TWI 接口可能是 Grbl 将得到的最后一个东西,至少对于 328p 版本是这样。正如您所说,闪存空间非常宝贵。我的设想是,用户要么仅使用计算机连接和控制 Grbl,要么使用无头控制器。通过计算机控制,它保持原样。使用无头控制器,用户将 SD 卡放入控制器中,加载它,然后它将开始直接流式传输到 Grbl 控制器。无头控制器将取代计算机。想想带有 LCD 接口的 Arduino 上的 Gcode_sender。我认为这样的事情可以通过 Arduino IDE 在 328p Uno 上完成。由于所有的库都已经存在,因此编程应该相对轻松且快速。有接盘侠吗?:) |
我没有确定这三个开关的用途,可能表明我的 昨晚我看了看构建 arduino g 代码流媒体需要什么 我很乐意用一个不使用计时器 2 的修改后的 stepper.c 进行交易;) 鲍勃 2012 年 11 月 15 日星期四下午 6:57,Sonny Jeon notifications@github.com写道:
|
我的观点正是。据我所知,除了日复一日在数控机床上工作的专业人士外,这些日常用途并不多。它们仍然有用,但前提是您知道自己在做什么。就像我说的,如果人们需要,界面可以很容易地处理这些。 听到关于 Arduino g-code 流媒体的消息真是太棒了。迫不及待地想看看结果如何。我想让这样的东西成为一个官方的 Grbl 项目。我会看看我能做些什么来为无头接口组合一个新的 repo。 我对关于 Timer 2 的评论感到困惑。您出于某种原因需要它吗?我们可以轻松地将 Timer0 用于 Timer2 所做的相同任务。 |
谢谢鑫!我想知道昨晚在 Facebook 上试图与我交朋友的这个欣是谁。:) Grbl 在去年取得了长足的进步,我们正接近成为 Mach3 和 EMC2 的真正替代品。功能不全,但可以以优惠的价格(免费)完成工作。让我知道您的机器可能遇到的任何问题。事实上,我很快就会为特定的现成机器启动一个默认 Grbl 设置库,所以稍后我可能会向您询问一些细节。 |
有很多地方使用 TIMSK1/TIMSK2 和 TCCR2B/TCCR2A, 我家里可能有一个 SD 读卡器。没有的话我去拿一个。更大的 至于回购,我可以设置一个。我有一个 github 账号,但是如果你想把 鲍勃 2012 年 11 月 16 日星期五上午 11:45,Sonny Jeon notifications@github.com写道:
|
快速浏览一下数据表,ATmega128 似乎有 4 个计数器,如下所示:0 – 8 位、1 – 16 位、2 – 8 位、3 – 16 位。当然,可以预期某些寄存器具有不同的名称只是因为功能移动。没有什么是抽象层无法解决的,其中最简单的是#ifdef/#else 对:-) 中断也是如此:’128 有 8 条 INT 线,而不是 ‘328P 上的 PCINT 线。这可能是个好消息,因为 INT 线路比 PCINT 线路更有能力,而且速度也更快(无需读取端口来确定哪个引脚发生了变化)。相同的抽象层也可以解决这个问题。 最后,4×20 文本 LCD 怎么“用起来很痛苦”?我很好奇! |
拜托,请帮助我们使用没有配备超强大 现在,我正在将 Arduino 用于特殊的木工设备, 谢谢你的回复。 最好的 辛 2012 年 11 月 16 日星期五上午 9:44,Sonny Jeon notifications@github.com写道:
Zen Toolworks,LLC。 http://www.facebook.com/zentoolworks 网址: http ://www.zentoolworks.com http://www.zentoolworks.com/ 1000 Detroit Ave. Suite J |电话:925-521-0388 |传真:925-521-0389 |
4 line x 20 chars 很痛苦,因为你不能在上面放很多 我将为此开始一个新线程,因为我们已经偏离主题。 同意,#ifdef/#else 方法效果很好。我只是不太熟悉 2012 年 11 月 16 日星期五下午 12:55,Radu – Eosif Mihailescu <
|
@zentoolworks: 辛。你是对的。除非您破解代码本身,否则无法一次执行单个轴。我没想到人们会需要这样的东西,但我现在可以看到它是如何派上用场的。我会看看我能做些什么,并尝试提出一个适合您和其他可能需要它的人的解决方案。 乍一看,我可能会使用归位目录反转掩码来禁用或配置某些归位循环模式。此外,我试图远离使用 g 代码进行归位,因为它不在标准中。 不知道我什么时候能做到这一点,但我会考虑的。 |
大家好, 一切似乎都很好,除了(2)个实例。第一个是如果触发了硬限制,我必须重置、解锁并手动将轴移离开关。否则,我只是重新触发了一个限制,如果我在触发开关时要 $H,则会产生各种混乱。如果 $X 完全解锁了所有东西,甚至是限位开关,那么可能会有所帮助,这样人们就可以将轴从触发的开关上移开,而无需再次触发它。(我通常 $x,移动一小段距离重新触发开关,$x 再次离开开关) 问题2完全奇怪。每当我打开我的 dremel 时,就会触发硬限制。我的笔记本电脑、CNC Power 和 Dremel 都在同一个电源板上(没有其他选择,我的地下室只有一个插头)。如果我拔下我的笔记本电脑 PSU,一切正常。所以某种奇怪的反馈正在发生,这是以前从未发生过的。(在我使用硬限制和更新 GRBL 之前)这是有道理的,因为没有硬限制可以触发。 对其中任何一个有什么想法吗?万分感谢! |
在大多数情况下,您的第一个问题基本上是我的意图。如果触发硬限制,则必须像您所做的那样重置、解锁和手动移动轴。它可能会在您退出时重新触发(这是检测任何更改的引脚更改中断的问题)。我无法在中断中检查一次状态,因为引脚可能会弹跳,并且可能会错过硬限制。我们也没有(还)去抖动,所以不幸的是它必须保持原样,除非有人有更好的解决方案。我对此很在意。 如果在触发开关时运行 $H 归位周期,它应该可以正常工作。我会看看这个,看看我是否能在某个地方找到问题。 $X 旨在让您在需要时通过 $16=0 命令禁用硬限制。然后你可以关闭你的限位开关。或者您可以安装一个与地线串联并与所有限位开关并联的常闭开关。所以按住开关断开限制,重置,然后移动你的轴。当您松开接地开关时,您应该是金色的。 您的第二个问题可能是电气干扰。确保 Dremel 电线或任何电源线不在限位开关引线附近。如果没有解决问题,您也可以尝试为他们使用屏蔽线。它也可能是笔记本电脑 PSU 和 Arduino 控制器之间的一些反馈接地回路。确保一切都接地。这也可能有帮助。 |
我明白了,这是有道理的。我会继续玩它,看看我
|
@rawkstar320: 不过,我确实喜欢 $x 解锁一切的想法。我会考虑一下,看看是否会有任何问题,比如有人忘记重置就会崩溃。还有祝你好运! |
我将Will Winders gcode发件人(我认为它应该重命名为grbl font end或类似的东西)更改为通过?实时状态,它工作得很好。 |
惊人的!我说厉害了吗?!因为它是。:) 真正的时间?命令应该可以更快的速度。大约一年前,如果第一次被推,我已经对其进行了测试,并且能够做到 20Hz 没问题。但是,事情增加了,波特率也开始发挥作用。如果轮询响应发送得太快以至于发送缓冲区已满,它将丢弃字符并且调用和响应协议将被破坏。我想将它作为用户选项是个好主意。我会找到一些可以可靠运行的良好固定利率。可能应该做 3-5Hz 之类的事情。 可以更改 $G 以使您和界面更容易。那么你想看到什么呢?行尾还好吗?还是一组括号,例如反馈消息?我认为这不需要实时更新,但我想可以。如果是这样,我会在 Grbl 空闲/排队时这样做。在一个周期内可能会令人困惑,它会占用不应有的带宽。 我注意到的一件事是“Do Homing Cycle”按钮,它会发出 G28 命令。这已经不对了。$H 执行归位循环,G28/G30 称为“移动到预定义位置”(根据 linuxcnc.org)。 如果您对以干净有效的方式与 Grbl 进行通信有任何问题,请告诉我。我会尽快推送更改。我想尽快解决这个问题。 @zentoolworks:有几种方法可以使用 G 代码将当前位置设置为零。“G10 L20 P1”将设置G54工作坐标系,使当前位置为零。“G92 X0 Y0 Z0”会做同样的事情,但不是持久的,所以它会在重置后丢失。 |
我必须感谢您和所有其他 grbl 开发人员所做的出色 |
这使得人们实际使用 Grbl 的工作变得值得。对于几乎所有想要学习 CNC 的人来说,入门价格已经变得可行。只需要克服学习曲线问题。(这可能是 3D 打印如此受欢迎的原因。只需点击打印即可。) 人们说 Arduino 不能做好的 CNC 仍然让我感到惊讶。早在 80 年代和 90 年代 CNC 刚开始时,那些计算机和控制器可能比现代 328p Arduino 更慢且功能更差。他们仍然用他们拥有的东西完成了它,所以我们没有理由做不到。与拥有可以破解低效代码的最新、最好、更昂贵的 ARM 芯片相比,这只是一个项目更困难(也更有趣)。 无论如何,我的咆哮结束了。:) 所以,对于 $G,我设计了所有的“$”命令,就像 g 代码一样工作,它将返回一个带有“ok”或“error:”的状态代码。不记得我这样做的确切原因,但是有一个“ok”或“error:”响应表明它收到了命令是有道理的。其他所有内容(帮助消息除外)将以 [] 括号消息响应或以 $ 开头(将视图启动块固定为现在以 $ 开头),这表示设置。唯一没有响应“ok”状态消息的是“?” 当前状态,但这仍然是括号内的。虽然,我们可以将其更改为“<>”人字形,以指示界面的明显差异。 你能修改代码来处理这样的协议吗? |
我想对于一个问题并成功执行的命令得到一个 OK 是一件好事,特别是如果它像移动轴或设置一个变量。但是 $G 命令只是一个终端列表命令,它在现实世界中什么都不做,或者在 Grbl 中什么都不做,如果你得到字符串,你就知道它工作了……我猜 OK 有点多余 – 但不是很好方式;-) 但是我也认为界面需要保持一致。 |
是的,这有点多余,但这就是代码的编写方式。所有的“$”命令都可能出错,包括 $G 命令。也就是说,如果你输入额外的东西,比如 $G0。它以错误响应。我想保持原样,主要是为了连续性。 自动报告已经在列表中。如果它被安装,它将带有一个系统滴答,也将处理去抖动,但我想这是在 v1.0 时间线的某个地方。 就我而言,v0.8c 已准备好发布。我只是在等待人们报告更多错误或告诉我我应该做一些不同的事情,但听起来好像还不错。如果我在接下来的几天内没有听到任何消息,我会将其推送给 master。 |
尚尼特 评论 on 5 Mar 2012
对于 v0.8 edge 的最后一次重大推动,我一直坚持这个话题(状态报告和归位/慢跑仍然需要制定,但将单独处理。)这个话题是关于高级设置的和 grbl 系统命令,正如他们所说,这会打开一大堆蠕虫或潘多拉的盒子。这里的问题是,一旦我们开始添加东西,就很容易忘乎所以地添加所有东西。我想开始讨论什么需要存储在 EEPROM 中,什么可以保留在编译时 config.h 文件中,以及 grbl 系统命令的外观和行为方式。就像我说的,这里有很多话要说。
因此,首先,我已经编译并汇总了可能需要安装的东西的列表,一些可能或未来的项目,以及一些系统命令的开始。
Grbl EEPROM 设置
现在我们有了这个,这是我认为需要在此处安装的东西的简短列表。
此外,我认为我们可以对用户隐藏它并在内部存储掩码,而不是在设置中使用反转掩码。我们可以让用户看到一个真/假语句,就像
$7=1 (invert x-direction. 1=true,0=false)
掩码中的每个项目一样。这将使设置源更大,但这可能使用户更容易学习以这种方式重新配置掩码。最后,我认为我们应该保持我们在设置 EEPROM 默认值时已有的编号约定。这将使事情保持一致,并且用户可以通过打印“$”设置转储轻松查看哪个数字对应于哪个设置。
Grbl 高级或额外设置?
以下是保存到 EEPROM 存储器中可能需要或不需要包含的内容的列表。其中一些东西是不错的,但不是完全必要的。我想看看大家对这些的看法。
grbl系统命令
我所说的系统命令是指这些命令设置 Grbl 如何运行特殊模式(如慢跑)或切换运行时选项(如块删除和可选停止)。我认为我们应该使用’$’字符来表示一个特殊的命令,但是开始使用字母或单词来定义这些,并且有一堆。
$BLKDEL=0
的是假或$OPTSTOP=1
真。$JX
启用 x 轴进行点动并$JF=100.0
设置进给率。对于硬件用户界面,我们可以有一个慢跑启用/禁用切换和方向针。对于软件用户界面,我们可以有类似的东西$J+
来开始正轴运动,$J-
负轴运动,$J0
停止。这一切都有待商榷。可能有很多更好的方法可以做到这一点。$MX=1.0
将机器 x 设置为 1.0mm 或$M0
将当前位置的所有轴归零。$STATUS
。我知道有很多东西要塞进一篇文章中,但所有这些都是相互交织的。在对所有这些应该如何看待达成某种类型的团体共识之前,我不会继续编码。请记住,Grbl 的任务之一是让事情尽可能简单。但是有很多东西处于灰色地带,我们只需要弄清楚在哪里以及如何整合它们。