我们使用 GRBL 0.9c ( https://github.com/grbl/grbl/wiki ) 构建了一个类似于 CNC 的机器,该机器被编程到我们的 Arduino UNO 微控制器板上。
我们将“循环启动/恢复”Uno 引脚连接到按钮(对我们来说是绿色),并将“自动启动”变量 $14 设置为关闭($14=0)(https://github.com/grbl/ grbl/wiki/Configuring-Grbl-v0.8#14---auto-start-bool)。这允许我们加载整个 gcode 命令文件,并且在我们按下绿色按钮之前机器不会移动,这非常好。
我们的问题是它只适用于只有 G01、G02、G03 命令的程序,而不适用于我们用来打开/关闭主轴的 M4、M5 命令。当 GRBL 解释器点击我们的 M4 或 M5 命令时,它会等待另一个绿色按钮按下('Cycle Start/Resume' Uno 引脚上的低信号)。
这是一些运行良好的 gcode,即按下一个绿色按钮就足以执行整个程序:
g90
f100000
g01 x0 y0 z0
g01 x150 y130 z0
g01 x-150 y130 z0
g01 x-150 y-130 z0
g01 x150 y-130 z0
g01 x150 y130 z0
g01 x0 y0 z0
这里有一些在每个 M4 或 M5 命令后停止的 gcode:
g90
f100000
g01 x0 y0 z0
g01 x150 y130 z0 m4
g01 x-150 y130 z0 m5
g01 x-150 y-130 z0 m4
g01 x150 y-130 z0 m5
g01 x150 y130 z0
g01 x0 y0 z0
M4 和 M5 是否在不同的行上无关紧要。
任何人都知道如何使 GRBL 解释器不等待主轴开/关(M4/M5)命令?