亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

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

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

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

什么是 GRBL?

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

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

从图中我们可以看到 GRBL 在 CNC 机床工作原理的“大图”中发生的位置。这是我们需要安装或上传到 Arduino 的固件,以便它可以控制 CNC 机器的步进电机。也就是说,GRBL固件的作用就是将G代码翻译成电机运动。

所需硬件

  • 阿杜诺 – 正如我们已经说过的,我们需要一个 Arduino 来安装 GRBL。具体来说,我们需要一个基于 Atmega 328 的 Arduino 板,这意味着我们可以使用 Arduino UNO 或 Nano。
  • 步进电机 – 显然,步进电机提供机器的运动。
  • 驱动程序 – 为了驱动步进电机,我们需要驱动器,而对于较小的 DIY CNC 机器(使用 NEMA 14 或 17 步进器),我们需要 A4988 或 DRV8825 驱动器。
  • Arduino CNC 扩展板 – 要将步进驱动器连接到 Arduino,最简单的方法是使用 Arduino CNC Shield。它利用所有 Arduino 引脚,并提供了一种简单的方法来连接所有东西,包括步进电机、主轴/激光器、限位开关、冷却风扇等。

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

实际上,作为如何连接所有东西的示例,我们可以看看我的 DIY 数控泡沫切割机。

您可以在此处查看并获取构建此 CNC 机床所需的主要电子元件:

  • 步进电机 – NEMA 17………………
  • A4988 步进驱动器……………………..……
  • Arduino CNC 扩展板…………………………。 亚马逊棒棒哒 /速卖通
  • Arduino Uno………………………………..……

这台数控机床的主要工具是一根热线,它可以很容易地熔化或切割泡沫塑料,制成我们想要的任何形状。有关我如何制作机器以及一切如何运作的更多详细信息,您可以查看特定教程。

尽管如此,我们将在本文中以这台机器为例,因为相同的工作原理适用于任何其他数控机床,无论是铣床还是激光。

如何安装 GRBL

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

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

将其下载为 .ZIP 文件,然后按照以下步骤操作:

  • 打开 grbl-master.zip 文件并解压文件
  • 打开 Arduino IDE,导航到 Sketch> Include Library> Add .ZIP Library…
  • 导航到提取的文件夹“grbl-master”,在其中选择“grbl”文件夹并单击打开的文件。现在我们必须将 GRBL 作为 Arduino 库。
  • 接下来,导航到文件> 示例> grbl> grblUpload。将打开一个新草图,我们需要将其上传到 Arduino 板。代码可能看起来很奇怪,因为它只有一行,但不用担心,一切都发生在库的后台。因此,我们只需选择 Arduino 板、COM 端口并点击上传按钮即可完成。

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,毫米/分钟)
$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)

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

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

GRBL 控制器

因此,一旦我们安装了 GRBL 固件,现在我们的 Arduino 就知道如何读取 G 代码以及如何根据它控制 CNC 机床了。然而,为了将 G 代码发送到 Arduino,我们需要某种接口或控制器软件来告诉 Arduino 做什么。实际上,有很多开源和商业程序都用于此目的。当然,我们会坚持开源,所以我们以Univarsal G-code Sender为例。

如何使用通用 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(基于浏览器)等. 你应该去探索它们,看看哪一个最适合你。


制造工艺

  1. 如何查找二手数控机床
  2. 如何清洁二手数控机床
  3. 如何使用 ArtCAM 为 CNC 机床生成 G 代码文件?
  4. 如何避免二手数控机床出现问题
  5. 如何选择您的 CNC 机床
  6. 使用 Arduino 控制硬币接收器
  7. Arduino 带蓝牙控制 LED!
  8. Arduino Nano:使用操纵杆控制 2 个步进电机
  9. 带 CNC 的车床
  10. 如何用 CNC 加工珠宝首饰?
  11. 如何自动化数控机床加工
  12. 瑞士数控机床如何在车削方面表现出色?