如果您正在思考或您正在制作自己的数控机器,那么最有可能与术语GLBL会面。因此,在本教程中,我们将学习什么是GLBL,如何安装以及如何使用它来控制您的Arduino基于CNC计算机。

此外,我们将学习如何使用Universal G-code Sender,一个流行的开源GRBL控制器软件。

GRBL是什么?

GRBL是一个开源软件或固件,使运动控制数控机床。我们可以很容易地将GRBL固件安装到Arduino上,因此我们立即得到了一个低成本,高性能的CNC控制器。GRBL使用G-code作为输入,通过Arduino输出运动控制。

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

GRBL和Arduino数控机床工作原理

从图中,我们可以看到GRBL在CNC机器的工作原理的“大图”中发生的位置。它是一个固件,我们需要安装或上传到Arduino,因此它可以控制CNC机器的步进电机。换句话说,GRBL固件的功能是转换g代码进入电机运动。

所需的硬件

  • Arduino-我们已经说过,我们需要Arduino来安装GRBL。具体来说,我们需要一个基于Atmega 328的Arduino板,这意味着我们可以使用Arduino UNO或Nano。
  • 步进电机- 显然,步进电机提供机器的运动。
  • 司机- 用于驱动步进电机,我们需要驾驶员和常见的选择,当涉及到较小的DIY CNC机器时(使用NEMA 14或17脚步)是A4988.或DRV8825驱动程序。
  • Arduino CNC Shield.- 将步进器驱动程序连接到Arduino,最简单的方法是使用Arduino CNC屏蔽。它采用了所有Arduino引脚,提供了一种连接所有内容,步进电机,主轴/激光器,限位开关,冷却风扇等的简便方法。

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

实际上,作为一切需要连接的例子,我们可以看看我的看法DIY CNC泡沫切割机

Arduino CNC机电路图 - 电子组件必威lol

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

必威外围提钱披露:这些是附属链接。作为一名亚马逊助理,我从合格的购买中获得收入。

这台数控机床的主要工具是一条热丝,它可以很容易地熔化或切断泡沫塑料,并做出我们想要的任何形状。要了解更多的细节,我如何制作的机器和如何一切工作,你可以检查特定的教程。

Arduino CNC泡沫切割机

尽管如此,我们将在本文中用这款机器作为一个例子,因为相同的工作原理适用于任何其他CNC机器,无论是磨机还是激光。

如何安装grbl

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

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

开源Arduino固件控制数控机床

下载。zip文件,然后按以下步骤操作:

  • 打开grbl-master.zip文件并提取文件
  • 打开Arduino IDE,导航到Sketch > Include Library > Add .ZIP Library…

将新库添加到Arduino IDE

  • 导航到解压后的文件夹“grbl-master”,在那里选择“grbl”文件夹并点击打开的文件。现在我们必须把GRBL作为Arduino库。

如何在arduino上安装grbl

  • 接下来,导航到文件> exampleR> grbl> glblupload。一个新的草图将打开,我们需要将其上传到Arduino Board。代码可能看起来很奇怪,因为它只是一条线,但不是担心,一切都发生在图书馆的背景中。因此,我们只需选择Arduino Board,COM端口并按下上传按钮,我们完成了。

GRBL配置

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

如果我们输入" $$ ",我们将得到一个命令或当前设置的列表,它们显示如下:

100美元= 250.000 (x,步骤/毫米)
$ 101 = 250.000(y,step / mm)
$ 102 = 3200.000(z,步骤/ mm)
110美元= 500.000(x最大速率,mm / min)
$111=500.000 (y最大速率,毫米/分钟)
$ 112 = 500.000(z最大速率,mm / min)
$ 120 = 10.000(X Accel,MM / SEC ^ 2)
$121=10.000 (y加速,mm/sec^2)
$ 122 = 10.000(Z Accel,MM / SEC ^ 2)

所有这些命令都可以或应根据我们的数控机床进行调整。例如,使用First命令,$ 100 = 250.000(x,步骤/ mm),我们可以调整每mm的步骤,或者我们可以指定电机应使我们的X轴移动到1 mm的步骤。

但是,我建议留下这些设置。使用控制器软件根据我们的机器调整它们的更简单方法,我们将在下一节中解释。

格兰尔控制器

所以一旦我们安装了GRBL固件,现在我们的Arduino知道如何读取g代码,如何根据它来控制数控机床。然而,为了将g代码发送到Arduino,我们需要某种接口或控制器软件来告诉Arduino该做什么。实际上,有许多开源和商业程序都是为了这个目的。当然,我们将坚持开源,所以作为一个例子,我们将使用Univarsal刀位点发送方

用于控制Arduino CNC机器的通用G代码发件人

如何使用通用G代码发件人

对于此示例,我将使用2.0平台版本。下载后,我们需要提取ZIP文件,转到“Bin”文件夹并打开任何可执行的“UGSplatfrom”文件。这实际上是一个Java程序,所以为了能够运行这个程序,首先需要安装Java运行时环境

一旦我们打开Universal G-code发送器,首先我们需要配置机器,或者配置前面显示的GRBL参数。为此,我们将使用UGS安装向导,这是更方便的手动输入命令,通过Arduino IDE的串行监视器。

通用G代码发件人 -  GRBL配置

这里的第一步是选择波特拉特,应该是115200,以及我们的Arduino连接的端口。一旦我们使用Arduino将通用G代码发件人连接,在下一步中,我们可以检查电机的移动方向。

设置电机的旋转方向

如果需要,我们可以通过向导反转方向,或者通过手动翻转电机的连接在Arduino CNC屏蔽上。

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

设置每个MM参数的步骤

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

为数毫米机器设置每个MM参数的步骤

在我的情况下,对于我制造的DIY数控机器,机器移动3mm。据此,向导建议将步骤/ mm参数更新为83的值。

GRBL步骤校准

更新此值后,机器现在可以正确移动,1毫米在软件中意味着1毫米的数控机床。

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

在下一步中,我们可以启用限制交换机并测试它们是否正常工作。

数控机床限位开关设置

根据它们是否正常打开或通常关闭连接,我们也可以将它们颠倒过来。

这里值得注意的是,有时我们需要禁用Z轴限位开关。这是我的DIY数控泡沫切割机的情况下,我不需要Z轴限位开关,我必须禁用它,以便能够适当地home机器。因此,要做到这一点,我们需要编辑config.h文件,它位于Arduino库文件夹(或文档Arduino库)。

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

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

尽管如此,在下一步我们可以启用或禁用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),画架(基于浏览器)等。你应该探索他们,看看哪一个最好的。

4的反应

  1. 吉姆·格林

    这个问题真的很快。你能谈谈3D打印和CNC之间的连接和差异吗?

    回复
  2. 基督教

    嗨,德扬,

    谢谢你的教程!我真的很欣赏这一点,但有一些问题......

    您使用哪种CNC屏蔽?在图片中,它看起来您使用的v3.0与Grbl 1.1 Afaik不兼容。我使用相同的盾牌,实际上使用grbl 0.8来获取电机运行。您是否对GRBL 1.1和Shield v3.0有任何问题/错误?

    谢谢你!

    回复
    • 德国

      嘿,谢谢!那么我使用的数控盾牌是v3.0,或者这就是它在董事会上所说的。我没有遇到任何问题/错误,所以我可以说什么。

      回复
  3. 雅各布德啤酒

    嗨,这是一个非常有帮助的电影像Me.的电影的解释。我已经建立了我的迷你数控雕刻,但努力使机器移动。然而,只有我缺乏对Arduino和Grbl Coding的知识。然而,我将在那里。感谢您对everthing如何合适的探讨。

    回复

留下一个回复

您的电子邮件地址不会被公开。

受到推崇的

2019年初学者和爱好者的最佳进入级示波器

为初学者和爱好者最好的示波器

受到推崇的

2019年针对初学者的8个最佳Arduino入门工具包

初学者的8个最佳Arduino Starter Kits

受到推崇的

用于初学者和爱好者的最佳3D打印机 -  3D打印

初学者和爱好者的最佳3D打印机