如何使用Arduino设置GRBL和控制CNC机器

如果您正在考虑或正在制造自己的CNC机床,那么很可能会遇到GRBL一词。因此,在本教程中,我们将学习什么是GRBL,如何安装以及如何使用它来控制基于Arduino的CNC机器。

此外,我们还将学习如何使用通用G代码发送器,这是一种流行的开源GRBL控制器软件。

什么是GRBL?

GRBL是一种开源软件或固件,可以对CNC机器进行运动控制。我们可以轻松地将GRBL固件安装到Arduino,因此我们可以立即获得低成本,高性能的CNC控制器。GRBL使用G代码作为输入,并通过Arduino输出运动控制。

为了更好地理解,我们可以看一下下图:

GRBL和Arduino CNC机器工作原理

从图中可以看出,在数控机床工作原理的“大图”中,GRBL发生在哪里。这是我们需要安装或上传到Arduino的固件,以便它可以控制CNC机器的步进电机。换句话说,GRBL固件的功能是将G代码转换为电机运动。

所需的硬件

请注意,这些只是基本的电子组件,我们需要了解CNC机床的工作原理。

实际上,作为如何连接所有物体的示例,我们可以看一下我的DIY CNC泡沫切割机

Arduino CNC机器电路图-电子元器件

您可以在此处检查并获取构建此CNC机器所需的主要电子组件:

披露:这些是会员链接。作为亚马逊合作伙伴,我从符合条件的购买中赚钱。

这台数控机床的主要工具是一根热线,可以很容易地将聚苯乙烯泡沫熔化或切开,并做成我们想要的任何形状。有关我如何制造机器以及一切工作方式的更多详细信息,请查看特定的教程。

Arduino CNC泡沫切割机

不过,我们将在本文全文中以该机床为例,因为相同的工作原理适用于任何其他CNC机床,无论是铣床还是激光机床。

如何安装GRBL

首先,为了能够将GRBL安装或上传到Arduino,我们需要Arduino IDE

然后,我们可以从github.com下载GRBL 固件

GRBL-用于控制CNC机器的开源Arduino固件

将其下载为.ZIP文件,然后执行以下步骤:

向Arduino IDE添加新库

如何在Arduino上安装GRBL

GRBL配置

此时,我们应该为我们的机器配置或调整GRBL。我们可以通过Arduino IDE的串行监视器来做到这一点。打开串行监视器后,我们将收到类似“ Grbl 1.1h ['$'for help]”的消息。如果看不到此消息,请确保将波特率更改为115200。

如果我们键入“ $$”,我们将获得命令或当前设置的列表,它们显示如下:

$ 100 = 250.000(x,step / mm)
$ 101 = 250.000(y,step / mm)
$ 102 = 3200.000(z,step / mm)
$ 110 = 500.000(x max rate,mm / min)
$ 111 = 500.000(y max rate, mm / min)
$ 112 = 500.000(z max rate,mm / min)
$ 120 = 10.000(x accel,mm / sec ^ 2)
$ 121 = 10.000(y accel,mm / sec ^ 2)
$ 122 = 10.000(z accel,mm /秒^ 2)

所有这些命令都可以根据我们的CNC机床进行调整。例如,使用第一个命令$ 100 = 250.000(x,step / mm),我们可以调整机器每毫米的步长,或者我们可以指定电动机应该执行多少步,以使我们的X轴移动1 mm。

但是,我建议保留这些设置不变。有一种更简单的方法可以使用控制器软件根据我们的机器进行调整,我们将在下一部分中对其进行说明。


G代码说明-最重要和常见的G代码命令列表


GRBL控制器

因此,一旦我们安装了GRBL固件,现在我们的Arduino就知道如何读取G代码以及如何根据它控制CNC机器。但是,为了将G代码发送到Arduino,我们需要某种类型的接口或控制器软件来告诉Arduino该怎么做。实际上,为此目的有许多开源程序和商业程序。当然,我们将坚持开源,因此,作为示例,我们将使用Univarsal G代码发送器

通用G代码发送器,用于控制Arduino CNC机器

如何使用通用G码发送器

对于此示例,我将使用2.0平台版本。下载后,我们需要解压缩zip文件,进入“ bin”文件夹并打开任何可执行的“ ugsplatfrom”文件。这实际上是一个JAVA程序,因此为了能够运行该程序,首先我们需要安装JAVA Runtime Environment

打开通用G代码发送器后,首先我们需要配置机器,或配置前面显示的GRBL参数。为此,我们将使用UGS设置向导,它比通过Arduino IDE的串行监视器手动键入命令要方便得多。

通用G代码发送器-GRBL配置

第一步是选择波特率(应为115200)以及Arduino连接到的端口。将通用G代码发送器与Arduino连接后,在下一步中,我们可以检查电机的移动方向。

设定电动机的旋转方向

如果需要,我们可以通过向导反转方向,也可以通过手动翻转Arduino CNC Shield上的电机连接来改变方向。

在下一步中,我们可以调整前面提到的steps / mm参数。在这里,更容易理解如何进行调整,因为设置向导将计算并告诉我们应更新参数的值。

设置每毫米步长参数

默认值为250步/毫米。这意味着,如果我们单击“ x +”移动按钮,则电动机将步进250步。现在,根据电机的物理步数,所选的步进分辨率和传动类型,机器将移动一段距离。使用标尺,我们可以测量机器的实际运动,并在“实际运动”字段中输入该值。基于此,向导将计算并告诉我们应更改step / mm参数的值。

设置CNC机床的每毫米步数

就我而言,对于我制造的DIY CNC机器,机器移动了3mm。据此,向导建议将steps / mm参数更新为值83。

grbl步骤校准

更新该值后,机床现在可以正确移动,软件中的1毫米表示CNC机床为1毫米。

在UGS控制台中,当我们执行每个操作时,我们可以看到执行的命令。我们可以注意到,通过更新steps / mm参数,UGS程序实际发送到了Arduino或GRBL固件,这是我们前面提到的命令。这是默认值:$ 100 = 250.000(x,步长/毫米),现在我们更新为每毫米83步长的值:$ 100 = 83。

在下一步中,我们可以启用限位开关并测试它们是否正常工作。

CNC机器限位开关设置

根据它们是常开还是常闭连接,我们也可以在这里将它们反转。

在这里值得注意的是,有时我们需要禁用Z轴限位开关。我的DIY CNC泡沫切割机就是这种情况,我不需要Z轴限位开关,因此必须禁用它才能使机器正常复位。因此,为此,我们需要编辑位于Arduino库文件夹(或Documents \ Arduino \ libraries)中的config.h文件。

编辑GRBL配置文件以关闭Z轴限位开关

在这里,我们需要查找归位循环线,并注释3轴CNC机床的默认设置,并取消注释2轴机床的设置。为了使更改生效,我们需要保存文件并将grblUpload草图重新上传到我们的Arduino开发板。

但是,在下一步中,我们可以启用或禁用CNC锤头的归位。

CNC机床的归位设置

使用“尝试归位”按钮,机器将开始向限位开关移动。如果情况相反,我们可以轻松地反转方向。

最后,在设置向导的最后一步,我们可以为我们的CNC机床启用软限制。

启用CNC机床的软限制

柔和的限制可防止机器移动超出设定的工作区域。

结论

因此,借助GRBL固件和Arduino,我们可以轻松设置并运行DIY CNC机器。当然,我们仅在本教程中介绍了基础知识,但是我认为这足以理解工作原理以及如何启动和运行我们的第一台CNC机床。

Arduino Uno和Arduino CNC Shield

当然,还有许多其他设置和功能可用,因为GRBL确实具有强大的CNC控制器固件功能。GRBL文档详细解释了所有这些内容,因此您始终可以在github.com上其Wiki页面上对其进行检查

另外,还有许多其他开源GRBL控制器程序,例如通用G代码发送器,这里很少:GRBLweb(Web浏览器),GrblPanel(Windows GUI),grblControl(Windows / Linux GUI),Easel(基于浏览器)等您应该对它们进行探索,看看哪一个最适合您。


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.1 Zero

Copyright 175.es Rights Reserved.