如何使用 Arduino 设置 GRBL 和控制 CNC 机床
如果您正在考虑或正在制造自己的 CNC 机床,那么您很可能会遇到 GRBL 一词。因此,在本教程中,我们将了解什么是 GRBL,如何安装以及如何使用它来控制基于 Arduino 的 CNC 机床。
此外,我们还将学习如何使用通用 G-code Sender,这是一款流行的开源 GRBL 控制器软件。
GRBL 是一种开源软件或固件,可实现 CNC 机床的运动控制。我们可以轻松地将 GRBL 固件安装到 Arduino 上,因此我们可以立即获得低成本、高性能的 CNC 控制器。 GRBL使用G-code作为输入,通过Arduino输出运动控制。
为了更好的理解,我们可以看下图:
从图中我们可以看到 GRBL 在 CNC 机床工作原理的“大图”中发生的位置。这是我们需要安装或上传到 Arduino 的固件,以便它可以控制 CNC 机器的步进电机。也就是说,GRBL固件的作用就是将G代码翻译成电机运动。
请注意,这些只是我们了解 CNC 机床工作原理所需的基本电子元件。
实际上,作为如何连接所有东西的示例,我们可以看看我的 DIY 数控泡沫切割机。
您可以在此处查看并获取构建此 CNC 机床所需的主要电子元件:
这台数控机床的主要工具是一根热线,它可以很容易地熔化或切割泡沫塑料,制成我们想要的任何形状。有关我如何制作机器以及一切如何运作的更多详细信息,您可以查看特定教程。
尽管如此,我们将在本文中以这台机器为例,因为相同的工作原理适用于任何其他数控机床,无论是铣床还是激光。
首先,为了能够安装或上传 GRBL 到 Arduino,我们需要 Arduino IDE。
然后我们就可以从github.com下载GRBL固件了。
将其下载为 .ZIP 文件,然后按照以下步骤操作:
此时我们应该为我们的机器配置或调整 GRBL。我们可以通过 Arduino IDE 的串行监视器来做到这一点。一旦我们打开串行监视器,我们将收到类似“Grbl 1.1h ['$' for help]”的消息。如果您看不到此消息,请确保将波特率更改为 115200。
如果我们输入“$$”,我们将得到一个命令列表或当前设置,它们看起来像这样:
$100=250.000 (x, step/mm)
所有这些命令都可以或应该根据我们的 CNC 机器进行调整。例如第一个命令,$100=250.000 (x, step/mm),我们可以调整机器每毫米的步数,或者我们可以指定电机应该走多少步才能让我们的 X 轴移动 1 毫米。
但是,我建议保留这些设置。有一种更简单的方法可以使用控制器软件根据我们的机器进行调整,我们将在下一节中解释。
因此,一旦我们安装了 GRBL 固件,现在我们的 Arduino 就知道如何读取 G 代码以及如何根据它控制 CNC 机床了。然而,为了将 G 代码发送到 Arduino,我们需要某种接口或控制器软件来告诉 Arduino 做什么。实际上,有很多开源和商业程序都用于此目的。当然,我们会坚持开源,所以我们以Univarsal G-code Sender为例。
对于这个例子,我将使用 2.0 平台版本。下载后,我们需要解压缩 zip 文件,进入“bin”文件夹并打开任何可执行的“ugsplatfrom”文件。这实际上是一个JAVA程序,所以为了能够运行这个程序,首先我们需要安装JAVA运行环境。
一旦我们打开通用 G 代码发送器,首先我们需要配置机器,或者配置前面显示的 GRBL 参数。为此,我们将使用 UGS 设置向导,它比通过 Arduino IDE 的串行监视器手动输入命令更方便。
这里的第一步是选择波特率,应该是 115200,以及我们的 Arduino 连接的端口。将通用 G 代码发送器与 Arduino 连接后,下一步我们可以检查电机的运动方向。
如果需要,我们可以通过向导反转方向,或者手动翻转Arduino CNC Shield上的电机连接。
在下一步中,我们可以调整我们之前提到的 steps/mm 参数。在这里更容易理解如何调整它,因为设置向导会计算并告诉我们应该更新参数的值。
默认值为 250 步/毫米。这意味着,如果我们单击移动“x+”按钮,电机将移动 250 步。现在根据电机的物理步数、选择的步进分辨率和传动类型,机器将移动一段距离。使用尺子,我们可以测量机器的实际运动,并在“实际运动”字段中输入该值。在此基础上,向导将计算并告诉我们应该更改 steps/mm 参数的值。
就我而言,对于我制作的 DIY CNC 机器,机器移动了 3 毫米。据此,向导建议将steps/mm参数更新为83。
更新此值后,机器现在可以正确移动,软件中的 1 毫米对于 CNC 机器来说意味着 1 毫米。
在 UGS 控制台中,当我们执行每个操作时,我们可以看到执行的命令。我们可以注意到,通过更新 steps/mm 参数,UGS 程序实际上发送到了 Arduino,或者我们前面提到的 GRBL 固件的命令。这是默认值:$100=250.000 (x, step/mm),现在我们更新为每毫米 83 步的值:$100=83。
下一步我们可以启用限位开关并测试它们是否正常工作。
根据它们是常开还是常闭连接,我们也可以在这里反转它们。
这里值得注意的是,有时我们需要禁用 Z 轴限位开关。我的 DIY CNC 泡沫切割机就是这种情况,我不需要 Z 轴限位开关,我必须禁用它才能正确归位机器。因此,为此,我们需要编辑位于 Arduino 库文件夹(或 Documents\Arduino\libraries)中的 config.h 文件。
在这里,我们需要找到归位循环线并注释 3 轴 CNC 机床的默认设置并取消注释 2 轴机床的设置。为了使更改生效,我们需要保存文件并将 grblUpload 草图重新上传到我们的 Arduino 板。
不过,在下一步中,我们可以启用或禁用 CNC macing 的归位。
使用“尝试归位”按钮,机器将开始向限位开关移动。如果方向相反,我们可以很容易地反转方向。
最后,在设置向导的最后一步,我们可以为 CNC 机床启用软限制。
软限位可防止机器超出设定的工作区域。
因此,借助 GRBL 固件和 Arduino,我们可以轻松设置并运行我们的 DIY CNC 机器。当然,我们在本教程中只介绍了基础知识,但我认为这足以了解事物的工作原理以及如何启动和运行我们的第一台 CNC 机床。
当然,还有许多其他设置和功能可用,因为 GRBL 是真正强大的 CNC 控制器固件。 GRBL 文档详细解释了所有这些,因此您可以随时在 github.com 上的 wiki 页面上查看它们。
此外,还有许多其他开源 GRBL 控制器程序,例如 Universal G-code Sender,这里有几个:GRBLweb(Web 浏览器)、GrblPanel(Windows GUI)、grblControl(Windows/Linux GUI)、Easel(基于浏览器)等. 你应该去探索它们,看看哪一个最适合你。什么是 GRBL?
所需硬件
如何安装 GRBL
GRBL 配置
$101=250.000 (y, step/mm)
$102=3200.000 (z, step/mm)
$110=500.000 (x max rate,毫米/分钟)
$111=500.000(y 最大速率,毫米/分钟)
$112=500.000(z 最大速率,毫米/分钟)
$120=10.000(x 加速度,毫米/秒) ^2)
$121=10.000(y 加速度,mm/sec^2)
$122=10.000(z 加速度,mm/sec^2)GRBL 控制器
如何使用通用 G-code Sender
结论
制造工艺