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

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

概述

本教程将学习如何制作一台 Arduino CNC 泡沫切割机。这是一台典型的 DIY CNC 机器,因为它由简单廉价的材料、一些 3D 打印零件组成,并以 Arduino 作为控制器。

您可以观看以下视频或阅读下面的文字教程。

该机器的主要工具不是钻头或激光,而是热丝——一种特殊的电阻丝,通电后会变得非常热。热丝穿过泡沫时会熔化或汽化泡沫,从而精准轻松地切割出任意形状。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

我说“轻松”是因为制作 CNC 机器其实并不难。如果您是初学者,正考虑制作第一台 DIY CNC 机器,请继续关注,我将解释一切工作原理。我将展示从机器设计、电子元件连接、Arduino 编程,到如何准备形状、生成 G 代码以及使用免费开源程序控制机器的全过程。让我们开始吧。

Arduino CNC 泡沫切割机 3D 模型

首先,这是机器的 3D 模型。您可以在下方下载并查看 3D 模型。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

您可以在 Thangs 上找到并下载此 3D 模型,也可在浏览器中探索。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

在 Thangs 下载组装 3D 模型。

STL 文件用于 3D 打印:

基座结构由 20x20mm T 型槽铝型材制成。我选择这些型材是因为它们易于使用,组装时无需钻孔,且可重复使用,易于拆卸用于其他项目。每个轴的运动通过线性轴承在 10mm 光滑杆上滑动实现,每轴使用两根杆。

滑块外观可能有点奇怪,但它们的设计可作为单个零件轻松 3D 打印,同时具有多种功能。例如,X 轴滑块容纳两个线性轴承,固定 Y 轴杆、Y 轴皮带轮,并设有手柄连接 X 轴皮带。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

驱动滑块使用 NEMA 17 步进电机。通过轴联轴器、简单的丝杆、两个皮带轮和两根皮带,可同时均匀驱动每根导轨上的两个滑块。

这里还有一个第三个步进电机,使机器能够制作 2.5D 形状,稍后将解释其工作原理。

总体而言,就结构和刚性而言,该设计可能不是最好的,但我的目的是用最少的零件制作一台功能齐全的机器,并仍能完成工作。

3D 打印零件使用我的 Creality CR-10 3D 打印机,这是一款性价比很高的优秀 3D 打印机。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

注意:某些 3D 打印零件需要后处理,或使用前需移除支撑材料。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

某些情况下,我还需用锉刀去除多余材料,可能是切片软件中支撑设置不当所致。

组装 CNC

不管怎样,现在所有材料准备就绪,可以开始组装机器了。

以下是该 CNC 机器使用的所有主要元件清单。电子元件清单请见下文电路图部分。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

我手头的 T 型槽铝型材长 60cm,根据 3D 模型用金属手锯切割至尺寸。然后用角支架组装底座框架。接下来安装 X 轴的轴夹。看,使用 T 型槽型材非常简单,只需一些 M5 螺栓和 T 型槽螺母即可固定各种东西。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来将丝杆穿过夹具。半插入时,还需加入 X 轴滑块。将两个轴承放入滑块,然后套入丝杆。现在可将丝杆滑入另一侧,用 M4 螺栓和螺母拧紧固定。另一侧重复此过程。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来安装 Y 轴。首先将杆插入 X 轴滑块,与零件底部齐平,用 M4 螺母螺栓固定。然后插入 Y 轴滑块,这些滑块仅使用单个线性轴承。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

在 Y 轴杆顶部安装安装支架,将两根 Y 轴杆与顶部的 T 型槽型材连接。同样方法将其固定到杆上。将 T 型槽型材连接到安装支架时,先在支架上放 3 个 M5 螺栓和 T 型槽螺母,然后滑入型材并拧紧螺栓。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

至此主体结构完成,可在 X 和 Y 轴自由移动。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来在底座框架上安装腿。同样使用 T 型槽型材非常简单。固定腿后,安装 X 轴的第一个步进电机。这里使用 20mm 间隔螺母以调整电机轴位置,以便稍后在腿附近放置皮带轮。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接着使用一根简单的 6mm 丝杆同时驱动两根皮带。先将其切割至尺寸,在步进电机对面的腿上放一个内径 6mm 的轴承,穿过丝杆。然后插入螺母固定丝杆到轴承,并装上两个齿形带轮。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

连接丝杆到步进电机,我 3D 打印了一个轴联轴器,步进电机侧 5mm 孔,丝杆侧 6mm 孔。轴联轴器有插入 M3 螺母的槽,用 M3 螺栓或定位螺丝即可轻松固定到电机轴和丝杆。接下来将带轮对齐滑块手柄并用定位螺丝固定。

在机器另一侧安装两个惰轮。我用 M5 螺栓螺母固定。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

现在安装 X 轴 GT2 皮带。先用扎带将皮带固定到滑块。然后绕过齿形带轮,另一侧绕过惰轮,剪至合适长度,再用扎带固定到滑块另一侧。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

另一侧重复此过程。固定另一侧时,必须确保两个滑块在 X 轴上处于相同位置。为此可将它们移至导轨末端,绷紧皮带并用扎带固定。X 轴滑动机构完成。

相关:DIY 自动换笔绘图仪 | CNC 绘图机

用相同方法组装 Y 轴机构。用扎带将皮带固定到滑块。这里滑块只有一个手柄,先扎带一端,然后拉紧皮带,用另一扎带同时夹住两端。现在可移除第一个扎带并剪去多余皮带。固定另一侧时同样确保两滑块在 Y 轴同位置。Y 轴机构也完成了。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来在 X 轴上再安装一根 T 型槽型材。这根型材用于安装第 3 个步进电机以及放置泡沫块。利用第 3 个步进电机,机器可制作 2.5D 即三维形状,例如棋子。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来安装电阻丝。该丝需能承受高温并保持长度方向温度均匀。通常使用镍铬丝或不锈钢钓鱼线,价格低廉且易购。丝需张紧在两塔/滑块之间,方法如下:在两滑块上装 M5 螺栓并加小型伸缩弹簧。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

然后将丝连接到弹簧。将丝张紧至弹簧允许的最大程度。丝需用弹簧张紧,因为受热时会伸长,弹簧可补偿伸长量。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

接下来将电阻丝与电线连接。使用直流电源,极性不重要,只需电流流过丝使其发热。请确保电线足够粗以支持 3-5 安培电流。我用 22 AWG 线,但建议用 20 或 18 AWG 以保险。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

最初我将电线夹在两个螺母之间,电流可通过线圈流到电阻丝。这实际上效果不佳,稍后我会展示原因。我将电线穿过滑块手柄以保持整齐并远离热丝。

接下来安装 CNC 机器的限位开关/行程开关。这些微动开关有 3 个接线端:地、常开和常闭。最初我接常开,但测试后改为常闭,因为这样机器工作更稳定。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

问题在于 CNC 机器工作时产生的电气噪声会误触发开关,导致机器停止工作。

Arduino CNC 泡沫切割机电路图

接下来连接步进电机线缆,看看如何连接所有电子元件。这是所有连接的电路图。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

当然,这台 CNC 机器的大脑是 Arduino 开发板。此外还需要 Arduino CNC 扩展板、三个 A4988 步进驱动器和一个 DC-DC 转换器来控制热丝温度。

所需电子元件

我 3D 打印了一个电子元件支架,用 M3 螺栓固定在 T 型槽型材一侧。先用 M3 螺栓将 Arduino 板固定到支架,然后将 Arduino CNC 扩展板插在上面。

接下来用跳线帽选择步进驱动器的细分分辨率。我选择了 1/16 细分,每个驱动器加三个跳线帽,使步进电机运动更平滑。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

放置驱动器时确保方向正确,小电位器可作为指示,应朝向扩展板底部。

继续固定 DC 转换器。然后将三个步进电机连接到 Arduino CNC 扩展板,以及两个限位开关连接到 X+ 和 Y+ 限位引脚。供电使用 12V 6A DC 电源。Arduino CNC 扩展板实际工作电压 12-36V,我使用的特定 DC 转换器也支持相同电压范围。DC 转换器输入端加了一个开关,可单独控制热丝开关。DC 转换器输出端直接连接电阻丝两端的两根线。最后通过 USB 供电 Arduino,通过 DC 电源插头供电 Arduino CNC 扩展板和步进电机。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

现在测试机器是否正常工作,先从热丝开始。您可以看到 DC 转换器输入 0V,打开开关后输入端得 12V。输出端最初 0V,但转动电位器可将输出电压从 0 调至 12V,从而控制热丝电流和温度。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

测试 DC 转换器输出电压的最佳方法是尝试切割泡沫块。热丝应能轻松切割泡沫而不产生大阻力和弯曲。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

然而初测后,您可以看到热丝发生了什么。它因受热伸长,本应补偿的弹簧却失效了。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

实际上,弹簧因过热失去功能,因为这种接法电流也流过弹簧。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

所以我更换了新弹簧,并用鳄鱼夹将电线直接连接到电阻丝,绕过弹簧。

Arduino CNC 机器软件

现在该给机器注入生命,使其成为真正的 CNC 机器了。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

首先需要上传固件到 Arduino 以控制机器运动。DIY CNC 机器最流行的选择是 GRBL 固件。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

它是开源的,可从 GitHub 下载。下载 zip 文件后解压,将 "grbl" 文件夹复制到 Arduino 库目录。然后打开 Arduino IDE,从 文件 > 示例 > grbl 选择 grblUpload 示例。选择所用 Arduino 板(Arduino UNO)、COM 端口,最后上传草图。上传后,Arduino 就知道如何读取 G 代码并据此控制机器。

接下来需要某种界面或控制器与 Arduino 通信并指挥其动作。同样选择开源程序:Universal G-Code Sender。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

我下载了 2.0 Platform 版本。运行程序需解压 zip,进入 "bin" 文件夹打开任意可执行 ugsplatfrom 文件。这是 JAVA 程序,需先安装 JAVA Runtime Environment(可从官网免费下载)。

打开 Universal G-Code Sender 后,首先运行设置向导配置机器。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

只需选择正确的端口并连接程序到 Arduino。连接建立后,可通过点击按钮检查电机移动方向。如需可反向。我选择正向移动从原点(限位开关位置)向另一侧移动。

接下来校准电机步数以实现准确移动。我们在驱动器上选择了 1/16 细分,电机有 200 物理步数,意味着电机转一圈 360 度需 3200 步。根据传动类型(此处为带轮尺寸),需计算机器移动 1mm 所需步数。默认值设为 250 步/mm。点击移动按钮后电机将走 250 步。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

实际用尺子测量机器移动距离,在程序中输入该数值。程序将计算并告诉我们应将 steps/mm 参数改为多少。我这里是 83 步/mm。Z 轴设为 400 步/mm,即 Z 轴 1mm 对应 45 度旋转。

接下来检查限位开关是否正常工作。根据接线 NO 或 NC 可在此反向。如前所述,NC 接法对我效果更好。注意:需关闭 Z 轴限位开关,因为我们机器没有 Z 轴限位。不关闭将无法回零。为此需进入 Arduino 库中的 grbl 文件夹,编辑 config.h 文件。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

找到回零循环行,注释掉默认的 3 轴 CNC 设置,取消注释 2 轴机器设置。保存文件并重新上传 grblUpload 示例到 Arduino。注意可能需重启程序以正常工作。

现在可尝试用 "Try homing" 按钮回零机器。点击后机器应向 X 限位开关移动,触发后移动 Y 轴。如需可更改限位开关方向。设置向导结束时可设置软限位,实际限制机器每个方向最大行程。我这里是 45x45cm。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

程序现已准备就绪。每次使用前应先回零机器,然后可进行任何操作。建议先用 Jog 控制器手动移动机器测试。此时也应尝试切割泡沫块,找出最适合的进给率/移动速度。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

您应同时调整热丝温度和进给率,以获得最干净精准的切割效果。

为 CNC 机器生成 G 代码

最后,看看如何准备图形以便 CNC 机器切割形状。需要矢量图形软件,同样选择开源的 Inkscape。可从官网免费下载。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

我将展示两个使用 Inkscape 为 Arduino CNC 机器生成 G 代码的示例。首先将页面大小设为工作区尺寸 45x45cm。第一个示例下载 Arduino logo 图片并导入程序。使用 "位图跟踪" 功能将图片转为矢量格式。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

为了用热丝切割此形状,需使形状成为连续路径。因为热丝始终存在于工作区,不能像钻头那样抬起或像激光那样关闭以在字母或形状间移动。因此用简单矩形连接所有分离部分。通过选择部分并使用 "联合" 功能实现。内部闭合回路需打开,使用 "差集" 功能。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

绘图准备好后,使用 Gcodetools 扩展生成 G 代码。先生成方向点。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

然后缩放模型至所需尺寸。接着进入工具库定义 Arduino CNC 机器使用的刀具。可选择圆柱体(热丝为圆柱形)。可更改参数如刀具直径,我设为 1mm,以及进给率。其他参数暂不重要。最后使用 "路径转 G 代码" 功能生成该形状的 G 代码。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

G 代码只是 GRBL 或 Arduino 能理解的一组指令,据此驱动步进电机。现在可在 Universal G-code sender 程序中打开 G 代码,通过可视化窗口查看机器应走的路径。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

但我们注意到黄线代表空移(使用钻头或激光时的空中移动)。如前所述,热丝不能在这些移动中穿行,否则会切穿材料破坏形状。这里其实发现整个形状没有单一路径,因为我们忘记打开 logo 内部的闭合区域。可返回绘图,打开这些闭合区域,再重新生成 G 代码。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

还有一点:建议双击形状选择节点并 "在选定节点处断开路径" 来选择自己的起点。打开新 G 代码可看到路径从字母 A 开始,遍历整个形状,最后回到 A。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

为将泡沫块固定到 CNC 机器,我制作了简单的夹具,带有穿透泡沫的 M3 螺栓以固定。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

现在展示另一个制作三维形状的示例。我们将制作一个方柱形状,需在四面各以 90 度切割。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

用前面的位图跟踪方法得到柱形状。现在画一个与柱子一样大的矩形,从矩形中减去柱子。删除一边,因为我们只需要柱子的一个轮廓路径。这就是 CNC 机器应走的实际路径,每次通过后需旋转第 3 个步进电机 90 度。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

创建方向点时,需将 Z 深度设为 -8mm。工具参数中将深度步进设为 2mm。生成 G 代码后在 G 代码发送器中打开,可见机器将以 2mm 深度差做 4 次相同路径通过。对于 CNC 铣床,意味着每次钻头深入 2mm 切割材料,但如前所示,我们设 Z 轴每 1mm 旋转 45 度,即 2mm Z 步进电机行程旋转 90 度。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

还需稍微修改 G 代码。默认生成的 G 代码每次通过后将 Z 轴移至 1mm,对 CNC 铣床意味着空移时抬起钻头。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

实际上可不修改 G 代码,但会产生不必要的 Z 轴移动(无故旋转泡沫)。因此每次代码迭代后,只需修改 Z 轴值保持原位,不回到 1mm。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

安装制作 3D 形状的泡沫块,使用此平台,含一些堵入泡沫的 M3 螺栓,在成型过程中固定泡沫。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

运行 G 代码前,需手动将热丝移近泡沫块。中心到热丝的距离应等于所需形状厚度。若需绘图精确尺寸,需测量绘图中原点到形状中心的距离。

制作可靠的 Arduino CNC 泡沫切割机 – DIY 教程

然后在控制器点击 "Reset Zero" 按钮,告诉程序从这里开始而非原点位置。就这样,点击 Play 按钮,Arduino CNC 机器将制作 3D 形状。

您可以在此下载所有示例的 G 代码文件和 Inkscape 文件:

本教程大致就这些。希望解释足够清晰,您能制作自己的 CNC 机器。欢迎在下方评论区提问,查看我的 Arduino 项目合集。

制造工艺

  1. CNC 原型制作指南:精度、速度与高性价比生产
  2. 现代铸币:历史沿革、生产工艺与未来走向
  3. 利用 Arduino Nano R3 自制全功能 CNC 雕刻机
  4. 使用 Arduino UNO 构建紧凑型 CNC 绘图机
  5. CNC铣床全解析:原理、结构与选型成本
  6. CNC等离子切割机深度指南:特性、优势与应用全景
  7. 桌面级CNC金属加工机:家庭工坊的高性价比精密制造利器
  8. CNC基础入门:计算机数控技术原理与应用概论
  9. CNC切割机全解析:类型、优势与应用场景一站式指南
  10. 什么是CNC?计算机数控技术核心原理与分类全解
  11. CNC振动刀切割机:工业应用与能力全解析
  12. CNC切削刀具快速对比:立铣刀、螺纹铣刀等核心工具解析