0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

构建一个简单的基于Arduino的CNC绘图仪

科技观察员 来源:circuitdigest 作者:加拉布齐·约翰保 2022-12-29 11:00 次阅读

CNC机床是计算机化的数控机床,用于根据输入其控制器单元的设计程序绘制任何东西或设计任何机械零件。控制器单元可以是计算机或微控制器。CNC机床具有步进电机伺服电机,可根据进料程序绘制设计。

在研究了数控机床之后,我决定使用当地可用的材料建造自己的数控机床。世界上有很多数控机床,其中一些技术性很强,很难正确制造甚至操作它们。出于这个原因,我决定制作一个简单的基于Arduino的CNC绘图仪,这是迄今为止最简单的制作。您也可以将其用作Arduino CNC绘图机,只需进行少量修改。

这款DIY Arduino数控机床可以绘制大多数基本形状,文本甚至卡通。它的操作类似于人手的书写方式。与人类书写或绘画的方式相比,它更快、更准确。查看本教程末尾的演示视频

构建 Arduino 数控机床:

对于CNC 绘图机的操作,需要 3 个轴(x 轴、y 轴和 z 轴。x 轴和 y 轴协同工作,在普通纸上创建 2D 图像。这些 x 轴和 y 轴彼此成 90 度放置,使得平面上的任何点都由给定的 x 和 y 值定义。Z轴用于将笔抬起并降低到普通纸上。

根据要绘制的图像,计算机将生成适当的坐标并通过USB端口将它们发送到微控制器。微控制器解释这些坐标,然后控制电机的位置以创建图像。在这里,我们使用Arduino作为微控制器来构建这台CNC机床。三轴运动由步进电机提供,步进电机将由Arduino板控制。

您需要什么:

注意:我的设计在尺寸和所用材料方面在硬件上有很大不同。我找不到旧的DVD驱动器,所以我选择了打印机部件。无论您使用哪种方法,请确保它具有步进电机。

硬件要求:

铝板 (710mm x 710mm)

旧的惠普/爱普生打印机。您可以使用旧的计算机DVD驱动器

螺栓和螺母

有机玻璃

Arduino UNO

L293D 电机驱动器扩展板或 Arduino CNC 扩展板

微型伺服电机

一支笔

pYYBAGOtAseAePMfAACbSxB6x5Y059.jpg

poYBAGOtAsiAT35qAAAlXkK9KL4150.jpg

pYYBAGOtAsqAG2MVAAAkGCMQ_BQ561.jpg

工具:

螺丝刀

切割工具(钢锯)

台式装置

数控绘图机底座:

该设备的主体是将机器的所有主要部件支撑在一起的底座,使机器牢固且便携。在此设计中,我们将使用铝来构建底座,因为它重量轻,易于弯曲和切割,并且由于不生锈,因此具有良好的光泽外观。

我的底座的设计和尺寸如下所示:

pYYBAGOtAs2AetqTAAAXdj8S4iM357.png


注意:所有尺寸均以毫米为单位。

经过所有的弯曲和切割,我能够生产出非常坚固的底座,如下所示:

poYBAGOtAs6ATH6XAACHc6xWojY822.jpg

X、Y 和 Z 轴的组装:

要制作 x 轴和 y 轴,请使用两个打印机底座。这些部件中的每一个都包含一个步进电机和一个皮带驱动机构,通常用于来回移动墨盒。

poYBAGOtAsiAT35qAAAlXkK9KL4150.jpg

对于 z轴,使用胶水在 y 轴上安装一个微型伺服电机。该伺服电机用于上下移动笔。应构建良好的支撑机制,使笔可以自由上下移动。

pYYBAGOtAs-AF9RGAACKSuQROuk012.jpg

poYBAGOtAtKAVgJnAACJP87PGLo378.jpg

数控机床绘图平台:

由于这台机器的巨大尺寸,该设备能够在A5尺寸的纸上绘图。因此,我们将从有机玻璃上切出一个A5(148mmx210mm)大小的平台,然后用胶水将其粘贴到x轴运动部件上。

poYBAGOtAtSAebWrAACcK_PaKhg482.jpg

数控机床的布线和电路:

将L293D 电机驱动器护板插入 Arduino UNO 板上。该屏蔽可同时驱动两个步进电机和两个伺服电机。连接两个步进电机,如下所示。接地连接应保持未连接状态,因为电机是双杨型。这将作为我们的绘图仪机器的Arduino CNC控制器。

poYBAGOtAtWAJ2wGAAAzSykuu2E277.png

同时将迷你伺服电机连接到伺服1。将 7.5V - 9V 电源连接到电机驱动器扩展板的电源端口。计算机现已准备好进行测试。

Arduino 数控机床代码和测试:

首先,我们需要测试步进电机,看看它们是否正确连接。

由于我们使用的是 L293D 电机驱动器扩展板,因此我们需要从此处下载 AFmotor 库。然后将其添加到Arduino IDE库文件夹中。确保将其重命名为 AFMotor。如果Arduino IDE已打开,请将其关闭并再次打开,然后单击文件->示例->Adafruit Motor Shield库->步进器。确保在工具中选择正确的端口和板,然后将代码上传到 Arduino 板。在步进电机一号上应观察一些运动。

要测试电机 2,请在下一行中将电机端口从 2 更改为 1,然后再次上传代码。

#include // Connect a stepper motor with 48 steps per revolution (7.5 degree) // to motor port #2 (M3 and M4) AF_Stepper motor(48, 2);

用于数控机床的Arduino代码:

pYYBAGOtAtmAF9lMAAB43Cn_yrQ052.png

步进电机正确响应后,从下面的代码部分复制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代码,我们将在下一节中解释,或者您可以使用互联网上现成的G代码。

在我向您展示如何使用Inkscape生成G代码之前,让我们讨论如何将这些G代码发送到Arduino。使我们能够将G代码发送到Arduino的软件称为处理。

处理 IDE 以上传 G 代码:

该平台将帮助我们向Arduino板发送G代码。为此,您必须下载 GCTRL。偏微分方程文件。

从这里下载 GCTRL.pde 文件并使用处理 IDE 打开它

poYBAGOtAtuAE9spAACTD0T0ExY392.png

在处理 IDE 中打开它后,单击“运行”。将出现一个窗口,其中包含所有说明。按键盘上的p。系统将要求您选择一个端口。因此,请选择连接Arduino板的端口。我的情况是端口 6。

现在按g并浏览到保存 G 代码的文件夹。选择正确的 G 代码,然后按回车键。如果一切都连接正确,您应该会看到您的设备开始在纸上绘制。

如果要终止进程,只需按x,设备将停止它正在执行的任何操作。

如何生成自己的G代码:

我们提到Inkscape是我们将用来生成 G 代码的软件。在此示例中,我们将创建一个简单的文本(HELLO WORLD),如下所示。

pYYBAGOtAt2AZp3cAACOzdG5gMg728.png

注意:Inkscape没有将文件保存为G代码的内置方式。因此,您需要安装一个附加组件,该附加组件可以将图像导出到 G-CODE 文件。从这里下载这个MakerBot Unicorn插件,并附上安装说明。

如果安装成功,请打开Inkscape,转到“文件”菜单,然后单击“文档属性”。首先将尺寸从 px 更改为毫米。同时将宽度和高度减小到 90 毫米。现在关闭此窗口。正方形将作为绘图区域出现。这是我们将用来编写文本的区域。

现在在左侧栏上,单击创建和编辑文本对象选项卡。键入文本“HELLO WORLD”并将其放置在正方形的右上角,如下所示。

pYYBAGOtAt-AEILRAABzNaHz1nI892.png

单击文本并选择您喜欢的字体样式类型。单击应用并关闭。

现在单击路径并选择“对象到路径”"

您的文本现在可以另存为 G 代码了。单击文件 ->另存为,然后将文件名键入为“hello world”

将文件类型更改为“MakerBot Unicon G-Code”,如下图所示。仅当加载项安装成功时,才会显示此信息。最后单击保存,然后单击弹出窗口中的确定。

pYYBAGOtAuKAaRFfAABiRVuUH6g464.png

您已经生成了一个 G 代码,可以使用前面的过程对其进行绘制。

GRBL 控制器:

poYBAGOtAuWAf8CpAABnh_80OQk636.png

一旦您设法使用 Inkscape 生成 G 代码,可能需要查看 G 代码以确保它在绘图限制范围内。

绘图限制在Arduino CNC CODE中设置,如下所示:

pYYBAGOtAuiAPjS3AACHLTahEKM723.png

上面在GRBL控制器中显示的图像不应超出上述CNC Arduino代码中显示的限制。如果它超出这些限制,例如朝向 x 轴的负侧,则不会绘制负侧上的该部分。

在此示例中,x 和 y 值的范围为 0mm 到 40mm。

由于我使用的是可以在更大面积上打印的打印机部件,因此我将最大值从40mm更改为60mm。

每当您使用Inkscape生成G代码时,您都可以首先在GRBL程序中打开该G代码,以查看它是否在这些限制范围内。如果不在里面,您需要在 Inkscape 中调整图像大小,直到它在您的限制范围内。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数控机床
    +关注

    关注

    19

    文章

    778

    浏览量

    46336
  • CNC
    CNC
    +关注

    关注

    7

    文章

    305

    浏览量

    35125
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186904
收藏 人收藏

    评论

    相关推荐

    DIY能在布料上压印电路的绘图仪

    你曾经想过随时随地绘副艺术作品吗?像艺术家样。没艺术天分没关系,用科技来弥补你的天赋吧。今的DIY教程是做
    发表于 11-26 14:52

    怎样使用Arduino构建绘图仪

    怎样使用Arduino构建绘图仪呢?有哪些操作步骤呢?
    发表于 01-17 06:44

    利用Arduino平台把废旧DVD光驱改成CNC绘图仪

    废旧DVD光驱改造成CNC绘图仪,与之前的写作业机器人非常相似哦!
    的头像 发表于 05-24 06:03 7131次阅读
    利用<b class='flag-5'>Arduino</b>平台把废旧DVD光驱改成<b class='flag-5'>CNC</b><b class='flag-5'>绘图仪</b>

    如何制作CNC绘图仪

    转向处理软件,它有点像Arduino IDE‘见图10’所以你应该打开‘CNC程序’文件你可以从下面的链接下载并运行它‘见图11 ’,将出现第二窗口,你需要按下键盘中的后
    的头像 发表于 08-27 09:43 5337次阅读
    如何制作<b class='flag-5'>CNC</b><b class='flag-5'>绘图仪</b>

    如何制作基于arduino的微型CNC绘图仪机器

    CNC绘图机基本上是2.5轴CNC机器,它在X和Y轴上都有两步进电机,在Z轴上有伺服电机。
    的头像 发表于 05-14 09:57 8292次阅读

    如何构建低成本的Arduino MiniCNC绘图仪

    在这个项目中,我将向您展示如何轻松构建自己的低成本ArduinoMiniCNC绘图仪
    的头像 发表于 05-12 17:47 3174次阅读
    如何<b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>低成本的<b class='flag-5'>Arduino</b> MiniCNC<b class='flag-5'>绘图仪</b>

    数控笔式绘图仪开源分享

    电子发烧友网站提供《数控笔式绘图仪开源分享.zip》资料免费下载
    发表于 10-19 10:58 0次下载
    数控笔式<b class='flag-5'>绘图仪</b>开源分享

    如何使用DVD驱动器L293D制作迷你CNC 2D绘图仪

    电子发烧友网站提供《如何使用DVD驱动器L293D制作迷你CNC 2D绘图仪.zip》资料免费下载
    发表于 11-01 11:54 1次下载
    如何使用DVD驱动器L293D制作迷你<b class='flag-5'>CNC</b> 2D<b class='flag-5'>绘图仪</b>

    基于Arduino的Mini CNC 2D绘图仪

    电子发烧友网站提供《基于Arduino的Mini CNC 2D绘图仪.zip》资料免费下载
    发表于 11-04 09:26 1次下载
    基于<b class='flag-5'>Arduino</b>的Mini <b class='flag-5'>CNC</b> 2D<b class='flag-5'>绘图仪</b>

    PENXZYL Arduino画笔绘图仪开源

    电子发烧友网站提供《PENXZYL Arduino画笔绘图仪开源.zip》资料免费下载
    发表于 11-10 11:47 1次下载
    PENXZYL <b class='flag-5'>Arduino</b>画笔<b class='flag-5'>绘图仪</b>开源

    构建低成本Arduino Mini CNC绘图仪

    电子发烧友网站提供《构建低成本Arduino Mini CNC绘图仪.zip》资料免费下载
    发表于 11-17 11:05 1次下载
    <b class='flag-5'>构建</b>低成本<b class='flag-5'>Arduino</b> Mini <b class='flag-5'>CNC</b><b class='flag-5'>绘图仪</b>

    绘图仪开源项目

    电子发烧友网站提供《绘图仪开源项目.zip》资料免费下载
    发表于 11-22 11:08 1次下载
    <b class='flag-5'>绘图仪</b>开源项目

    制作Arduino XY绘图仪绘图机器人极谱

    电子发烧友网站提供《制作Arduino XY绘图仪绘图机器人极谱.zip》资料免费下载
    发表于 11-29 14:46 4次下载
    制作<b class='flag-5'>Arduino</b> XY<b class='flag-5'>绘图仪</b><b class='flag-5'>绘图</b>机器人极谱<b class='flag-5'>仪</b>

    基于Arduino的迷你CNC 2D绘图仪

    由旧 DVD 驱动器和 L293D 电机防护罩制成的迷你 CNC 2D 绘图仪。非常便宜但很有趣。它可以绘制从PC上传的任何图像。这个项目是关于如何使用 Arduino 作为这台机器的大脑
    发表于 12-20 15:39 3次下载

    基于Arduino迷你CNC 2D绘图仪

    电子发烧友网站提供《基于Arduino迷你CNC 2D绘图仪.zip》资料免费下载
    发表于 06-26 14:52 1次下载
    基于<b class='flag-5'>Arduino</b>迷你<b class='flag-5'>CNC</b> 2D<b class='flag-5'>绘图仪</b>