成品样子哦!
这些是配件
•2 x NEMA 17步进器1.8度步进12v扭矩大于4kg / cm
步进角:1. 8度
电流a-1. 5,电阻(ohms)-2. 8,电感(mh)-5. 5
保持扭矩n。厘米-55
引线数-4(双极)
长度-48mm
•2 x 8mm不锈钢光棍
外径:10mm
长度:1000毫米(1米)
材质:SS 202(硬铬)
数量:2个
应用范围:3D打印机,CNC,机器人,DIY项目等
•2 x 10mm不锈钢 光棍
材质:铬钢
高度:24毫米
口径:8mm
•2 x LM8UU 8mm直线轴承 或SC8UU 8mm直线轴承
•4 x SK8 8mm杆末端支撑
材质:铝
轴外径:8mm
尺寸:42x14x33mm
安装孔直径:5.5mm
安装孔中心距:32mm
•4 x LM10UU 10mm线性轴承或SC10UU 10mm线性轴承•2 x SK10 10mm杆末端支撑
•2 x 20齿GT2皮带轮
缸径:5mm适用于大多数nema 17步进电机
牙齿:20齿
齿距:2mm
适用:Gt2 6mm宽皮带
包装包括:2个。皮带轮+内六角扳手
•12 x F623ZZ轴承
型号:F623ZZ
材质:铬钢
尺寸:3x10x4mm
内径:3mm / 0.118“”,外径:10mm / 0.393“”,
厚度:4mm / 0.157“”
•1 x Micro Servo SG90
扭矩:1.8公斤厘米
重量:9克
•1 x Arduino UNO
单片机ATmega328P
工作电压:5V
数字I / O引脚;材质:塑料
14个(其中6个提供PWM输出)
PWM数字I / O引脚.6模拟输入引脚.6。闪存32 KB(ATmega328P),其中引导程序使用0.5 KB
•1 x CNC Shield V3
CNC Shield v3雕刻
3D打印机
A4988驱动程序扩展板,用于Arduino
•2 x Pololu踏板A4988步进驱动器
•1 x GT2皮带(长3米)•1 x硬木层50cmx60cmx1.5cm• 多个带螺母的螺丝•1 x 电线5m
•1 x SMPS 12v 5A•1 x 焊锡丝•1 x 焊料•1 x 曲线锯
•1 x 曲线锯刀片用于木材切割•1 x USB电线•4 x 多种颜色的特殊液体笔PEN• 杂项工具和组件
原理
为什么选择H-Bot?因为它几乎没有优势,所以我选择了它。构造便宜,因为它需要更少的轴承和其他材料,简单,清洁且优雅的。尽管H-Bot要求比基于Core-XY的系统更好的构造,但仍可用于绘制1mm精度的应用程序。
开始干活
俩天时间
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绘图机工作输出
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图像进行处理
•打开Inkscape。•根据纸张尺寸打开上一步中下载的模板。•单击文件->导入,然后从驱动器中选择JPG或PNG文件,然后单击打开。•根据页面大小调整图像大小并放置图像。•图像必须在页面边界内,否则将无法正确生成G代码。•右键单击图像,然后选择“跟踪位图”。•选择以下三个选项中的任何一个[实验,您将知道工作原理]亮度截止,边缘检测,色彩量化。•根据所需的图形细节更改阈值。•单击更新。•单击确定,然后关闭窗口。•矢量位图将与原始图片重叠。•拖出原始图片并将其删除。您已准备好生成G代码。•现在,请参阅 G代码生成 步骤。
从Inkscape中的自定义工程图处理
•打开Inkscape。•根据纸张尺寸打开上一步中下载的模板。•开始在工作区域内绘图或书写文本。•通过Ctrl + A快捷键选择所有对象。•然后通过菜单中的对象->分组或Ctrl + G快捷键将它们分组。•然后,您必须通过菜单路径->对象至路径或通过快捷键Shift + Ctrl + C将对象转换为路径。[重要步骤]•现在,请参阅 G代码生成 步骤。
在Makelangelo软件中从图像生成艺术品
•打开运行.jar文件的Makelangelo软件。•单击“打开文件”,然后从驱动器中选择JPG / PNG文件。•从下拉菜单中选择转换样式。[我的最爱是交叉阴影线]•单击确定。•单击保存到文件/ SD卡,然后转到要保存的位置。•输入文件名,然后选择DXF R12文件格式.DXF。•现在运行Inkscape,并使用默认设置打开保存的.DXF文件。•根据需要调整大小。•现在,请参阅 G代码生成 步骤。
栅格G代码生成
•在光栅模式下,机器将逐行扫描从[0,0]到最后一行的整个绘图区域。[光栅模式很慢,需要更多时间]。观看视频[ 光栅图女孩的脸视频1 ] [ 光栅图女孩的脸视频2 ]•将所有对象转换为上一步的路径后,即可生成G代码。•现在,选择工作区域内的所有路径或使用Ctrl + A。•单击扩展-> 305工程->光栅2激光G代码生成器。•提供导出目录路径。•提供文件名。•启用数字后缀。•分辨率表示每毫米的线数,增加将增加绘制时间。•使用以下选项播放,如RGB阈值。•将雕刻速度设置为1500或更高。•选择无归位。•将激光打开编辑为M03 S255。•将激光关闭编辑为M05 S0。•取消选择预览,如果选择则不会生成G代码。•单击“应用”。等待和享受。您现在可以开始打印了。
矢量G代码生成
•在矢量模式下,机器将仅扫描有线条的绘图区域。[矢量模式绘制花费的时间更少]。•将所有对象转换为上一步的路径后,即可生成G代码。•现在,选择工作区域内的所有路径或使用Ctrl + A。•单击扩展->生成激光G代码-> J Tech Photonics Laser Tool。•提供导出目录路径。•提供文件名。•启用数字后缀。•将所有单位设置为毫米。•将激光速度设置为1500或更高。•将行驶速度设置为3000或更高。•选择无归位。•将激光打开编辑为M03。•将激光关闭编辑为M05。•取消选择“预览”•单击“应用”。等待和享受。您可以立即进行打印了。
GRBL配置和首次设置机器
首先,使用您选择的串行端子连接到Grbl。将波特率设置为115200为8-N-1(8位,无奇偶校验和 一站式 位。)一旦连接,您应该会看到Grbl提示符,如下所示:Grbl 0.9i ['$'for help]键入$并按Enter以使Grbl打印帮助消息。您应该看不到$的任何本地回显,然后输入。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如果一切顺利,Grbl会以“ ok”响应,并且此设置存储在EEPROM中,并将永久保留或直到您更改它们为止。您可以通过键入$$再次查看系统设置来检查Grbl是否已正确接收并存储了设置。Grbl的默认配置特意是非常通用的,以帮助确保用户无需调整设置即可看到成功的运动。通常,您要做的第一件事就是使步进电机运行,通常无需将其连接到CNC。根据制造商指南,将Grbl连接到步进驱动器和步进电机。通过串行终端或许多Grbl GUI之一连接到Grbl。向Grbl发送一些G1或G0命令。您应该看到步进电机正在旋转。如果您在使用步进电机时遇到问题,请尝试以下操作:•确保按照步进驱动器制造商的指南正确连接和供电。•如果您的步进器已经安装在CNC中,请确保您的轴可以自由移动并且不会明显束缚。如果您无法轻松分辨,请尝试卸下步进电机,并检查它们是否在无负载的情况下运行。•确保步进电机和轴的线性机构都牢固牢固。传动系统组件上的小紧定螺钉变松是一个非常普遍的问题。重新拧紧并尝试使用一些非–持久的螺纹保持器(乐泰蓝色),如果它持续松动。•对于更困难的问题,请尝试消除过程以快速隔离问题。首先断开所有与Arduino的连接。测试Grbl本身是否运行正常。然后,一次添加一件事并进行测试。•如果您的步进电机通电并且在尝试移动时发出磨擦声,请尝试降低“ $”加速度和最大速率设置。这种声音表明您的步进 是 失去步伐,无法跟上 到期 扭矩负载太大或速度太快。•Grbl的默认步进脉冲设置涵盖了市场上绝大多数的步进驱动器。虽然不常见,但如果您仍然遇到问题或遇到问题,请检查这些设置异常设置。接下来,您需要确保您的机器根据笛卡尔(XYZ)坐标系沿正确的方向移动。如果尚未将步进电机安装到CNC中,则将其安装。向Grbl发送一些运动命令,例如G91 G0 X1或G91 G0 X-1,它们将使x轴分别移动+ 1mm和-1mm。检查所有轴。如果轴移动不正确,请更改$ 3方向端口掩码设置以反转方向。如果您不熟悉坐标系的方式设定在CNC机器上,请参阅LinuxCNC的这张精美图表。请记住,运动是相对于工具的。因此,在典型的CNC龙门铣床上,刀具将移动而不是固定工作台。如果x轴向右正对齐,则正向运动命令会将工具向右移动。而带有固定工具的移动工作台会将工作台向左移动相同的位置 命令, 因为该工具相对于表格向右移动。最后,调整设置以接近您想要的性能或最高性能。首先,请确保您的$ 100,$ 101和$ 102轴步长/毫米设置正确无误。这取决于您的步进增量,驱动器上的微步以及机械参数。在线上有多种资源向您展示如何针对您的特定情况进行计算 机, 如果您的机器制造商没有为您提供此服务。调整$ 11x加速和$ 12x最大速率设置以提高性能。设置为不大于绝对最大值的80%,以考虑惯性和切削力。如果您打算使用归位或软限制,请设置$ 13x最大旅行设置。建议立即输入与实际行程近似的值,以免将来出现问题。
个人设置$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-servohttps://winder.github.io/ugs_website/download/https://camotics.org/download.htmlhttps://github.com/arnabdasbwn/Inkscapehttps://www.arnabkumardas.com/topics/cnc/how-to-make-an-arduino-drawing-machine/
欢迎关注