如果您正在思考或您正在制作自己的数控机器,那么最有可能与术语GLBL会面。因此,在本教程中,我们将学习什么是GLBL,如何安装以及如何使用它来控制您的Arduino基于CNC计算机。
此外,我们将学习如何使用Universal G-code Sender,一个流行的开源GRBL控制器软件。
GRBL是什么?
GRBL是一个开源软件或固件,使运动控制数控机床。我们可以很容易地将GRBL固件安装到Arduino上,因此我们立即得到了一个低成本,高性能的CNC控制器。GRBL使用G-code作为输入,通过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泡沫切割机。
您可以在此检查并获取在此处构建此CNC机器所需的主电子组件:必威lol
- 步进电机- NEMA 17..................亚马逊/伯格多德/aliexpress.
- A4988步进司机...................... ...亚马逊/伯格多德/aliexpress.
- Arduino CNC Shield ............................亚马逊/伯格多德/aliexpress.
- Arduino Uno .........................................亚马逊/伯格多德/aliexpress.
必威外围提钱披露:这些是附属链接。作为一名亚马逊助理,我从合格的购买中获得收入。
这台数控机床的主要工具是一条热丝,它可以很容易地熔化或切断泡沫塑料,并做出我们想要的任何形状。要了解更多的细节,我如何制作的机器和如何一切工作,你可以检查特定的教程。
尽管如此,我们将在本文中用这款机器作为一个例子,因为相同的工作原理适用于任何其他CNC机器,无论是磨机还是激光。
如何安装grbl
首先,为了能够安装或上传GRBL到Arduino我们需要Arduino IDE。
然后我们可以下载GRBL从github.com固件。
下载。zip文件,然后按以下步骤操作:
- 打开grbl-master.zip文件并提取文件
- 打开Arduino IDE,导航到Sketch > Include Library > Add .ZIP Library…
- 导航到解压后的文件夹“grbl-master”,在那里选择“grbl”文件夹并点击打开的文件。现在我们必须把GRBL作为Arduino库。
- 接下来,导航到文件> 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刀位点发送方。
如何使用通用G代码发件人
对于此示例,我将使用2.0平台版本。下载后,我们需要提取ZIP文件,转到“Bin”文件夹并打开任何可执行的“UGSplatfrom”文件。这实际上是一个Java程序,所以为了能够运行这个程序,首先需要安装Java运行时环境。
一旦我们打开Universal G-code发送器,首先我们需要配置机器,或者配置前面显示的GRBL参数。为此,我们将使用UGS安装向导,这是更方便的手动输入命令,通过Arduino IDE的串行监视器。
这里的第一步是选择波特拉特,应该是115200,以及我们的Arduino连接的端口。一旦我们使用Arduino将通用G代码发件人连接,在下一步中,我们可以检查电机的移动方向。
如果需要,我们可以通过向导反转方向,或者通过手动翻转电机的连接在Arduino CNC屏蔽上。
在下一步中,我们可以调整我们前面提到的步骤/ mm参数。在这里,了解如何调整它是更容易的,因为设置向导将计算并告诉我们我们应该更新参数的值。
默认值为250步/ mm。这意味着,如果我们单击“X +”按钮,电机将制作250步。现在根据电机的物理步骤数量,所选步进分辨率和传输类型,机器将移动一定距离。使用统治者我们可以测量机器所做的实际运动并在“实际移动”字段中输入该值。基于此,向导将计算并告诉我们要更改步骤/ mm参数的值。
在我的情况下,对于我制造的DIY数控机器,机器移动3mm。据此,向导建议将步骤/ mm参数更新为83的值。
更新此值后,机器现在可以正确移动,1毫米在软件中意味着1毫米的数控机床。
在UGS控制台中,当我们做出每个操作时,我们可以看到执行的命令。我们可以注意到,通过更新步骤/mm参数,UGS程序实际上发送到Arduino,或GRBL固件的命令,我们前面提到的。这是默认值:$100=250.000 (x,步长/毫米),现在我们将值更新为每毫米83步:$100=83。
在下一步中,我们可以启用限制交换机并测试它们是否正常工作。
根据它们是否正常打开或通常关闭连接,我们也可以将它们颠倒过来。
这里值得注意的是,有时我们需要禁用Z轴限位开关。这是我的DIY数控泡沫切割机的情况下,我不需要Z轴限位开关,我必须禁用它,以便能够适当地home机器。因此,要做到这一点,我们需要编辑config.h文件,它位于Arduino库文件夹(或文档Arduino库)。
在这里,我们需要找到归位周期线,并注释3轴数控机床的默认设置,取消注释2轴机床的设置。为了使更改生效,我们需要保存文件并将grblUpload草图重新上载到Arduino板。
尽管如此,在下一步我们可以启用或禁用CNC加工的归位。
使用“尝试归位”按钮,机器将开始朝向极限结束开关移动。如果它相反的方式,我们可以轻松地反向方向。
最后,在设置向导的最后一步,我们可以为我们的CNC机器启用软限制。
软限制可防止机器超出设定的工作区域。
结论
因此,由于GRBL固件和Arduino,我们可以轻松设置并获得我们的DIY CNC机器运行。当然,我们在本教程中介绍了基础知识,但我认为这足以了解事情的工作以及如何获得我们的第一个CNC机器并运行。
当然,还有许多其他设置和功能可用,因为GRBL是真正强大的CNC控制器固件。GRBL文档详细解释了所有这些,所以您可以随时查看它们github.com上的wiki页面。
此外,还有许多其他开源GRBL控制器程序,如通用G代码发件人,这里很少:grblweb(web浏览器),grblpanel(Windows GUI),GrblControl(Windows / Linux GUI),画架(基于浏览器)等。你应该探索他们,看看哪一个最好的。
这个问题真的很快。你能谈谈3D打印和CNC之间的连接和差异吗?
嗨,德扬,
谢谢你的教程!我真的很欣赏这一点,但有一些问题......
您使用哪种CNC屏蔽?在图片中,它看起来您使用的v3.0与Grbl 1.1 Afaik不兼容。我使用相同的盾牌,实际上使用grbl 0.8来获取电机运行。您是否对GRBL 1.1和Shield v3.0有任何问题/错误?
谢谢你!
嘿,谢谢!那么我使用的数控盾牌是v3.0,或者这就是它在董事会上所说的。我没有遇到任何问题/错误,所以我可以说什么。
嗨,这是一个非常有帮助的电影像Me.的电影的解释。我已经建立了我的迷你数控雕刻,但努力使机器移动。然而,只有我缺乏对Arduino和Grbl Coding的知识。然而,我将在那里。感谢您对everthing如何合适的探讨。