光驱diy画图仪
0. 硬件清单
Arduino UNO R3、CNC shield V3、A4988(2个)、Micro Servo 9g、光驱(2个)、12V1A电源适配器、结构件材料(自制)、线材、热熔胶等。
CNC shield V3 直接买这个扩展板对没基础的maker来说,接线会方便很多,不需要用面包板或洞洞板焊接线。购买时要注意买“跳帽”,这个也不能忘记。
Arduino CNC shield原理图:
A4988 购买时,一般都会配有散热片,给A4988上的芯片散热。
Micro Servo 9g 这个要注意,常见的有180度和360度两种旋转的舵机,我们要买180度的舵机。
光驱 因为光驱上有安装好的微型步进电机、光杆和滑台,我们可以直接用它作为一个方向的运动平台。
- 接线
a. 微型步进电机焊接
先将光驱上多余的部分卸掉,然后从微型步进电机的四个焊点焊接引出四根线,方便和控制板连接。
b.控制板安装
CNC shield直接扣到Arduino UNO板上。
将2个A4988扣到X、Y插座上,注意看图中它们的方向。散热片直接贴再芯片上。
将步进电机引出的四根线连接到A4988旁的引针上。步进电机四个引脚分别是两个绕组的两端,两两相连。我们使用万用表的蜂鸣器测出互相连接的两个引脚。相连的两个引脚接到控制板上相邻的两个针脚上就行。
舵机的三根线分别是信号线、电源正极和地线。电源正极和地线接到下图左边两个针脚上,信号线接右侧的针脚上。
1. 硬件
Arduino Uno + CNC Shield V3 + GRBL v1.1固件.
-
CNC shield直接扣到Arduino UNO板上。
-
将2个A4988扣到X、Y插座上,注意看图中它们的方向。散热片直接贴再芯片上。将步进电机引出的四根线连接到A4988旁的引针上。步进电机四个引脚分别是两个绕组的两端,两两相连。我们使用万用表的蜂鸣器测出互相连接的两个引脚。相连的两个引脚接到控制板上相邻的两个针脚上就行。
-
CD/DVD 机械部件:通常光驱的电机是18度(每圈20步),行程是3毫米。所以当驱动设置在1/32细分时,GRBL的$100参数是(20 * 32) / 3 = 213.33 (步/毫米). 搜索关键词:“DIY光驱丝杆滑台”
2. 软件
2.1. java runtime
下载地址:https://www.java.com/inc/BrowserRedirect1.jsp?locale=zh_CN
2.2. Inkscape
InkScape 下载网址: https://inkscape.org
首先正常安装好软件后,我们还要给它装一个插件,解压MI Inkscape Extension.zip(文尾处直接下载)到inkscape的安装文件夹C:\Program Files (x86)\Inkscape\share\extensions文件夹内
2.2.1 G代码简介以及如何使用Inkscape生成G代码
https://www.norwegiancreations.com/2015/08/an-intro-to-g-code-and-how-to-generate-it-using-inkscape/
2.3 Universal-G-Code-Sender
下载地址:https://github.com/winder/builds/tree/master/UniversalGCodeSender
UGS 下载网址: https://winder.github.io/ugs_website/download/
2.4 SourceRabbit GCode Sender
SourceRabbit GCode Sender is a GRBL compatible, cross platform CNC control software.
It features a highly optimized and asynchronous (event-driven) UI and USB-to-Serial communication and can be also used on computers with small amount of RAM and CPU.
https://github.com/nsiatras/sourcerabbit-gcode-sender
2.5 LaserGRBL
下载地址:https://github.com/arkypita/LaserGRBL
Official website http://lasergrbl.com
LaserGRBL is a Windows GUI for GRBL. Unlike other GUI LaserGRBL it is specifically developed for use with laser cutter and engraver. In order to use all of LaserGRBL feature, your engraver must supports laser power modulation through gcode “S” command. LaserGRBL is compatible with Grbl v0.9 and Grbl v1.1
All downloads available at https://github.com/arkypita/LaserGRBL/releases
2.6 CuraEngine
下载地址:https://github.com/Ultimaker/CuraEngine
CuraEngine是一个强大,快速且强大的引擎,用于将3D模型处理为Ultimaker和其他基于GCode的3D打印机的3D打印指令。它是大型开源项目“ Cura”的一部分。https://ultimaker.com/en/products/cura-software
CuraEngine
The CuraEngine is a C++ console application for 3D printing GCode generation. It has been made as a better and faster alternative to the old Skeinforge engine.
The CuraEngine is pure C++ and uses Clipper from http://www.angusj.com/delphi/clipper.php Furthermore it depends on libArcus by Ultimaker, which can be found at http://github.com/Ultimaker/libArcus
This is just a console application for GCode generation. For a full graphical application look at https://github.com/Ultimaker/Cura which is the graphical frontend for CuraEngine.
The CuraEngine can be used seperately or in other applications. Feel free to add it to your application. But please take note of the License.
2.7 grbl
下载地址:https://github.com/gnea/grbl/releases
2.4 可视化G代码
下载:https://camotics.org/download.html
注意问题:
- A4988模块上的可调电位器,需要调整好电流大小,控制步进电机运动之后,由于流经步进电机的电流较大,会出现电机运行时噪声大、过热等现象,可以通过调节A4988上的旋钮减小电流。逆时针调小电流,顺时针增大电流。调节之后可以在电机运行时用手触摸判断是否过热。正常情况电机只是微热,没有噪音。
- 控制部分: 注意,现在国内卖的CNC Shield大多是V3, 使用GRBL v1.1版(最新版,v0.9也是)时,要把Spindle EN接到Z+上来控制激光功率。
脉冲计算
计算每毫米的脉冲数
光驱特点:每步18度(一圈20步),丝杆直径一般为3mm,丝杆螺距为3mm,也就是步进电机每转一圈,移动距离为3毫米,
咱主要修改“脉冲数”脉冲/mm这个参数
首先你必须知道你买的滑台的以下参数
- 步进电机每转一圈前进的距离:3mm
- 每转一圈全部的脉冲:20
光驱的步进电机一般为18度,所以
步 数 ( 脉 冲 数 ) = 角 度 每 步 度 数 = 360 18 = 20 步数(脉冲数)=\frac{角度}{每步度数}=\frac{360}{18}=20 步数(脉冲数)=每步度数角度=18360=20
即每转一圈需要20个脉冲(步) - 驱动每一步的微步数: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
参考网址
- DF创客社区–DIY绘图仪:http://mc.dfrobot.com.cn/thread-37159-1-1.html
- 如何使用 Arduino 制作一个绘图仪: https://linux.cn/article-9714-1.html
3.激光雕刻切割机使用100问 https://www.jianshu.com/p/6afda0c18b96 - 如何使用GRBL控制伺服:https://www.instructables.com/id/How-to-Control-a-Servo-Using-GRBL/