- 构建Arduino CNC机器:
- 您需要什么:
- CNC绘图机的底座:
- X,Y和Z轴的组装:
- 数控机床绘图平台:
- 数控机床的接线和电路:
- Arduino CNC机器代码和测试:
- 如何生成自己的G代码:
- GRBL控制器:
CNC机床是计算机数控机床,用于根据送入其控制器单元的设计程序绘制任何东西或设计任何机械零件。控制器单元可以是计算机或微控制器。CNC机械具有步进电机和伺服电机,可根据进料程序绘制设计图。
在研究了CNC机床之后,我决定使用当地可用的材料制造自己的CNC机床。世界上有这么多的CNC机器,其中一些技术制造复杂,甚至无法正确操作。因此,我决定基于Arduino制造一台最简单的 CNC绘图机。您也可以稍作修改就可以将其用作Arduino CNC绘图机。
这款DIY Arduino CNC机器可以绘制大多数基本形状,文字甚至是卡通。它的操作类似于人手书写的方式。与人类的书写或绘画方式相比,它更快,更准确。查看本教程结尾的演示视频。
构建Arduino CNC机器:
要使CNC绘图机运行,需要3个轴(x轴,y轴和z轴。x轴和y轴协同工作以在普通纸上创建2D图像。这些x和y轴彼此之间成90度角放置,从而使普通表面上的任何点都由x和y的给定值定义。
根据要绘制的图像,计算机将生成适当的坐标,并将其通过USB端口发送到微控制器。微控制器解释这些坐标,然后控制电动机的位置以创建图像。在这里,我们使用Arduino作为微控制器来构建此CNC机器。三轴运动由步进电机提供,步进电机将由Arduino电路板控制。如果您是初学者,可以选择如何将步进电机与Arduino接口。
因此,让我们开始逐步构建Arduino CNC设备。
您需要什么:
注意: 就大小和所用材料而言,我的设计在硬件上有很大不同。我找不到旧的DVD驱动器,所以选择了打印机部件。无论使用哪种方式,请确保其具有步进电机。
硬件要求:
- 铝板(710mm x 710mm)
- 旧的HP / Epson打印机。您可以使用旧的计算机DVD驱动器
- 螺栓和螺母
- 有机玻璃
- Arduino UNO
- L293D电机驱动器护罩或Arduino CNC护罩
- 迷你伺服马达
- 一支钢笔
工具:
- 螺丝刀
- 钻头
- 切割工具(钢锯)
- 胶
- 台式装置
软体:
为了使本机高效运行,请使用以下软件。转到各种网站并下载。
- 此处的Arduino IDE版本1.6.6或更高版本
- 从此处处理IDE版本3.1.1或更高版本
- Inkscape版本0.48.5。从这里下载。
- Grbl控制器(可选)
CNC绘图机的底座:
该设备的主体是将机器的所有主要部分支撑在一起的基座,因此机器坚固且便于携带。在此设计中,我们将使用铝来构造基座,因为它轻巧,易于弯曲和切割,并且由于它不会生锈,因此具有良好的光泽外观。
我的底座的设计和尺寸如下所示:
注意: 所有尺寸均以毫米为单位。
经过所有的弯曲和切割,我能够产生一个非常牢固的基础,如下所示:
X,Y和Z轴的组装:
为了制作x和y轴,使用了两个打印机支架。这些部件中的每一个都包含一个步进电机和一个皮带驱动机构,通常用于来回移动墨盒。
对于z轴,使用胶水将微型伺服电机安装在y轴上。该伺服电机用于上下移动笔。应该构造一个良好的支撑机制,使笔能够自由上下运动。
数控机床绘图平台:
由于本机尺寸巨大,该设备可以在A5尺寸的纸张上绘图。因此,我们将从有机玻璃上切出一个A5(148mmx210mm)大小的平台,然后使用胶将其粘贴到x轴移动部件上。
数控机床的接线和电路:
将L293D电机驱动器护罩插入Arduino UNO板上。该防护罩可同时驱动两个步进电机和两个伺服电机。如下图所示连接两个步进电机。由于电动机是双杨型的,因此应保持接地连接断开。这将充当绘图仪机器的Arduino CNC控制器。
另外,将微型伺服电机连接到serial1。将7.5V-9V电源连接到电动机驱动器护罩的电源端口。机器现在可以进行测试了。
Arduino CNC机器代码和测试:
首先,我们需要测试步进电机,看看它们是否正确连接。
由于我们使用的是L293D电动机驱动器护罩,因此需要从此处下载AFmotor库。然后将其添加到您的Arduino IDE库文件夹中。确保将其重命名为 AFMotor 。如果Arduino IDE已打开,则将其关闭并再次打开,然后单击 文件->示例-> Adafruit Motor Shield库-> stepper 。确保在工具中选择正确的端口和板,然后将代码上传到Arduino板。在步进电机一上应观察到一些运动。
为了测试电动机2,请在下一行中将电动机端口从2更改为1,然后再次上传代码。
#include //将每转48步(7.5度)的步进电机//连接到电机端口#2(M3和M4)AF_Stepper motor(48,2);
数控机床的Arduino代码:
步进电机正确响应后,从下面的“代码”部分复制CNC机器的Arduino代码,然后将其上传到Arduino开发板。您可以从下面的链接下载代码。
Arduino CNC代码下载
数控机床的G代码:
G-CODE是我们告诉计算机(CNC)做某事的语言。它基本上是一个包含X,Y和Z坐标的文件。
例如:
G17 G20 G90 G94 G54 G0 Z0.25X-0.5 Y0 Z0.1 G01 Z0。F5。G02 X0。Y0.5 I0.5 J0。F2.5 X0.5 Y0。I0。J-0.5 X0。Y-0.5 I-0.5 J0。X-0.5 Y0。I0。J0.5 G01 Z0.1 F5。G00 X0。Y0。Z0.25
为一个简单的正方形编写G代码确实很困难,但幸运的是,我们拥有一个可以帮助我们生成G代码的软件。该软件称为“ Inkscape ”,可从此处下载。
您可以使用Inkscape生成自己的G代码,我们将在下一部分中进行说明,也可以在Internet上使用随时可用的G代码。
在向您展示如何使用Inkscape生成G代码之前,让我们讨论如何将这些G代码发送到Arduino。使我们能够将G代码发送到Arduino的软件称为“处理”。
处理IDE以上传G代码:
这个平台将帮助我们将G代码发送到Arduino开发板。为此,您将必须下载GCTRL.PDE文件。
从此处下载GCTRL.pde文件,然后使用Processing IDE打开它
在Processing IDE中打开它后,单击run。出现所有说明的窗口。按键盘上的p。系统将要求您选择一个端口。因此,选择连接Arduino板的端口。我的情况是端口6。
现在按g并浏览到保存G代码的文件夹。选择正确的G代码,然后按Enter。如果一切都正确连接,您应该会看到设备开始在纸上绘图。
如果要终止该过程,只需按x,设备将停止正在执行的操作。
如何生成自己的G代码:
我们提到Inkscape是我们将用于生成G代码的软件。在此示例中,我们将创建一个简单的文本(HELLO WORLD),如下所示。
注意 : Inkscape没有将文件另存为G-CODE的内置方式 。因此,您需要安装一个附件,以将图像导出到G-CODE文件。从此处下载MakerBot Unicorn插件和安装说明。
如果安装成功,请打开Inkscape,转到“文件”菜单,然后单击“文档属性”。首先将尺寸从px更改为mm。同时将宽度和高度减小到90毫米。现在关闭此窗口。正方形显示为绘图区域。这是我们将用来编写文本的区域。
现在,在左侧栏上,单击“创建和编辑文本对象”选项卡。键入文本“ HELLO WORLD ”,并将其放置在正方形的右上角,如下所示。
单击文本,然后选择所需的字体样式。单击应用,然后关闭。
现在点击路径并选择“对象到路径”
现在,您的文本已准备好保存为G-CODE。单击 文件->另存为 ,然后将文件名键入“ hello world”
如下图所示,将文件类型更改为 “ MakerBot Unicon G代码” 。仅在附加组件安装成功时才会显示。最后单击保存,然后在弹出窗口中单击确定。
您已经生成了G代码,可以使用前面的步骤进行绘制。
GRBL控制器:
使用Inkscape设法生成G代码后,可能有必要查看G代码以确保它在图纸范围内。
该绘图限制在Arduino的CNC代码集在下面示出的行:
如上所示,GRBL控制器中的图像不应超出上述CNC Arduino代码中所示的限制。如果超出了这些限制(例如,朝着X轴的负方向),则不会绘制负方向上的该部分。
在此示例中,x和y值的范围为0mm至40mm。
由于我使用的打印机零件可能会在更大的区域上绘图,因此我将最大值从40mm更改为60mm。
每当使用Inkscape生成G代码时,您都可以先在GRBL程序中打开该G代码以查看其是否在这些限制之内。如果不在此范围内,则需要在Inkscape中调整图像的大小,直到超出限制为止。
因此,这是在家里使用arduino uno建造CNC绘图仪的最便宜,最简单的方法。尝试一下,在评论中让我们知道,也请查看以下视频。