开源改变世界!!

归位周期 #66

推推 grbl 2年前 (2022-10-30) 100次浏览 0个评论
关闭
奥尔登哈特 打开了这个问题 on 25 Feb 2012 · 78 条评论
关闭

归位周期#66

奥尔登哈特 打开了这个问题 on 25 Feb 2012 · 78 条评论

注释

归位周期 #66

我想开始一个线程来讨论归位周期应该如何工作和被调用。这实际上是一个复杂的话题,因为 Gcode 规范中没有指导,每个人的做法都不同。请原谅这篇冗长的文章,我会尽量简短地总结大量的研究。切入正题,我认为使用 G28.1 参考轴(执行归位循环)是一个不错的方法,但人们正在使用其他替代方案。

— 调用归位 —

总结一下 Gcode 规范的两个普遍认可的参考:
(1) NIST RS274NGC v3 (Kramer)
(2) CNC Programming Handbook, Edition3 (Peter Smid)
…没有办法以编程方式归位机器。两者都同意 G28 将您带到原始位置,但都没有说明如何实际按下开关和参考轴。

G28 在以下各项中返回机器零 – 但名称不同:

  • “回家”(NIST)
  • 《机器归零》(Smid)
  • “回家”(Mach3)

EMC2 定义了 G28“转到预定义位置”,这与上面的其他 3 个引用不同。它可以返回到机器零以外的某个坐标:http://linuxcnc.org/docs/html/gcode_main.html#sub:G28,-G30:
-Return

Mach3 将 G28.1 定义为“参考轴”,实际上执行了一个归位循环。

Reprap Teacup 变体使用 G161 和 G162 执行归位,Makerbot 机器也是如此。我的机械师朋友听到这个消息时会呕吐,因为你真的不应该到处添加新的整数 Gcode。点扩展是可以的,但新的 Gxx 不是。Gxxx 更糟糕。请参阅:
http ://reprap.org/wiki/Teacup_Firmware#Endstop_Handling

— 归位功能如何 —

EMC 实际上有一个关于归位周期应该如何工作的很好的规范:http:
//linuxcnc.org/docs/html/config_ini_homing.html
…但是(除非我遗漏了什么)没有编程方式来调用它。

Mach3 在下面的 10.7.11 节中提供了对归位操作的非常简洁的描述。这与 EMC 不同,并且似乎没有那么灵活: http:
//www.machsupport.com/docs/Mach3Mill_1.84.pdf

实际如何进行归位的要求因机器和应用程序而异,但这是我一直在玩的。这在很大程度上是 EMC 行为。还有其他细节,但总结一下:

  • 使用 G28.1 Xnn Ynn Znn Ann Bnn Cnn 编程参考轴(grbl 将仅使用 XYZ)
    轴字是可选的,但必须至少存在一个。只有存在的轴才会被归位。其他人将留在他们当前的坐标。
  • 每个指示的轴都按预设顺序(XYZABC,在代码中设置)归位。
  • 负限位开关在持续时间内变为归位开关,并且它们的行为发生变化(无中止)
  • 第一步是以横移速度在负方向寻找限位开关
  • 当开关被击中时,它会后退一小段可编程距离
  • 开关处的第二次通过是在编程的低速下进行闩锁移动
  • 一旦闩锁移动被击中,零轴就会后退,并且后退用作该轴的机器零
    参考:http ://www.synthetos.com/wiki/index.php?title=Projects:TinyG-Homing

以上不涉及:

  • 想要使用正限位开关进行归位的轴
  • 具有中间位置归位开关的轴(在非常大的机器上很有用)
  • 在搜索过程中关闭开关的“智能”方式
  • 主轴归位(分度)
  • 零轴与偏移量不同
  • 可编程归位序列
  • 一些归位实现最终返回到坐标系零,或者通过 G28 等中间点执行此操作。这个实现也不做。

你对调用归位有什么想法,它是如何工作的?

  • 奥尔登
归位周期 #66

很好的总结奥尔登。我不得不同意 G28/G30 不应该明确用于调用归位循环,但我认为也没有必要创建新的 g 代码命令。我认为将归位周期与 g 代码完全分开是一个好主意,主要是因为 g 代码已经在不同的制造商/系统中变得一团糟。

所以,我认为这真的引出了一个单独的问题:我们是否需要另一种方法来设置或执行不涉及 g 代码的 Grbl 特定命令/设置?这将包括切换块删除、慢跑模式和设置、空运行和执行归位循环等内容。我认为扩展“$”设置命令来做到这一点是个好主意。如何做到这一点可能是另一个线程。

为了回应您关于每个机器应用程序的归位有何不同的评论,将归位周期与所有其他运动例程完全分开的源设计使得用户或开发人员可以轻松地对其进行修改以使其成为自己的。我不认为我们应该真正考虑所有情况,只需要一个一般的归位周期就可以做到并保持简单。在大多数铣床上,这首先是 Z 正向限制,然后是 XY 负向限制。这应该适用于 90% 以上的用户。

此外,归位应始终定位机器零位,并且任何不同的零轴应由工作坐标系处理。之前的边缘推送在 g 代码解析器中添加了中间归位点。这将移动到中间点,然后执行归位循环(但这实际上应该只移动到机器零)。

无论如何,布鲁斯在推进 Simen 最初的寻的循环程序方面取得了一些不错的进展,我本周末一直在审查。我将尝试重新组织代码以使其易于用户更改。

归位周期 #66

桑尼,感谢您的阅读和评论。我同意归位应该是孤立的和可破解的。我认为我们仍然需要一种通用的方式来调用它,以便各种控制台程序和/或脚本可以保持兼容。这让您了解如何调用非 Gcode 命令。

如您所知,我一直在使用(4 个字符)助记符和友好名称来扩展 $ 构造。因此,一种方法是将“$home”作为助记符。为了与 $ 概念保持一致,您还可以提供单个值,例如 $home=2。

我也喜欢 Mach3 将 G28 扩展到 G28.1 的方式。通过这种方式,您可以指定归位操作中涉及的轴。但是有一个有效的论点说不应从 Gcode 调用归位。似乎有两种思想流派。

我们应该启动参数对话框。Bruce 还需要 2 个参数来归位,而这只是访问 Gcode 参数 #0000 – #5399 中的内容的开始。

归位周期 #66

我有一个龙门式数控割炬切割台的应用程序,长轴上有两个从动步进器。我希望修改主代码以将轴与两个独立的主开关对齐。

我是 GitHub 的新手;我刚刚做了一个叉子来工作,但我想知道是否应该从其他人的工作中提取一些归位代码。

归位周期 #66

在limits.c 中,已经有一个启动归位循环程序,但需要做一些工作。您可以通过根据您的目的修改代码来相对轻松地使其工作。如果您碰巧提出了一种紧凑、通用且强大的方法,我们很乐意看到它并尝试将其集成到其中。

归位周期 #66

嗨,我已经修改了 limits.c 以启用 PORTB 上限制引脚的内部上拉(我使用的是切换到接地的常开开关)。PINB 上似乎有时会出现“幽灵”数据。这然后过早地触发反向归位循环。发生这种情况时,Arduino Uno 上的 Tx LED 也会闪烁一次。我怀疑某些中断导致 PINB 状态发生变化。我可能可以通过添加去抖动代码来弥补这一点,但我想了解它为什么会发生。

归位周期 #66

谢谢hansj66。从本周开始,我又回到了 Grbl 开发“马”上,并且正在完全重新设计 limits.c 和归位周期。我将为用户提供更多选项来为他们的限位开关设置 grbl(即正常的高或低、方向等)。这些都将是 config.h 中的编译时设置,直到事物固化然后被推送到主分支。

“鬼”数据很可能是由弹跳开关引起的。不久前在这些“论坛”中讨论了如何对开关进行去抖动。最简单的做法是在开关上添加一个低通滤波器(通过一个小电容并联),以帮助去除高频噪声。至于添加代码,您可以尝试的一件事是在反向归位周期开始之前在 limits.c 中添加一个短暂的延迟。这应该做一个穷人的去抖(这可能是我会做的方式)。我还没有看到一个优雅的去抖动实现可以很好地适用于 Grbl,我也没有想出一个。如果你有任何想法,我愿意接受。

归位周期 #66

我只是将硬件放在一起,用于在 X 轴上带有双(硬件从动)步进驱动器的 3 轴工作台。我需要独立地将两个从动电机归位,以使马车保持正方形。我希望必须稍微自定义归位代码才能做到这一点,所以我会感兴趣地关注limits.c 的开发。

我还在考虑将限位开关引入 I2C I/O 扩展器(如 Microchip MCP23017),如果有任何想法会发布。

归位周期 #66

根据您的机器的刚度,实际可用的 X’-X” 差异可能小于限位开关的重复精度 :-) 这意味着您可能无法使用此方法将其调平。
我正在使用的机器具有设置(双 X 轴)和 X 轴上的单个限位开关。在过去的三个月里,我一直在使用马车而没有歪斜。

至于去抖动,业界的做法(在软件中)是从“现在是引脚高”切换到“引脚在过去n 个时间单位内一直处于高位”。

归位周期 #66
成员

尚尼特 评论 on 27 Sep 2012

在软件中同意可以工作,但
对于业余爱好者来说,简单的 RC(低通滤波器)电路也可以。

软件的主要问题是确保去抖动程序很小
,并且不会干扰 grbl 需要实时运行的所有其他内容。
我想在某个时候安装一个去抖动例程,因为我想
确定运行时控件(馈电保持、循环启动)并且它们需要
去抖动。限制没有那么多,因为它们是一种特殊情况,可以
写成对弹跳开关不敏感。

不久前,我记得我尝试着写一篇。我不记得我为什么
停下来,但我认为它要么与它变得过于
复杂有关,要么是一个计时器问题。Radu 如果您知道如何
有效地实现这一点,我会全力以赴。

2012 年 9 月 27 日凌晨 4:49,Radu – Eosif Mihailescu <
notifications@github.com > 写道:

根据您的机器的刚度,实际可用的 X’-X” 差异
可能小于限位开关的重复精度 :-)
意味着您可能无法使用此方法将其调平。
我正在使用的机器具有设置(双 X 轴)和 X 轴上的单个
限位开关。在过去的三个月里,我一直在使用
马车而没有歪斜。

至于去抖,业界的做法(在软件中)是
从“现在是引脚高”切换到“引脚在过去 n 个时间
单位
内一直处于高位”。


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

归位周期 #66

我遇到了这篇论文http://www.eng.utah.edu/~cs5780/debouncing.pdf,它以一种非常好的和非学术性的可怕方式解释并提出了我要说的一切,我推荐你读一读。

此外,如果人们对通用中端硬件去抖动器感兴趣,我愿意提出一种可用于您需要的任何东西(限位开关、键盘、索引传感器等)的设计。

归位周期 #66

是否有人对一次执行一个轴的归位循环有任何问题?而不是像现在这样移动多个轴?

我问的原因是我认为我可以简化整个归位循环程序,与我刚刚推动的有独立步进程序的地方相比。这个想法只是将直线运动直接循环到规划器中,并且引脚更改中断将监控限位开关并停止步进器。这将使代码更小,并与已有的代码很好地集成。大家怎么看?值得麻烦吗?

归位周期 #66

我个人不喜欢归位周期有多慢,如果你认为你可以
加快它,你应该这样做。这是作为用户而不是程序员来的。当我
通常每次打印至少两次回家时,我已经厌倦了缓慢的归位。

2012 年 10 月 5 日星期五上午 10:34,Sonny Jeon notifications@github.com写道:

是否有人对一次执行一个轴的归位循环有任何问题
?而不是像现在这样移动多个轴?

我问的原因是我认为我可以简化整个归位循环
程序,与我刚刚推动的有独立
步进程序的地方相比。这个想法只是将直线运动直接循环到
规划器中,并且引脚更改中断将监控限位开关并停止
步进器。这将使代码更小,并
与已有的代码很好地集成。大家怎么看?值得麻烦吗?


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

归位周期 #66

最近的推动将归位速度与寻道和进给速率联系起来。您
必须自己编译才能使用它。但是,您也可以
对当前版本执行相同的操作来调整速度,因为它是硬
编码在 limits.c 文件中的。

对此的 EEPROM 设置应该很快就会推出,这样您就不必
重新编译来调整速率。

2012 年 10 月 5 日上午 8:41,afpiper420 notifications@github.com写道:

我个人不喜欢归位周期有多慢,如果你认为你可以
加快它,你应该这样做。这是作为用户而不是程序员来的。当我
通常每次打印至少两次回家时,我已经厌倦了缓慢的归位。

2012 年 10 月 5 日星期五上午 10:34,Sonny Jeon notifications@github.com写道:

是否有人对一次执行一个轴的归位循环有任何问题
?而不是像现在这样移动多个轴?

我问的原因是我认为我可以简化整个归位循环
程序,与我刚刚推动的有独立
步进程序的地方相比。这个想法只是将直线运动直接循环到
规划器中,并且引脚更改中断将监控限位开关并
停止
步进器。这将使代码更小,并
与已有的代码很好地集成。大家怎么看?值得
麻烦吗?


直接回复此邮件或在 GitHub 上查看<
https://github.com/grbl/grbl/issues/66#issuecomment-9177467&gt;


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

归位周期 #66

那么,正如今天构建的那样,系统是否期望一个引脚在达到限制时变高或在达到限制时变低?

归位周期 #66

正常的高,我相信。所以当它低时它应该停止步进器。我
建议在测试之前降低默认搜索率。我正在努力获得这些限制设置,但 本周末
遇到了 strtod() 问题。
让我们知道它是如何工作的。

2012 年 10 月 8 日上午 9:02,komradebob notifications@github.com写道:

那么,正如今天构建的那样,系统是否期望一个引脚在达到限制时变高
或在达到限制时变低?


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

归位周期 #66

我还没有使用 grbl,但是我使用的软件在
各个轴上进行了独立的归位。它想改为进行联合归位,但到目前为止,这
只是评论中的一个待办事项。

也就是说,我认为隔离轴工作正常。但从这里看,你的草
似乎更绿了。

Phil
在 2012 年 10 月 5 日上午 10:34,“Sonny Jeon” notifications@github.com写道:

是否有人对一次执行一个轴的归位循环有任何问题
?而不是像现在这样移动多个轴?

我问的原因是我认为我可以简化整个归位循环
程序,与我刚刚推动的有独立
步进程序的地方相比。这个想法只是将直线运动直接循环到
规划器中,并且引脚更改中断将监控限位开关并停止
步进器。这将使代码更小,并
与已有的代码很好地集成。大家怎么看?值得麻烦吗?


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

归位周期 #66

查姆尼特,我会告诉你的。是否启用了内部上拉,以便可以使用 NO 开关,还是需要提供它们?

我已经设置好了cnc,只需要连接限位开关。今天应该可以测试了。

归位周期 #66

@komradebob:我认为内部上拉是禁用的,不知道如何在 C 中做到这一点。在完成代码之前,我会确保我对此进行了调查。我一直在示波器上测试所有东西,并且必须连接一个简单的上拉电阻才能让它们工作。目前,除了破解源代码本身之外,没有太多可配置性,因此请谨慎操作。它将首先向上移动 z 轴(正),直到检测到限位开关低,然后同时移动 xy 正和一旦其中一个限制变低时移动。在它们都达到极限后,它们都应该向负方向移动,直到开关分别回到高电平。

还有很多工作要做,所以如果你发现有什么你想看看它是如何工作的,现在是安装它的时候了。就我的计划而言,我将为接近和离开归位进给率安装用户设置,完全启用/禁用归位,启用/禁用某些限位开关(可能),以及切换开关是否正常高/低。

@phord: 感谢您的输入。听起来我毕竟会保持多轴归位。当我们向下添加第 4 个轴时,这肯定会派上用场。

归位周期 #66

@chamnit,

这是有关如何设置上拉电阻的链接:

能量/能量#30

它是关于使用启动板的,但使用的示例是“这里是如何在 Arduino 上执行此操作”。:)

归位周期 #66

一旦找到起始位置,它就会将其设置为 0,0,0,对吗?

归位周期 #66

是的。它应该。只是为了重新迭代,确保你下载了当前的边缘分支源代码并编译它以获得新的归位固件。它现在不能作为预编译固件下载。

归位周期 #66

@komradebob:我刚刚将固件版本上传到下载区域。我已经为限位开关启用了内部上拉电阻。我希望这能让您更轻松地测试它。如果您有任何问题,请告诉我。

归位周期 #66

发现离开限位开关的问题。现在工作并更新了固件下载。

归位周期 #66

这周我准备测试一些限制/主页功能,我有一个相关的问题。在我的机器上,在正常操作期间(即归位完成后),我想使用正负限位开关作为“安全”停止,如果启动,它将保持机器的进给。据我所知,这个功能现在不在代码中,是真的吗?

归位周期 #66

我知道在一些reprap fork中我们有它。不过,主要是针对 Max end
stop,因为一旦找到 min stop,机器可以配置为永远不会转到
小于 0 的坐标。

我相信这是马林鱼的味道。如果您查看 config.h,您
可能会看到定义。
2012 年 10 月 9 日凌晨 2:03,“chuck-h” notifications@github.com写道:

这周我准备测试一些限制/主页功能,我有一个
相关的问题。在我的机器上,在正常操作期间(即
归位完成后),我想使用正负限位开关作为
“安全”停止,如果启动,它将保持机器的进给。据我
所知,这个功能现在不在代码中,是真的吗?


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

归位周期 #66

是的。这些功能已经有很长时间了,我正在尝试纠正这个问题,同时有一些时间来完成它们。

因此,要回答您的问题,chuck-h,不,从技术上讲,现在还没有用于加/减限位开关的引脚。但是,我们一直在讨论如何正确地做这样的事情。问题是,当一个限位开关被击中时,电机可能无法使机器减速到停止,然后再击中开关的最大行程并破坏它。此外,当突然出现不受控制的停止时,Grbl 将失去其位置。所以,就目前而言,我建议将这些限制连接到 Arduino 复位引脚。这将在超出物理限制时停止 Grbl,并像急停一样工作。

至于有什么打算?很难说正确的做法是什么,因为我们需要它为每个人正确工作。我们可以做的一件事是在归位完成后进行“软”限制。由于机器零位,用户可以在设置中写入工作体积尺寸(减减速距离)。如果机器位置超过这些限制中的任何一个,则 Grbl 将执行受控进给保持并要求系统中止命令进行重置。在这种情况下不会丢失位置。我可以相对较快地完成这项工作,因为我现在正在更新设置模块并在那里获得一大堆新配置。

我们可以做的另一件事是对限制引脚例程进行编程,以在检测到引脚变化时中断并终止步进器。位置将丢失。这也是完全可能的,因为我已经编写了这段代码并且可以说它有效。但是,我不确定我是否会朝这个方向发展,因为我不能 100% 确定这不会导致用户因电气干扰(来自不良设置)而随机停止。虽然,我可以将其配置为供用户测试并查看它是如何进行的。

大家怎么看?

归位周期 #66

我们再次面临一个跨界问题:如果我们没有足够好的硬件知识,就无法编写足够好的软件。恕我直言,我们应该停止这一点,而不是仅仅因为这样做会很好:科学证明我们需要无限数量的开发人员来支持任何可以想象的机器和配置:)
开玩笑,我认为有组织的方法可能如下所示:

  • 确定开关可以是参考或限制;理解 reference 用于确认(反馈)到达预定位置,limit 用于通知(警报)到达禁止或危险位置
  • 限位开关和紧急动作:
    • 允许用户决定以移动速度触发限位开关是否是灾难性的(即机器加速度数字是否足以使轴在撞击机械限位之前停止)
      • 如果是灾难性的,接线(在软件或硬件中)表示切换到 E-Stop 并进行软剪辑(即让 G 代码逻辑位于距离限位开关一小段距离的盒子中通过执行 M00 来处理试图越界的盒子边界导致违规的区块)
      • 如果不是灾难性的,电线(在软件或硬件中)表示切换到 Feed Hold 并进行硬剪辑(即让 G 代码逻辑存在于边界正好在开关上方的盒子中;通过执行 Feed Hold 来处理框边界侵入和在导致破坏的块期间执行 M00)
    • 由于这些是限位开关,因此触发它们会停止处理(无论如何以及是否可以从该点恢复),这是行业中的预期行为
  • 参考开关和重新校准:
    • 允许用户决定是否将限位开关重新用作参考开关,或者他们是否将有另一个专用开关用于参考以及该开关位于轴上的哪个位置(即它提供确认的轴位置);还允许用户指定错误窗口大小(即我们将在其中搜索开关的空间量——如果开关似乎不在所述窗口中,我们会因错误而中止重新校准)
      • 如果使用专用开关:
        • 以移动速度将轴移动到开关的位置,就好像运动会在那里结束(即计划在开关上停止)。
        • 如果开关较早跳闸,请注意其 [new] 位置(如果在窗口中,否则会因错误而中止);如果我们已经进入窗口,但开关还没有跳闸,停止减速并以窗口结束处的当前速度计划新的移动;如果开关仍未跳闸,则错误中止
        • 如果我们没有中止,请按照我们来的方式关闭开关(即向后走)直到它重置,然后再次朝它移动直到它再次跳闸;用目标位置更新软件位置,并最终向用户显示定位错误 ( fabs(expected position - actual position))
      • 如果重复使用非灾难性限位开关,请告知我们实际期望触发开关的代码/硬件并使用上述程序
      • 如果重复使用一个灾难性的限位开关,唯一完全安全的方法是以最慢的速度向它移动轴,从这个速度我们可以在任何损坏之前完全停止(即速度与机器加速度相结合导致停止距离小于开关跳闸到我们达到机械极限之间的距离)——我们称之为寻道速度,用户必须提供;否则,上述程序也适用。
    • 因为这些是参考开关(当然,如果它们是专用的),触发它们不会以任何方式影响处理,除了提供 CPU-cycles -budget-permitting 选项来比较确认的位置和实际位置并提醒用户如果他们在处理过程中不同意

这应该足够清晰和有条理:-)

归位周期 #66

哈哈。同意@csdexter. 好东西。我们不需要考虑每个人,只要确保它足够通用且可破解即可

我和我的朋友机械师迈克(终身专业人士和讲师)谈论了限制以及它们现在和过去的工作方式。一般来说,硬限制已经有一段时间没有使用过了,因为大多数控制器在 g 代码程序中向前看并监控工作空间的体积,即软限制。过去,硬限制基本上像急停一样扼杀了机器,并且很可能由于机械开关的故障而被淘汰,从电气噪声到因冷却剂吞噬它们而粘连。

无论哪种方式,一旦达到或检测到硬或软限制,机器将进入“警报”模式,这基本上是一个急停并强制用户重置控制器(不是 M0,因为您可以使用 M0 恢复) . 就 Grbl 而言,我们可以直接在 gcode 解析器中执行类似的操作(而不是实时步跟踪)并监视工作空间体积中的运动,前提是已经完成了归位,然后错误输出、保持并报告是否存在一个问题。位置保持不变,开关没有电子噪音问题。

因此,由于机械开关容易发生故障,也许这应该是可行的方法。通过在新块进入时跟踪 g 代码解析器中的机器位置来进行软限制。(我也一直在考虑为 Grbl 提供一个模拟模式。在运行之前没有步进运动来检查 g 代码。)并且只是推荐给用户需要机械硬限制将它们连接到 Arduino 复位引脚,或者将机械软限制连接到(即将成为)馈电/特殊限制引脚,如您所描述的。

现在唯一的问题是我们需要考虑没有限位开关的人。我建议我们可以在设置中启用/禁用归位和限制。启用后,用户应在操作前强制回家(CNC 的标准做法),然后软限制也将启用。禁用时,Grbl 假定启动位置是机器零并且软限制被禁用。在这种模式下,用户可以立即开始使用 Grbl 而无需归位。这应该涵盖一切……我希望。

归位周期 #66

如果没有最大/最小限位开关,很难“发现”工作空间的
体积。我建议我们需要能够通过 $ 选项设置它
或使用限位开关发现它。(也许可以告诉 $option ‘你
有限位开关,自己去弄清楚’)它还带来了让
机器进行自己的步骤/单位校准的有趣能力。
‘你有 X、Y、Z 和限位开关的体积,去计算步数/单位’。
但那是在乌托邦版本中我认为;)

我喜欢硬/软限制概念。如果您按下开关,请立即急停。
如果您达到软限制,请停止并发出警报。是否允许继续
,我会让你们打那个。

我同意没有限位开关的行为。我想您希望
用户在流式传输 g 代码之前手动将系统定位在家里。
这将通过直接在 g 代码中的微动开关或命令来完成。

使用限位开关,您还需要设置软限位和
硬限位之间的增量。如果你有硬和软限制,你是从家里开始(0,0,0)
还是在家里+软限制偏移量(0+soft_x,0+soft_y,0+zoft_z),或者是软
限制(0,0, 0) 和硬限制软 – 偏移。(
当然是所有绝对位置)

鲍勃

2012 年 10 月 9 日星期二下午 2:06,Sonny Jeon notifications@github.com写道:

哈哈。同意@csdexter https://github.com/csdexter。好东西。我们
不需要考虑每个人,只要确保它
足够通用且可破解即可

我和我的朋友机械师迈克(终身专业人士和讲师)谈论了
限制以及它们现在和过去的工作方式。一般来说,硬限制
已经有一段时间没有使用过了,因为大多数控制器在 g 代码程序中向前看
并监控工作空间的体积,即软限制。过去
,硬限制基本上像急停一样扼杀了机器,并且很
可能由于机械开关的故障而被淘汰,从
电气噪声到因冷却剂吞噬它们而粘连。

无论哪种方式,一旦达到或检测到硬或软限制,机器
将进入“警报”模式,这基本上是一个急停并强制用户
重置控制器(不是 M0,因为您可以使用 M0 恢复) . 就
Grbl 而言,我们可以直接在 gcode 解析器中执行类似的操作(而
不是实时步跟踪)并监视工作空间体积中的运动,
前提是已经完成了归位,然后错误输出、保持并
报告是否存在一个问题。位置保持不变
,开关没有电子噪音问题。

因此,由于机械开关容易发生故障,也许这应该是可行的方法。通过在新块进入时跟踪 g 代码解析器中的机器位置来进行软限制
。(我也一直在考虑
为 Grbl 提供一个模拟模式。在运行之前没有步进运动来检查 g 代码。)并且只是
推荐给用户需要机械硬限制将它们连接到
Arduino 复位引脚,或者将机械软限制连接到(即将成为)
馈电/特殊限制引脚,如您所描述的。

现在唯一的问题是我们需要考虑没有
限位开关的人。我建议我们可以在
设置中启用/禁用归位和限制。启用后,用户应在操作前强制回家
(CNC 的标准做法),然后软限制也将启用。
禁用时,Grbl 假定启动位置是机器零并且软
限制被禁用。在这种模式下,用户可以立即开始使用
Grbl 而无需归位。这应该涵盖一切……我希望。


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

归位周期 #66

同意。工作区卷需要由用户提供。我将把它包括在“$”设置中,以及归位启用、去抖动延迟等。(限制将设置为正常高,因为正常低有电气问题,正如我发现的那样。)

如果没有限位开关,用户不必手动慢跑回家,如果他们不想的话。软限位将被禁用,由用户监控机器或安装硬限位开关。

需要确定增量限制距离的好点。可能在内部,因为我们已经知道加速。我需要考虑这一点,特别是如何处理离开家和违反软限制音量的问题。

今晚晚些时候,我将重新发布 v0.8b,其中包含一些更改的归航程序。它将寻找/慢跑到限位开关,然后缓慢地循环离开/接近几次,以更好地提高准确性和可重复性。更多即将到来。

归位周期 #66

同意。有两个开关很好,不是必须的。但是,如果
机器有它们,那么能够使用它们就很好,即使只是为了硬
限制。将它用于最大旅行自动发现只是一个“它就在那里,不妨
将它用于这个”项目。

Pulloff 值听起来也很有用。

2012 年 10 月 16 日星期二下午 1:07,Sonny Jeon notifications@github.com写道:

就个人而言,我认为在一个轴上安装两个归位开关并没有多大好处
,至少在机器使用时是这样。归位应该定位机器
零,无论是正的还是负的。在大多数情况下,用户
不(或不应该)在机器坐标系中工作,而是在工作
坐标系 (G54) 中工作。有另一个限位开关来告诉您最大行程
似乎只需要在设置过程中使用一次,
而这可以通过手动轻松完成。

这并不是说不需要两个限位开关,因为它们
对于硬限位仍然有用。我只是说让它们用于归位
和机器工作空间计算似乎很不错,但不是
必需的。

我认为奥尔登在 TinyG 中确实拥有的一件事是拉脱
旅行价值。因此,如果您想让限位开关同时作为
归位和硬限位运行,拉脱行程值会将轴从
限位开关上移开(例如 0.005″),这样就不会意外地将它们接合到正常
操作中。


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

归位周期 #66

好的。我刚刚在边缘分支做了一个很大的推动。有硬限制,归位方向掩码(使用与步进器反转掩码相同的位。0 是正方向,1 是负方向),以英寸为单位的状态报告选项,自动循环启动是可配置的,还包括归位拉动关闭距离,它将所有轴在设置机器零后移动该距离并启用限位开关作为硬限位(因此开关可用于归位和硬限位)。

几点注意事项:如果检测到硬限制,它将终止步进器和主轴并进入无限循环,直到您向 Grbl 发送重置/中止命令 (^x) 或仅重置 Arduino。这是新警报功能的一部分,可在出现问题时帮助防止崩溃和其他非常错误的事情。二,这是非常BETA。我没有太多机会,也没有时间来测试一切。看来你们都有这样做的设置。所以,如果你愿意,请下载新固件,如果我错过了什么,请告诉我。谢谢!

归位周期 #66

我要非常感谢最新的更新,经过测试,效果很好。需要注意的几个项目,除非您启用了硬限制,否则不会启用归位后退。此外,我相信后退距离应该始终为负数,以免它继续朝着归位方向前进(至少对我而言)。

这是一个展示新功能的视频。
http://youtu.be/pglgRPEPWu8

归位周期 #66

甜蜜的视频!感谢分享它和评论。无论是否启用了硬限制,我都会确保更改归航程序以执行起飞机动。它会在下一次推送时出现。

至于负拉离距离,我不确定你所说的负数是什么意思。它应该根据归位方向掩码将行程值从限位开关上移开,因此每个轴的实际运动可以是负数或正数。它不能正确移动吗?如果没有,你能告诉我你的步进反转掩码和你的归位设置是什么吗?我可能需要做一些设置检查,这样用户就不会正确设置并撞到他们的限位开关。

归位周期 #66

此外,限制引脚上的内部上拉电阻应该已经启用并保持高电平。视频中不清楚您是否为开关连接了外部上拉电阻。从理论上讲,您所要做的就是在连接到 Arduino 接地引脚的(常开)限位开关中接线。如果您已经收到此消息,请忽略此消息。:)

归位周期 #66

不知道关于引体向上的好消息:D

我不是超级知识渊博,所以这肯定是我的错误。目前我的设置是:
Grbl 0.8b
‘$’ to dump current settings
$0 = 3200.000 (x axis, steps/mm)
$1 = 3200.000 (y axis, steps/mm)
$2 = 3200.000 (z axis, steps/mm)
$3 = 30(步进脉冲,usec)
$4 = 100.000(默认进给速率,mm/min)
$5 = 200.000(默认寻道速率,mm/min)
$6 = 0.100(圆弧分辨率,mm/segment)
$7 = 160(步进端口反转掩模) , int:binary = 10100000)
$8 = 25.000 (加速度, mm/sec^2)
$9 = 0.050 (转弯交界处偏差, mm)
$10 = 0 (状态报告英寸, bool)
$11 = 1 (auto start enable, bool)
$12 = 1(硬限制启用,布尔值)
$13 = 1 (homing enable, bool)
$14 = 96 (homing direction mask, int:binary = 01100000)
$15 = 100.000 (homing feed rate, mm/min)
$16 = 200.000 (homing seek rate, mm/min)
$17 = 100 (归位去抖延迟,毫秒)
$18 = -4.000(归位拉断行程,毫米)
$19 = 25(步进空闲锁定时间,毫秒)
$20 = 3(小数位,整数)

我正在用我的 Z 轴进行测试,当它归位 Z 轴时,18 美元是 1.000 的默认值,然后将其推入限位开关,进一步推离归位拉断的距离。Z 是第一个拉断的轴,所以当我看到它发生时我点击了重置,不确定 X 或 Y 会如何表现。当我将 18 美元设置为 -4.000 时,所有轴在归位后都正确后退了 4 毫米。

归位周期 #66

不用担心。当我推出新功能时,我没有在 wiki 上编写说明更多的是我的错。当我有机会时,我必须纠正它。

所以,看起来你是对的。我的拉断动作翻转了。对于当前的构建,拉断行程需要为负值才能正常工作。今晚我将尝试推动修复以使默认值和运动正确关联。感谢您的提醒!

另外,我从您的设置中注意到您的 XY 轴方向可能会翻转,因为从您的视频中,您的桌子应该已经向右移动并远离您,$14=96。因此,请尝试设置 $7=192 和 $14=0。这应该是正确的笛卡尔坐标设置。(我认为)。

归位周期 #66

奇怪的是,使用默认的回拉设置似乎对我来说可以正常工作……

2012 年 10 月 28 日 20:02,Sonny Jeon notifications@github.com写道:

不用担心。当我推出新功能时,我没有在 wiki 上编写说明更多的是我的错。当我有机会时,我必须纠正它。

所以,看起来你是对的。我的拉断动作翻转了。对于当前的构建,拉断行程需要为负值才能正常工作。今晚我将尝试推动修复以使默认值和运动正确关联。感谢您的提醒!

另外,我从您的设置中注意到您的 XY 轴方向可能会翻转,因为从您的视频中,您的桌子应该已经向右移动并远离您,$14=96。因此,请尝试设置 $7=192 和 $14=0。这应该是正确的笛卡尔坐标设置。(我认为)。


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

归位周期 #66

诡异的。@komradebob你能把你的设置发给我吗?我想看看是否有特殊情况适用于一个而不适用于另一个。

归位周期 #66

当然。干得好:

$0 = 632.000(x 轴,步数/mm)
$1 = 632.000(y 轴,步数/mm)
$2 = 1527.000(z 轴,步数/mm)
$3 = 3(步脉冲,usec)
$4 = 100.000(默认进给率, mm/min)
$5 = 140.000(默认寻道速率,mm/min)
$6 = 0.100(圆弧分辨率,mm/segment)
$7 = 4(步进端口反转掩码,int:binary = 00000100)
$8 = 10.000(加速度,mm/ sec^2)
$9 = 0.050(转弯连接偏差,毫米)
$10 = 0(状态报告英寸,布尔值)
$11 = 1(自动启动启用,布尔值)
$12 = 0(硬限制启用,布尔值)
$13 = 1(归位启用, bool)
$14 = 80 (归位方向掩码, int:binary = 01010000)
$15 = 50.000 (归位进给率, mm/min)
$16 = 100.000(归位寻道速率,毫米/分钟)
$17 = 100(归位去抖动延迟,毫秒)
$18 = 1.000(归位拉断行程,毫米)
$19 = 25(步进空闲锁定时间,毫秒)
$20 = 3(十进制) places, int)
‘$x=value’ 来设置参数或只是 ‘$’ 来转储当前设置

2012 年 10 月 28 日星期日晚上 11:42,Sonny Jeon notification@github.com写道:

诡异的。@komradebob https://github.com/komradebob你能为我发布你的
设置吗?我想看看是否有特殊情况适用
于一个而不适用于另一个。


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

归位周期 #66

奇怪的是,如果我发出一个 home cmd g28 x0,它会将所有轴都归位。

此外,据我所知,无论 12 美元的状态如何,行为都是相同的。

鲍勃

2012 年 10 月 28 日 18:40,goopyplastic notification@github.com写道:

不知道关于引体向上的好消息:D

我不是超级知识渊博,所以这肯定是我的错误。目前我的设置是:
Grbl 0.8b
‘$’ to dump current settings
$0 = 3200.000 (x axis, steps/mm)
$1 = 3200.000 (y axis, steps/mm)
$2 = 3200.000 (z axis, steps/mm)
$3 = 30(步进脉冲,usec)
$4 = 100.000(默认进给速率,mm/min)
$5 = 200.000(默认寻道速率,mm/min)
$6 = 0.100(圆弧分辨率,mm/segment)
$7 = 160(步进端口反转掩模) , int:binary = 10100000)
$8 = 25.000 (加速度, mm/sec^2)
$9 = 0.050 (转弯交界处偏差, mm)
$10 = 0 (状态报告英寸, bool)
$11 = 1 (auto start enable, bool)
$12 = 1(硬限制启用,布尔值)
$13 = 1 (homing enable, bool)
$14 = 96 (homing direction mask, int:binary = 01100000)
$15 = 100.000 (homing feed rate, mm/min)
$16 = 200.000 (homing seek rate, mm/min)
$17 = 100 (归位去抖延迟,毫秒)
$18 = -4.000(归位拉断行程,毫米)
$19 = 25(步进空闲锁定时间,毫秒)
$20 = 3(小数位,整数)

我正在用我的 Z 轴进行测试,当它归位 Z 轴时,18 美元是 1.000 的默认值,然后将其推入限位开关,进一步推离归位拉断的距离。Z 是第一个拉断的轴,所以当我看到它发生时我点击了重置,不确定 X 或 Y 会如何表现。当我将 18 美元设置为 -4.000 时,所有轴在归位后都正确后退了 4 毫米。


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

归位周期 #66

@komradebob: 谢谢!因此,如果我理解正确,您的极限方向将您的 z 轴向上移动,并且您的 xy 表 x-left 和 y-back (您反转,因为传统方向应该是 y-front)。此外,为了确保当您启用硬限位设置(启用拉断行程)并执行归位循环时,拉断行程远离所有限位开关。这个对吗?

更奇怪的是,g28 x0 应该将您的 x 轴移动到它认为 x0 首先是的位置,然后执行归位循环。根据定义,任何像 x0 一样的显式轴移动都会在回家之前移动到中间位置。从技术上讲,g28 和 g30 实际上根本不应该执行归位循环,而是转到某个预定的“归位”位置,这不一定意味着机器零位。归位周期应该由一个非 g 代码系统命令来处理,我正在研究如何以一种很好的方式添加它。

归位周期 #66

有趣的。

我目前正在设置铣削 pcb,所以我将 z=0 0.062″ 设置在桌子的顶部,z+0.062 击中限位开关并停止轴,防止 z 轴崩溃。它还允许我更改位不保留轴。

为了使加载板更容易,我将 XY 原点设置为一直向后和向左的桌子。Y+ travel 将桌子向前移动,x 将其向左移动。因为我在每个轴的两端都有限位开关,所以我可以用任何一种方式进行设置。

这是 x 轴归位的视频,$12=0

http://m.youtube.com/#/watch?feature=youtube_gdata_player&v=wGPUTmVQ-z0&desktop_uri=%2Fwatch%3Fv%3DwGPUTmVQ-z0%26feature%3Dyoutube_gdata_player

完整的 g28 归位视频如下。

2012 年 10 月 29 日 0:31,Sonny Jeon notifications@github.com写道:

@komradebob: 谢谢!因此,如果我理解正确,您的极限方向将您的 z 轴向上移动,并且您的 xy 表 x-left 和 y-back (您反转,因为常规方向应该是 y-front)。此外,为确保当您启用硬限位设置(启用拉断行程)并执行归位循环时,拉断行程远离所有限位开关。这个对吗?

更奇怪的是,g28 x0 应该将您的 x 轴移动到它认为 x0 首先是的位置,然后执行归位循环。根据定义,任何像 x0 一样的显式轴移动都会在回家之前移动到中间位置。从技术上讲,g28 和 g30 实际上根本不应该执行归位循环,而是转到某个预定的“归位”位置,这不一定意味着机器零位。归位周期应该由一个非 g 代码系统命令来处理,我正在研究如何以一种很好的方式添加它。


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

归位周期 #66

同时,在另一条小路上,我一直在为一台具有如下主页/限制的机器编写代码:http: //opensourceecology.org/wiki/CNC_Torch_Table_Control_Overview#Limits_and_Homing

我的叉子https://github.com/chuck-h/grbl/commits/edge可能会感兴趣的一些事情——
(1)我用“独立轴”模式扩展了 stepper.c(每个轴在不同的时间减速)用于归位
(2) 我在运动回路内将 sys.position 寄存器卡到零,即检测到归位开关的瞬间。

归位周期 #66

再次感谢您提供的所有信息,是的,我不太确定正确的轴方向,因为这是我的第一个 CNC 项目,我按照龙门机床的说明进行操作,所以现在它们倒退是有道理的。我还可以确认不需要外部上拉,并且 x/y 方向正确,我仍然需要负拉。这是我的新配置和视频:

http://www.youtube.com/watch?v=JH5SndjE5sw

发出的指令:
G28
Z-25 X70 Y22

我相信这些现在都在朝着正确的方向努力:D

Grbl 0.8b
‘$’ 转储当前设置
$0 = 3200.000(x 轴,步数/mm)
$1 = 3200.000(y 轴,步数/mm)
$2 = 3200.000(z 轴,步数/mm)
$3 = 30(步脉冲, usec)
$4 = 200.000(默认进给速度,mm/min)
$5 = 200.000(默认寻道速度,mm/min)
$6 = 0.100(圆弧分辨率,mm/segment)
$7 = 192(步进端口反转掩码,int:binary = 11000000)
$8 = 25.000(加速度,mm/sec^2)
$9 = 0.050(转弯交界处偏差,mm)
$10 = 0(状态报告英寸,布尔值)
$11 = 1(自动启动启用,布尔值)
$12 = 1(硬限制enable, bool)
$13 = 1 (homing enable, bool)
$14 = 96 (homing direction mask, int:binary = 01100000)
$15 = 200.000(归位进给率,mm/min)
$16 = 200.000(归位寻道速率,mm/min)
$17 = 100(归位去抖动延迟,毫秒)
$18 = -1.000(归位拉断行程,mm)
$19 = 25 (步进器空闲锁定时间,毫秒)
$20 = 3(小数位,整数)

对最大范围的 3 个额外硬限位开关实施类似的支持是否合适?我目前正在将它们绑定到重置哪些工作但可能更适合以与归位开关的硬限制相同的方式实现它们。

归位周期 #66

看起来不错!方向看起来设置正确,它们与您设置的归位方向掩码相关,其中中心是 +x、+y、-z。我正在努力将持久工作坐标偏移(G54-G59)添加到 EEPROM 中,以便它使归位周期更容易和有用,而不是现在您必须显式发送 G10 或 G92 命令来偏移框架以便中心是 0,0,0 或任何您需要的值。

我不确定您为最大范围设置 3 个额外的硬限制是什么意思。您应该能够将任意数量的限制连接到限制引脚,即在与地线平行的轴的行程的每一端都有一个。根据您的归位方向掩码,您还可以将任一用于归位开关。如果您的意思是诸如软限制之类的东西,它不会进入无限循环,而是进行受控减速并保持机器位置,我不打算为此实施物理开关,而是会有一个内部运动检查,它将需要即将推出的工作区音量设置。

归位周期 #66

@chuck-h: 火炬桌看起来很甜美!就步进器模块而言,必须对其进行彻底检修才能有效地实现进给率倍率,因为按照现在的编写方式正确执行它会有点困难。我最初计划做一些像你的叉子一样的事情,并让限制引脚更改中断句柄在归位周期中停止,但我做了我所做的,因为它现在更容易维护。当需要重构步进模块时,我肯定会再看看你收集到的一些想法。

归位周期 #66

哦,既然我们有硬限制,那么只需在相同的端口上运行两组限位开关就好了,不知道为什么我没有想到这一点。忽略我上面的废话。

归位周期 #66

我正在设置一台新机器。新的归位和限制是一个很好的补充。我正在使用归位和硬限制功能。

有一件事我还没有弄清楚,我怀疑它可能是我的机器特有的。

在我正在使用的机器上,无法手动(手动)移动 Z、Y 或 Z 轴。所有的运动都由步进电机控制。

当限位开关跳闸(硬限位)时,GRBL 停止并进入循环,这是有道理的,因为这是一个非常糟糕的情况。当我重置 GRBL 时,它会立即检测到限制已被触发,并再次进入循环。

要恢复,我需要拉动限位开关上的电线,这样 GRBL 就不会检测到限位开关已跳闸,并小心地输入 gcode 命令以退出限位开关,然后重新连接开关。

有没有办法覆盖限位开关,例如用于解锁归位功能的$x?处理这种情况的正确方法是什么?

谢谢,
史蒂夫

归位周期 #66

将一个常闭开关置于限制线之外。

Terry
在 2012 年 11 月 10 日晚上 8:36,“NorvilleRogers” notifications@github.com写道:

我正在设置一台新机器。新的归位和限制
是一个很好的补充。我正在使用归位和硬
限制功能。

有一件事我还没有弄清楚,我
怀疑它可能是我的机器特有的。

在我正在使用的机器上,无法手动(手动)
移动 Z、Y 或 Z 轴。所有的运动都由步进
电机控制。

当限位开关跳闸(硬限位)时,GRBL 停止并进入
循环,这是有道理的,因为这是一个非常糟糕的情况。当我重置
GRBL 时,它会立即检测到限制已被触发,并
再次进入循环。

要恢复,我需要拉动限位开关上的电线,这样 GRBL 就不会
检测到限位开关已跳闸,并小心地输入 gcode
命令以退出限位开关,然后重新连接开关。

有没有办法覆盖限位开关,例如用于
解锁归位功能的$x?处理这种
情况的正确方法是什么?

谢谢,
史蒂夫


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

归位周期 #66

如果发生这种情况,现在的解决方案是断开开关与接地或引脚的连接。我正在努力为此提出一个永久的解决方案,但提出一个有效的解决方案需要一些时间。

我已经测试了两种不同类型开关的硬限制,但无法重现此问题。您使用的是哪种限位开关(以及如何将它们接线)?我很好奇这种差异是否是驱动因素。

归位周期 #66

这是我的设置:

Arduino Uno 使用默认引导加载程序和默认保险丝

开关是 Digikey 部件号 EG4552-ND

开关在 Arduino 9、10、11 上以常开方式连接到 Arduino 地,没有外部上拉电阻

X 和 Y 轴有两个并联的开关,Z 轴有一个开关(在 Z 轴上可以看到相同的行为)

GRBL 已从 2012 年 11 月 10 日的代码下降中构建

软件配置:
grbl 0.8c [‘$’ for help]
[‘$H’ to home and unlock]
$$
$0=157.480 (x, step/mm)
$1=157.480 (y, step/mm)
$2=377.953 (z , step/mm)
$3=10 (step pulse, usec)
$4=250.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=0 (step port invert mask, int:00000000)
$7 =25(步进怠速延迟,毫秒)
$8=25.000(加速度,mm/sec^2)
$9=0.050(结点偏差,mm)
$10=0.100(弧,毫米/段)
$11=25(n-弧校正,int )
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=1 (hard limits, bool)
$17=1(归位周期,布尔值)
$18=96(归位目录反转掩码,int:01100000)
$19=25.000(归位进给,mm/min)
$20=250.000(归位寻道,mm/min)
$21=100(归位去抖动, msec)
$22=5.000 (归位拉断, mm)

-史蒂夫

归位周期 #66

拉动开关就可以了。

2012 年 11 月 11 日星期日下午 12:45,NorvilleRogers
notification@github.com写道:

这是我的设置:

Arduino Uno 使用默认引导加载程序和默认保险丝

开关是 Digikey 部件号 EG4552-ND

开关在 Arduino 9、10、11 上以常开方式连接到 Arduino 地
,没有外部上拉电阻

X 和 Y 轴有两个并联的开关,Z 轴有一个开关
(在 Z 轴上可以看到相同的行为)

GRBL 已从 2012 年 11 月 10 日的代码下降中构建

软件配置:
Grbl 0.8c [‘$’寻求帮助]

[‘$H’ 回家并解锁]

$$
$0=157.480 (x, step/mm)

$1=157.480 (y, step/mm)

$2=377.953 (z, step/mm)

$3=10(步进脉冲,usec)

$4=250.000(默认进给,毫米/分钟)

$5=500.000(默认寻道,毫米/分钟)

$6=0(步进端口反转掩码,int:00000000)

$7=25(步空闲延迟,毫秒)

$8=25.000(加速度,毫米/秒^2)

$9=0.050(结偏差,mm)

$10=0.100(弧,毫米/段)

$11=25(n 弧校正,整数)

$12=3(n 小数,整数)

$13=0(报告英寸,布尔值)

$14=1(自动启动,布尔值)

$15=0(反转步骤启用,布尔值)

$16=1(硬限制,布尔值)

$17=1(归位周期,布尔值)

$18=96(归位目录反转掩码,int:01100000)

$19=25.000(归位进给,毫米/分钟)

$20=250.000(归位寻道,毫米/分钟)

$21=100(归位去抖动,毫秒)

$22=5.000(归位拉断,毫米)

-史蒂夫


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

归位周期 #66

@NorvilleRogers: 刚刚推出了硬限制问题的修复程序。当硬限制发生时,您现在应该能够在发出 Ctrl-X 重置(不是电源循环)后访问设置和其他 Grbl 命令。当处于此警报状态时,它将锁定所有 g 代码块,包括启动块。如果您有任何问题或意见,请告诉我。

归位周期 #66

限位开关跳闸后,Ctrl-X 重置效果很好!谢谢你的快速反应。

我现在似乎遇到了一个问题,即每个命令在归位后似乎都会向负方向移动轴。归位 $H 命令似乎工作正常,所有方向的轴。

有什么想法可能导致这种情况吗?

-史蒂夫

归位周期 #66

不知道你说的总是朝负面方向移动是什么意思。归
位时,归位会将机器位置设置为全零,因此如果您
正确设置了轴,所有从归位开始的运动都将为负数。要设置
不同的坐标系或原点,只需
使用 g10 l20 p1 命令将 g54 坐标偏移设置为您想要的任何位置。它会将您
当前的位置设置为您的新工作坐标原点。这将保存
在 EPROM 中,因此每次您回家时,它都会重置回该系统。我希望
这是你问的。
2012 年 11 月 17 日下午 2:11,“NorvilleRogers” notifications@github.com写道:

限位开关跳闸后,Ctrl-X 重置效果很好!
谢谢你的快速反应。

我现在似乎遇到了一个问题,即每个命令
在归位后似乎都会向负方向移动轴。归位 $H 命令
似乎工作正常,所有方向的轴。

有什么想法可能导致这种情况吗?

-史蒂夫


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

归位周期 #66

谢谢你的描述。它帮助我发现了我的方式的错误。

我已将归位序列配置为拉出 5 毫米(22 美元)。我在想零位会偏离归位开关 5mm,但不,它已将机器移动到(5,5,5),零位是归位开关。

当我尝试将轴向任何方向移动 2 毫米时,它正确地移动了相对于归位开关的轴,而不是与我归位机器时它停止的位置有关。

底线是我不知道主位置在哪里。

请忽略我的胡言乱语。一切都很好!

谢谢,-
史蒂夫

归位周期 #66

很高兴听到。我在想,在起飞机动之后,我会让归位循环放置机器归零,就像你预期的那样。我认为这将阻止人们通过尝试在任何轴上归零来达到极限。只要知道我是否这样做,你们都需要更新您的工作坐标,因为存储的偏移量是从原始位置引用的,而不是新的移位后拉离位置。

编辑:没关系。它会保持原样。如果有人修改了拉出距离,它将不断改变他们所有的工作坐标。这可能会导致比他们解决的问题更多的问题。

归位周期 #66

可能希望为那些需要最后一个毫米的人选择此选项。或者我想你可以关闭拉断并限制警报。

2012 年 11 月 18 日 10:48,Sonny Jeon notifications@github.com写道:

很高兴听到。我在想,在起飞机动之后,我会让归位循环放置机器归零,就像你预期的那样。我认为这将阻止人们通过尝试在任何轴上归零来达到极限。只要知道我是否这样做,你们都需要更新您的工作坐标,因为存储的偏移量是从原始位置引用的,而不是新的移位后拉离位置。


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

归位周期 #66
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
喜欢 (0)

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