如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪

相关软件:https://download.csdn.net/download/acktomas/12182951

功能介绍:

  • GRBL + CNCV3+基于Arduino的CNC机器
  • 本指南包括所需的所有必要说明
  • 如何组装
  • 如何将GRBL加载到arduino
  • Inkscape扩展安装
  • GRBL配置和G代码流
  • 它具有非常有用的功能,例如硬限制,软限制,归位,我将详细指导您如何在家中制作基于GRBL的微型CNC
    如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第1张图片

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 软件

我提供的软件打包:下载地址

  1. Arduino IDE Library
    Link to download GRBL Setup,两种版本
    grbl V0.9------grbl 1.1
  2. Download the library file unzip it and load to arduino

支持Arduino单片机的GRBL项目, 用该项目做的雕刻机功能专业强大,但是新版1.1只支持Z轴使用步进电机做雕刻部分。不支持舵机。(因为抬笔落笔动作要干脆利落,所以如果只是做绘图仪的话我建议首选舵机)我们就使用旧版的固件0.9,
PS: 由于版本原因,从上面链接下载V0.9V1.1都不能正确控制舵机,因此,还是需要下载我提供的软件包中的MIGRBL固件, 也可以参考:GRBL CNC Shield + Z Axis servo MIGRBL。注意此教程中的评论也很精彩
另外一个固件,此固件可以试试:robottini/grbl-servo
固件的安装方法:下载直接在ArduinoIDE菜单里面点项目→加载库→添加一个ZIP库→选择下载包添加,然后回到菜单:文件→示例→MIGRBL→grblUpload 上传到Arduino里即可。这套代码基本适用于Arduino比较常用的板子,建议就用UNO,另外还需要一个专用的CNC扩展板以及两块A4988步进电机驱动板。

  1. InkScape
  • 用于生产GCode的inkscape :官方地址1,因为MI扩展插件已经不再更新,能支持inkScape的最新版本是0.48.5.
  • 伺服电机控制扩展:- 单击此处下载
  1. UCGS—通用G代码发送器:
  • 最新版本下载地址:https://github.com/winder/builds,下载方式:此种下载方式肯定有问题,隐隐约约觉得应该用git pull命令,先留下记号吧!
git clone https://github.com/winder/builds.git myfold

0.3 材料清单

如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第2张图片
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. 接线图

如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第3张图片
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第4张图片

  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.exeugsplatform64.exe
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第5张图片

  • 插上线,选好端口,点连接,如果没问题,右侧控制台就会出来一大堆字母数字。这些就是固件的参数
  • 在左侧选择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文件夹内

  1. 打开inkscape设置页面尺寸40 x 40mm,画你想画的东西,Inkscape的设置(原文地址1)
    原文地址2

首先,打开Inkscape,进入文件菜单并点击"Document Properties",。
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第6张图片
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

如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第7张图片

如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第8张图片
3. 然后转到“扩展”,单击“MI GRBL Z-AXIS SERVO CONTORL”
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第9张图片
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第10张图片
4. 另一种方法:如何生成自己的G代码(原文地址)
我们提到了Inkscape是我们将用于生成G代码的软件。在此示例中,我们将创建一个简单的文本(HELLO WORLD),如下所示。
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第11张图片

注意: Inkscape没有将文件另存为G-CODE的内置方法。因此,您需要安装一个附件,以将图像导出到G-CODE文件。从此处下载 MakerBot Unicorn插件和安装说明。

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

现在,在左侧栏上,单击“创建和编辑文本对象”选项卡。键入文本“ HELLO WORLD ”,并将其放置在正方形的右上角,如下所示。
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第12张图片

单击文本,然后选择所需的字体样式。单击应用,然后关闭。

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

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

如下图所示,将文件类型更改为“ MakerBot Unicon G代码”。仅在附加组件安装成功时才会显示。最后单击保存,然后在弹出窗口中单击确定。
如何用废品DVD驱动器制作基于GRBL + CNC V3 Shield的绘图仪_第13张图片

您已经生成了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代码

  1. Download link for Universal Gcode sender
    最新版本下载地址:https://github.com/winder/builds,下载方式:此种下载方式肯定有问题,隐隐约约觉得应该用git pull命令,先留下记号吧!
git clone https://github.com/winder/builds.git myfold
  1. 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
  1. 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 =1836020
即每转一圈需要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键

写在最后

如果你有兴趣自己编写程序,此处的教程可以参考

你可能感兴趣的:(Arduino,项目)