使用开源软件的CNC铣削

使用基于开源软件和 Arduino 控制器的 DIY CNC 铣床,创建您最喜爱的设计。
497 位读者喜欢这篇文章。

我一直在寻找可以使用我的 3D 打印机创建的新项目。最近,当我看到一个主要使用 3D 打印部件的计算机数控 (CNC) 铣床的新设计时,我被吸引了。当我看到这台机器使用开源软件,并且控制器是运行开源软件的 Arduino 时,我就知道我必须做一个。

CNC 铣床是用于创建模具、雕刻和模型的精密切割工具。与其他铣削工具不同,CNC 机床可以在三个轴上移动:Z 轴垂直移动,X 轴水平移动,Y 轴前后移动。

DIY 您的 CNC

虽然这台 CNC 机床的许多组件是 3D 打印的,但仍有几个部件必须订购才能使其工作。其创建者 Nikodem Bartnik 在该项目的 Thingiverse 页面上列出了零件清单,并提供了下载 3D 打印零件 STL 文件的链接。

我订购了必要的零件并开始等待。它们从海外发货,所以有些零件花了大约一个月才到货。在此期间,我 3D 打印了其他零件。

这台 CNC 机床基于 Arduino 控制器构建,该控制器运行开源 GRBL 运动控制软件。GRBL 控制器接收 CNC G 代码(CNC 铣床的基于文本的指令列表),并通过驱动步进电机将其转换为运动。该机器有一个用于 Z 轴(上下)的步进电机,一个用于 X 轴(左右)的步进电机,以及两个用于 Y 轴(前后)的步进电机。GRBL 网站上有关于将 GRBL 加载到 Arduino 板上的文档。

我不会详细介绍 CNC 硬件组装,因为 Nikodem 有 一系列视频详细解释了这一点。相反,我将专注于可用于为 CNC 机床创建设计和运行 CNC 机床的开源软件。除了 Fedora 作为我的基础操作系统外,我使用的其他开源软件还有 GRBL、Inkscape、jscut 和 CNCjs。

在本教程中,我将解释如何创建一个 CNC 铣削的 Larry Ewing Linux Tux 徽标木制版本。

制作您的文件

制作木制 Tux 的第一步是从 Wikimedia Commons 下载该徽标的黑白 PNG 格式版本。

Tux logo from Wikimedia Commons

为了使 Tux 徽标可以在 CNC 机床上工作,请使用 Inkscape 将 Tux PNG 文件转换为 SVG 文件,方法是将 PNG 文件拖放到 Inkscape 窗口中。然后使用 Inkscape 的 Trace Bitmap 选项将图像转换为 SVG 路径。这将创建图像的重复副本——一个是路径,另一个是位图——删除位图副本。使用 Break Apart 选项并删除 Tux 轮廓和 Tux 嘴部的 Fill 属性;您将获得一个看起来像原始图像反转的 SVG 图像。

Inverse Tux file created in Inkscape

在 Inkscape 中创建的 SVG 文件。黑色部分将由 CNC 机床铣削掉。

接下来,将 SVG 文件转换为 CNC G 代码,这是一系列指令,告诉 CNC 机床如何创建所需的设计。我使用了开源 jscut 软件,这是一个基于网络的计算机辅助制造 (CAM) 程序。您可以下载该软件并在本地计算机上运行,也可以使用 jscut.org 上的基于网络的版本,我就是这样做的。

使用 Open SVG 下拉菜单在 jscut.org 上打开 SVG 文件。接下来,单击 SVG 图像的一个或多个部分,然后单击 Create Operation。选择操作类型(雕刻、外部、型腔等)和切割深度,然后单击 Generate。不同类型的操作定义了切割的位置;您可以通过转到 Simulate GCODE 选项卡来查看不同操作的效果,该选项卡显示切割效果的预览。对于 Tux,我为设计的各个部分创建了多个操作。

Generating the Tux CNC G-code with jscut

使用 jscut 生成 Tux CNC G 代码。

Tool 部分下设置切割刀具的属性;这些属性包括指定刀具的直径和切割速度。jscut 的一个限制是您无法为不同的操作指定不同的刀具尺寸。为了创建 Tux,我需要使用两种不同的刀具:一种较小的刀具用于雕刻眼睛、鼻子和嘴巴等细节,另一种较大的刀具用于将 Tux 的轮廓完全切割穿过木板。我使用 jscut 两次生成两个不同的 G 代码文件:一个用于使用较小的刀具进行雕刻,另一个用于使用较大的刀具切割 Tux 的轮廓。

创建两个 G 代码文件后,下一个任务是获取 CNC 控制器软件。我使用了开源 CNCjs。CNCjs 基于 Web,易于使用,并支持与 GRBL 控制器接口。在 安装 后,在 Web 浏览器中访问 CNCjs 并将其连接到您的 Arduino GRBL 控制器。

单击 Upload G-Code 并指定您使用 jscut 创建的文件。首先,我加载了在 Tux 顶部进行雕刻的 G 代码文件。

准备切割

您几乎可以开始切割了!由于您将完全切割穿过木材,因此使用“垫板”是明智的——垫板位于 CNC 机床的顶部,您不介意切割它。这是因为当机器切割出 Tux 时,它将完全穿过并进入下面的板。垫板可以根据需要更换。

Waste board

显示先前切割的垫板。

将垫板牢固地连接到您的 CNC 机床上,以防止任何移动,然后连接您将用于 Tux 的木块。有很多方法可以连接木材——我使用重型双面地毯胶带。

切割前的最后一步是将主轴上的刀具与您要切割的木块对齐。使用 CNCjs 的 Axes 按钮物理移动主轴,使刀具的 X、Y 和 Z 坐标与木材的左上角对齐。Z 轴应略高于木材;您应该能够在木材和刀具之间滑动一张纸,但当纸张滑动时,会感觉到刀具在纸张上拖动。

一切对齐后,通过单击每个轴的 Set 按钮,将 X、Y 和 Z 轴的工作位置偏移设置为零。

Zeroing axes work position

将 X、Y 和 Z 轴的工作位置设置为零。

按下 CNCjs 中的 Z+ 按钮稍微抬起刀具,这样当主轴打开时,就不会在木材上留下痕迹。

要开始切割,请戴上安全眼镜、听力保护装置和防尘面罩。接下来,打开主轴,然后单击 CNCjs 中的 Play 按钮。

在切割过程中密切监控机器,并制定计划在需要时快速断开 CNC 机床和主轴的电源。还要准备好吸尘器,因为它会产生大量锯末。

在第一个 G 代码文件完成 Tux 上的雕刻后,关闭主轴并按下 CNCjs 中的 X0Y0 按钮,将主轴返回到 X 和 Y 轴工作位置的原点。然后更换为更大的刀具,上传将切割出 Tux 轮廓的 G 代码文件,并按照相同的步骤运行它。

Tux on CNC machine

打磨 Tux 以清理干净,并涂上一些木器漆以保护它。这是我的成果:一个使用 100% 开源软件制作的木制 Tux。

Completed Tux
User profile image.
我在红帽公司担任技术客户经理。当我不玩 Linux 和其他开源软件时,我会花时间与我的妻子和 3 个孩子在一起,或者试图让我的 1974 年大众 Thing 保持运行。我使用 Linux 已经 15 年了,迫不及待地想看看开源软件的未来会怎样。

3 条评论

这非常有帮助。有没有像这样的免费项目来源?我的学校要引进一台 CNC 机床,我在那里教激光雕刻。我很想得到一些关于初学者学习 CNC 的网站信息。谢谢,Jack

CC-BY-SA 许可。
感谢您提供的 CNC 机床详细信息,我一直在寻找一种可以自己构建的简单桌面机床

Paul

我下载了列表中的所有内容,但我在运行 Windows 10,并且无法使用 Linux 程序。我是新手,正在尝试启动并运行我的铣床。我按照 metalcuttingvision.com 的说明进行操作。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.