注释
很好的总结奥尔登。我不得不同意 G28/G30 不应该明确用于调用归位循环,但我认为也没有必要创建新的 g 代码命令。我认为将归位周期与 g 代码完全分开是一个好主意,主要是因为 g 代码已经在不同的制造商/系统中变得一团糟。 所以,我认为这真的引出了一个单独的问题:我们是否需要另一种方法来设置或执行不涉及 g 代码的 Grbl 特定命令/设置?这将包括切换块删除、慢跑模式和设置、空运行和执行归位循环等内容。我认为扩展“$”设置命令来做到这一点是个好主意。如何做到这一点可能是另一个线程。 为了回应您关于每个机器应用程序的归位有何不同的评论,将归位周期与所有其他运动例程完全分开的源设计使得用户或开发人员可以轻松地对其进行修改以使其成为自己的。我不认为我们应该真正考虑所有情况,只需要一个一般的归位周期就可以做到并保持简单。在大多数铣床上,这首先是 Z 正向限制,然后是 XY 负向限制。这应该适用于 90% 以上的用户。 此外,归位应始终定位机器零位,并且任何不同的零轴应由工作坐标系处理。之前的边缘推送在 g 代码解析器中添加了中间归位点。这将移动到中间点,然后执行归位循环(但这实际上应该只移动到机器零)。 无论如何,布鲁斯在推进 Simen 最初的寻的循环程序方面取得了一些不错的进展,我本周末一直在审查。我将尝试重新组织代码以使其易于用户更改。 |
桑尼,感谢您的阅读和评论。我同意归位应该是孤立的和可破解的。我认为我们仍然需要一种通用的方式来调用它,以便各种控制台程序和/或脚本可以保持兼容。这让您了解如何调用非 Gcode 命令。 如您所知,我一直在使用(4 个字符)助记符和友好名称来扩展 $ 构造。因此,一种方法是将“$home”作为助记符。为了与 $ 概念保持一致,您还可以提供单个值,例如 $home=2。 我也喜欢 Mach3 将 G28 扩展到 G28.1 的方式。通过这种方式,您可以指定归位操作中涉及的轴。但是有一个有效的论点说不应从 Gcode 调用归位。似乎有两种思想流派。 我们应该启动参数对话框。Bruce 还需要 2 个参数来归位,而这只是访问 Gcode 参数 #0000 – #5399 中的内容的开始。 |
我有一个龙门式数控割炬切割台的应用程序,长轴上有两个从动步进器。我希望修改主代码以将轴与两个独立的主开关对齐。 我是 GitHub 的新手;我刚刚做了一个叉子来工作,但我想知道是否应该从其他人的工作中提取一些归位代码。 |
在limits.c 中,已经有一个启动归位循环程序,但需要做一些工作。您可以通过根据您的目的修改代码来相对轻松地使其工作。如果您碰巧提出了一种紧凑、通用且强大的方法,我们很乐意看到它并尝试将其集成到其中。 |
嗨,我已经修改了 limits.c 以启用 PORTB 上限制引脚的内部上拉(我使用的是切换到接地的常开开关)。PINB 上似乎有时会出现“幽灵”数据。这然后过早地触发反向归位循环。发生这种情况时,Arduino Uno 上的 Tx LED 也会闪烁一次。我怀疑某些中断导致 PINB 状态发生变化。我可能可以通过添加去抖动代码来弥补这一点,但我想了解它为什么会发生。 |
谢谢hansj66。从本周开始,我又回到了 Grbl 开发“马”上,并且正在完全重新设计 limits.c 和归位周期。我将为用户提供更多选项来为他们的限位开关设置 grbl(即正常的高或低、方向等)。这些都将是 config.h 中的编译时设置,直到事物固化然后被推送到主分支。 “鬼”数据很可能是由弹跳开关引起的。不久前在这些“论坛”中讨论了如何对开关进行去抖动。最简单的做法是在开关上添加一个低通滤波器(通过一个小电容并联),以帮助去除高频噪声。至于添加代码,您可以尝试的一件事是在反向归位周期开始之前在 limits.c 中添加一个短暂的延迟。这应该做一个穷人的去抖(这可能是我会做的方式)。我还没有看到一个优雅的去抖动实现可以很好地适用于 Grbl,我也没有想出一个。如果你有任何想法,我愿意接受。 |
我只是将硬件放在一起,用于在 X 轴上带有双(硬件从动)步进驱动器的 3 轴工作台。我需要独立地将两个从动电机归位,以使马车保持正方形。我希望必须稍微自定义归位代码才能做到这一点,所以我会感兴趣地关注limits.c 的开发。 我还在考虑将限位开关引入 I2C I/O 扩展器(如 Microchip MCP23017),如果有任何想法会发布。 |
根据您的机器的刚度,实际可用的 X’-X” 差异可能小于限位开关的重复精度 这意味着您可能无法使用此方法将其调平。 至于去抖动,业界的做法(在软件中)是从“现在是引脚高”切换到“引脚在过去n 个时间单位内一直处于高位”。 |
在软件中同意可以工作,但 软件的主要问题是确保去抖动程序很小 不久前,我记得我尝试着写一篇。我不记得我为什么 2012 年 9 月 27 日凌晨 4:49,Radu – Eosif Mihailescu < 根据您的机器的刚度,实际可用的 X’-X” 差异 至于去抖,业界的做法(在软件中)是 — |
我遇到了这篇论文http://www.eng.utah.edu/~cs5780/debouncing.pdf,它以一种非常好的和非学术性的可怕方式解释并提出了我要说的一切,我推荐你读一读。 此外,如果人们对通用中端硬件去抖动器感兴趣,我愿意提出一种可用于您需要的任何东西(限位开关、键盘、索引传感器等)的设计。 |
是否有人对一次执行一个轴的归位循环有任何问题?而不是像现在这样移动多个轴? 我问的原因是我认为我可以简化整个归位循环程序,与我刚刚推动的有独立步进程序的地方相比。这个想法只是将直线运动直接循环到规划器中,并且引脚更改中断将监控限位开关并停止步进器。这将使代码更小,并与已有的代码很好地集成。大家怎么看?值得麻烦吗? |
我个人不喜欢归位周期有多慢,如果你认为你可以 2012 年 10 月 5 日星期五上午 10:34,Sonny Jeon notifications@github.com写道:
|
最近的推动将归位速度与寻道和进给速率联系起来。您 对此的 EEPROM 设置应该很快就会推出,这样您就不必 2012 年 10 月 5 日上午 8:41,afpiper420 notifications@github.com写道: 我个人不喜欢归位周期有多慢,如果你认为你可以 2012 年 10 月 5 日星期五上午 10:34,Sonny Jeon notifications@github.com写道:
— |
那么,正如今天构建的那样,系统是否期望一个引脚在达到限制时变高或在达到限制时变低? |
正常的高,我相信。所以当它低时它应该停止步进器。我 2012 年 10 月 8 日上午 9:02,komradebob notifications@github.com写道: 那么,正如今天构建的那样,系统是否期望一个引脚在达到限制时变高 — |
我还没有使用 grbl,但是我使用的软件在 也就是说,我认为隔离轴工作正常。但从这里看,你的草 Phil
|
查姆尼特,我会告诉你的。是否启用了内部上拉,以便可以使用 NO 开关,还是需要提供它们? 我已经设置好了cnc,只需要连接限位开关。今天应该可以测试了。 |
@komradebob:我认为内部上拉是禁用的,不知道如何在 C 中做到这一点。在完成代码之前,我会确保我对此进行了调查。我一直在示波器上测试所有东西,并且必须连接一个简单的上拉电阻才能让它们工作。目前,除了破解源代码本身之外,没有太多可配置性,因此请谨慎操作。它将首先向上移动 z 轴(正),直到检测到限位开关低,然后同时移动 xy 正和一旦其中一个限制变低时移动。在它们都达到极限后,它们都应该向负方向移动,直到开关分别回到高电平。 还有很多工作要做,所以如果你发现有什么你想看看它是如何工作的,现在是安装它的时候了。就我的计划而言,我将为接近和离开归位进给率安装用户设置,完全启用/禁用归位,启用/禁用某些限位开关(可能),以及切换开关是否正常高/低。 @phord: 感谢您的输入。听起来我毕竟会保持多轴归位。当我们向下添加第 4 个轴时,这肯定会派上用场。 |
一旦找到起始位置,它就会将其设置为 0,0,0,对吗? |
是的。它应该。只是为了重新迭代,确保你下载了当前的边缘分支源代码并编译它以获得新的归位固件。它现在不能作为预编译固件下载。 |
@komradebob:我刚刚将固件版本上传到下载区域。我已经为限位开关启用了内部上拉电阻。我希望这能让您更轻松地测试它。如果您有任何问题,请告诉我。 |
发现离开限位开关的问题。现在工作并更新了固件下载。 |
这周我准备测试一些限制/主页功能,我有一个相关的问题。在我的机器上,在正常操作期间(即归位完成后),我想使用正负限位开关作为“安全”停止,如果启动,它将保持机器的进给。据我所知,这个功能现在不在代码中,是真的吗? |
我知道在一些reprap fork中我们有它。不过,主要是针对 Max end 我相信这是马林鱼的味道。如果您查看 config.h,您
|
是的。这些功能已经有很长时间了,我正在尝试纠正这个问题,同时有一些时间来完成它们。 因此,要回答您的问题,chuck-h,不,从技术上讲,现在还没有用于加/减限位开关的引脚。但是,我们一直在讨论如何正确地做这样的事情。问题是,当一个限位开关被击中时,电机可能无法使机器减速到停止,然后再击中开关的最大行程并破坏它。此外,当突然出现不受控制的停止时,Grbl 将失去其位置。所以,就目前而言,我建议将这些限制连接到 Arduino 复位引脚。这将在超出物理限制时停止 Grbl,并像急停一样工作。 至于有什么打算?很难说正确的做法是什么,因为我们需要它为每个人正确工作。我们可以做的一件事是在归位完成后进行“软”限制。由于机器零位,用户可以在设置中写入工作体积尺寸(减减速距离)。如果机器位置超过这些限制中的任何一个,则 Grbl 将执行受控进给保持并要求系统中止命令进行重置。在这种情况下不会丢失位置。我可以相对较快地完成这项工作,因为我现在正在更新设置模块并在那里获得一大堆新配置。 我们可以做的另一件事是对限制引脚例程进行编程,以在检测到引脚变化时中断并终止步进器。位置将丢失。这也是完全可能的,因为我已经编写了这段代码并且可以说它有效。但是,我不确定我是否会朝这个方向发展,因为我不能 100% 确定这不会导致用户因电气干扰(来自不良设置)而随机停止。虽然,我可以将其配置为供用户测试并查看它是如何进行的。 大家怎么看? |
我们再次面临一个跨界问题:如果我们没有足够好的硬件知识,就无法编写足够好的软件。恕我直言,我们应该停止这一点,而不是仅仅因为这样做会很好:科学证明我们需要无限数量的开发人员来支持任何可以想象的机器和配置:)
这应该足够清晰和有条理:-) |
哈哈。同意@csdexter. 好东西。我们不需要考虑每个人,只要确保它足够通用且可破解即可。 我和我的朋友机械师迈克(终身专业人士和讲师)谈论了限制以及它们现在和过去的工作方式。一般来说,硬限制已经有一段时间没有使用过了,因为大多数控制器在 g 代码程序中向前看并监控工作空间的体积,即软限制。过去,硬限制基本上像急停一样扼杀了机器,并且很可能由于机械开关的故障而被淘汰,从电气噪声到因冷却剂吞噬它们而粘连。 无论哪种方式,一旦达到或检测到硬或软限制,机器将进入“警报”模式,这基本上是一个急停并强制用户重置控制器(不是 M0,因为您可以使用 M0 恢复) . 就 Grbl 而言,我们可以直接在 gcode 解析器中执行类似的操作(而不是实时步跟踪)并监视工作空间体积中的运动,前提是已经完成了归位,然后错误输出、保持并报告是否存在一个问题。位置保持不变,开关没有电子噪音问题。 因此,由于机械开关容易发生故障,也许这应该是可行的方法。通过在新块进入时跟踪 g 代码解析器中的机器位置来进行软限制。(我也一直在考虑为 Grbl 提供一个模拟模式。在运行之前没有步进运动来检查 g 代码。)并且只是推荐给用户需要机械硬限制将它们连接到 Arduino 复位引脚,或者将机械软限制连接到(即将成为)馈电/特殊限制引脚,如您所描述的。 现在唯一的问题是我们需要考虑没有限位开关的人。我建议我们可以在设置中启用/禁用归位和限制。启用后,用户应在操作前强制回家(CNC 的标准做法),然后软限制也将启用。禁用时,Grbl 假定启动位置是机器零并且软限制被禁用。在这种模式下,用户可以立即开始使用 Grbl 而无需归位。这应该涵盖一切……我希望。 |
如果没有最大/最小限位开关,很难“发现”工作空间的 我喜欢硬/软限制概念。如果您按下开关,请立即急停。 我同意没有限位开关的行为。我想您希望 使用限位开关,您还需要设置软限位和 鲍勃 2012 年 10 月 9 日星期二下午 2:06,Sonny Jeon notifications@github.com写道:
|
同意。工作区卷需要由用户提供。我将把它包括在“$”设置中,以及归位启用、去抖动延迟等。(限制将设置为正常高,因为正常低有电气问题,正如我发现的那样。) 如果没有限位开关,用户不必手动慢跑回家,如果他们不想的话。软限位将被禁用,由用户监控机器或安装硬限位开关。 需要确定增量限制距离的好点。可能在内部,因为我们已经知道加速。我需要考虑这一点,特别是如何处理离开家和违反软限制音量的问题。 今晚晚些时候,我将重新发布 v0.8b,其中包含一些更改的归航程序。它将寻找/慢跑到限位开关,然后缓慢地循环离开/接近几次,以更好地提高准确性和可重复性。更多即将到来。 |
同意。有两个开关很好,不是必须的。但是,如果 Pulloff 值听起来也很有用。 2012 年 10 月 16 日星期二下午 1:07,Sonny Jeon notifications@github.com写道:
|
好的。我刚刚在边缘分支做了一个很大的推动。有硬限制,归位方向掩码(使用与步进器反转掩码相同的位。0 是正方向,1 是负方向),以英寸为单位的状态报告选项,自动循环启动是可配置的,还包括归位拉动关闭距离,它将所有轴在设置机器零后移动该距离并启用限位开关作为硬限位(因此开关可用于归位和硬限位)。 几点注意事项:如果检测到硬限制,它将终止步进器和主轴并进入无限循环,直到您向 Grbl 发送重置/中止命令 (^x) 或仅重置 Arduino。这是新警报功能的一部分,可在出现问题时帮助防止崩溃和其他非常错误的事情。二,这是非常BETA。我没有太多机会,也没有时间来测试一切。看来你们都有这样做的设置。所以,如果你愿意,请下载新固件,如果我错过了什么,请告诉我。谢谢! |
我要非常感谢最新的更新,经过测试,效果很好。需要注意的几个项目,除非您启用了硬限制,否则不会启用归位后退。此外,我相信后退距离应该始终为负数,以免它继续朝着归位方向前进(至少对我而言)。 |
甜蜜的视频!感谢分享它和评论。无论是否启用了硬限制,我都会确保更改归航程序以执行起飞机动。它会在下一次推送时出现。 至于负拉离距离,我不确定你所说的负数是什么意思。它应该根据归位方向掩码将行程值从限位开关上移开,因此每个轴的实际运动可以是负数或正数。它不能正确移动吗?如果没有,你能告诉我你的步进反转掩码和你的归位设置是什么吗?我可能需要做一些设置检查,这样用户就不会正确设置并撞到他们的限位开关。 |
此外,限制引脚上的内部上拉电阻应该已经启用并保持高电平。视频中不清楚您是否为开关连接了外部上拉电阻。从理论上讲,您所要做的就是在连接到 Arduino 接地引脚的(常开)限位开关中接线。如果您已经收到此消息,请忽略此消息。:) |
不知道关于引体向上的好消息:D 我不是超级知识渊博,所以这肯定是我的错误。目前我的设置是: 我正在用我的 Z 轴进行测试,当它归位 Z 轴时,18 美元是 1.000 的默认值,然后将其推入限位开关,进一步推离归位拉断的距离。Z 是第一个拉断的轴,所以当我看到它发生时我点击了重置,不确定 X 或 Y 会如何表现。当我将 18 美元设置为 -4.000 时,所有轴在归位后都正确后退了 4 毫米。 |
不用担心。当我推出新功能时,我没有在 wiki 上编写说明更多的是我的错。当我有机会时,我必须纠正它。 所以,看起来你是对的。我的拉断动作翻转了。对于当前的构建,拉断行程需要为负值才能正常工作。今晚我将尝试推动修复以使默认值和运动正确关联。感谢您的提醒! 另外,我从您的设置中注意到您的 XY 轴方向可能会翻转,因为从您的视频中,您的桌子应该已经向右移动并远离您,$14=96。因此,请尝试设置 $7=192 和 $14=0。这应该是正确的笛卡尔坐标设置。(我认为)。 |
奇怪的是,使用默认的回拉设置似乎对我来说可以正常工作…… 2012 年 10 月 28 日 20:02,Sonny Jeon notifications@github.com写道:
|
诡异的。@komradebob你能把你的设置发给我吗?我想看看是否有特殊情况适用于一个而不适用于另一个。 |
当然。干得好: $0 = 632.000(x 轴,步数/mm) 2012 年 10 月 28 日星期日晚上 11:42,Sonny Jeon notification@github.com写道:
|
奇怪的是,如果我发出一个 home cmd g28 x0,它会将所有轴都归位。 此外,据我所知,无论 12 美元的状态如何,行为都是相同的。 鲍勃 2012 年 10 月 28 日 18:40,goopyplastic notification@github.com写道:
|
@komradebob: 谢谢!因此,如果我理解正确,您的极限方向将您的 z 轴向上移动,并且您的 xy 表 x-left 和 y-back (您反转,因为传统方向应该是 y-front)。此外,为了确保当您启用硬限位设置(启用拉断行程)并执行归位循环时,拉断行程远离所有限位开关。这个对吗? 更奇怪的是,g28 x0 应该将您的 x 轴移动到它认为 x0 首先是的位置,然后执行归位循环。根据定义,任何像 x0 一样的显式轴移动都会在回家之前移动到中间位置。从技术上讲,g28 和 g30 实际上根本不应该执行归位循环,而是转到某个预定的“归位”位置,这不一定意味着机器零位。归位周期应该由一个非 g 代码系统命令来处理,我正在研究如何以一种很好的方式添加它。 |
有趣的。 我目前正在设置铣削 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写道:
|
同时,在另一条小路上,我一直在为一台具有如下主页/限制的机器编写代码:http: //opensourceecology.org/wiki/CNC_Torch_Table_Control_Overview#Limits_and_Homing。 我的叉子https://github.com/chuck-h/grbl/commits/edge可能会感兴趣的一些事情—— |
再次感谢您提供的所有信息,是的,我不太确定正确的轴方向,因为这是我的第一个 CNC 项目,我按照龙门机床的说明进行操作,所以现在它们倒退是有道理的。我还可以确认不需要外部上拉,并且 x/y 方向正确,我仍然需要负拉。这是我的新配置和视频: http://www.youtube.com/watch?v=JH5SndjE5sw 发出的指令: 我相信这些现在都在朝着正确的方向努力:D Grbl 0.8b 对最大范围的 3 个额外硬限位开关实施类似的支持是否合适?我目前正在将它们绑定到重置哪些工作但可能更适合以与归位开关的硬限制相同的方式实现它们。 |
看起来不错!方向看起来设置正确,它们与您设置的归位方向掩码相关,其中中心是 +x、+y、-z。我正在努力将持久工作坐标偏移(G54-G59)添加到 EEPROM 中,以便它使归位周期更容易和有用,而不是现在您必须显式发送 G10 或 G92 命令来偏移框架以便中心是 0,0,0 或任何您需要的值。 我不确定您为最大范围设置 3 个额外的硬限制是什么意思。您应该能够将任意数量的限制连接到限制引脚,即在与地线平行的轴的行程的每一端都有一个。根据您的归位方向掩码,您还可以将任一用于归位开关。如果您的意思是诸如软限制之类的东西,它不会进入无限循环,而是进行受控减速并保持机器位置,我不打算为此实施物理开关,而是会有一个内部运动检查,它将需要即将推出的工作区音量设置。 |
@chuck-h: 火炬桌看起来很甜美!就步进器模块而言,必须对其进行彻底检修才能有效地实现进给率倍率,因为按照现在的编写方式正确执行它会有点困难。我最初计划做一些像你的叉子一样的事情,并让限制引脚更改中断句柄在归位周期中停止,但我做了我所做的,因为它现在更容易维护。当需要重构步进模块时,我肯定会再看看你收集到的一些想法。 |
哦,既然我们有硬限制,那么只需在相同的端口上运行两组限位开关就好了,不知道为什么我没有想到这一点。忽略我上面的废话。 |
我正在设置一台新机器。新的归位和限制是一个很好的补充。我正在使用归位和硬限制功能。 有一件事我还没有弄清楚,我怀疑它可能是我的机器特有的。 在我正在使用的机器上,无法手动(手动)移动 Z、Y 或 Z 轴。所有的运动都由步进电机控制。 当限位开关跳闸(硬限位)时,GRBL 停止并进入循环,这是有道理的,因为这是一个非常糟糕的情况。当我重置 GRBL 时,它会立即检测到限制已被触发,并再次进入循环。 要恢复,我需要拉动限位开关上的电线,这样 GRBL 就不会检测到限位开关已跳闸,并小心地输入 gcode 命令以退出限位开关,然后重新连接开关。 有没有办法覆盖限位开关,例如用于解锁归位功能的$x?处理这种情况的正确方法是什么? 谢谢, |
将一个常闭开关置于限制线之外。 Terry
|
如果发生这种情况,现在的解决方案是断开开关与接地或引脚的连接。我正在努力为此提出一个永久的解决方案,但提出一个有效的解决方案需要一些时间。 我已经测试了两种不同类型开关的硬限制,但无法重现此问题。您使用的是哪种限位开关(以及如何将它们接线)?我很好奇这种差异是否是驱动因素。 |
这是我的设置: Arduino Uno 使用默认引导加载程序和默认保险丝 开关是 Digikey 部件号 EG4552-ND 开关在 Arduino 9、10、11 上以常开方式连接到 Arduino 地,没有外部上拉电阻 X 和 Y 轴有两个并联的开关,Z 轴有一个开关(在 Z 轴上可以看到相同的行为) GRBL 已从 2012 年 11 月 10 日的代码下降中构建 软件配置: -史蒂夫 |
拉动开关就可以了。 2012 年 11 月 11 日星期日下午 12:45,NorvilleRogers
|
@NorvilleRogers: 刚刚推出了硬限制问题的修复程序。当硬限制发生时,您现在应该能够在发出 Ctrl-X 重置(不是电源循环)后访问设置和其他 Grbl 命令。当处于此警报状态时,它将锁定所有 g 代码块,包括启动块。如果您有任何问题或意见,请告诉我。 |
限位开关跳闸后,Ctrl-X 重置效果很好!谢谢你的快速反应。 我现在似乎遇到了一个问题,即每个命令在归位后似乎都会向负方向移动轴。归位 $H 命令似乎工作正常,所有方向的轴。 有什么想法可能导致这种情况吗? -史蒂夫 |
不知道你说的总是朝负面方向移动是什么意思。归
|
谢谢你的描述。它帮助我发现了我的方式的错误。 我已将归位序列配置为拉出 5 毫米(22 美元)。我在想零位会偏离归位开关 5mm,但不,它已将机器移动到(5,5,5),零位是归位开关。 当我尝试将轴向任何方向移动 2 毫米时,它正确地移动了相对于归位开关的轴,而不是与我归位机器时它停止的位置有关。 底线是我不知道主位置在哪里。 请忽略我的胡言乱语。一切都很好! 谢谢,- |
很高兴听到。我在想,在起飞机动之后,我会让归位循环放置机器归零,就像你预期的那样。我认为这将阻止人们通过尝试在任何轴上归零来达到极限。只要知道我是否这样做,你们都需要更新您的工作坐标,因为存储的偏移量是从原始位置引用的,而不是新的移位后拉离位置。 编辑:没关系。它会保持原样。如果有人修改了拉出距离,它将不断改变他们所有的工作坐标。这可能会导致比他们解决的问题更多的问题。 |
可能希望为那些需要最后一个毫米的人选择此选项。或者我想你可以关闭拉断并限制警报。 2012 年 11 月 18 日 10:48,Sonny Jeon notifications@github.com写道:
|
奥尔登哈特 评论 on 25 Feb 2012
我想开始一个线程来讨论归位周期应该如何工作和被调用。这实际上是一个复杂的话题,因为 Gcode 规范中没有指导,每个人的做法都不同。请原谅这篇冗长的文章,我会尽量简短地总结大量的研究。切入正题,我认为使用 G28.1 参考轴(执行归位循环)是一个不错的方法,但人们正在使用其他替代方案。
— 调用归位 —
总结一下 Gcode 规范的两个普遍认可的参考:
(1) NIST RS274NGC v3 (Kramer)
(2) CNC Programming Handbook, Edition3 (Peter Smid)
…没有办法以编程方式归位机器。两者都同意 G28 将您带到原始位置,但都没有说明如何实际按下开关和参考轴。
G28 在以下各项中返回机器零 – 但名称不同:
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 行为。还有其他细节,但总结一下:
轴字是可选的,但必须至少存在一个。只有存在的轴才会被归位。其他人将留在他们当前的坐标。
参考:http ://www.synthetos.com/wiki/index.php?title=Projects:TinyG-Homing
以上不涉及:
你对调用归位有什么想法,它是如何工作的?