成品样子哦!
原理
开始干活
俩天时间
50CMx60CM作为地板
17HS1538步进电机
舵机
LM10UU和LM8UU直线轴承
8mm和10mm不锈钢SS光滑棒
MDF板其他零件
12V 5A SMPS电源
网格纸,用于粘贴在木板和中密度纤维板上,易于切割
在钻孔/切割之前要进行样机确定位置
MDF板的小块覆盖有网格纸,用于轴接头和线性轴承座
在4片MDF板上进行10毫米半深钻 相同 使其末端支撑两个Y轴10mm杆
带有凹陷的X轴端板,用于支撑Y轴LM10UU直线轴承
带有凹陷的X轴中心托架板,用于支撑X轴LM8UU线性轴承
Arduino绘图机的装配式X轴,X轴的端板水平钻8毫米以支撑两个X轴杆
10mm Y轴杆的端部支撑
每个X轴的上端板都钻孔,轴承安装在螺母,螺栓和垫圈上,就像皮带的皮带轮一样工作
组装X轴端座
组装X轴端座
组装X轴端座
Arduino绘图机器人的皮带组件
用于1/32微步进的步进驱动器微步进跳线焊接
LM7806直接焊接在12输入上,可为Micro Servo提供6V
CNC Shield V3上的A4988步进驱动器,黑线和黄线从Arduino Uno(底部焊接)提供12V电压至CNC Shield
Arduino绘图机中用于笔提升的伺服电机附件
Arduino绘图机中用于笔提升的伺服电机附件
Arduino CNC绘图机完整接线
Arduino绘图机中用于笔提升的伺服电机附件
Arduino绘图机原理图
Arduino绘图机完成
Arduino绘图机工作输出
该项目使用的是GRBL0.9i固件的修改版本。我已进行了修改,以启用CoreXY配置,并且还使D11引脚上的伺服电机运行。伺服电机将使用机器代码M03和M05升高和降低笔。(稍后将详细解释)。因此,在Z轴上,不需要步进电机来拉动笔。 你可以从Git下载修改过的固件:https://github.com/arnabdasbwn/grbl-coreXY-servo
Grbl-coreXY-servo是一种基于并行端口的运动控制的不妥协,高性能,低成本的替代品用于CNC铣削。只要运行Atmega 328p,它将在Arduino(Duemillanove / Uno)上运行。 该控制器采用高度优化的C语言编写,利用AVR芯片的所有巧妙功能来实现精确的定时和异步操作。它能够维持高达30kHz的稳定,无抖动的控制脉冲。 它接受符合标准的G代码,并已通过多种CAM工具的输出进行了测试,没有任何问题。弧,圆和螺旋运动以及所有其他主要G代码命令均受完全支持。不支持宏函数,变量和固定循环,但是我们认为GUI可以更好地将它们转换为直接的G代码。 Grbl-coreXY-servo包括完整的加速管理 看 先。这意味着控制器将对未来进行18次运动,并提前计划其速度,以实现平稳的加速和无晃动的转弯。 •许可:Grbl是免费软件,根据GPLv3许可证发行。 下载后,您必须使用固件刷新Arduino Uno。 这是步骤: 注意:在开始之前,请从Arduino IDE中删除以前的Grbl库安装。否则,您将遇到编译问题!在Mac上,Arduino库位于〜/ Documents / Arduino / libraries /中。在Windows上,它位于My Documents \ Arduino \ libraries中。 1. 从 https://github.com/arnabdasbwn/grbl-coreXY-servo clone你将拥有一个名为的文件夹 bl-coreXY-servo。 2. 启动Arduino IDE •确保您使用的是Arduino IDE的最新版本! 3.将 Grbl作为库加载到Arduino IDE中 •单击Sketch下拉菜单,导航到Include Library并选择 添加。ZIP库。 •重要提示:在 bl-coreXY-servo-master文件夹,其中仅包含源文件和示例目录。 •如果您不小心选择了.zip文件或错误的文件夹,则需要导航至Arduino库,删除错误,然后重新执行步骤 3。4. 打开GrblUpload Arduino示例 •单击File下拉菜单,导航至示例-> Grbl,然后选择GrblUpload。 5. 编译Grbl-coreXY-servo并将其上传到Arduino •将Arduino Uno连接到计算机。 •确保在“工具”->“董事会”菜单中将开发板设置为Arduino Uno,并在“工具”->“串行端口”中正确选择了串行端口。 •单击上传,然后Grbl-coreXY-servo应该编译并刷新到您的Arduino!(使用编程器进行闪烁也可以通过使用“使用编程器上传”菜单命令来完成。)
我们需要多种软件和插件来生成艺术品,使用串行COM端口编辑G代码并将其发送到CNC。我将讨论在Windows平台上的安装,但是您也可以找到所有用于Linux平台的软件。因此,我们将使用的软件为: >>> Inkscape [将用于编辑矢量图形,并从.jpg,.png和.dxf格式生成矢量图形(.svg)] •下载最新的稳定的32bit / 64bit Inkscape.org根据您的操作系统提供的版本 •在Windows中安装非常简单直接。在Linux中,您需要键入一些简单的命令。 •只需执行Next Next,将安装软件。 >>> JTP激光工具Inkscape插件 [此Inkscape插件会将路径/图形转换为用于矢量打印的G代码] •从JTP网站下载该插件 •使用任何优质的解压缩软件将其提取。 •将此.zip文件夹的内容放入安装目录中的“ inkscape \ share \ extensions”文件夹中。 •在那里,它将显示在Inkscape的“扩展”选项卡下。 >>> Raster 2 Laser G代码生成器 [此Inkscape插件将路径/图形转换为用于光栅打印的G代码] •从我的Git Hub存储库Raster 2 Laser下载该插件 •使用任何优质的解压缩软件将其提取。 •将此.zip文件夹的内容放入安装目录中的“ Inkscape \ share \ extensions”文件夹中。 •在那里,它将显示在Inkscape的“扩展”选项卡下。 >>> UGS平台/ UniversalGcodeSender [将通过USB串行端口将G代码从笔记本电脑发送到Arduino UNO] •根据您的操作系统和系统配置下载并安装下载页面上列出的Java版本。需要Java8。 在这里下载 •下载UGS平台 UGS下载 •使用任何良好的解压缩软件将其解压缩。 •在解压缩的文件夹中,找到ugsplatform目录中的bin。 •在Windows上运行ugsplatform.exe或ugsplatform64.exe,在Linux或Mac OSX上运行ugsplatform。 •无需任何安装或构建。 >>> Camotics [将用于可视化G代码和模拟目的] •从Camotics下载最新版本。 •安装简便而流畅。 >>> Makelangelo软件 [将用于从jpg,png和其他格式生成单色图案艺术品,这些颜色可以通过CNC绘图机用单色笔打印] •从我的Git Hub存储库中下载Makelangelo软件 Makelangelo软件 •提取使用任何好的解压缩软件。 •打开提取的文件夹,然后找到Makelangelo10.jar文件。 •使用前面步骤中安装的Java 8运行.jar文件。 >>> Inkscape模板文件 [此模板将根据送入绘图机的纸张使用,并将有助于精确尺寸的G代码生成] •从我的Git Hub存储库Inkscape模板下载 模板。 •使用任何优质的解压缩软件将其提取。 •打开提取的文件夹,然后找到Makelangelo10.jar文件。
•打开Inkscape。 •根据纸张尺寸打开上一步中下载的模板。 •单击文件->导入,然后从驱动器中选择JPG或PNG文件,然后单击打开。 •根据页面大小调整图像大小并放置图像。 •图像必须在页面边界内,否则将无法正确生成G代码。 •右键单击图像,然后选择“跟踪位图”。 •选择以下三个选项中的任何一个[实验,您将知道工作原理]亮度截止,边缘检测,色彩量化。 •根据所需的图形细节更改阈值。 •单击更新。 •单击确定,然后关闭窗口。 •矢量位图将与原始图片重叠。 •拖出原始图片并将其删除。您已准备好生成G代码。 •现在,请参阅 G代码生成 步骤。
•打开Inkscape。 •根据纸张尺寸打开上一步中下载的模板。 •开始在工作区域内绘图或书写文本。 •通过Ctrl + A快捷键选择所有对象。 •然后通过菜单中的对象->分组或Ctrl + G快捷键将它们分组。 •然后,您必须通过菜单路径->对象至路径或通过快捷键Shift + Ctrl + C将对象转换为路径。[重要步骤] •现在,请参阅 G代码生成 步骤。
•打开运行.jar文件的Makelangelo软件。 •单击“打开文件”,然后从驱动器中选择JPG / PNG文件。 •从下拉菜单中选择转换样式。[我的最爱是交叉阴影线] •单击确定。 •单击保存到文件/ SD卡,然后转到要保存的位置。 •输入文件名,然后选择DXF R12文件格式.DXF。 •现在运行Inkscape,并使用默认设置打开保存的.DXF文件。 •根据需要调整大小。 •现在,请参阅 G代码生成 步骤。
•在光栅模式下,机器将逐行扫描从[0,0]到最后一行的整个绘图区域。[光栅模式很慢,需要更多时间]。观看视频[ 光栅图女孩的脸视频1 ] [ 光栅图女孩的脸视频2 ] •将所有对象转换为上一步的路径后,即可生成G代码。 •现在,选择工作区域内的所有路径或使用Ctrl + A。 •单击扩展-> 305工程->光栅2激光G代码生成器。 •提供导出目录路径。 •提供文件名。 •启用数字后缀。 •分辨率表示每毫米的线数,增加将增加绘制时间。 •使用以下选项播放,如RGB阈值。 •将雕刻速度设置为1500或更高。 •选择无归位。 •将激光打开编辑为M03 S255。 •将激光关闭编辑为M05 S0。 •取消选择预览,如果选择则不会生成G代码。 •单击“应用”。等待和享受。您现在可以开始打印了。
•在矢量模式下,机器将仅扫描有线条的绘图区域。[矢量模式绘制花费的时间更少]。 •将所有对象转换为上一步的路径后,即可生成G代码。 •现在,选择工作区域内的所有路径或使用Ctrl + A。 •单击扩展->生成激光G代码-> J Tech Photonics Laser Tool。 •提供导出目录路径。 •提供文件名。 •启用数字后缀。 •将所有单位设置为毫米。 •将激光速度设置为1500或更高。 •将行驶速度设置为3000或更高。 •选择无归位。 •将激光打开编辑为M03。 •将激光关闭编辑为M05。 •取消选择“预览” •单击“应用”。等待和享受。您可以立即进行打印了。
的任何本地回显,然后输入。Grbl应该回应:[HLP: # G I N x = val Nx = line J = line SLP C X H〜!?[ctrl-x]'命令是Grbl系统命令,用于调整设置,查看或更改Grbl的状态和运行模式以及启动归位循环。最后四个非命令是即时的 可以在以下位置发送的控制命令 任何时间,不管Grbl在做什么。这些要么立即改变Grbl的运行 行为 或立即打印重要报告 即时的像当前位置(又称DRO)之类的数据。 –查看Grbl设置要查看设置,请输入,然后在连接到Grbl后按Enter。Grbl应该以当前系统设置的列表作为响应,如下例所示。所有这些设置都是持久性的,并保存在EEPROM中,因此,如果您关闭电源,则下次启动Arduino时将重新加载这些设置。 x = val –保存Grbl设置 x = val命令保存或更改Grbl设置,当通过串行终端程序连接到Grbl时,可以通过发送此命令来手动完成此设置,但是大多数Grbl GUI会为您执行此操作用户友好的功能。要手动将微秒步进脉冲选项更改为10us,您可以键入以下命令,然后输入 输入:
个人设置
$0 = 10 (step pulse, usec)
$1 = 25 (step idle delay, msec)
$2 = 0 (step port invert mask:00000000)
$3 = 0 (dir port invert mask:00000000)
$4 = 0 (step enable invert, bool)
$5 = 0 (limit pins invert, bool)
$6 = 0 (probe pin invert, bool)
$10 = 3 (status report mask:00000011)
$11 = 0.010 (junction deviation, mm)
$12 = 0.010 (arc tolerance, mm)
$13 = 0 (report inches, bool)
$20 = 0 (soft limits, bool)
$21 = 0 (hard limits, bool)
$22 = 0 (homing cycle, bool)
$23 = 0 (homing dir invert mask:00000000)
$24 = 25.000 (homing feed, mm/min)
$25 = 500.000 (homing seek, mm/min)
$26 = 250 (homing debounce, msec)
$27 = 1.000 (homing pull-off, mm)
$100 = 80.000 (x, step/mm)
$101 = 80.000 (y, step/mm)
$102 = 80.000 (z, step/mm)
$110 = 50000.000 (x max rate, mm/min)
$111 = 50000.000 (y max rate, mm/min)
$112 = 50000.000 (z max rate, mm/min)
$120 = 5000.000 (x accel, mm/sec^2)
$121 = 5000.000 (y accel, mm/sec^2)
$122 = 30.000 (z accel, mm/sec^2)
$130 = 310.000 (x max travel, mm)
$131 = 450.000 (y max travel, mm)
$132 = 200.000 (z max travel, mm)
https://github.com/arnabdasbwn/grbl-coreXY-servo
https://winder.github.io/ugs_website/download/
https://camotics.org/download.html
https://github.com/arnabdasbwn/Inkscape
https://www.arnabkumardas.com/topics/cnc/how-to-make-an-arduino-drawing-machine/