注释
棘手。没有真正好的方法可以做到这一点,但可以通过一些黑客攻击来实现。这里有一些选项。 您可以做的一件事是在主步进器模块中添加一个计数器,以跟踪它执行的步数。以某种方式启用主轴控制,然后启动一个定时器,该定时器将在 10 毫秒后禁用主轴引脚。 您可以做的另一件最直接的事情是将 g 代码转换为显式移动以及打开和关闭主轴。这将创建一个 g 代码程序的怪物,但这也应该有效。 最后一件事是将另一个 Arduino 连接到您的 X 和 Y 步进器引脚以及您的主轴启用。第二个 Arduino 只会控制你的雕刻机。因此,当您的主轴使能引脚变高时,它将开始跟踪 Grbl 的步进引脚输出的步进脉冲,然后打开和关闭您的雕刻机。这可能是您最好的选择,也是最少的工作。你可以很容易地在 Arduino IDE 中编写它。另外你的g代码不会很复杂。它只需要为您想要雕刻机的线条启用 M 代码主轴。 |
你的第一个想法是我一直在尝试的。我认为我的问题是我在做脉搏时。我明天要试试这个。 ################################################## #####
} 我在 spindle.c 中执行 spindle 命令,我认为这只是检查一次而不是每次计数。 |
我建议不要使用第一种方法,尤其是对于您的代码。 我再次建议您尝试第二种控制器方法。这是最简单的 在 2013 年 2 月 28 日晚上 9:53,badidea notifications@github.com写道: 你的第一个想法是我一直在尝试的。我认为我的问题是我在 ################################################## ##### st.step_events_completed++;// 迭代步骤事件 } 我在 spindle.c 中执行 spindle 命令,我认为这只是 — |
我没有调查的最后一个坏主意是,因为我没有使用 z 轴,所以设置 z 步进位来触发销的螺线管并使用 zxxx 移动命令(我知道我必须找到不同的方法将每转脉冲转换为更慢的速率。) 我为这么多问题道歉。我对此还是很陌生,但已经编写了很多数控控制器,所以这与我习惯的完全不同。 |
我已经为雕刻机配备了第二个控制器。步进脉冲太快,无法计算我有多少,所以我只打算在邮票之间使用时间延迟。我要试着找到。通过 i2c 将 gc.spindle_speed 输出到第二个控制器的方式。. |
我正在使用 GRBL 和 Arduino UNO 改造点阵雕刻机。我有一个问题,我相信你们可以帮助我。我正在尝试放置一个主轴控制,当步进器移动多个脉冲时,它会触发我的主轴启用输出 10 毫秒,然后关闭。我使用 M3 作为喷丸循环的起点。我有我的 Sxxx 代码,它与 M3 一起作为我的点间距变量。除了脉冲计数器工作之外,我可以得到所有的东西。
我是这些编程的新手,并且确信我遗漏了一些明显的东西。感谢您提供的任何帮助。
基本上我只需要知道如何放入一个计数器来监视 X 和 Y 并在我的输出触发或放入 M5 时重置。