开源改变世界!!

高级设置和 grbl-system 命令。 #71

推推 grbl 2年前 (2022-10-30) 295次浏览 0个评论
关闭
chamnit 打开了这个问题 on 5 Mar 2012 · 78 条评论
关闭

高级设置和 grbl-system 命令。#71

chamnit 打开了这个问题 on 5 Mar 2012 · 78 条评论

注释

高级设置和 grbl-system 命令。 #71
成员

尚尼特 评论 on 5 Mar 2012

对于 v0.8 edge 的最后一次重大推动,我一直坚持这个话题(状态报告和归位/慢跑仍然需要制定,但将单独处理。)这个话题是关于高级设置的和 grbl 系统命令,正如他们所说,这会打开一大堆蠕虫或潘多拉的盒子。这里的问题是,一旦我们开始添加东西,就很容易忘乎所以地添加所有东西。我想开始讨论什么需要存储在 EEPROM 中,什么可以保留在编译时 config.h 文件中,以及 grbl 系统命令的外观和行为方式。就像我说的,这里有很多话要说。

因此,首先,我已经编译并汇总了可能需要安装的东西的列表,一些可能或未来的项目,以及一些系统命令的开始。

Grbl EEPROM 设置

$0 = 314.95 (steps/mm x)
$1 = 314.96 (steps/mm y)
$2 = 314.96 (steps/mm z)
$3 = 20 (microseconds step pulse)
$4 = 254.00 (mm/min default feed rate)
$5 = 635.00 (mm/min default seek rate)
$6 = 0.10 (mm/arc segment)
$7 = 192 (step port invert mask. binary = 11000000)
$8 = 50.00 (acceleration in mm/sec^2)
$9 = 0.05 (cornering junction deviation in mm)
'$x=value' to set parameter or just '$' to dump current settings

现在我们有了这个,这是我认为需要在此处安装的东西的简短列表。

  • (睡眠、限制、主轴反转掩码。二进制=00000000)
  • (循环自动启动默认值。1=on,0=off)
  • (串行波特率。1=9600, 2=19200, 3=57600)
  • (慢跑默认轴。1=x,2=y,3=z)
  • (点动默认进给速度,单位为 mm/min)
  • (归位默认进给速度,单位为 mm/min)
  • (以毫秒为单位的归位去抖延迟)
  • (状态报告小数位)
  • (状态报告单位。1=mm,2=inch,3=steps)
  • (status report item mask.binary=10000101) -> 此掩码设置状态报告运行时命令将实时报告的项目。将设置一个单独的报告命令来报告我将在稍后讨论的 g 代码模式。Grbl 状态 [Idle,Run,Hold,Jog,Home,Sleep,Abort]、MPOS、WPOS、缓冲区大小、进给率、倍率、行号、主轴速度/目录等项目可以包含在掩码中。

此外,我认为我们可以对用户隐藏它并在内部存储掩码,而不是在设置中使用反转掩码。我们可以让用户看到一个真/假语句,就像$7=1 (invert x-direction. 1=true,0=false)掩码中的每个项目一样。这将使设置源更大,但这可能使用户更容易学习以这种方式重新配置掩码。

最后,我认为我们应该保持我们在设置 EEPROM 默认值时已有的编号约定。这将使事情保持一致,并且用户可以通过打印“$”设置转储轻松查看哪个数字对应于哪个设置。

Grbl 高级或额外设置?

以下是保存到 EEPROM 存储器中可能需要或不需要包含的内容的列表。其中一些东西是不错的,但不是完全必要的。我想看看大家对这些的看法。

  • G54 工作位置默认。这可能很有用。用户可以将坐标系存储到 EEPROM 中,并且始终在归位循环之后立即定义工作零。但是,这也可以通过程序中的显式 G10 命令来设置。
  • G28 和 G30 起始位置(不一定在机器零位)
  • 默认工作坐标系。通常为 G54,但仅在使用多个工件坐标系时才需要
  • G92 坐标偏移位置默认和启用/禁用。
  • 工作区卷限制或软限制。软限位是 Grbl 将在内部跟踪它在机器空间中的位置,当它达到软限位时,它会自动启动进给保持并在到达限位开关之前停止。
  • 默认切换:块删除、可选停止、单块模式、空运行

grbl系统命令

我所说的系统命令是指这些命令设置 Grbl 如何运行特殊模式(如慢跑)或切换运行时选项(如块删除和可选停止)。我认为我们应该使用’$’字符来表示一个特殊的命令,但是开始使用字母或单词来定义这些,并且有一堆。

  • 运行时切换:这些将设置 g 代码解析器如何使用尚未安装的功能运行,但非常容易以最小的开销。我认为这些非常有用,应该安装。这些切换是自动启动、块删除、可选停止、单块模式和空运行。默认情况下,所有这些都将设置为 false(除非以其他方式添加到 EEPROM)。为了设置它们,我想$BLKDEL=0的是假或$OPTSTOP=1真。
  • 点动:需要有一种方法来设置点动轴和进给率,而不需要 g 代码命令,并通过一些接口命令来操作它们。要设置轴,我们可以执行一些操作,例如$JX启用 x 轴进行点动并$JF=100.0设置进给率。对于硬件用户界面,我们可以有一个慢跑启用/禁用切换和方向针。对于软件用户界面,我们可以有类似的东西$J+来开始正轴运动,$J-负轴运动,$J0停止。这一切都有待商榷。可能有很多更好的方法可以做到这一点。
  • 设置机器位置:在 grbl 中,除了执行归位循环或硬重置 Arduino 之外,用户无法设置机器位置,两者都将它们归零。我想讨论我们是否需要安装一种手动设置机器位置的方法。例如,$MX=1.0将机器 x 设置为 1.0mm 或$M0将当前位置的所有轴归零。
  • 打印非实时状态报告:现在“?” 立即打印 grbl 位置的实时状态报告,但我认为我们需要一种方法来打印出非实时的完整状态报告。该报告将包括有关 grbl 当前状态的所有内容,包括打印输出时的位置和 g 代码解析器状态。这对于 UI 了解 grbl 中事物的完整状态非常重要。我们可以使用这样的命令$STATUS

我知道有很多东西要塞进一篇文章中,但所有这些都是相互交织的。在对所有这些应该如何看待达成某种类型的团体共识之前,我不会继续编码。请记住,Grbl 的任务之一是让事情尽可能简单。但是有很多东西处于灰色地带,我们只需要弄清楚在哪里以及如何整合它们。

高级设置和 grbl-system 命令。 #71

大帖子。大话题。总的来说,我认为这是一个好主意。现在谈谈具体情况。

  • 如果 $ 代码有检查就好了。因此,键入 $blkdel 将返回该值,而 $blkdel=1 或 $blkdel=0 将设置该值。
  • 错误行为是什么?如果您键入的 $blkdel=2 不是有效值,会发生什么?
  • 您对保留编号系统 $0 – $9 的评论是否只是指这些值的现有参数,还是您的意思是它扩展到所有新值 – 即它们同时具有数字和文本名称(例如 $blkdel 与45 美元)?
  • 对于按轴分组的参数,您有什么约定吗?现在只有三个:$0-$2 X 步、Y 步、Z 步。你提到的一些补充会增加更多——比如起始位置、G54 偏移、慢跑速度和音量限制/软限制。你显示 $JX 和 $MX。按轴分组而不是按功能分组是否有好处,例如$Xjog、$Xposition?这使得部分单词解析和“自动完成”(即只是“Xpo”,因为这是匹配所需的全部)变得更加容易。

一些细节

  • 还有什么理由不支持 115,200 波特?
  • 如果我理解正确, $ 本身会打印所有设置,而 $status 会打印 gcode 模型的(动态)内容。

不错的作品。

  • 奥尔登
高级设置和 grbl-system 命令。 #71

哇,谢谢将是一大步!

建议:现在可以定义机器系统(毫米或英寸)
吗?由于英寸胎面,我有一个完全等于 20000 步/英寸的步/英寸,但我必须输入 784.401 步/毫米
,所以有一个每次我移动时都会产生小的累积误差。
然后菜单将全部更改为所有步长/英寸……
无论如何,您已经为 G20 G21 代码进行了所有这些转换。

帕特小工具

高级设置和 grbl-system 命令。 #71

当你现在这么说的时候’?立即打印 grbl 位置的实时状态报告,我有 0.7D 并且无法重现该命令?
帕特小工具

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 3 月 6 日

奥尔登:谢谢,好点。

  • 我同意需要某种方式来显示系统命令状态。键入不带值的命令听起来是个不错的方法。我能看到的一个问题是它并不适用于所有其他命令。不过,我们仍然可以使用厨房水槽$STATUS命令查看系统设置。
  • 错误反馈可能会保持相同或相似,但我同意使用 0 和 1 设置真/假值可能会让某些用户感到有些困惑。我们可以为这些值切换到“T”和“F”或“on”和“off”方案,如果这样更清楚的话。
  • 关于“$”和值与名称:我建议数值应该只与 eeprom 设置有关。没有多重含义。这些名称仅与 grbl 系统命令/运行时设置有关。这主要是为了更清楚地区分他们所做的事情。
  • 关于轴约定:对此并没有真正考虑太多。我认为我们可以使这与 g 代码解析器的工作方式非常相似,因为所需的功能已经存在。也许我们可以将 grbl 系统命令更改为一组字符和数字命令,就像在 g-code 中一样。例如,我们可能必须$M=X0.0 Y1.0设置 x 和 y 机器位置。有一百种方法可以做到这一点……我将不得不考虑更多,以尝试提出关于这些命令约定的通用解决方案。
  • 115200 波特:没有特别的理由不支持这一点,除了不想过多地推动 Arduino 的极限。通常,在它准备好之前不要官方支持它,而不是现在支持它并且稍后因为性能问题而不得不删除它。
  • 在“$”和“$STATUS”上:“$”打印所有 eeprom 设置,“$STATUS”打印厨房水槽,包括 gcode 解析器状态。我可以通过这个问题看到你的意思。我们可能需要更清楚地说明它们是如何工作的以及它们是什么。

帕特:可以用英寸来定义一切,但这不是必须的。代码的工作方式是每次移动都不应该累积错误,但整个工作空间体积只会有缩放错误。对于大多数人来说,这种缩放误差会小于他们机器的精度。还, ‘?’ 命令在 grbl 的开发分支 v0.8 edge 中。您可以通过单击主页上的分支下拉按钮来查看源代码,并且可以在下载页面上获得构建。另外,请在另一个“问题”线程上发布与此主题无关​​的问题和评论。

高级设置和 grbl-system 命令。 #71

桑尼 – 对您上述评论的评论:

  • 我认为有一种“通用”的方式来查询参数会很有用。没有价值的 $ 很简单。它就像一个 GET 而不是一个 SET,它由一个等号表示。
  • 我并不是要离开 0 和 1,实际上我更喜欢它而不是 t 和 f。我只是好奇发生错误时会发生什么。就像一个’2’。保持现有的错误响应很好。
  • 那么这是否意味着现在 EEPROM 设置的数字超过了 9 美元?就个人而言,我宁愿看到一些助记符,用户不必担心 EEPROM 中的内容和模型中的内容。但是,我对此有两种看法,区分 EEPROM 和 Gcode 模型值可能会很好

(暂时全部)

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 3 月 11 日

以下是一些可能需要添加到 EEPROM 设置中的其他内容,这些内容来自其他问题帖子。

  • 将轴归位到归位以及按什么顺序。
  • 以非常高的步进速率运行的用户的每脉冲错误检查微秒。(Shapeoko 对 Z 轴使用 47kHz,即每脉冲 21 微秒)。
  • 一种清除 EEPROM 并将其恢复为默认设置的方法。我认为我们需要停止支持所有旧的 EEPROM 设置,因为这会导致一些非常大的代码。我在想至少对于下一次设置更新,我们应该放弃旧的支持。有人同意吗?
高级设置和 grbl-system 命令。 #71

我的想法,没有特别的顺序。

手动设置机器位置。非常方便,特别是如果您使用的是工作空间的一小部分。

尽可能使用变量名而不是位置。只是给你另一层抽象。

慢跑——需要相当多的针脚,但我真的很喜欢四个开关来让慢跑工作。双掷中的每个轴(+/-),第四个是快/慢。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 10 月 5 日

现在可以手动设置工作位置。手动设置或归零机器位置
在待办事项列表上,但并不紧急。可能是 v0.9。

变量可以在外部处理和解释,并且可能不会
安装到 grbl 本身中。
在不影响性能的情况下,我们只能塞进这么多东西。

慢跑也是一种待办事项。不确定这是否会被固定或如何
完成。可能是 v0.9。
但是人们已经在使用他们的 GUI 发送短线段和馈电点做类似的事情。

2012 年 10 月 4 日晚上 9:42,komradebob notifications@github.com写道:

我的想法,没有特别的顺序。

手动设置机器位置。非常方便,特别是如果您使用
的是工作空间的一小部分。

尽可能使用变量名而不是位置。只是给你
另一层抽象。

慢跑——需要相当多的针脚,但我真的很喜欢四个开关来
让慢跑工作。双掷中的每个轴(+/-),第四个是
快/慢。


直接回复此邮件或在 GitHub 上查看
https://github.com/ /issues/71 #issuecomment-9164615。

高级设置和 grbl-system 命令。 #71

我对 CNC/GRBL 还很陌生,但我爱死它了。我也是一个关于编码的新手,并且正在尝试弄清楚是否有任何与运行时命令相关的引脚排列。喜欢 ”!” feedhold 和 “~” 恢复。我正在设置我的 Estop 盒子,并认为这些命令非常有用,并希望将它们作为硬按钮包含在内。我在哪里可以找到这方面的信息?
谢谢!
(希望这是发布此类内容的正确位置,我不想开始新线程)

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 4 日

没问题,谢谢你的道具!

为了回答您的问题,计划添加用于循环启动/恢复、馈电保持和复位的引脚分配,可能添加到三个模拟引脚。我认为我们现在可以在代码中加入一些东西来做到这一点,但它确实需要一个去抖动的例程来使其万无一失。在其他一些更关键的功能之后,添加去抖动功能就很重要了。我将快速浏览一下如何将某些东西放入其中。如果可行,我会将其添加为实验性编译时选项,这意味着您必须在 config.h 文件中启用它并自行编译。

此外,急停应直接连接到 Arduino 复位引脚或完全切断 Arduino 的电源。这是执行此操作的推荐方法。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 5 日

好的。试了一下。这很容易,并且没有需要去抖动的问题,所以我刚刚将运行时命令的引脚输出的标准功能推到了边缘分支中。循环启动 (A2)、进给保持 (A1) 和复位 (A0)。您需要做的就是将一个常开开关连接到引脚和接地。而已。

但是,边缘分支已经更新了很多新代码并且正在调试中。Alden Hart 正在帮助测试新的代码库,而我今天也在做同样的事情。我计划在它快准备好的时候上传它的构建。如果有人愿意,我可以在边缘分支代码上使用一些测试器。通过报告任何奇怪的事情或可能的改进来帮助我们。

高级设置和 grbl-system 命令。 #71

如果你愿意,我会在几个小时后回家时试一试。

2012 年 11 月 4 日 12:53,Sonny Jeon notifications@github.com写道:

好的。试了一下。这很容易,并且没有需要去抖动的问题,所以我刚刚将运行时命令的引脚输出的标准功能推到了边缘分支中。循环启动 (A2)、进给保持 (A1) 和复位 (A0)。您需要做的就是将一个常开开关连接到引脚和接地。而已。

但是,边缘分支已经更新了很多新代码并且正在调试中。Alden Hart 正在帮助测试新的代码库,而我今天也在做同样的事情。我计划在它快准备好的时候上传它的构建。如果有人愿意,我可以在边缘分支代码上使用一些测试器。通过报告任何奇怪的事情或可能的改进来帮助我们。


直接回复此邮件或在 GitHub 上查看。

高级设置和 grbl-system 命令。 #71

您能否记录您想要测试的每个案例的预期行为?

2012 年 11 月 4 日 12:53,Sonny Jeon notifications@github.com写道:

好的。试了一下。这很容易,并且没有需要去抖动的问题,所以我刚刚将运行时命令的引脚输出的标准功能推到了边缘分支中。循环启动 (A2)、进给保持 (A1) 和复位 (A0)。您需要做的就是将一个常开开关连接到引脚和接地。而已。

但是,边缘分支已经更新了很多新代码并且正在调试中。Alden Hart 正在帮助测试新的代码库,而我今天也在做同样的事情。我计划在它快准备好的时候上传它的构建。如果有人愿意,我可以在边缘分支代码上使用一些测试器。通过报告任何奇怪的事情或可能的改进来帮助我们。


直接回复此邮件或在 GitHub 上查看。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 5 日

哎呀,这需要一段时间!完成并放入Wiki。谢谢@komradebob寻求帮助!

https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8

高级设置和 grbl-system 命令。 #71

哇。看起来工作量很大。我会下载最新的,早上试试看!

2012 年 11 月 4 日 21:49,Sonny Jeon notifications@github.com写道:

哎呀,这需要一段时间!完成并放入Wiki。谢谢@komradebob寻求帮助!

https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8


直接回复此邮件或在 GitHub 上查看。

高级设置和 grbl-system 命令。 #71

哇,非常感谢。我不认为我会再次使用我的并行设置……GRBL 实在是太有能力了。本周我将尝试测试这些东西,并让你知道这些引脚是如何工作的。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 6 日

伟大的。感谢大家的帮助。请测试开关、归位、引出线等新功能。无论您有时间做什么。这些都是可以修改的,即使事情是如何组织的,或者一个特性可以被删除,如果事实证明它太多或不是很有用的话。或者,如果您发现某些事情不太正常,或者您认为它会如何,请告诉我。最重要的是尝试让人们可以访问 Grbl 而不会压倒他们。因此,如果它让您感到困惑,那么新手会更加困惑。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

所以从无线电沉默来看,我认为一切正常?如果是这样,我会将它与 master 分支合并并正式发布 v0.8。应该是今晚晚些时候。如果没有,请告诉我需要更改或改进的内容!

高级设置和 grbl-system 命令。 #71

我打算这个周末试一试(最后从 Sparkfun 收到了一些零件)。但是,对于真正接触 CNC 的人来说,我个人认为 Feed Hold 等新的运行时项目非常有用并且很有意义。能够暂停、设置归位和工作坐标是我致力于设置 LinuxCNC 的唯一原因

就个人而言,我认为让人们了解软件最重要的部分是文档。当我对 GRBL 越来越熟悉时,我可能会尝试这样做。也许非程序员的观点会有助于解释一些事情。

高级设置和 grbl-system 命令。 #71

啊……我刚到地下室开始测试。实际上只是写
一封电子邮件。

花了我几天时间,我炸毁了 Z 轴步进驱动器,并且在
对 328 进行编程时遇到了一些问题。但这已经解决了。

在命令轴移动时,我根本没有得到任何响应。

例如,G0 z-1 什么都不做。

$S0-4 all return ‘Error Unsupported Statement’

在让我的工厂恢复功能(使用以前的版本进行测试)时,我
意识到为每个轴设置默认的进给/搜索速率也是
手动的。例如,我的 z 轴是步数/毫米的 2 倍和可接受的
进给/搜索速率的 1/2。拥有所有 3 个相同的限制你到最慢的
公分母。

回到测试。

鲍勃

2012 年 11 月 9 日星期五下午 2:47,Sonny Jeon notifications@github.com写道:

所以从无线电沉默来看,我认为一切正常?如果是这样,
我会将它与 master 分支合并并正式发布 v0.8。
应该是今晚晚些时候。如果没有,请告诉我需要更改或改进
的内容!


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10242106。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

@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 解决这个问题。事实证明,它比我最初想象的要复杂一些,尤其是在加速的情况下。我可能需要一点时间才能得到可以正常工作的东西,而不是半生不熟的东西。会让大家知道进度。

非常感谢你们俩的帮助。只有在我的机器和示波器上测试才能真正告诉你这么多。

高级设置和 grbl-system 命令。 #71

桑尼,

感谢您的辛勤工作!

我一通电就尝试了$H,但无济于事。它只是挂起,直到我重置。

还设法烤了一个arduino。去拿一个替代品和其他一些好东西。将在一个小时左右返回测试。

2012 年 11 月 9 日 15: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 解决这个问题。事实证明,它比我最初想象的要复杂一些,尤其是在加速的情况下。我可能需要一点时间才能得到可以正常工作的东西,而不是半生不熟的东西。会让大家知道进度。

非常感谢你们俩的帮助。只有在我的机器和示波器上测试才能真正告诉你这么多。


直接回复此邮件或在 GitHub 上查看。

高级设置和 grbl-system 命令。 #71

仅供娱乐,以下是我的设置:

Grbl 0.8c [‘$’ for help]
[‘$H’ to home and enable axes]
$$
$0=632.000(x 轴,步数/mm)
$1=632.000(y 轴,步
数/mm)$2=1527.000(z轴,步数/毫米)
$3=3(步脉冲,usec)
$4=70.000(默认进给速率,mm/min)
$5=70.000(默认寻道速率,mm/min)
$6=0.100(圆弧分辨率,mm/segment)
$7=4(步进端口反转掩码,int:binary=00000100)
$8=10.000(加速度,mm/sec^2)
$9=0.050(转弯连接偏差,mm)
$10=0(报告英寸,布尔值)
$11=1( auto start enable, bool)
$12=0 (invert stepper enable, bool)
$13=0 (hard limit enable, bool)
$14=1 (homing enable, bool)
$15=80(归位目录反转掩码,int:binary=01010000)
$16=50.000(归位进给速率,mm/min)
$17=50.000(归位寻道速率,mm/min)
$18=100(归位去抖动延迟,毫秒)
$19 =1.000(归位拉断行程,mm)
$20=25(步进空转锁定时间,msec)
$21=3(小数位,int)
$22=25(n 弧修正,int)

以及我从几个 cmds 中得到的

ok
$S0
错误:不支持的语句
$S1
错误:不支持的语句
$s1
错误:不支持的语句
$S2
错误:不支持的语句
$S3
错误:不支持的语句
$p
[警告:运动锁已禁用。位置未知。]
ok
$N
N0=
ok
$G
G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 F70.000
ok
$#
G54:[0.000,0.000,0.000]
G55:[0.000,0.000,0.000]
G56:[0.000 ,0.000,0.000]
G57:[0.000,0.000,0.000]
G58:[0.000,0.000,0.000]
G59:[0.000,0.000,0.000]
G28:[0.000,0.000,0.000]
G30:[0.000] ,0.000,0.0
G92:[0.000,0.000,0.000]

$P

$H 只是挂起。我想它正在等待来自开关的输入。如果您
从不在 0,0,0 的轴开始,它会寻求零然后挂起。

这全部来自过去 20 分钟内下载的 edge。

鲍勃

2012 年 11 月 9 日星期五下午 3:54,bownes bownes@gmail.com写道:

桑尼,

感谢您的辛勤工作!

我一通电就尝试了$H,但无济于事。它只是挂起,直到
我重置。

还设法烤了一个arduino。去拿一个替代品和
其他一些好东西。将在一个小时左右返回测试。

2012 年 11 月 9 日 15:47,Sonny Jeon notifications@github.com写道:

@rawkstar320 https://github.com/rawkstar320:没问题!生活
绝对可以让项目暂时退居二线,
最近几个月买房就是其中之一。如果您在
测试期间确实发现任何东西,请告诉我是否可以。
而且,我在文档中完全听到了你的声音。一段时间以来一直非常需要它,但我没有
时间去做(实际上写任何文档都像是在咬牙切齿
。:))在大多数情况下,我们遵循 NIST g-code 指南,
EMC2 和Mach3 也非常接近。因此,
linuxcnc.org 拥有的任何文档都适用于 Grbl,除了一些小的差异,
即 G28/30 的工作方式。我们遵循 NIST,EMC 没有。

而且,说到提要和工作坐标。我看了一眼 EMC
,它的配置过于狂热,然后走开并开始
开发 Grbl。老实说,我不认为我们离被
认为是一个严肃的替代品还有那么远。在将 v0.8 推到 master 之后,我将从
覆盖和一些轴的东西开始,这应该会完成它。
希望我们有足够的闪存空间来做这件事。

@komradebob https://github.com/komradebob : 听说
z 轴驱动器真是太可惜了!但是,我很高兴这不是一场精彩的表演。我用“$S0-S4”开关命令解决了这个问题, 从那以后
发生了一些变化。
因此,如果可以,请使用最新的推送和/或构建。

嗯不知道为什么 g0 什么都不做,但是如果
您启用了归位并且没有执行归位循环,我现在锁定所有 g 代码轴。您应该
收到 Grbl 已锁定的反馈消息。
(您可以使用$X 命令强制解锁)。

z轴速度和加速度的差异是一个常见的要求。
我现在正在为 v0.9 解决这个问题。事实证明,它
比我最初想象的要复杂一些,尤其是在加速的情况下。我可能
需要一点时间才能得到可以正常工作的东西,而不是
半生不熟的东西。会让大家知道进度。

非常感谢你们俩的帮助。只有在我的
机器和示波器上测试才能真正告诉你这么多。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10244048。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

您的屏幕打印输出是旧版本,不确定为什么从 edge 下载的最新版本会为您提供大约一周前的版本。

欢迎声明应该这样说Grbl v0.8c ['?' for help],如果您启用了归位,下一行将['$H' to home and unlock]显示 ,注意解锁。此外,’$’ 帮助消息应该有一个 ‘$X’ kill homing lock,而不是 ‘$P’ purge 命令。

我会调查零悬挂,但它不应该那样做。

高级设置和 grbl-system 命令。 #71

这是冷启动时的样子:

Grbl 0.8c [‘$’ for help]
[‘$H’ to home and enable axes]
g0 x0 y0 z0
ok
$p
[WARNING: Motion lock disabled。位置未知。]
ok
g0 x0 y0 z0
ok
$H

2012 年 11 月 9 日星期五下午 6:02,Sonny Jeon notifications@github.com写道:

您的屏幕打印输出是旧版本,不确定为什么
从 edge 下载的最新版本会为您提供大约一周前的版本。

欢迎声明应该说像 Grbl v0.8c [‘?’ 寻求帮助]如果您启用了归位,下一行将显示 [‘$H’
to home and unlock],注意解锁。此外,’$’ 帮助消息应该
有一个 ‘$X’ kill homing lock,而不是 ‘$P’ purge 命令。

我会调查零悬挂,但它不应该那样做。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10247842。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

至少几天前仍然是旧推送,因为消息与当前的边缘代码完全不同。很奇怪。

我确实发现了归位周期的问题,在找到限位开关后它会挂起。我刚刚推送了修复程序。感谢您发现此错误。但是,不知道为什么它不会从 0,0,0 开始移动。它似乎在这里工作正常。

高级设置和 grbl-system 命令。 #71

我刚刚更新了我的克隆,打印输出看起来与 komradebob 看到的相似。请参阅下面的打印输出。无论如何,这周我一直在玩 edge,试图让我的工厂启动并运行 grbl。到目前为止,我只测试了限位开关和一些简单的 g01 动作。到目前为止看起来还可以。顺便提一句。您应该在 config.h 中添加注释,说明使用数字引脚 13 作为限位开关的输入可能不起作用。我的步进驱动电路有一个并行端口作为接口,它使用 4.7Kohm 左右的上拉电阻,而 Arduino 有一个 LED 连接到该引脚,将其拉低。结果:你可能在这个引脚上看不到逻辑高电平,限位开关也不起作用……无论如何,我把它整理出来了,我希望能在这个周末做更多的测试。

我的打印输出:
Grbl 0.8c [‘$’ for help]
$
$$ (查看 Grbl 设置)
$# (查看#参数)
$G (查看解析器状态)
$N (查看启动块)
$x=value (保存 Grbl 设置)
$Nx=line (保存启动块)
$S0 (toggle check gcode)
$S1 (toggle blk del)
$S2 (toggle single blk)
$S3 (toggle opt stop)
$X (kill homing lock)
$H (run homing循环)
~(循环开始)
!(喂食)
? (位置)
ctrl-x (reset Grbl)
ok
$$
$0=377.953 (x, step/mm)
$1=377.953 (y, step/mm)
$2=377.953 (z, step/mm)
$3=10 (step pulse,使用c)
$4=250.000(默认进给,mm/min)
$5=500.000(默认搜索,mm/min)
$6=160(步进端口反转掩码,int:10100000)
$7=25(步进空闲延迟,毫秒)
$8=25.000(加速度, mm/sec^2)
$9=0.050 (结点偏差, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (报告英寸,布尔值)
$14=1(自动启动,布尔值)
$15=0(反转步骤启用,布尔值)
$16=0(硬限制,布尔值)
$17=0(归位周期,布尔值)
$18=0(归位目录反转掩码,int:00000000)
$19=25.000(归位进给,毫米/分钟)
$20=250.000(归位寻道,毫米/分钟)
$21=100(归位去抖动,毫秒)
$22=1.000(归位拉断,毫米)
好的

高级设置和 grbl-system 命令。 #71

刚刚下载、编译和更新。这是新的打印输出:

Grbl 0.8c [‘$’ for help]
[‘$H’ to home and unlock]
$
$$(查看Grbl设置)
$#(查看#参数)
$G(查看解析器状态)
$N(查看启动块)
$ x=value (保存 Grbl 设置)
$Nx=line (保存启动块)
$S0 (toggle check gcode)
$S1 (toggle blk del)
$S2 (toggle single blk)
$S3 (toggle opt stop)
$X (kill homing lock)
$H (run homing cycle)
~ (cycle start)
! (喂食)
? (位置)
ctrl-x (reset Grbl)
ok
$
$
$0=632.000 (x, step/mm)
$1=632.000 (y, step/mm)
$2=1527.000 (z, step/mm)
$3=10 (step pulse,使用c)
$4=70.000(默认进给,mm/min)
$5=70.000(默认搜索,mm/min)
$6=4(步进端口反转掩码,int:00000100)
$7=25(步进空闲延迟,毫秒)
$8=10.000(加速度, mm/sec^2)
$9=0.050 (结点偏差, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (报告英寸,布尔值)
$14=1(自动启动,布尔值)
$15=0(反转步骤启用,布尔值)
$16=1(硬限制,布尔值)
$17=1(归位周期,布尔值)
$18=80(归位目录反转掩码,int:01010000)
$19=50.000(归位进给,毫米/分钟)
$20=100.000(归位寻道,毫米/分钟)
$21=100(归位去抖动,毫秒)
$22=1.000(归位拉断,毫米)
ok
$H
ok
g0 x5 y5
g0 x0 y0 f150
ok
错误:硬限制。MPos 输了?
[警报:检查并重置]

然后它完全挂起,当我 ^x 或重置它时,我得到:

Grbl 0.8c [‘$’ for help]
错误:硬限制。MPos 输了?
[警报:检查并重置]

并挂起。

2012 年 11 月 9 日星期五下午 6:32,Sonny Jeon notifications@github.com写道:

至少几天前仍然是旧推送,因为消息
与当前的边缘代码完全不同。很奇怪。

我确实发现了归位周期的问题,在
找到限位开关后它会挂起。我刚刚推送了修复程序。感谢您
发现此错误。但是,不知道为什么它不会从 0,0,0 开始移动
。它似乎在这里工作正常。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10248524。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

这看起来像是正确的代码库和正确的行为,但我想确定一下。首先,我假设归位没问题?如果是这样,它应该根据您的设置将所有限位开关拉开 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 文档,了解如何使用它们。他们很不错。

谢谢你挂在那里。我知道这可能真的很令人沮丧。我试图提前解决所有这些错误,但有时它们会从你意想不到的地方弹出。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 10 日

@VingTor: 完毕。将 D13 注释放在 config.h 中,以防止人们重复错误。谢谢!

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 15 日

甜的。我喜欢街机按钮。对于我的设置,我将不得不这样做。

慢跑来了。我希望。剩下的引脚不多(准确地说是两个)。不确定这是否足以在没有一些串行输入的情况下确定慢跑,例如移动轴和进给率。它在要做的事情列表中,我们甚至可能在我开始之前就用完了闪存空间。所以,抱紧。转移到 Sanguino 已被讨论为下一个直接选择(在 ARM 之前,因为它很容易移植且购买便宜)。

高级设置和 grbl-system 命令。 #71

只是一个想法,因为我们的投入不足……

在模拟模式下使用其余输入。使用引脚如下:

比例百分比
0-20% 点动 + 全速
25-45% 点动 + 慢速
45-55% 停止
60-80% 点动 – 慢速
85-100% 点动 – 全速

或者类似的东西。然后使用另一个按钮:

0-25% 轴 1
26-50% 轴 2
51-75% 轴 3
76-100% 未选择轴

所有这些都可以通过分压电阻和按钮轻松完成。或者
更好的是,3 个按钮和一个用于速度的操纵杆。

鲍勃

2012 年 11 月 14 日星期三晚上 9:50,Sonny Jeon notifications@github.com写道:

甜的。我喜欢街机按钮。
对于我的设置,我将不得不这样做。

慢跑来了。我希望。剩下的引脚不多(
准确地说是两个)。不确定这是否足以在没有一些串行
输入的情况下确定慢跑,例如移动轴和进给率。它在要做的事情列表中,
我们甚至可能在我开始之前就用完了闪存空间。所以,抱紧。
转移到 Sanguino 已被讨论为下一个直接选择
(在 ARM 之前,因为它很容易移植且购买便宜)。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10395773。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 16 日

唔。有趣的想法。当我开始慢跑时,我必须记住这一点。

也有一些替代方案。其余两个引脚的 i2c 接口。这可能是一种通过进给率覆盖等添加更多控件的方法。但是,不确定是否有足够的空间来添加 i2c 库。

或者,我有过为基于 Arduino IDE 的第二个 Arduino 创建一个无头控制器的想法。我们可以使用已有的 LCD、SD 卡工具包。它可以控制任何物理按钮,并通过串行接口将它们发送到 Grbl Arduino。我认为这将是最好的解决方案,因为我们仍然可以像以前一样直接连接计算机并与 Grbl 交互,并且支持无头类型系统,而无需将其塞入 Grbl 本身。无论如何,目前这是一个白日梦,因为我没有时间去做。

高级设置和 grbl-system 命令。 #71

有趣的想法。将这两个引脚用作第二个串行端口,然后您可以
在定义协议后将任何您想要的东西放在那里。我想我
更喜欢这个主意。

2012 年 11 月 15 日星期四下午 4:39,Sonny Jeon notifications@github.com写道:

唔。有趣的想法。当我开始
慢跑时,我必须记住这一点。

也有一些替代方案。其余两个引脚的 i2c 接口。
这可能是一种通过进给率覆盖等添加更多控件的方法。
但是,不确定是否有足够的空间来添加 i2c 库。

或者,我有过为
基于 Arduino IDE 的第二个 Arduino 创建一个无头控制器的想法。
我们可以使用已有的 LCD、SD 卡工具包。它可以控制任何物理按钮,并
通过串行接口将它们发送到 Grbl Arduino。我认为这将是
最好的解决方案,因为我们仍然可以像以前一样直接连接计算机并
与 Grbl 交互,并且支持无头类型系统,而无需
将其塞入 Grbl 本身。无论如何,目前这是一个白日梦
,因为我没有时间去做。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10426668。

高级设置和 grbl-system 命令。 #71

在 15.11.2012 22:43,komradebob 写道:

有趣的想法。将这两个引脚用作第二个串行端口,然后您可以
在定义协议后将任何您想要的东西放在那里。我想我
更喜欢这个主意。

在这种情况下,协议或多或少都已定义好。然后应该
使用与当今与 PC 通信时使用的相同协议
($…),然后您突然拥有了 PC 和
“扩展硬件”提供的所有内容。

例如:在现有协议中实现慢跑命令,可以
为慢跑控制器制作一个较小的 Arduino 项目,
通过辅助串行端口将慢跑命令流式传输到 grbl。grbl中的“唯一变化”
是它可以从两个环形缓冲区中获取数据,而不仅仅是
一个。然后可以执行相同的命令来控制
PC 上的慢跑。

串口的问题是我们只能连接一个额外的东西
。使用 TWI,我们可以添加多个用于不同
目的的扩展板。我认为它会更灵活。该协议可能是
相似的并且基于文本,但我认为这不会非常有效。
此外,TWI 可能需要额外的中断线连接到控制器,
否则 grbl 将不得不一直拉动状态,因此两个引脚
不足以实现有效的解决方案(假设 grbl 是主机)。

无论如何,
如果我们在这里添加很多东西,我认为普通的 Arduino 会耗尽闪存,甚至可能会耗尽 CPU 时间,所以我认为
在这种情况下,最好使用更大的设备和更多的引脚。

高级设置和 grbl-system 命令。 #71

关于无头使用,我有一些相当相似的意图 – 我着眼于相当便宜的 Aria G25 模块(4cmx4cm ARM9 与 Debian,字面上用裸线连接到 SD 卡/以太网/USB 等)驱动小型 128×128 SPI的诺基亚液晶显示器。这是一个长期的项目,但它不会很快到达那里…… :)

高级设置和 grbl-system 命令。 #71

当然,更大的板将是理想的。更多引脚,更多内存,更多
内容。但这样做大大提高了进入门槛。现在
,任何能够接触到 Arduino 的人都可以让这件事发挥作用。添加
扩展作为第二个串行端口(顺便说一下,可以循环,想想
RS-485)通过一些步进器和
螺纹杆让入门级孩子的生活变得简单,但可以满足那些需要更
复杂的人的需求。由于它是“商品”硬件,因此很难被淘汰
(项目明智)。

昨晚我花了很多时间盯着酒店房间的天花板
思考这个问题,甚至订购了 10 个 atmega128 板来运行
128 个基于控制器的控制器(或者我会将它们用于不同的项目……)。
问题在于使其广泛可用以吸引其他开发
人员。我可能会尝试做一个 128 端口,但我不希望有
很多其他人加入,并且当该端口准备好时可能会转移到 sanguino
(如果这是普遍共识的话)。

鲍勃

2012 年 11 月 15 日星期四下午 5:37,Asztalos Attila Oszkár <
notifications@github.com > 写道:

关于无头使用,我有一些相当相似的意图 – 我
着眼于相当便宜的 Aria G25 模块(4cmx4cm ARM9 与 Debian,
字面上用裸线连接到 SD 卡/以太网/USB 等
)驱动小型 128×128 SPI的诺基亚液晶显示器。这是一个长期的
项目,但它不会很快到达那里…… :)


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10428849。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 16 日

@komradebob: 你提出了一个很好的观点,而我一直忘记的东西。Grbl 旨在简单易用,$Sx 开关命令一直困扰着我。它们很好,不占用大量闪存空间,但这只会使学习过程复杂化,而且有点不知所措。最初的“$”帮助信息不应该那么长或那么复杂。所以,我一直在考虑摆脱块删除、可选停止和单块开关。(出于学习/错误检查目的,我将检查 gcode 保留为“$C”命令)。

而说到接口,这三个开关可以很容易地通过接口来处理。所以,我想他们走了。有人有这个问题吗?

@VingTor: TWI 接口可能是 Grbl 将得到的最后一个东西,至少对于 328p 版本是这样。正如您所说,闪存空间非常宝贵。我的设想是,用户要么仅使用计算机连接和控制 Grbl,要么使用无头控制器。通过计算机控制,它保持原样。使用无头控制器,用户将 SD 卡放入控制器中,加载它,然后它将开始直接流式传输到 Grbl 控制器。无头控制器将取代计算机。想想带有 LCD 接口的 Arduino 上的 Gcode_sender。我认为这样的事情可以通过 Arduino IDE 在 328p Uno 上完成。由于所有的库都已经存在,因此编程应该相对轻松且快速。有接盘侠吗?:)

高级设置和 grbl-system 命令。 #71

我没有确定这三个开关的用途,可能表明我的
无知。

昨晚我看了看构建 arduino g 代码流媒体需要什么
。所有硬件/软件组件都是“现成的”。 一旦组装好零件并设计了“系统”,
这应该是一周左右的工作。
它不仅仅是一个 LCD 和一个 SD 读卡器。
需要开关来选择卡上的文件(除非您将其定义为
“必须是闪存卡的/目录中的“mygcode.g”,配置
设备等。或者,可以使用触摸屏,但随后
成本上升。

我很乐意用一个不使用计时器 2 的修改后的 stepper.c 进行交易;)

鲍勃

2012 年 11 月 15 日星期四下午 6:57,Sonny Jeon notifications@github.com写道:

@komradebob https://github.com/komradebob:你提出了一个很好的观点,
而我一直忘记的东西。Grbl 旨在简单易用,
$Sx 开关命令一直困扰着我。它们很好,不占用
大量闪存空间,但这只会使学习过程复杂化,而且
有点不知所措。最初的“$”帮助信息不应该那么
长或那么复杂。所以,我一直在考虑摆脱块删除、
可选停止和单块开关。(出于学习/错误检查目的,我将检查 gcode 保留为
“$C”命令)。

而说到接口,这三个开关可以很容易地通过接口来处理。所以,我想他们走了。有人有这个问题
吗?

@VingTor https://github.com/VingTor:TWI 接口可能
是 Grbl 将得到的最后一个东西,至少对于 328p 版本。正如
您所说,闪存空间非常宝贵。我的设想是,
用户要么仅使用计算机连接和控制 Grbl,要么
使用无头控制器。通过计算机控制,它保持原样。
使用无头控制器,用户将 SD 卡放入
控制器中,加载它,然后它将开始直接流式传输到 Grbl
控制器。无头控制器将取代
计算机。想想带有 LCD 接口的 Arduino 上的 Gcode_sender。我认为
这样的事情可以通过 Arduino 在 328p Uno 上完成
IDE。由于所有的库都已经存在,因此编程应该相对
轻松且快速。有接盘侠吗?:)


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10431274。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 17 日

我的观点正是。据我所知,除了日复一日在数控机床上工作的专业人士外,这些日常用途并不多。它们仍然有用,但前提是您知道自己在做什么。就像我说的,如果人们需要,界面可以很容易地处理这些。

听到关于 Arduino g-code 流媒体的消息真是太棒了。迫不及待地想看看结果如何。我想让这样的东西成为一个官方的 Grbl 项目。我会看看我能做些什么来为无头接口组合一个新的 repo。

我对关于 Timer 2 的评论感到困惑。您出于某种原因需要它吗?我们可以轻松地将 Timer0 用于 Timer2 所做的相同任务。

高级设置和 grbl-system 命令。 #71

你好呀

我是来自zentoolworks.com 的Xin。我们的很多 CNC 客户使用
带有 simen 的 grbl 的 Arduino 控制。实际上,我所做的支持比
Mach3 少得多。我很高兴地发现你们
一直在积极地致力于这个项目。
我昨晚从 github下载了“edge”版本,它很棒,
自从我之前的工作版本以来,添加了很多精美的东西。

我只想说,非常感谢您的所有努力,并让您知道
很多人将从您的出色工作中受益。

此致

2012 年 11 月 16 日星期五上午 8:45,Sonny Jeon notifications@github.com写道:

我的观点正是。
据我所知,除了日复一日在数控机床上工作的专业人士外,这些日常用途并不多。
它们仍然有用,但前提是您知道自己在做什么。就像我
说的,如果人们需要,界面可以很容易地处理这些。

听到关于 Arduino g-code 流媒体的消息真是太棒了。迫不及待地想看看
结果如何。我想让这样的东西成为一个官方的 Grbl
项目。
我会看看我能做些什么来为无头接口组合一个新的 repo 。

我对关于 Timer 2 的评论感到困惑。您出于某种
原因需要它吗?我们可以轻松地将 Timer0 用于 Timer2 所做的相同任务。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10453266。

Zen Toolworks,LLC。

http://www.facebook.com/zentoolworks
http://www.youtube.com/zentoolworks
http://www.amazon.com/gp/aag/main?ie=UTF8&asin=&isAmazonFulfilled=1&isCBA=&marketplaceID=ATVPDKIKX0DER&orderID= &卖家=A3PQ2NV8PCZJ0R
*

网址: http ://www.zentoolworks.com http://www.zentoolworks.com/
电子邮件:zentoolworks@gmail.com zentoolworks@gmail.com

1000 Detroit Ave. Suite J |电话:925-521-0388 |传真:925-521-0389

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 17 日

谢谢鑫!我想知道昨晚在 Facebook 上试图与我交朋友的这个欣是谁。:) Grbl 在去年取得了长足的进步,我们正接近成为 Mach3 和 EMC2 的真正替代品。功能不全,但可以以优惠的价格(免费)完成工作。让我知道您的机器可能遇到的任何问题。事实上,我很快就会为特定的现成机器启动一个默认 Grbl 设置库,所以稍后我可能会向您询问一些细节。

高级设置和 grbl-system 命令。 #71

有很多地方使用 TIMSK1/TIMSK2 和 TCCR2B/TCCR2A,
atmega128 不支持这些(尽管它有更多的计时器。看图)。
在 makefile 中设置 DEVICE=atmega128 ,你会找到它们。我想
你也会在limits.c中找到你使用边缘触发中断的地方,
这在128上也不存在。

我家里可能有一个 SD 读卡器。没有的话我去拿一个。更大的
问题是使用什么样的 LCD。尺寸合适的图形 LCD
会显示更多,但成本更高。4 行 x 20 字符的显示器很便宜,但
使用起来很痛苦。我在想一个带电位器开关的 LCD 屏蔽罩可能
不错,但又一次推高了价格。是时候做一些研究了。

至于回购,我可以设置一个。我有一个 github 账号,但是如果你想把
它放在 grbl 下,那也很酷。

鲍勃

2012 年 11 月 16 日星期五上午 11:45,Sonny Jeon notifications@github.com写道:

我的观点正是。
据我所知,除了日复一日在数控机床上工作的专业人士外,这些日常用途并不多。
它们仍然有用,但前提是您知道自己在做什么。就像我
说的,如果人们需要,界面可以很容易地处理这些。

听到关于 Arduino g-code 流媒体的消息真是太棒了。迫不及待地想看看
结果如何。我想让这样的东西成为一个官方的 Grbl
项目。
我会看看我能做些什么来为无头接口组合一个新的 repo 。

我对关于 Timer 2 的评论感到困惑。您出于某种
原因需要它吗?我们可以轻松地将 Timer0 用于 Timer2 所做的相同任务。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10453266。

高级设置和 grbl-system 命令。 #71

快速浏览一下数据表,ATmega128 似乎有 4 个计数器,如下所示:0 – 8 位、1 – 16 位、2 – 8 位、3 – 16 位。当然,可以预期某些寄存器具有不同的名称只是因为功能移动。没有什么是抽象层无法解决的,其中最简单的是#ifdef/#else 对:-)

中断也是如此:’128 有 8 条 INT 线,而不是 ‘328P 上的 PCINT 线。这可能是个好消息,因为 INT 线路比 PCINT 线路更有能力,而且速度也更快(无需读取端口来确定哪个引脚发生了变化)。相同的抽象层也可以解决这个问题。

最后,4×20 文本 LCD 怎么“用起来很痛苦”?我很好奇!

高级设置和 grbl-system 命令。 #71

拜托,请帮助我们使用没有配备超强大
并行端口的计算机;)您有我的支持。

现在,我正在将 Arduino 用于特殊的木工设备,
只需要 2 个轴并读取 g 代码。我现在的问题是我不想
在归位期间执行所有 3 个轴,而是一个一个地用一个 g 代码执行。我
没有看到代码中发生了这种情况。难道这一切都可能。如果你愿意,你可以
通过 facebook 给我发电子邮件。

谢谢你的回复。

最好的

2012 年 11 月 16 日星期五上午 9:44,Sonny Jeon notifications@github.com写道:

谢谢鑫!
我想知道昨晚在 Facebook 上试图与我交朋友的这个欣是谁。:) Grbl 在去年取得了长足的进步,
我们正接近成为 Mach3 和
EMC2 的真正替代品。功能不全,但可以以优惠的价格(免费)完成工作。
让我知道您的机器可能遇到的任何问题。事实上,我很快就会为特定 的现成机器
启动一个默认 Grbl 设置库,所以稍后我可能会向您询问一些细节。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10455290。

Zen Toolworks,LLC。

http://www.facebook.com/zentoolworks
http://www.youtube.com/zentoolworks
http://www.amazon.com/gp/aag/main?ie=UTF8&asin=&isAmazonFulfilled=1&isCBA=&marketplaceID=ATVPDKIKX0DER&orderID= &卖家=A3PQ2NV8PCZJ0R
*

网址: http ://www.zentoolworks.com http://www.zentoolworks.com/
电子邮件:zentoolworks@gmail.com zentoolworks@gmail.com

1000 Detroit Ave. Suite J |电话:925-521-0388 |传真:925-521-0389

高级设置和 grbl-system 命令。 #71

4 line x 20 chars 很痛苦,因为你不能在上面放很多
信息。以 SD 卡根目录的内容
为例。您需要四处滚动,等等。
即使有更大的显示器,情况也是如此,但这不是问题。我的方法
是先构建头部以流式传输固定文件名,然后
我将制定一个 UI 来选择文件和其他好东西。

我将为此开始一个新线程,因为我们已经偏离主题。
#136

同意,#ifdef/#else 方法效果很好。我只是不太熟悉
328 与 128 的内部工作原理,无法在一夜之间破解它。
我精通 C,但我最喜欢的编程语言仍然是焊接。;)

2012 年 11 月 16 日星期五下午 12:55,Radu – Eosif Mihailescu <
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 怎么“用起来很痛苦”?我很好奇!


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10455726。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 17 日

@zentoolworks: 辛。你是对的。除非您破解代码本身,否则无法一次执行单个轴。我没想到人们会需要这样的东西,但我现在可以看到它是如何派上用场的。我会看看我能做些什么,并尝试提出一个适合您和其他可能需要它的人的解决方案。

乍一看,我可能会使用归位目录反转掩码来禁用或配置某些归位循环模式。此外,我试图远离使用 g 代码进行归位,因为它不在标准中。

不知道我什么时候能做到这一点,但我会考虑的。

高级设置和 grbl-system 命令。 #71

桑尼

感谢您的答复。我不确定这是如何工作的,如果我点击回复,这封
电子邮件只会发给你,还是会发给整个董事会?

我现在会尝试破解代码,我同意你使用
g-code 来做这件事效率不高,尤其是像
这样的函数。我将尝试使用相同的限制功能并接受一个参数来
指示轴需要归位。

顺便说一句,如果您需要设置一台 Zen 机器,我可以提供
。你已经付出了很多努力来开发这个,这是
我能做的最起码的帮助。我还有其他备件,如车轮脉冲
发生器和 LCD,如果您需要任何用于测试目的的东西,只需提及即可

谢谢

2012 年 11 月 16 日星期五下午 2:19,Sonny Jeon notifications@github.com写道:

@zentoolworks https://github.com/zentoolworks:鑫。你是对的。 除非您破解代码本身
,否则无法一次执行单个轴。
我没想到人们会需要这样的东西,但我
现在可以看到它是如何派上用场的。我会看看我能做些什么,并尝试
提出一个适合您和其他可能需要
它的人的解决方案。

乍一看,我可能会使用归位目录反转掩码来禁用或
配置某些归位循环模式。此外,我试图远离
使用 g 代码进行归位,因为它不在标准中。

不知道我什么时候能做到这一点,但我会考虑的。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10464558。

Zen Toolworks,LLC。

http://www.facebook.com/zentoolworks
http://www.youtube.com/zentoolworks
http://www.amazon.com/gp/aag/main?ie=UTF8&asin=&isAmazonFulfilled=1&isCBA=&marketplaceID=ATVPDKIKX0DER&orderID= &卖家=A3PQ2NV8PCZJ0R
*

网址: http ://www.zentoolworks.com http://www.zentoolworks.com/
电子邮件:zentoolworks@gmail.com zentoolworks@gmail.com

1000 Detroit Ave. Suite J |电话:925-521-0388 |传真:925-521-0389

高级设置和 grbl-system 命令。 #71

大家好,

一切似乎都很好,除了(2)个实例。第一个是如果触发了硬限制,我必须重置、解锁并手动将轴移离开关。否则,我只是重新触发了一个限制,如果我在触发开关时要 $H,则会产生各种混乱。如果 $X 完全解锁了所有东西,甚至是限位开关,那么可能会有所帮助,这样人们就可以将轴从触发的开关上移开,而无需再次触发它。(我通常 $x,移动一小段距离重新触发开关,$x 再次离开开关)

问题2完全奇怪。每当我打开我的 dremel 时,就会触发硬限制。我的笔记本电脑、CNC Power 和 Dremel 都在同一个电源板上(没有其他选择,我的地下室只有一个插头)。如果我拔下我的笔记本电脑 PSU,一切正常。所以某种奇怪的反馈正在发生,这是以前从未发生过的。(在我使用硬限制和更新 GRBL 之前)这是有道理的,因为没有硬限制可以触发。

对其中任何一个有什么想法吗?万分感谢!

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 18 日

在大多数情况下,您的第一个问题基本上是我的意图。如果触发硬限制,则必须像您所做的那样重置、解锁和手动移动轴。它可能会在您退出时重新触发(这是检测任何更改的引脚更改中断的问题)。我无法在中断中检查一次状态,因为引脚可能会弹跳,并且可能会错过硬限制。我们也没有(还)去抖动,所以不幸的是它必须保持原样,除非有人有更好的解决方案。我对此很在意。

如果在触发开关时运行 $H 归位周期,它应该可以正常工作。我会看看这个,看看我是否能在某个地方找到问题。

$X 旨在让您在需要时通过 $16=0 命令禁用硬限制。然后你可以关闭你的限位开关。或者您可以安装一个与地线串联并与所有限位开关并联的常闭开关。所以按住开关断开限制,重置,然后移动你的轴。当您松开接地开关时,您应该是金色的。

您的第二个问题可能是电气干扰。确保 Dremel 电线或任何电源线不在限位开关引线附近。如果没有解决问题,您也可以尝试为他们使用屏蔽线。它也可能是笔记本电脑 PSU 和 Arduino 控制器之间的一些反馈接地回路。确保一切都接地。这也可能有帮助。

高级设置和 grbl-system 命令。 #71

我明白了,这是有道理的。我会继续玩它,看看我
想出什么。到目前为止,这个 g54 命令非常有用。Dremel 击中
了限位开关(令人沮丧),但我所要做的就是回家并点击“开始”
,然后我们再试一次。谢谢!
2012 年 11 月 17 日下午 2:15,“Sonny Jeon” notifications@github.com写道:

在大多数情况下,您的第一个问题基本上是我的意图。如果触发硬限制,则必须 像您所做的那样
重置、解锁和手动移动轴。
它可能会在您退出时重新触发(
这是检测任何更改的引脚更改中断的问题)。
我无法在中断中检查一次状态,因为引脚可能会
弹跳,并且可能会错过硬限制。我们也没有
(还)去抖动,所以不幸的是它必须保持原样,除非
有人有更好的解决方案。我对此很在意。

如果在触发开关时运行 $H 归位周期,它应该
可以正常工作。我会看看这个,看看我是否能在
某个地方找到问题。

$X 旨在让您在
需要时通过 $16=0 命令禁用硬限制。然后,您可以关闭限位开关。或者您可以安装一个与地线串联并与 所有限位开关
并联的常闭开关。
所以按住开关断开限制,
重置,然后移动你的轴。当您松开接地开关时,您应该
是金色的。

您的第二个问题可能是电气干扰。确保
Dremel 电线或任何电源线不在限位开关引线附近。
如果没有解决问题,您也可以尝试为他们使用屏蔽线。它也可能是笔记本电脑 PSU 和 Arduino 控制器
之间的一些反馈接地回路。
确保一切都接地。这也可能有帮助。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10477706。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 18 日

@rawkstar320: 不过,我确实喜欢 $x 解锁一切的想法。我会考虑一下,看看是否会有任何问题,比如有人忘记重置就会崩溃。还有祝你好运!

高级设置和 grbl-system 命令。 #71

我将Will Winders gcode发件人(我认为它应该重命名为grbl font end或类似的东西)更改为通过?实时状态,它工作得很好。
请在此处观看视频演示:https ://www.youtube.com/watch?v=ra9PhLLfd9s或在此处获取代码:https ://github.com/alpharesearch/Universal-G-Code-Sender/commits /master
据我了解?是一个实时命令,它不应该在一直发送它以及在流式传输 gcode 文件时引起任何问题?现在我使用 1 秒计时器,我应该使用更快的轮询速率吗?
$G 命令怎么样,现在我有一个按钮可以读入。我正在压制答案?在控制台中,但是 $G 中的 OK 是在一个新行中,这使得它变得更加困难。这 ?也更容易,因为它不需要新行,但 $G 需要。

高级设置和 grbl-system 命令。 #71

刚刚下载了 Will Winders gcode sender,我很喜欢。Jave
更好,没有必要让它跨 .net 框架兼容,这太
痛苦了。

有没有办法可以将设置的当前位置添加到“0”和
手动控制模式下的进给倍率?我不确定该功能是否
对大多数家庭 CNCer 有用。

谢谢

2012 年 11 月 18 日星期日下午 6:11,Markus Schulz notification@github.com写道:

我将Will Winders gcode发件人(我认为它应该重命名为grbl
font end或类似的东西)更改为通过?实时状态,
效果很好。
请在此处观看视频演示:
https ://www.youtube.com/watch?v=ra9PhLLfd9s或在此处获取代码:
https ://github.com/alpharesearch/Universal-G-Code-Sender/提交/大师
至于我的理解?是一个实时命令,它不应该
在一直发送它以及在流式传输
gcode 文件时引起任何问题?现在我使用 1 秒计时器,
我应该使用更快的轮询速率吗?
$G 命令怎么样,现在我有一个按钮可以读入。我是
压制答案?在控制台中,但是 $G 中的 OK 是在一个
新行中,这使得它变得更加困难。


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/71 #issuecomment-10499438。

Zen Toolworks,LLC。

http://www.facebook.com/zentoolworks
http://www.youtube.com/zentoolworks
http://www.amazon.com/gp/aag/main?ie=UTF8&asin=&isAmazonFulfilled=1&isCBA=&marketplaceID=ATVPDKIKX0DER&orderID= &卖家=A3PQ2NV8PCZJ0R
*

网址: http ://www.zentoolworks.com http://www.zentoolworks.com/
电子邮件:zentoolworks@gmail.com zentoolworks@gmail.com

1000 Detroit Ave. Suite J |电话:925-521-0388 |传真:925-521-0389

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 19 日

惊人的!我说厉害了吗?!因为它是。:)

真正的时间?命令应该可以更快的速度。大约一年前,如果第一次被推,我已经对其进行了测试,并且能够做到 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-system 命令。 #71

我必须感谢您和所有其他 grbl 开发人员所做的出色
工作。我记得几年前在某个论坛上读到,
不可能在 Arduino 上做好 CNC,而你们证明了这些
人是错误的(一次又一次)。如果所有这些事情都
结合在一起,那么就有一个非常好的 CNC 解决方案,易于处理,但
对于大多数项目来说仍然很强大。
我现在用 5 Hz 进行了测试,对我来说这看起来像是一个持续更新……
我仍然会添加一个配置点并将其限制为最大 20Hz。 关于 $G 如果 OK 是同一行
的一部分会很好。
我不在正则表达式中使用方括号,它不会
对我有所作为。现在,如果
从命令行发送命令或在文件发送末尾发送命令,我只有两行 OK。我
不会在流式传输 gcode 文件时轮询 $G 或调用它。我认为这
提供了重要的覆盖范围,并使用户在
手动模式下保持最新状态。
我将与 Will Wender 讨论 G28 归位循环按钮 – 顺便说一句,我确实
为我的测试添加了一个 $H 按钮。
我还计划使用 $# 并使所有坐标
可从 GUI 获取和设置,并对所有设置执行相同的操作,包括
从文件加载和保存。

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 20 日

这使得人们实际使用 Grbl 的工作变得值得。对于几乎所有想要学习 CNC 的人来说,入门价格已经变得可行。只需要克服学习曲线问题。(这可能是 3D 打印如此受欢迎的原因。只需点击打印即可。)

人们说 Arduino 不能做好的 CNC 仍然让我感到惊讶。早在 80 年代和 90 年代 CNC 刚开始时,那些计算机和控制器可能比现代 328p Arduino 更慢且功能更差。他们仍然用他们拥有的东西完成了它,所以我们没有理由做不到。与拥有可以破解低效代码的最新、最好、更昂贵的 ARM 芯片相比,这只是一个项目更困难(也更有趣)。

无论如何,我的咆哮结束了。:) 所以,对于 $G,我设计了所有的“$”命令,就像 g 代码一样工作,它将返回一个带有“ok”或“error:”的状态代码。不记得我这样做的确切原因,但是有一个“ok”或“error:”响应表明它收到了命令是有道理的。其他所有内容(帮助消息除外)将以 [] 括号消息响应或以 $ 开头(将视图启动块固定为现在以 $ 开头),这表示设置。唯一没有响应“ok”状态消息的是“?” 当前状态,但这仍然是括号内的。虽然,我们可以将其更改为“<>”人字形,以指示界面的明显差异。

你能修改代码来处理这样的协议吗?

高级设置和 grbl-system 命令。 #71

我想对于一个问题并成功执行的命令得到一个 OK 是一件好事,特别是如果它像移动轴或设置一个变量。但是 $G 命令只是一个终端列表命令,它在现实世界中什么都不做,或者在 Grbl 中什么都不做,如果你得到字符串,你就知道它工作了……我猜 OK 有点多余 – 但不是很好方式;-) 但是我也认为界面需要保持一致。
老实说,我对 Java 了解不多——我确信那里也有处理 OK 的好方法。
实现这种报告功能的另一种方法是在 Grbl 中设置一个开关以启用状态更新,并让 Grbl 发送所有更新而不进行轮询。在这种情况下,它会在有时间和一些更改时发送不同的更新,并且命令缓冲区不会被所有状态更新请求丢弃。但我认为我们不应该匆匆忙忙,稍后再看。我使用带有组的正则表达式来从字符串中获取所有值,我不认为碰巧括号会破坏任何东西。
到目前为止,所有可能的小测试都没有发现任何阻碍或任何其他问题,您对 V0.8 的发布计划是什么…

高级设置和 grbl-system 命令。 #71
成员作者

尚尼特 评论 2012 年 11 月 20 日

是的,这有点多余,但这就是代码的编写方式。所有的“$”命令都可能出错,包括 $G 命令。也就是说,如果你输入额外的东西,比如 $G0。它以错误响应。我想保持原样,主要是为了连续性。

自动报告已经在列表中。如果它被安装,它将带有一个系统滴答,也将处理去抖动,但我想这是在 v1.0 时间线的某个地方。

就我而言,v0.8c 已准备好发布。我只是在等待人们报告更多错误或告诉我我应该做一些不同的事情,但听起来好像还不错。如果我在接下来的几天内没有听到任何消息,我会将其推送给 master。

喜欢 (0)

您必须 登录 才能发表评论!