开源改变世界

启用 M17/M18 来控制步进器的电源 #1071

推推 grbl 3年前 (2022-10-30) 275次浏览 0个评论
关闭
DeflateAwning 打开了这个问题 on 29 Aug 2016 · 18 条评论
关闭

启用 M17/M18 来控制步进器的电源#1071

DeflateAwning 打开了这个问题 2016 年 8 月 29 日 · 18 条评论

注释

启用 M17/M18 来控制步进器的电源 #1071

如果这两个命令(M17/M18)可以在 GRBL 中实现,这样 M17 启用步进电机的电源,而 M18 禁用步进电机的电源,那就太好了。

我知道当前使用 $1=255 可以在移动后启用/禁用步进器,但纯 g 代码解决方案会非常好。可能会引入一个配置选项来设置保持步进器启用的最长时间(比如 1 分钟),这样步进器就不会停留在(导致它们磨损)的时间超过某人做的时间手动换刀。

启用 M17/M18 来控制步进器的电源 #1071
成员

尚尼特 评论 on 29 Aug 2016

@ThePiGuy: FWIW,我开始考虑在 Grbl 的解析器中添加更多 Marlin 风格的 g 代码命令。尽管 3d 打印社区刚刚弥补了大部分内容以适应他们需要做的事情,但它正在成为新标准的一部分。我认为明智的做法是在有意义的时候开始合并其中的一些内容。步进器启用/禁用就是其中之一。

对于 1 分钟的超时请求,这将需要一个额外的计时器,而 Grbl 没有该计时器。(从技术上讲,如果要完全删除编译时选项,它会这样做)。总的来说,我认为这不是一个好主意。步进器在启用和禁用时通常会丢失位置。通常是由于每次发生这种情况时都会重置微步。在大多数情况下,现代步进电机和驱动器可以长时间使用。

但是,我确实已经为超时添加了类似于 GrblMega fork(用于 Mega2560)的东西。这是为了在作业期间检测 USB 断开连接。

启用 M17/M18 来控制步进器的电源 #1071

如果电机或驱动器在空转时过热,它们运行时会过热,所以真的不需要。
因为我使用带有 SPI 设置的驱动程序,所以我只是将电机电流降低到一个较低的值而不是禁用

启用 M17/M18 来控制步进器的电源 #1071

就步进器而言,我觉得太多人担心他们的步进器,因为它们被认为是“热的”。热是相对的,大多数步进器的额定外壳温度为 100 度。C,或 212 华氏度。与您的皮肤接触的方式很热,但对电机来说不太热。

至于禁用步进器,如前所述,在微步进模式下,当您禁用和重新启用驱动程序时,您将至少丢失完整步骤中的那些微步。我知道与屏蔽等一起使用的较小驱动程序可能没有此功能,但较大的驱动程序具有空闲电流设置,不会禁用驱动程序,但在一段时间内没有命令任何步骤时会降低电流。空闲时可以将我的设置为 40% 电流,但我只是将我的设置一直设置为全电流。

我对添加 Marlin 命令或任何其他命令绝对没有问题,只要它以一种好的方式完成即可。Marlin 是 3d 打印机专用的,因此他们添加了大量命令,这很好,但他们也更改了现有命令。例如。M30,在 RS274 中是“程序停止/倒带”,在 Marlin 中是“从 SD 中删除文件”。同样,RS274 中用于工件坐标和刀具偏置的 G10 在 Marlin 中变为“根据 M207 的设置收回灯丝”。对于整数世界中的所有数字,他们选择使用已经在使用的 M 码数字。为什么?我不知道,但请不要那样做。请保持核心 RS274 命令不变,即使尚未/曾经在 GRBL 中实现。

3D 打印机社区已经有 Marlin 和许多其他人,其中许多基于 GRBL 的早期版本,对他们来说效果很好。GRBL 本身是一个很棒的程序,主要为笛卡尔坐标机(如铣床、路由器、笔式绘图仪等)填补了一个利基市场。在我看来,它很好地填补了这个利基市场。它已经扩展到其他用途,这也很好,但我希望它至少在很大程度上保持其作为笛卡尔坐标 g 代码解释器的根源。我也希望它能够像现在一样维护一个在生产 CAM 软件中有用的代码集。

谢谢,

约翰·B。

启用 M17/M18 来控制步进器的电源 #1071

@109JB: 哈哈。不用担心 Grbl 会失控。爱好 CNC 机器需要一些未定义的功能,例如电机功率/电流。Grbl 一直在用它自己的一组“$”命令来处理这个问题,但是随着事情很快就会变得更有能力,这些“$”命令需要进一步充实。从技术上讲,其中一些功能已经像 Marlin 的 M 代码一样,因此可以将其解释为 Grbl 是对 g 代码标准的混蛋。

无论如何,我一直在想,如果 Grbl 接受类似的命令,那么来自 3d 打印社区的人们会更容易获得以后更强大的 Grbl 版本。我将不得不真正研究它,看看什么是有意义的,什么是没有意义的。

启用 M17/M18 来控制步进器的电源 #1071

哈维 评论 2018 年 3 月 5 日  

这个有消息吗?这对我来说非常有用。特别是对于手动换刀,你可以做
M17 M0 M18

所以它会在g代码中间自动暂停,你可以更换工具,但不能移动轴。然后您可以取消暂停并继续 g 代码文件。有很多使用皮带传动(例如Shapeoko)或齿条和小齿轮的机器,在不启用电机时很容易用手移动,因此很难在不移动它们的情况下松开和拧紧工具夹头。

这个功能应该很容易添加……

启用 M17/M18 来控制步进器的电源 #1071

并不像你想象的那么简单。实现并不难,实际上在 v1.1 中可以作为 sleep 命令使用。但它会在醒来时自动重置 Grbl。由于以下原因,它的工作方式不同。

步进电机和驱动器在启用和禁用时会丢失位置。有些失去微步,电机会在没有任何动力的情况下漂移。因此,对于工具更改,这使其完全无用。

此外,您需要在换刀时测量 z 偏移量。它可能与之前的工具略有不同或完全不同。这将导致严重的崩溃。

当然,在某些情况下和高级 CNC 用户中,这可能不是问题。但对于大多数刚接触 CNC 的人来说,这将是一个无休止的抱怨、质疑和头痛的问题。

最后,M17 和 M19 是 3D 打印世界的构造。它不用于减材加工,并且由于上述相同的原因,制造商通常在不同程度上限制了禁用电机的能力。

启用 M17/M18 来控制步进器的电源 #1071

哈维 评论 2018 年 3 月 5 日  

@chamnit

步进电机和驱动器在启用和禁用时会丢失位置。有些失去微步,电机会在没有任何动力的情况下漂移。因此,对于工具更改,这使其完全无用。

不,他们不会丢失任何东西。只有在您禁用它们的情况下,它们才会丢失。所有这些都是为了禁用或禁用它们。特别制作,这样您就不会丢失任何东西。我只想在启用电机的情况下暂停 g 代码,而无需设置 $1=255,这将导致电机即使在不进行工具更换时也会永久通电。

此外,您需要在换刀时测量 z 偏移量。它可能与之前的工具略有不同或完全不同。这将导致严重的崩溃。

我完全清楚。CNC加工中已经存在很多碰撞危险,用户必须学习如何处理它。这只是其中一种情况。这有 3 个便宜且明显的解决方案:

1.) 使用带塑料塞子的工具(或用固定螺丝装上你自己的塞子)。巴姆。问题解决了。非常适合初学者:

启用 M17/M18 来控制步进器的电源 #1071

2.) 人们使用简单的固定装置。简单的带孔木板可能足以确保刀具从主轴伸出适量。

3.) 自动刀具探测。(这有点高科技,但可以做到)。

但对于大多数刚接触 CNC 的人来说,这将是一个无休止的抱怨、质疑和头痛的问题。

为什么刚接触 CNC 的人会开始创建包含换刀的 g 代码?我想初学者会从简单的单一工具 g 代码开始。

启用 M17/M18 来控制步进器的电源 #1071

好的。我重读了原帖。最好不要禁用步进器。我完全后悔设置了步骤空闲延迟。由于大多数现代步进驱动器产生的热量很少,并且可以无限期地使用。

如果您确实需要禁用它们,则假定它在作业结束时,v1.1 睡眠模式命令旨在处理。理想情况下,应该在 X 分钟后自动禁用,而不是像 Grbl 那样在几毫秒后自动禁用。

是的。当然有工具更换的解决方案,但你假设新手会知道关于它的一切并且没有问题或问题。不对。完全不正确。即使您逐字逐句地拼写出所有内容,用户池中也总有一部分永远不会阅读方向并让所有内容都倒退。我几乎每天都看到这个。

当 GUI 被设计用来实现它们时,工具更改很容易。无需处理用于禁用电机的特殊 gcode。例如,Carbide3d 的 Nomad 是用一个构建的。它们为您插入所有换刀命令并自动探测刀具长度偏移。它工作得很好,几乎没有错误和误用的余地。我知道 bCNC(也许还有 UGS)也可以让用户为他们的机器安装自定义例程。

我发现最好将设置工具更换的东西留给 OEM 或具有专业知识的高级用户。固件不可能考虑每种情况、每种机器类型或每种工作流程偏好。

启用 M17/M18 来控制步进器的电源 #1071

我同意,如果您不想丢失步数,则需要保持步进器开启,但在某些情况下,禁用步进器以手动移动轴(步进器后面的手轮,或者像激光一样)会很方便刀具,只是推动头部)。
或者相反,当在机器上做一些事情时,强制步进器是很好的,所以没有东西自己移动。
这意味着您必须在那之后重新回家,但您不会失去任何其他东西。
所以我相信有些人会很好地使用某种命令来激活/停用步进器(GCode 或 Grbl)。

启用 M17/M18 来控制步进器的电源 #1071

@mpatoulachik: 是的。同意。您可以使用 v1.1 中的新 sleep 命令来完成此操作。它会进行自动重置,迫使您承认潜在的丢失位置并重新归位。

启用 M17/M18 来控制步进器的电源 #1071

@mpatoulachik 请注意,手动驱动步进器会迫使电流进入电源并可能损坏电子设备

启用 M17/M18 来控制步进器的电源 #1071

一个简单的开关为驱动器的使能引脚提供 5V 电压怎么样?并非一切都必须复杂或软件驱动。

启用 M17/M18 来控制步进器的电源 #1071

@109JB用简单的拨盘来转动机器的进给怎么样?:-)

启用 M17/M18 来控制步进器的电源 #1071

实际上,一个简单的拨盘来调整进给覆盖率会很棒。

我只是提出一个建议,因为很多时候人们过于专注于一个潜在的解决方案而忽略了所有其他解决方案。以林换树的情景。

启用 M17/M18 来控制步进器的电源 #1071

@chamnit你不应该后悔自动禁用电机。当我对事物不熟悉时,您多次保存了我的驱动程序,并且不知道在驱动程序通电时我不应该拔掉电机。没有发生任何不好的事情,因为它们被 grbl 自动禁用。而且我还没有完成所有的接线工作,电机线在我身上松了好几次,这也会烧坏驱动器。幸运的是,几天后合适的带锁连接器应该到货了,所以它不能再把我的插头拔出来了。

@109JB我的意思是这样的:
启用 M17/M18 来控制步进器的电源 #1071

但是,当您开始使用此硬件解决方案来解决 SW 问题时……我想知道我是否可以将此引脚用作输入:

启用 M17/M18 来控制步进器的电源 #1071

但我想如果我试图短接这两个引脚或其他东西,那只会炸掉 atmega 的输出。

然而,使用单个开关禁用电机的明显方法是简单地断开 24V 电源。我打算安装这样的开关。

启用 M17/M18 来控制步进器的电源 #1071

@Harvie您可以通过简单地弯曲或切断插入 arduino 引脚 8 的引脚来使用屏蔽上的这些引脚。这将隔离 Arduino,然后您可以添加这样的开关。
启用 M17/M18 来控制步进器的电源 #1071

启用 M17/M18 来控制步进器的电源 #1071

哈维 评论 2018 年 3 月 8 日  

@109JB或者只是修补 GRBL 以将 EN 引脚设置为输入(可能带有内部上拉),因此您不会通过向其施加 5V 来破坏任何东西。也许config.h中可能有这个选项……

或者 grbl 可以默认启用和禁用上拉以启用和禁用驱动器,同时保留将上拉短路到地以从外部禁用电机的可能性。

启用 M17/M18 来控制步进器的电源 #1071

@Harvie– 当然,但由于已经声明不会为此提供 Grbl 固件的官方模块,因此弯曲引脚 8 并添加开关是一种适用于绝大多数禁用步进器的情况的选项是需要的。建议将其作为一种解决方法,因为它似乎是您获得所需内容的唯一方法是自己修改 Grbl 固件。如果那是你想要做的,那么没有人会阻止你。

另外,我关于使用简单开关的帖子是为了回应@mpatoulachik发帖他说:

我同意,如果您不想丢失步数,则需要保持步进器开启,但在某些情况下,禁用步进器以手动移动轴(步进器后面的手轮,或者像激光一样)会很方便刀具,只是推动头部)。
或者相反,当在机器上做一些事情时,强制步进器是很好的,所以没有东西自己移动。
这意味着您必须在那之后重新回家,但您不会失去任何其他东西。
所以我相信有些人会很好地使用某种命令来激活/停用步进器(GCode 或 Grbl)。

他在那篇文章中提到的几乎所有事情都可以通过一个简单的开关来启用或禁用驱动器来缓解。

回到您说的原始帖子

特别是对于手动换刀,你可以做 M17 M0 M18

M17 会禁用驱动程序,并且您会立即失去至少一点位置。当步进驱动器被禁用然后重新启用时,它会重新启用到全步位置,而禁用之前的位置可能是微步位置,因此您可能会在驱动器操作后失去 1/2 步的位置。除此之外,电机在禁用时可以自由旋转以及重新启用之前的任何旋转也将增加丢失位置的可能性。

我个人认为绝对没有理由禁用驱动程序以进行工具更改。我一直在使用 Grbl 进行工具更改,这就是我的做法。Grbl 可以使用 G28 和 G30,您只需将 G28 或 G30 定义为换刀位置,然后编程

G28
M0

机器将移动到您为 G28 定义的位置,然后暂停换刀,同时保持电机启用。

我不想争论。我只是想为那些可以使用它们的人提供选项。您需要记住,更多的人阅读这些问题帖子,而不是那些实际发布的帖子。虽然您可能不喜欢我的建议,但它们可能对其他人有益。

喜欢 (0)

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