相关软件:https://download.csdn.net/download/acktomas/12182951
功能介绍:
- GRBL + CNCV3+基于Arduino的CNC机器
- 本指南包括所需的所有必要说明
- 如何组装
- 如何将GRBL加载到arduino
- Inkscape扩展安装
- GRBL配置和G代码流
- 它具有非常有用的功能,例如硬限制,软限制,归位,我将详细指导您如何在家中制作基于GRBL的微型CNC
0. 准备
0.1 参考地址
- https://www.instructables.com/id/How-to-Make-GRBL-CNC-V3-Shield-Based-Mini-CNC-Mach-1/
- DIY绘图仪—再也不怕老师罚我们抄字典了:https://mc.dfrobot.com.cn/thread-37159-1-1.html
- arduino:废旧光驱DIY激光雕刻机
- 【炫酷Arduino教程】用两个废旧光驱做一个写字机器人
- How to Control a Servo Using GRBL
- How to Make GRBL + CNC V3 Shield Based Mini CNC Machine From Scrap DVD Drive
- GRBL CNC Shield + Z Axis servo MIGRBL
- 关于调试及Gcode代码生成的演示
- 一个关于激光雕刻机的参考网址:哔哩哔哩视频(上),文字说明(上),文字说明(中),哔哩哔哩视频(下),文字说明(下)
0.2 软件
我提供的软件打包:下载地址
- Arduino IDE Library
Link to download GRBL Setup,两种版本
grbl V0.9------grbl 1.1 - Download the library file unzip it and load to arduino
支持Arduino单片机的GRBL项目, 用该项目做的雕刻机功能专业强大,但是新版1.1只支持Z轴使用步进电机做雕刻部分。不支持舵机。(因为抬笔落笔动作要干脆利落,所以如果只是做绘图仪的话我建议首选舵机)我们就使用旧版的固件0.9,
PS: 由于版本原因,从上面链接下载V0.9或V1.1都不能正确控制舵机,因此,还是需要下载我提供的软件包中的MIGRBL固件, 也可以参考:GRBL CNC Shield + Z Axis servo MIGRBL。注意此教程中的评论也很精彩。
另外一个固件,此固件可以试试:robottini/grbl-servo
固件的安装方法:下载直接在ArduinoIDE菜单里面点项目→加载库→添加一个ZIP库→选择下载包添加,然后回到菜单:文件→示例→MIGRBL→grblUpload 上传到Arduino里即可。这套代码基本适用于Arduino比较常用的板子,建议就用UNO,另外还需要一个专用的CNC扩展板以及两块A4988步进电机驱动板。
- InkScape
- UCGS—通用G代码发送器:
- 最新版本下载地址:https://github.com/winder/builds,下载方式:此种下载方式肯定有问题,隐隐约约觉得应该用
git pull
命令,先留下记号吧!
git clone https://github.com/winder/builds.git myfold
0.3 材料清单
Arduino CNC shield原理图:
- Arduino UNO--------------------------------------数量- 1
- CNC V3 Shield------------------------------------数量-1
- servo motor----------------------------------------数量-1
- A4988 Stepper driver shield--------------------数量-2
- Old scrap DVD Drives---------------------------数量-2
- Some push buttons as limit S/W---------------数量-2
- A acrylic sheet for base(亚克力板)
- Pen holder (slavege from DVD Drive)
- Some wires
1. 接线图
- 如图所示进行接线
说明:
- 需要清楚电机的参数:步距角(一个脉冲的角度变化我的是0.9度),工作电压,以及线序(A+,A-,B+,B-对应的颜色)
- 扩展板上每个A4988下面需要三个跳线帽,决定细分数,三个都接上。
- 旁边四个针脚顺序是B+A+B-A-。他们就是接步进电机的位置了;接错了,电机不动且有咔咔声,接对了,电机动,也会有较为不同的声音,正常的。如果遇到工作时声音很大和电机发热严重就要适当调节A4988上的旋钮(逆时针)
限位开关是可选的(Limit switch are optional)
您可以通过如下更改GRBL设置来使用它们(You can use them by changing the GRBL setting as below)
$21=0 (hard limits, bool)
to
$21=1 (hard limits, bool)
2. G-Code Controller部分
先看看G-Code Sender部分,简称UGS。解压ugsplatform-2.0.0-Aug.14.2019.zip
,解压的文件夹只能包含数字字母,最好不要有中文、空格等字符,运行“ugsplatform\bin”文件夹中的ugsplatform.exe
或ugsplatform64.exe
- 插上线,选好端口,点连接,如果没问题,右侧控制台就会出来一大堆字母数字。这些就是固件的参数
- 在左侧选择JogController选项卡,有一些箭头,上下左右随便点一个,如果机器动了,说明前面的工作大致上没问题了。
这样,发送G-Code的上位机就准备好了。
3. 在Inkscape中设置G代码
有了上位机,还需要一个能够生产G-Code的软件,把我们需要画出来写出来的图片或文字转化成G-Code的软件—inkscape,在这里使用INKSCAPE软件制作G代码,由于我们正在为此机器使用GRBL和CNC Shield。它不支持将伺服电机(舵机)用作Z轴,所以这里有一些技巧,我们可以在Z轴上管理伺服电机(舵机)工作,您需要在此处添加MI Extension以使其与Z轴伺服一起工作,
首先正常安装好软件后,我们还要给它装一个插件,解压MI Inkscape Extension.zip到inkscape的安装文件夹C:\Program Files (x86)\Inkscape\share\extensions文件夹内
首先,打开Inkscape,进入文件菜单并点击"Document Properties",。
2. 怎样绘制文本
文本方面,你可以对其朝向和大小进行修改。步骤:点击游标为文本设定大小,选择Path并在下拉菜单中点击"对象转换为路径"。
视频地址:http://v.qq.com/page/s/n/l/s0176juupnl.html
3. 怎样绘制图片
这一步要比绘制文本难得多,因为图片的背景必须是透明的。将图片拖曳进Inkscape,点击OK进入下一个界面,现在你就可以调整图片尺寸了。步骤:点击菜单中的选择“路径”>“提取位图轮廓”,随后按照图 所示对其进行修改。搞定后点击OK并关闭窗口。接着我们要调整灰度图并删除其背景颜色。然后再次点击Path并选择"对象转换为路径"。
视频地址:http://v.qq.com/page/d/4/9/d0176nu1q49.html
3. 然后转到“扩展”,单击“MI GRBL Z-AXIS SERVO CONTORL”
4. 另一种方法:如何生成自己的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代码,可以使用前面的步骤进行绘制。
- Servo up = M5
- Servo down = M3
- X-axis speed = 500
- Y-axis speed = 500 S
- ervo angle = 20
- Delay = 1
- Directory = as per you convenient or keep as it is
- File name = as per you convenient or keep as it is
- Clik on Apply now you G-code is saved @ location you mention(您的G代码将保存到您指定的位置)
4. GRBL配置和流式G代码
- Download link for Universal Gcode sender
最新版本下载地址:https://github.com/winder/builds,下载方式:此种下载方式肯定有问题,隐隐约约觉得应该用git pull
命令,先留下记号吧!
git clone https://github.com/winder/builds.git myfold
- Open Universal G-code sender (Arduino must stay connected with PC)
- Select COM port
- Set Baud rate 115200
- clik on “OPEN”
- go in “COMMANDS” Tab
- enter $$ for GRBL configuration
- Example Suppose we want to change the $0(step pulse, usec) value from 10 to 20
- so enter in command line $0=20 & hit enter its done
- My GRBL SETTING
$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.002 (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=106.666 (x, step/mm)
$101=106.666 (y, step/mm)
$102=100.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=38.000 (x max travel, mm)
$131=38.000 (y max travel, mm)
$132=200.000 (z max travel, mm)
ok
尤其要注意如下语句:
$100=106.666 (x, step/mm)
$101=106.666 (y, step/mm)
$130=38.000 (x max travel, mm)
$131=38.000 (y max travel, mm)
GRBL参数中的脉冲计算
1. 计算每毫米的脉冲数公式
光驱特点:每步18度(一圈20步),丝杆直径一般为3mm,丝杆螺距为3mm,也就是步进电机每转一圈,移动距离为3毫米,
咱主要修改“脉冲数”脉冲/mm这个参数
2. 首先你必须知道你买的滑台的以下参数
* 步进电机每转一圈前进的距离:3mm
* 每转一圈全部的脉冲:20
光驱的步进电机一般为18度,所以
步
数
(
脉
冲
数
)
=
角
度
每
步
度
数
=
360
18
=
20
步数(脉冲数)=\frac{角度}{每步度数}=\frac{360}{18}=20
步数(脉冲数)=每步度数角度=18360=20
即每转一圈需要20个脉冲(步)
3. 驱动每一步的微步数:16,驱动选择多少细分就是多少
这个参数计算方法如下
每
圈
步
数
∗
微
步
每
圈
移
动
距
离
\frac{每圈步数*微步}{每圈移动距离}
每圈移动距离每圈步数∗微步
按照上面给出的计算公式
- 不细分: (20×1)÷3=6.666
- 2细分: (20×2)÷3=13.333
- 4细分: (20×4)÷3=26.666
- 8细分: (20×8)÷3=53.333
- 16细分: (20×16)÷3=106.666
现在是时候将Gcode流式传输到机器了,进入“文件模式”选项卡浏览您的gcode文件,然后按Enter键
写在最后
如果你有兴趣自己编写程序,此处的教程可以参考