【Arduino 动手做】构建最简单的 CNC 机床 | DIY 激光雕刻机

2025-05-197347


【Arduino 动手做】构建最简单的 CNC 机床 | DIY 激光雕刻机图2

【Arduino 动手做】构建最简单的 CNC 机床 | DIY 激光雕刻机图1

【Arduino 动手做】构建最简单的 CNC 机床 | DIY 激光雕刻机图3

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(51)
驴友花雕
驴友花雕
作者



驴友花雕
驴友花雕
作者



驴友花雕
驴友花雕
作者
实验场景图


驴友花雕
驴友花雕
作者
附录
书面教程:https://howtomechatronics.com/pr ... diy-laser-engraver/
视频教程(17分钟):https://www.youtube.com/watch?v=td4DWtMY7SQ&t=4s
项目作者:Dejan
LaserGRBL 控制器:https://lasergrbl.com/
从 Thangs 下载装配体 3D 模型:
https://thangs.com/designer/HowT ... er%20Engraver-41716
参考资料:
步进电机和 Arduino – 终极指南
https://howtomechatronics.com/tu ... the-ultimate-guide/
如何使用Arduino设置GRBL和控制CNC机器
https://howtomechatronics.com/tu ... chine-with-arduino/
驴友花雕
驴友花雕
作者
根据结果调整激光功率的雕刻速度和 PWM 值。
您可以在此处下载校准图像:
灰度和字体大小测试(见下载)
所以,这就是本教程的内容。我希望你喜欢它并学到一些新东西。如果您有任何问题,请随时在下面的评论部分提问,别忘了查看我的其他一些 Arduino 项目。

驴友花雕
驴友花雕
作者
如果我们正确校准了我们的机器,我们可以获得相当好的雕刻。为了校准,我们可以使用我制作的这张图像,它的正方形透明度从 100% 到 10%。
用于调用激光雕刻速度和激光功率的图像

驴友花雕
驴友花雕
作者
就是这样,软件将为这个雕刻生成 G 代码。在我们开始之前,我们可以使用 Frame 按钮来勾勒或向我们展示雕刻将发生的位置,以便我们可以根据需要调整我们的工件。
请注意,我们必须使用激光安全护目镜,以保护我们的眼睛免受激光紫外线的伤害,因为它非常危险。
使用 DIY 激光雕刻照片

驴友花雕
驴友花雕
作者
接下来,我们可以选择 Engraving Speed(雕刻速度),设置激光功率的最小和最大 PWM 值,并设置雕刻的大小。
激光雕刻速度和功率控制,带 PWM

驴友花雕
驴友花雕
作者
使用 亮度和对比度 选项我们可以根据需要调整图像。我们可以选择照片的转换类型,例如,线到线跟踪、1 位 BW 抖动或矢量格式。我将对这张照片使用线到线跟踪,在这里我们还可以选择线条方向和雕刻质量,这取决于每毫米有多少条线。
将照片转换为 G 代码,以便使用 LaserGRBL 进行激光雕刻

驴友花雕
驴友花雕
作者
当然,如果你愿意,你也可以使用其他软件生成 G 代码,例如 Inkscape 及其插件 Inkscape-Lasertools 用于生成 G 代码并在此处加载它们。我已经在上一个视频中解释了如何使用这种方法生成 G 代码,用于 SCARA Robot 激光雕刻机,因此有关更多详细信息,您可以查看该视频。
现在我将向您展示如何使用 LaserGRBL 从照片中生成用于激光雕刻的 G 代码。这里我有一张狗的照片,我将用软件打开它。
直接在 LaserGRBL 中打开照片进行激光雕刻

驴友花雕
驴友花雕
作者
七、生成用于激光雕刻的 G 代码
该软件的另一个优点是它还具有内置的 G 代码生成器。这意味着我们可以将任何照片、剪贴画、铅笔画等直接加载到软件中,并且我们可以根据需要生成用于雕刻的 G 代码。光栅化图像工具用途广泛,有许多选项可供选择,例如选择线到线跟踪、矢量化、1 位 BW 抖动等。
使用 LaserGRBL 生成用于激光雕刻的 G 代码

驴友花雕
驴友花雕
作者
所以,20/31 = 0.645,如果我们将该值乘以 250,我们将得到 161.29。所以,这就是我们应该为机器设置的 steps/mm 值的值。
如何调整 GRBL CNC 机床的每毫米步数参数

如果我们现在尝试使用更新的值移动机器,机器应该移动确切的距离。如果您对结果不满意,您仍然可以通过绘制正方形并测量它们来微调这些值。我最终使用了 160 步/毫米的值。
尽管如此,还有其他重要参数也需要调整。例如,我们应该启用硬限制,这是实际的限位开关,软限制,定义工作区域,设置归位方向,定义限位开关在机器上的位置,等等。
您可以下载我的参数集,以便将它们导入到您的固件中。
此 CNC 机床的 GRBL 配置参数(见下载)
驴友花雕
驴友花雕
作者
就我而言,对于 Y 轴上的 20 毫米点动,实际移动为 31 毫米。

驴友花雕
驴友花雕
作者
我们首先应该调整的是 X 轴和 Y 轴的行程分辨率或步数/毫米值。这些值表示电机应采取多少步才能移动 1 毫米。这取决于我们拥有的步进电机的类型、所选的步长分辨率和运动传输,在本例中为 GT2 皮带和皮带轮。
以下是我们如何为我们的机器计算这些值。此处的默认值通常为 250 步/毫米。现在我们可以使用 JOG 命令移动机器,例如 20 毫米,我们应该注意机器实际移动的量。
LaserGRBL 上的点动命令

驴友花雕
驴友花雕
作者
因此,一旦我们使用 GRBL 固件刷新我们的 Arduino,我们就可以将我们的机器与控制器连接并打开 GRBL 配置窗口,以便我们可以根据我们的机器调整一些参数。
GRBL 配置参数

驴友花雕
驴友花雕
作者
DIY CNC 机器最受欢迎的选择是开源 GRBL 固件(见附录)。除了 GRBL 固件,我们还需要一个控制软件,通过它我们将发送 G 代码并告诉机器该怎么做。在这种情况下,我们将使用 LaserGRBL 控制器(见附录)。该软件专为使用 GRBL 固件控制激光雕刻机而设计,我可以告诉您,考虑到它也是开源的,它确实是一个了不起的控制器。
使用 LaserGRBL,我们可以选择直接刷新或将 GRBL 固件上传到 Arduino,因此我们不必手动执行此作。我们甚至可以为只有 X 和 Y 归位的双轴机床选择即用型版本,就像我们需要的一样。

驴友花雕
驴友花雕
作者
六、固件和控制软件
这样,我们实际上就完成了机器的组装。现在剩下要做的是赋予它生命或使其成为真正的 CNC 机器。为此,我们需要在 Arduino 上安装固件以控制 CNC 机床的运动。
基于 Arduino 的 CNC 机床如何工作 - 框图 - GRBL 固件和控制软件

驴友花雕
驴友花雕
作者
五、DIY CNC 激光雕刻机电路图
这是需要如何连接所有内容的电路图。
DIY 数控激光雕刻机电路图

您可以自行获取此项目所需的组件:
步进电机 – NEMA 17..................亚马逊 / Banggood / 全球速卖通
DRV8825步进驱动器.....................亚马逊 / Banggood / 全球速卖通
Arduino CNC 扩展板 ............................亚马逊 / Banggood / 全球速卖通
Arduino Uno.........................................亚马逊 / Banggood / 全球速卖通
限位开关 ........................................亚马逊 / Banggood / 全球速卖通
直流电源 ...............................亚马逊 / Banggood / 全球速卖通
激光模块 .....................................亚马逊 / Banggood / 全球速卖通
激光护目镜 ..........................亚马逊 / Banggod / 全球速卖通
因此,我们将 Arduino UNO 板与一个 CNC 扩展板和两个 DRV8825 或 A4988 步进驱动器结合使用。我们有两个用于归位机器的微型限位开关和一个可以 PWM 控制的 12V 激光模块。为了供电,我们需要 12v 电源,最小电流为 3 安培。
驴友花雕
驴友花雕
作者
我将电线的一端直接焊接到限位器上,在另一侧我焊接了母针座,以便我可以轻松地将其连接到 CNC 防护罩。
至于连接激光模块,我们需要 3 根线、GND、12V 和一根用于 PWM 控制的信号线。这些电线需要更长一点,以便它们可以到达机器的最远点。
用于 DIY 激光雕刻机 CNC 机器的 Arduino 和 CNC 扩展板

一侧我们有插入激光模块的 3 针连接器,另一侧我们有 GND 和 12V 线,它们将连接到 CNC 扩展板的电源连接器和需要连接到 Z+ 或 Z- 限位针的信号线。
驴友花雕
驴友花雕
作者
请注意,这三个跳线应该被移除,因为我们不需要它们。我在以前的一个项目中使用了它们。
然后我们可以用提供的电缆将步进电机连接到适当的位置。要连接限位开关,我们需要两根电线连接。
焊接微型限位开关